Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
GİRİŞ
Youtube Kanalı::::
Bu layihə, hesablama üçün əsas beyin olaraq Atmel'in Atmega16 Mikrokontrolörünə əsaslanır.
NRF24L01+ Simsiz rabitə modulu Simsiz məlumat ötürülməsi üçün istifadə olunur.
Bu gün bir Mənzil Kompleksində, Alış -veriş Mərkəzində, Məktəbdə, Universitetdə, Yataqxanalarda və daha çox şeyə yüzlərlə və minlərlə Enerji Ölçən quraşdırılmışdır. Məsələ, bir işçi tərəfindən Enerji Sayğacına görə hesablaşmanı hesablamaq üçün oxunduqda ortaya çıxır. Çox işçi qüvvəsi və xərc tələb edir.
Burada birdən çox Enerji sayğacının Enerji sayını Ev Sahibinə və ya Xidmət təminatçısına avtomatik olaraq ötürərək insan gücünə və xərclərinə qənaət edəcək sadə bir layihə hazırladım.
Üç Enerji sayğacından məlumat götürdüm və məlumatları yükə və metr başına ümumi istehlakı hesablayan alıcıya ötürdüm.
Yük icazə verilən həddi keçərsə, səs siqnalı başlayır.
Məlumat göndərən tərəfdə saxlanılır, buna görə də alıcı söndürüldükdə və ya əlaqə kəsildikdə heç bir məlumat itkisi yaranmır.
İşçi Videodur.
Fərqli komponentlər bunlardır:
- Enerji Ölçən X 3
- NRF24L01 X 2
- Atmega16 X 2
- Optocoupler X 3
Addım 1: Enerji sayğacının qurulması
1. Əvvəlcə Enerji sayğacını açın
2. Yalnız Cal LED -in Katod terminalını kəsin
3. LEDin 2 ucunda 2 tel lehimləyin.
4. LED-in Katodunu Opto-bağlayıcının Pin1-ə (MCT2E) və LED-in digər ucunu Opto-bağlayıcının Pin2-nə qoşun.
5. Opto-bağlayıcının 4 pinini Qara telə və Pin5-i qəhvəyi telə bağlayın. Layihələr üçün Qara teli əvvəlcədən ödənilmiş enerji sayğacı və ya Avtomatik sayğac oxu layihələri üçün elektron lövhənin yerə bağlayın. Qəhvəyi tel daşıyıcısı nəbz çıxışıdır.
6. Bu şəkilə uyğun olaraq enerji təchizatı və yükü qoşun.
Addım 2: Hesablama üçün Əsas Algo
Burada sayğac həmişə sayğacda yanıb -sönən nəbz vasitəsilə mikrokontrolörlə əlaqələndirilir. Bundan əlavə, bu nəbzin yanıb -sönmə müddətinə görə hesablanır, bu prinsipdən istifadə edərək bir vahid üçün hesabladıq və buna görə bir vahid üçün hansı yük olacaq.
0.3125 vatt enerjidən sonra Metr LED (kalibrləmə) yanıb -sönür. Yəni bir dəqiqə ərzində 100 vatt ampul istifadə etsək, nəbz bir dəqiqədə 5.3 dəfə yanıb -sönəcək. Və bu verilən düsturdan istifadə edərək hesablana bilər.
Pulse = (Metr nəbzi * vat * 60) / (1000 * 3600)
Sayğacın nəbzi 3200 imp və istifadə olunan vat 100 -dirsə, bizdə var
Pulse = (3200 * 100 * 60) / (1000 * 3600)
Pulse = dəqiqədə 5.333333333
5.3333333333 zərbələr bir dəqiqədə meydana gəlmişsə, bir saat ərzində nəbzlər meydana gələcək.
Pulse = 5.3333333333* 60 Pulse = ~ 320 ~ 320 Pulse bir saat ərzində meydana gələcək
Beləliklə, bir saatda 100 vatt ampul 100 vatt elektrik istehlak etdi və demək olar ki, 320 puls yanıb -sönür.
İndi vattda istehlak edilən bir nəbz elektrik enerjisini hesablaya bilərik
Bir nəbz (vat) = 100 / 320
Bir Pulse (vat) = 0.3125
0.3125 vat elektrik enerjisi tək bir nəbz istehlak edir.
İndi Vahidlər vahidi = (bir nəbz enerjisi (elektrik))* pulslar / 1000
Bir nəbz = 0,3125 vat 10 saat ərzində pulsasiya olarsa = 3200
Sonra vahid vahid olacaq = (0.3125 * 3200)/1000 vahid = 1 vasitə, 100 vattlıq bir ampul üçün 10 saatda bir vahid.
İndi bir vahid nisbətinin 7 rupi olduğunu düşünək, sonra tək nəbz üçün xərc olacaq
Tək nəbz dəyəri = (7 * bir nəbz enerjisi istehlak olunur) / 1000
Tək nəbz dəyəri = (7 * 0.3125) / 1000
Tək nəbz dəyəri = 0.0021875 Rupiya
Addım 3: Nrf24L01 (Http://gizmosnack.blogspot.in/ krediti)
Bu Linki öyrənin
NRF24L01 modulu, 2,4 GHz diapazonunda işləyən və qalın beton divarlara belə nüfuz edəcəyi üçün bir evdə simsiz ünsiyyət üçün mükəmməl bir zəhmli RF moduludur. NRF24L01, bütün çətin proqramlaşdırmanı yerinə yetirir və hətta ötürülən məlumatların digər tərəfdən alındığını avtomatik olaraq yoxlamaq funksiyasına malikdir. oxşar şəkildə. Məsələn, nRF905 (433MHz) modulunu nRF24L01 və nRF24L01+ -da heç bir problem olmadan istifadə etdiyim kodla eyni şəkildə istifadə etdim. Bu kiçik modulların təsirli diapazonu var, bəzi versiyaları 1000 m (sərbəst görmə) ünsiyyətini və 2000 m -ə qədər biquad antenini idarə edir.
nRF24L01 və nRF24L01+
(+) Versiyası çipin yeni yenilənmiş versiyasıdır və 1 Mbit / s, 2 Mb / s məlumat ötürmə sürətini və yayım uzunluğunu uzatmaq istədiyiniz zaman çox faydalı olan 250 kb -lıq "uzun məsafə rejimi" ni dəstəkləyir. Əvvəlki yazılarımda istifadə etdiyim) yalnız 1 Mbps və ya 2 Mbps məlumat sürətini dəstəkləyir. Hər iki model də eyni məlumat sürətinə qurulduqları müddətdə bir -biri ilə uyğun gəlir. Hər ikisinin qiyməti təxminən eyni olduğundan (heç bir şeyə yaxın deyil) + versiyasını satın almanızı məsləhət görürəm!
Birinci hissə - SetupConnection fərqləri nRF24L01 modulunda 10 bağlayıcı, + versiyasında isə 8 var. Fərq odur ki, + 3 versiyası, 3 V və iki GND yerinə + versiyası öz zəmininə malikdir (ətrafında ağ kvadrat olan) və 3, 3 V təchizatı, bir -birinin yanında. Modulu yeni + versiyadan köhnəsinə dəyişirsinizsə, GND kabelini doğru yerə köçürməyi unutmayın, əks halda dövrənizi qısaldır. Burada + versiyasının (yuxarıdan görünüş) şəkli var. etiketli bütün əlaqələri görə bilərsiniz. Köhnə versiyanın aşağı sağ küncündə deyil, ən üst hissəsində iki GND bağlantısı var.
Enerji təchizatı (GND & VCC) Modul 3, 3 V ilə təchiz olunmalıdır və 5 V enerji təchizatı ilə təchiz oluna bilməz! Gərginliyi 3, 3 V -a endirmək üçün xətti bir tənzimləyicidən istifadə etdiyimiz üçün işimiz bir az asanlaşsın, çip i/O portlarında 5 V idarə edə bilər, çünki bu çox yaxşıdır. AVR çipindən bütün i/O kabellərini tənzimləmək ağrılıdır. Çip Enable (CE) Məlumatı göndərmək və ya qəbul etmək (qəbul etmək) üçün istifadə edildikdə istifadə olunur. AVR üzərindəki i/O portu və çıxış olaraq təyin olunur (biti DDx reyestrində x -in port hərfidir.) yox "seçin. CSN-pin də AVR-də istifadə edilməmiş hər hansı bir giriş/çıxış portuna qoşulur və çıxışa təyin edilir. CSR pin, AVR-dən nRF-ə SPI əmrinin göndəriləcəyi vaxt istisna olmaqla, hər zaman yüksək səviyyədə saxlanılır. SCK, AVR üzərindəki SCK-pininə bağlanır. Atmega88 kimi, bu da AVR-də MOSI-yə bağlanır və çıxış olaraq təyin olunur. SPI olmayan AVR-lərdə, ATtiny26 və ATtiny85 kimi, bunun əvəzinə USI ilə gəlir və məlumat səhifəsində deyilir: "USI Üç telli rejim Serial Periferik İnterfeys (SPI) rejimi 0 və 1 -ə uyğundur, lakin kölə seçmə (SS) pin funksiyasına malik deyil. Bununla belə, bu xüsusiyyət lazım olduqda proqramda tətbiq oluna bilər "İstifadə olunan" SS "" CSN "ilə eynidir Və bəzi araşdırmalardan sonra mənə kömək etməyə kömək edən bu bloqu tapdım. USI -ni SPI -ni işə salmaq üçün nRF -dən MOSI pinini AVR -dəki MISO pininə bağlamalı olduğumu və onu çıxış olaraq təyin etməli olduğumu öyrəndim.: PB3, ATtiny26: PB1, ATtiny85: PB1SPI Master giriş Slave çıxışı (MISO və ya MI) Bu SPI sistemindəki məlumat xəttidir. çip, Atmega88 kimi SPI köçürməsini dəstəkləyir, bu AVR üzərindəki MISO-ya bağlanır və bu giriş olaraq qalır. ATtiny26 və ATtiny85-də işləmək üçün yuxarıda qeyd edildiyi kimi USI istifadə etməli oldum. Bu yalnız nRF üzərindəki MISO pinini AVR üzərindəki MOSI pininə bağladığımda və onu giriş olaraq təyin etdiyimdə və daxili çəkilməni təmin etdiyim zaman işləmişdir., lakin nRF -yə bir şeyin nə vaxt baş verdiyini bilmək üçün əla bir yoldur. Məsələn, nRF -ə bir paket alındıqda və ya müvəffəqiyyətli bir ötürmə tamamlandıqda IRQ -ni yüksək olaraq təyin etməyi söyləyə bilərsiniz. Çox faydalıdır! AVR -inizdə 8 -dən çox sancaq və əlçatan bir pin varsa, IRQ -nu ona bağlamanızı və kəsilmə istəyi qurmanızı şiddətlə təklif edərəm. Atmega88: PD2, ATtiny26: PB6, ATtiny85: -
Addım 4: Əsas Bağlantı Şeması
Bu əlaqə diaqramı sxematikdir
Addım 5: Kod
KOD üçün GitHub -a daxil olun