Անլար էներգիայի հաշվիչ `բեռի վերահսկմամբ` 5 քայլ
Անլար էներգիայի հաշվիչ `բեռի վերահսկմամբ` 5 քայլ
Anonim
Image
Image
Անլար էներգիայի հաշվիչ `բեռի վերահսկմամբ
Անլար էներգիայի հաշվիչ `բեռի վերահսկմամբ

ՆԵՐԱՈԹՅՈՆ

Youtube ալիք::::

Այս նախագիծը հիմնված է Atmel- ի Atmega16 միկրոկառավարիչի վրա ՝ որպես հաշվարկման հիմնական ուղեղ:

NRF24L01+ Անլար հաղորդակցության մոդուլն օգտագործվում է անլար տվյալների փոխանցման համար:

Այսօր մենք ունենք հարյուրավոր և հազարավոր էներգաչափիչներ տեղադրված Բնակարանային համալիրում, Առևտրի կենտրոնում, դպրոցում, համալսարանում, հանրակացարաններում և շատ ավելին: Խնդիրն առաջանում է, երբ աշխատողը կարդում է հաշվիչը `էներգիայի հաշվիչի հաշվարկը կատարելու համար: Դրա համար անհրաժեշտ է շատ աշխատուժ և ծախսեր:

Այստեղ ես հանդես եմ եկել մի պարզ նախագծով, որը կխնայի աշխատուժ և ծախսեր `ինքնաբերաբար փոխանցելով էներգիայի բազմակի հաշվիչի էներգիայի հաշվարկը Հյուրընկալող կամ providerառայություն մատուցողին:

Ես վերցրել եմ Three Energy հաշվիչից ստացված տվյալները և տվյալները փոխանցել ընդունիչին, որը հաշվարկել է բեռը և մեկ մետրի ընդհանուր սպառումը:

Եթե բեռը գերազանցում է թույլատրելի մակարդակը, ապա ազդանշան է սկսվում:

Տվյալները պահվում են ուղարկողի կողքին, այնպես որ տվյալների կորուստ չի առաջանում, եթե ստացողն անջատված է կամ կապը կորած է:

Ահա Աշխատանքային տեսանյութը:

Տարբեր բաղադրիչներն են.

  • Էներգիայի հաշվիչ X 3
  • NRF24L01 X 2
  • Atmega16 X 2
  • Optocoupler X 3

Քայլ 1: Էներգիայի հաշվիչի տեղադրում

Էներգիայի հաշվիչի տեղադրում
Էներգիայի հաշվիչի տեղադրում
Էներգիայի հաշվիչի տեղադրում
Էներգիայի հաշվիչի տեղադրում
Էներգիայի հաշվիչի տեղադրում
Էներգիայի հաշվիչի տեղադրում

1. Նախ բացեք Էներգիայի հաշվիչը

2. Պարզապես կտրեք Cal LED- ի կաթոդի տերմինալը

3. LED- ի 2 ծայրերին կպցրեք 2 լար:

4. LED- ի կաթոդը միացրեք Opto- միակցիչի Pin1- ին (MCT2E), իսկ LED- ի մյուս ծայրը `Opto- զուգորդի Pin2- ին:

5. Օպտո-միակցիչի 4-րդ կապը միացրեք սև մետաղալարին, իսկ Pin5- ը ՝ շագանակագույն մետաղալարին: Նախագծերի համար կանխավճարային էներգիայի հաշվիչի կամ ավտոմատ հաշվիչի ընթերցման նախագծերի համար Սև մետաղալարը միացրեք տպատախտակին: Շագանակագույն մետաղալարը կրում է զարկերակային ելքը:

6. Միացրեք հոսանքի աղբյուրը և բեռը, ինչպես այս նկարում է:

Քայլ 2. Հաշվարկի հիմնական ալգո

Այստեղ հաշվիչը միակցվում է միկրոկառավարիչի հետ `զարկերակի միջոցով, որը միշտ թարթում է հաշվիչի վրա: Ավելին, այդ զարկերակը հաշվարկվում է ըստ թարթման ժամանակաշրջանի, այս սկզբունքի համաձայն մենք հաշվարկել ենք այն մեկ միավորի համար և, համապատասխանաբար, ինչ լիցք կլինի միավորի համար:

0.3125 վտ էներգիայից հետո Meter LED (calibrate) թարթում է: Նշանակում է, եթե մենք օգտագործում ենք 100 վտ լամպ մեկ րոպեի համար, ապա զարկերակը մեկ րոպեում կթարթվի 5,3 անգամ: Եվ դա կարելի է հաշվարկել տրված բանաձևի միջոցով:

Ulարկերակ = (ulարկերակային արագություն Մետր * վտ * 60) / (1000 * 3600)

Եթե հաշվիչի զարկերակային արագությունը 3200 իմպ է, իսկ օգտագործած վաթը `100, ապա մենք ունենք

Իմպուլս = (3200 * 100 * 60) / (1000 * 3600)

Իմպուլս = 5.333333333 րոպեում

Եթե 5.3333333333 իմպուլսներ տեղի են ունեցել մեկ րոպեի ընթացքում, ապա մեկ ժամվա ընթացքում իմպուլսներ տեղի կունենան:

Pulse = 5.3333333333* 60 Pulse = ~ 320 ~ 320 Իմպուլսները կհայտնվեն մեկ ժամվա ընթացքում

Այսպիսով, մեկ ժամում 100 վտ լամպը սպառեց 100 վտ էլեկտրաէներգիա, և գրեթե 320 զարկերակ թարթեց:

Այժմ մենք կարող ենք հաշվարկել մեկ զարկերակային էլեկտրաէներգիա, որը սպառվում է վտ -ով

Մեկ զարկերակ (վտ) = 100 / 320

Մեկ զարկերակ (վտ) = 0.3125

Նշանակում է 0.3125 վտ էլեկտրաէներգիա, որը սպառում է մեկ զարկերակ:

Այժմ Միավորների Միավոր = (մեկ զարկերակային էներգիա (էլեկտրաէներգիա))* իմպուլսներ / 1000

Եթե Մեկ զարկերակ = 0.3125 վտ Իմպուլսներ 10 ժամվա ընթացքում = 3200

Այնուհետև Միավորը կլինի Unit = (0.3125 * 3200)/1000 Unit = 1 Միջոց, մեկ միավոր 10 ժամում 100 վտ լամպի համար:

Այժմ ենթադրենք, որ մեկ միավորի փոխարժեքը 7 ռուփի է, ապա մեկ զարկերակի արժեքը կկազմի

Մեկ զարկերակի արժեքը = (7 * մեկ զարկերակային էներգիա սպառվում է) / 1000

Մեկ զարկերակային արժեքը = (7 * 0.3125) / 1000

Մեկ զարկերակային արժեքը = 0.0021875 ռուփի

Քայլ 3: Nrf24L01 (վարկ ՝

Nrf24L01 (վարկ ՝ Http://gizmosnack.blogspot.in/)
Nrf24L01 (վարկ ՝ Http://gizmosnack.blogspot.in/)

Ուսումնասիրեք այս հղումը

NRF24L01 մոդուլը հիանալի ՌԴ մոդուլ է, որն աշխատում է 2,4 ԳՀց հաճախականությամբ և կատարյալ է տան անլար հաղորդակցության համար, քանի որ այն ներթափանցելու է նույնիսկ բետոնե հաստ պատեր: NRF24L01- ն ամեն ինչ անում է ձեզ համար ծանր ծրագրավորմամբ, և նույնիսկ ունի գործառույթ ՝ ինքնաբերաբար ստուգելու, թե արդյոք փոխանցված տվյալները ստացվում են մյուս ծայրում: Կան nRF ընտանիքի չիպերի մի քանի տարբեր տարբերակներ, և դրանք բոլորը կարծես աշխատում են նմանատիպ եղանակ: Ես, օրինակ, օգտագործել եմ nRF905 (433 ՄՀց) մոդուլը գրեթե նույն կոդով, ինչ ես օգտագործում եմ nRF24L01 և nRF24L01+ առանց որևէ խնդիրների: Այս փոքրիկ մոդուլներն ունեն տպավորիչ միջակայք `որոշ տարբերակներով, որոնք կառավարում են մինչև 1000 մ (ազատ տեսողություն) հաղորդակցություն և մինչև 2000 մ երկկողմանի ալեհավաքով:

nRF24L01 ընդդեմ nRF24L01+

(+) Տարբերակը չիպի նոր թարմացված տարբերակն է և ապահովում է 1 Մբիթ / վրկ, 2 Մբիթ / վ արագություն և 250 կբիթ / վ արագությամբ «հեռավոր ռեժիմ», ինչը շատ օգտակար է, երբ ցանկանում եք երկարացնել հեռարձակման տևողությունը: Ավելի հին nRF24L01 (որը ես օգտագործել եմ իմ նախորդ գրառումներում) ապահովում է միայն 1 Մբիթ / վրկ կամ 2 Մբիթ / վրկ տվյալների արագություն: Երկու մոդելներն էլ համատեղելի են միմյանց հետ, քանի դեռ դրանք դրված են նույն տվյալների արագության վրա: Քանի որ դրանք երկուսն էլ արժեն մոտավորապես նույնը (գրեթե ոչինչ), ես ձեզ խորհուրդ կտամ գնել + տարբերակը:

Մաս առաջին - Կարգավորում Միացման տարբերություններ nRF24L01 մոդուլն ունի 10 միակցիչ, իսկ + տարբերակն ունի 8. Տարբերությունն այն է, որ + տարբերակը երկու 3, 3 Վ և երկու GND ունենալու փոխարեն ունի իր հիմքը (մեկը, որի շուրջը սպիտակ քառակուսի է) և 3, 3 Վ լարման, միմյանց կողքին: Եթե մոդուլը նոր + տարբերակից փոխում եք հինի, համոզվեք, որ չմոռանաք GND մալուխը ճիշտ տեղ տեղափոխել, հակառակ դեպքում այն կկրճատի ձեր միացումը: Ահա + տարբերակի նկարը (վերևի տեսք), որտեղ կարող եք տեսնել բոլոր պիտակավորված կապերը: Հին տարբերակը երկու GND կապ ունի ամենավերևում ՝ ներքևի աջ անկյունի փոխարեն:

Էներգամատակարարում (GND & VCC) Մոդուլը պետք է սնուցվի 3, 3 Վ լարման միջոցով և չի կարող սնուցվել 5 Վ լարման աղբյուրով: Քանի որ շատ քիչ հոսանք է պահանջվում, ես օգտագործում եմ գծային կարգավորիչ ՝ լարումը մինչև 3, 3 Վ իջեցնելու համար: Մեզ համար ամեն ինչ մի փոքր ավելի հեշտ դարձնելու համար չիպը կարող է 5 Վ լարման մուտքի/ելքի նավահանգիստներում աշխատել, ինչը հաճելի է ցավ լինի AVR չիպից բոլոր i/O մալուխները կարգավորելու համար: Chip Enable (CE)-ը օգտագործվում է այն ժամանակ, երբ կամ ուղարկվում են տվյալներ (հաղորդիչ) կամ սկսում են տվյալներ ստանալ (ընդունիչ): CE- կապը միացված է չօգտագործված ցանկացածին i/O նավահանգիստը AVR- ի վրա և սահմանվում է որպես ելք (բիթը սահմանում է DDx գրանցամատյանում մեկին, որտեղ x- ն է նավահանգստի տառը): Atmega88: PB1, ATtiny26: PA0, ATtiny85: PB3SPI Chip Select (CSN) Նաև հայտնի է որպես «Նավ ընտրել ոչ »: CSN- կապը միացված է նաև AVR- ի ցանկացած չօգտագործված մուտքի/ելքի պորտին և դրված է ելքի: CSN- ի քորոցն անընդհատ բարձր է պահվում, բացառությամբ այն դեպքերի, երբ պետք է SPR- հրաման AVR- ից ուղարկենք nRF: Atmega88: PB2, ATtiny26: PA1, ATtiny85: PB4SPI ockամացույց (SCK) Սա սերիական ժամացույց է: SCK- ն միանում է AVR- ի SCK- պինին: Atmega88: PB5, ATtiny26: PB2, ATtiny85: PB2SPI Հիմնական ելք Ստրուկի մուտք (MOSI կամ MO) Սա SPI համակարգի տվյալների գիծն է: Եթե ձեր AVR չիպը աջակցում է SPI- փոխանցմանը ինչպես Atmega88- ը, սա նույնպես միանում է MOSI- ին AVR- ով և սահմանվում է որպես ելք: AVR- ի դեպքում, որը չունի SPI, ATINy26- ի և ATtiny85- ի նման նրանք փոխարենը գալիս են USI- ով, իսկ տվյալների թերթիկում ասվում է. համապատասխանում է 0 և 1 սերիական ծայրամասային միջերեսի (SPI) ռեժիմին, սակայն չունի ստրուկի ընտրության (SS) քորոց գործառույթը: Այնուամենայնիվ, անհրաժեշտության դեպքում այս հնարավորությունը կարող է իրականացվել ծրագրային ապահովման մեջ: Եվ որոշ հետազոտություններից հետո ես գտա այս բլոգը, որն ինձ օգնեց հատկացնել: USI- ի SPI- ն գործարկելու համար ես պարզեցի, որ ես պետք է միացնեմ MOSI կապը nRF- ից AVR- ի MISO կապին և այն որպես ելք սահմանեմ: Atmega88 ՝ PB3, ATtiny26: PB1, ATtiny85: PB1SPI Գլխավոր մուտքագրում Ստրուկի ելք (MISO կամ MI) Սա SPI համակարգի տվյալների գիծն է: Եթե ձեր AVR չիպը աջակցում է SPI- փոխանցմանը, ինչպես Atmega88- ը, այն միանում է MISO- ին AVR- ով, և սա մնում է որպես մուտքագրում: Որպեսզի այն աշխատի ATtiny26 և ATtiny85- ի վրա, ես ստիպված էի օգտագործել USI- ն, ինչպես վերը նշվեց: Սա աշխատեց միայն այն ժամանակ, երբ ես nRF- ի MISO կապը միացրեցի AVR- ի MOSI կապին և այն դրեցի որպես մուտք և միացրեցի ներքին քաշքշուկը: Atmega88: PB4, ATtiny26: PB0, ATtiny85: PB0, բայց հիանալի միջոց է իմանալու, թե երբ ինչ -որ բան տեղի է ունեցել nRF- ի հետ: Դուք կարող եք, օրինակ, ասել nRF- ին, որ փաթեթը ստանալիս կամ երբ հաջող փոխանցումն ավարտվի, բարձր IRQ սահմանել: Շատ օգտակար է: Եթե ձեր AVR- ն ունի ավելի քան 8 կապում և առկա է ընդհատման քորոց, ես ձեզ կառաջարկեի IRQ- ն միացնել դրան և ընդհատման հարցում տեղադրել: Atmega88: PD2, ATtiny26: PB6, ATtiny85: -

Քայլ 4: Հիմնական կապի դիագրամ

Հիմնական կապի դիագրամ
Հիմնական կապի դիագրամ
Հիմնական կապի դիագրամ
Հիմնական կապի դիագրամ

Այս կապի դիագրամը սխեմատիկ է

Քայլ 5: Կոդ

ԿՈԴ -ի համար այցելեք GitHub

Խորհուրդ ենք տալիս: