Բովանդակություն:
- Քայլ 1: Եղանակային կայանի շահագործում
- Քայլ 2: Առաջին տարբերակները
- Քայլ 3. Հաջող եղանակային կայանի կառուցում
- Քայլ 4: Սարքավորումների ցուցակ
- Քայլ 5: Հավաքում
- Քայլ 6: Գործի ձևավորում
- Քայլ 7:.րագրակազմ
- Քայլ 8: Տարբերակ 2 (ESP32 հիման վրա)
Video: NaTaLia եղանակային կայան. Arduino արևային էներգիայով աշխատող եղանակային կայանը կատարվել է ճիշտ ճանապարհով. 8 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Երկու տարբեր վայրերում 1 տարվա հաջող աշխատանքից հետո ես կիսում եմ իմ արևային էներգիայով աշխատող եղանակային կայանի նախագծի ծրագրերը և բացատրում, թե ինչպես է այն վերածվել համակարգի, որն իսկապես կարող է գոյատևել երկար ժամանակ արևային էներգիայից: Եթե հետևեք իմ հրահանգներին և օգտագործեք ճշգրիտ նույն նյութերը, ինչ նշված է, կարող եք կառուցել արևային էներգիայով աշխատող եղանակային կայան, որը կգործի երկար տարիներ: Իրականում միակ գործոնը, որը սահմանափակում է դրա աշխատունակությունը, մարտկոցի օգտագործման տևողությունն է:
Քայլ 1: Եղանակային կայանի շահագործում
1, հաղորդիչ. Արևային վահանակով բացօթյա տեղադրված տուփ, որը եղանակային հեռաչափություն (ջերմաստիճան, խոնավություն, ջերմության ինդեքս, արևային ուժ) պարբերաբար ուղարկում է ներքին ընդունիչ սարքին:
2, ընդունիչ. Ներքին միավոր `պատրաստված Raspberry PI 2 + Arduino Mega- ից, որն ունի տվյալների ընդունման համար միացված 433 ՄՀց ՌԴ ընդունիչ: Իմ կարգաբերման մեջ այս միավորը չունի LCD էկրանին տեղակայված որևէ գործառույթ: Այն անցնում է անուշադիր: C հիմնական ծրագիրը հոգ է տանում Arduino- ից մուտքային տվյալների սերիայի միջոցով ստացման մասին, այնուհետև տվյալները մուտքագրում տեքստային ֆայլ և վերջին ստացված տվյալները հասանելի դարձնում telnet- ի միջոցով ՝ այլ սարքերին այն հարցնելու համար:
Կայանը վերահսկում է իմ տան լույսերը `ֆոտոռեզիստորի ընթերցմամբ (որը որոշում է դրսում օր է, թե գիշեր): Իմ դեպքում ստացողն անգլուխ է, բայց դուք կարող եք հեշտությամբ փոփոխել նախագիծը ՝ LCD էկրան ավելացնելու համար: Կայանից եղանակի տվյալները օգտագործող, վերլուծող և ցուցադրող սարքերից մեկը իմ մյուս նախագիծն է.
Քայլ 2: Առաջին տարբերակները
Solarանցում կան շատ արևային նախագծեր, բայց դրանցից շատերը թույլ են տալիս սովորական սխալը, երբ համակարգը մարտկոցից ժամանակից ավելի շատ էներգիա է խլում այն, ինչ արևային վահանակը կարող էր համալրել, հատկապես ամպամած, մութ ձմռան ամիսներին:
Երբ նախագծում եք արևային էներգիայով աշխատող համակարգ, կարևորը էներգիայի սպառումն է ՝ բոլոր բաղադրիչների վրա ՝ mcu, ռադիոհաղորդիչ, լարման կարգավորիչ և այլն:
ESP- ի նման ազնվամորի pi- ի կամ հզոր սարքի նման մի մեծ համակարգչի օգտագործումը պարզապես եղանակային տվյալների մի քանի բիթ հավաքելը և տեղափոխելը չափազանց ծանրաբեռնված կլինի, բայց ինչպես ցույց կտամ այս ձեռնարկում, դա նույնիսկ փոքր Arduino տախտակն է:
Ամենալավը միշտ հոսանքի չափումն է շինարարության ընթացքում հաշվիչով կամ միջակայքով (օգտակար է, երբ շահագործման ընթացքում օգտագործման փոքր ցատկերը չափում եք շատ կարճ ժամանակահատվածներում (միլիվայրկյաններ)):
Առաջին նկարի վրա կարող եք տեսնել իմ առաջին (Arduino Nano Based) կայանը և երկրորդ Arduino Barebone Atmega 328P տախտակը:
Առաջին տարբերակը, չնայած այն կատարյալ էր աշխատում (միջավայրի մոնիտորինգ և տվյալների փոխանցում ռադիոյի միջոցով) ուներ չափազանց մեծ էներգիայի սպառում m 46mA և մարտկոցը լիցքաթափեց մի քանի շաբաթվա ընթացքում:
Բոլոր տարբերակները օգտագործում էին հետևյալ մարտկոցը.
18650 6000mAh պաշտպանված Li-ion մարտկոցով ներկառուցված պաշտպանական տախտակ
Թարմացնել այս ScamFire մարտկոցների վրա: Չնայած սա բավականին հին Instructable է, ես դեռ ստիպված էի շտկել այն այս կեղծ մարտկոցի պատճառով: Մի գնեք նշված մարտկոցը, կատարեք ձեր սեփական հետազոտությունը LION/LIPO այլ մարտկոցների վերաբերյալ, բոլոր 3.7 Վ մարտկոցները կաշխատեն այս նախագծի հետ:
Ի վերջո, ես ժամանակ ունեցա ապամոնտաժելու ScamFire մարտկոցը `տեսնելու, թե որն է դրա իրական հզորությունը: Հետևաբար, մենք իրականացնելու ենք 2 հաշվարկ իրական և «գովազդվող» հզորությունների կողքին:
Նախևառաջ, մեկ բան է, որ այս մարտկոցը կեղծ է, և ոչինչ, ինչ նրանք պնդում են դրա մասին, ճիշտ չէ: Նոր տարբերակները նույնիսկ ավելի վատն են, քանի որ դրանք կեղծել են 2 ցենտանոց պաշտպանական շղթան դուրս թողնելով, այնպես որ ոչինչ չի խանգարի նրանց լիցքաթափվել զրոյի:
Մի փոքր հոդված LION/LIPO մարտկոցների մասին ՝
TLDR:
Սա նշանակում է, որ բջիջի առավելագույն լարումը 4.2 վ է, և որ «անվանական» (միջին) լարումը 3.7 Վ է:
Օրինակ, ահա «դասական» 3.7V/4.2V մարտկոցի լարման պրոֆիլը: Լարումը սկսվում է առավելագույնը 4.2 -ից և արագորեն իջնում է մինչև 3.7V մարտկոցի մեծամասնության համար: Երբ հարվածում եք 3.4 Վ մարտկոցը մեռած է, իսկ 3.0 Վ լարման դեպքում անջատիչ միացումն անջատում է մարտկոցը:
Իմ չափումները կեղծ բեռի միջոցով.
Մարտկոցը լիցքավորված է ՝ 4.1 Վ
Անջատումը սահմանվել է `3.4 Վ
Բեռի սիմուլյացիա `0.15A (իմ սարքը սրանից ցածր գնալու հետ կապված մի փոքր խնդիր ուներ):
Չափված հզորություն `0.77Ah տվեք այն անհատույց 0.8 Ah, որը 800mAh է` գովազդվող 6000mAh- ի փոխարեն:
Քանի որ այս մարտկոցը նույնիսկ պաշտպանական միացում չուներ, ես կարող էի ազատ իջնել, բայց 10 րոպե անց 3.4 Վ լարման դեպքում այն արդեն ընկնում է մինչև 3.0 Վ:
Հետևաբար, պարզ հաշվարկներով մարտկոցը ապահովում է.
Տեսական
Մարտկոցի լարումը = 3.7V
Հզորություն = 3.7x6000 = 22000 մՎտժ
Իսկական
Մարտկոցի լարումը = 3.7V Հզորությունը = 3.7x800 = 2960 մՎտժ
Տարբերակ ՝ 0.1 ARDUINO NANO BASED
Նույնիսկ LowPower գրադարանի դեպքում Arduino nano- ն սպառում է m 16 մԱ (քնի ռեժիմում) -> ՏԱՍԻՆ:
Տեսական
Pavg = VxIavg = 5Vx16mA = 80 մՎտ
Մարտկոցի կյանքը = 22000/80 = 275 ժամ = մոտավորապես 11 օր
RealPavg = VxIavg = 5Vx16mA = 80 մՎտ
Մարտկոցի կյանքը = 800/80 = 10 ժամ
Տարբերակ ՝ 0.2 Atmega 328P Barebone
ATmega328- ի սպառած էներգիան շատ բան կախված է նրանից, թե ինչ եք անում դրա հետ: Պարզապես այնտեղ նստած լռելյայն վիճակում, այն կարող է օգտագործել 16mA @ 5V ՝ 16 ՄՀց հաճախականությամբ աշխատելու ընթացքում:
Երբ ATmega328P- ը գտնվում է Ակտիվ ռեժիմում, այն անընդհատ կկատարի վայրկյանում մի քանի միլիոն հրահանգ: Ավելին, On-Board Peripherals Analog to Digital Converter (ADC), Serial Peripheral Interface (SPI), Timer 0, 1, 2, Two Wire Interface (I2C), USART, Watchdog Timer (WDT) և Brown-out Detection (BOD) սպառում են իշխանությունը:
Էլեկտրաէներգիան խնայելու համար ATmega328P MCU- ն ապահովում է քնի մի շարք ռեժիմներ, և չօգտագործված ծայրամասային սարքերը կարող են անջատվել: Քնի ռեժիմները տարբերվում են, թե որ մասերն են մնում ակտիվ ՝ ըստ քնի տևողության և արթնանալու համար անհրաժեշտ ժամանակի (արթնացման շրջան): Քնի ռեժիմը և ակտիվ ծայրամասային սարքերը կարող են վերահսկվել AVR քնի և հզորության գրադարանների միջոցով կամ, ավելի հակիրճ, Lowածր էներգիայի գերազանց գրադարանի միջոցով:
Low-Power գրադարանը պարզ է օգտագործման համար, բայց շատ հզոր: LowPower.powerDown (SLEEP_8S, ADC_OFF, BOD_OFF) քաղվածքը; MCU- ն դնում է SLEEP_MODE_PWR_DOWN- ում 16 ms- ից 8 վայրկյան `կախված առաջին փաստարկից: Այն անջատում է ADC- ն և BOD- ը: Անջատված քունը նշանակում է, որ չիպի բոլոր գործառույթներն անջատված են մինչև հաջորդ ընդհատումը: Ավելին, արտաքին տատանումները դադարեցվում են: Միայն INT1- ի և INT2- ի մակարդակի ընդհատումները, կապի փոփոխման ընդհատումները, TWI/I2C հասցեի համընկնումը կամ WDT- ն, եթե միացված է, կարող են արթնացնել MCU- ն: Այսպիսով, մեկ հայտարարությամբ դուք նվազագույնի կհասցնեք էներգիայի սպառումը: 3.3 V Pro Mini- ի համար, առանց հոսանքի LED և առանց կարգավորիչի (տե՛ս ստորև), որն աշխատում է հայտարարության մեջ, էներգիայի սպառումը 4.5 μA է: Դա շատ մոտ է այն, ինչ նշված է ATmega328P տվյալների թերթում ՝ անջատված քնի համար, WDT- ն միացված է 4.2 μA (տվյալների թերթը ՝ կապված աղբյուրներում): Հետևաբար, ես լիովին վստահ եմ, որ powerDown գործառույթը անջատում է այն ամենը, ինչ ողջամիտ հնարավոր է: LowPower.powerDown (SLEEP_FOREVER, ADC_OFF, BOD_OFF) հայտարարությամբ WDT- ն անջատված կլինի, և դուք չեք արթնանա մինչև ընդհատումը չսկսվի:
Այսպես, մերկ գոտու կարգավորմամբ մենք կարող ենք չիպը 5 րոպե դնել քնի ռեժիմում, մինչդեռ այն շատ քիչ էներգիա է սպառում (0.04 մԱ առանց ծայրամասային սարքերի): Սակայն սա միայն Atmega 328P չիպն է բյուրեղային տատանումով և ոչ այլ ինչ: Այս կոնֆիգուրացիայում օգտագործվող լարման ուժեղացուցիչը մարտկոցի լարումը 3.7 Վ -ից -> 5.0 Վ լարումով սպառում է նաև 0.01 մԱ:
Անընդհատ լարման արտահոսքը ավելացված լուսանկարային դիմադրիչն էր, որը սպառումը քնի ռեժիմում հասցնում էր ընդհանուր 1 մԱ -ի (սա ներառում է բոլոր բաղադրիչները):
Ինչպես քնի, այնպես էլ արթնացման ռեժիմում սարքի ճշգրիտ սպառումը հաշվարկելու բանաձևը հետևյալն է.
Iavg = (Ton*Ion + Tsleep*Isleep) / (Ton + Tsleep)
Իոն = 13 մԱ
Սա հիմնականում գալիս է RF433 Mhz հաղորդիչից.
Հաղորդիչ:
Աշխատանքային լարումը `3V - 12V առավելագույնը: էներգիայի օգտագործում 12 Վ Աշխատանքային հոսանք ՝ առավելագույն 40 մԱ -ից ոչ պակաս, և նվազագույնը ՝ 9 մ Մեղմայնության ռեժիմ ՝ (SAW) Մոդուլյացիայի ռեժիմ ՝ ASK Աշխատանքային հաճախականություն.
Քուն = 1 մԱ
Significantlyգալիորեն ավելի քիչ կլիներ առանց ֆոտոընդդիմադիրի:
Trunon ժամանակը Ton = 250 mS = 0.25s
Քնի ժամանակը Քնի = 5 րոպե = 300 վ
Iavg = (Ton*Ion + Tsleep*Isleep) / (Ton + Tsleep)
Iavg = (0.25s*13mA + 300s*1mA) / (0.25s + 300s)
Iavg = 1.26mA
Pavg = VxIavg = 5Vx1.26mA = 6 մՎտ
Տեսական
Մարտկոցի կյանքը = 22000 մՎտ/6 մՎտ = 3666 ժամ = մոտավորապես 152 օր
Իսկական
Մարտկոցի կյանքը = 800mWh/6mW = 133 ժամ = մոտավորապես 5,5 օր
Չնայած դրանք դեռ ավելի լավ UltraFire շարք էին, ինչ ես ի սկզբանե օգտագործում էի, դուք կարող եք տեսնել, որ առանց արևային վահանակի կամ ցածր 1 մԱ սպառման այս նախագիծը երկար չի գոյատևի:
Ազատորեն կառուցեք կայանը և ձեր գտածոներն ու հաշվարկները գրեք մեկնաբանություններում, և ես կթարմացնեմ հոդվածը: Ես նաև կգնահատեի արդյունքները տարբեր MCU- ներով և խթանող կերպափոխիչներով:
Քայլ 3. Հաջող եղանակային կայանի կառուցում
Թեև դա առաջին հաջողված տարբերակն է, այն պարունակում է նկարների մի փոքր ձախողում, և ես չեմ կարող դրանք վերափոխել, քանի որ կայաններն արդեն տեղակայված են: Նկարում ցուցադրված երկու լարման ուժեղացուցիչները հասանելի են գրելու պահին `աերո-մոդելավորման և այլ ծրագրերի համար: Երբ ես վերափոխեցի իմ կայանը, ես մտածում էի ավելի փոքր և ավելի արդյունավետ լարման բարձրացման տախտակ ձեռք բերելու մասին, սակայն փոքր չափերը հաստատ չեն նշանակում, որ այն ավելի արդյունավետ է:
Նկարի վրա տեղադրված նոր փոքր մոդուլը, որն անգամ ցուցիչ չունի, իրականում ինքնուրույն 3 mA (*FAIL*) արտահոսեց, այնպես որ ես մնացի իմ հին տախտակի հետ.
PFM Control DC-DC USB 0.9V-5V to 5V DC Boost Up-up Power Supply Module
Գրելու պահին այս մոդուլը դեռ հասանելի է Ebay- ում 99 ցենտով, բայց եթե որոշեք օգտագործել մեկ այլ խթանող սարք, միշտ ստուգեք սպասման էներգիայի սպառումը: Լավ որակի խթանիչով այն չպետք է լինի ավելի շատ, քան իմը (0.01 մԱ), թեև ինքնաթիռում եղած փոքր LED- ն պետք է ապամոնտաժվեր:
Քայլ 4: Սարքավորումների ցուցակ
- 18650 6000mAh պաշտպանված Li-ion մարտկոցով ներկառուցված պաշտպանական տախտակ
- Atmega 328P16M 5V ՝ բեռնիչով
- Adafruit DC Boarduino (Arduino համատեղելի) Kit (w/ATmega328) <սա լավ ներդրում կլինի, եթե դուք ապագա մերկ նախագծեր եք անում
- Լուսանկարը թեթև զգայուն դիմադրություն Photoresistor Optoresistor 5 մմ GL5539
- 1A 1000V դիոդ 1N4007 IN4007 DO-41 ուղղիչ դիոդներ
- PFM Control DC-DC USB 0.9V-5V to 5V DC Boost Up-up Power Supply Module
- 1.6W 5.5V 266mA մինի արևային վահանակի մոդուլային համակարգ Էպոքսիդ բջջային լիցքավորիչ DIY
- TP405 5V Mini USB 1A Lithium Battery Charging Board Charger Module
- Arduino/ARM/MC հեռակառավարման 433 ՄՀց ՌԴ հաղորդիչ և ընդունիչ կապի հավաքածու <Kit, պարունակում է ինչպես հաղորդիչ, այնպես էլ հաղորդիչ
- IP65 Անջատիչ պաշտպանիչ միացման տուփ Արտաքին անջրանցիկ պատյան 150x110x70 մմ
- Նոր DHT22 ջերմաստիճանի և հարաբերական խոնավության սենսորային մոդուլ Arduino- ի համար
- 1x220 Օմ, 2x10KOhm, 1xLED, 1xMini անջատիչ, 1x1N4007 դիոդ
- Adafruit 16 ՄՀց կերամիկական ռեզոնատոր / տատանում [ADA1873]
- Arduino UNO/Mega և այլն ընդունիչ կայանի համար + Ազնվամորի PI 1/2/3
- Ակրիլային պլաստիկ թափանցիկ տուփ (ըստ ցանկության)
Այս բոլորը կարող եք գտնել Ebay- ում, ես չեմ ցանկանում որևէ վաճառողի առաջ մղել ՝ հղում կատարելով նրանց էջերին, և ամեն դեպքում հղումները մեռած կլինեն:
Սարքավորումների ցուցակի վերաբերյալ նշումներ.
Եթե Atmega- ն ինչ -որ կերպ ծրագրավորմամբ աղյուսավորեք, դրանք ավելի շատ գնեք, նույնը վերաբերում է լարման ուժեղացուցիչին և արևային լիցքի վերահսկիչին:
Արևային լիցքավորիչը պարունակում է 2 փոքր գունավոր LED, որոնք միացված են միայն արևային լիցքավորման դեպքում և ցույց են տալիս (կարմիր-լիցքավորում, կապույտ-> լրիվ լիցքավորված վիճակ): Սրանք նույնպես կարող են չվաճառվել: Այն ավելի շուտ մի փոքր ավելորդ հյութ է հաղորդում մարտկոցին լիցքավորման ընթացքում:
Ինչպես տեսնում եք, իմ ցուցակում մարտկոցի կրողներ չկան: Ինչո՞ւ: Քանի որ դրանք անվստահելի են: Ես անհամար առիթներ ունեցա, երբ մարտկոցը դուրս եկավ պահողից և կապը խզվեց: Հատկապես, եթե ձեր տեղադրումը տեղադրված է իմ նման բարձր ամանի վրա, բաց է ցանկացած ծանր եղանակային պայմանների համար: Ես նույնիսկ մարտկոցը 2 կայծակաճարմանդ ամրացրեցի պահարանի մեջ և այն դեռ հասցրեց դուրս գալ: Մի արեք դա, պարզապես հանեք արտաքին ծածկույթը մարտկոցից և լարերը միացրեք անմիջապես մարտկոցի ներքևի մասում, որը պարունակում է գերլիցքավորման պաշտպանության միացում (մի շրջանցեք պաշտպանությունը): Մարտկոցի կրիչը կարող է օգտագործվել մարտկոցը միայն սարքում տեղում պահելու համար:
TP405 5V Mini USB 1A լիթիումի մարտկոցի լիցքավորման տախտակ. Ցավոք, այս տախտակը չի ներառում արևային վահանակի հակադարձ ընթացիկ պաշտպանություն, դրա համար ձեզ հարկավոր կլինի ևս 1 դիոդ, որը տեղադրվելու է արևային վահանակի մեկ ոտքի միջև և լիցքավորման միացման միջև `ընթացիկ փորձը դադարեցնելու համար: գիշերները նորից հոսել դեպի արևային վահանակ:
Քայլ 5: Հավաքում
Այս տախտակը պարունակում է համեմատաբար քիչ բաղադրիչներ, և տախտակի վրա տեղադրված մարկերները բավականին պարզ են:
Համոզվեք, որ ՉԵՔ տեղադրում Atmega328P- ը սխալ ճանապարհով (որը կարող է տաքացնել և աղյուսավորել չիպը, կարող է նաև քանդել լարման ուժեղացուցիչը):
Այս պարամետրում չիպը դեմքով դեպի ներքև է (փոքր U փոս, որը նշում է PIN1): Մնացած բոլոր բաղադրիչները պետք է ակնհայտ լինեն:
LDR- ի համար օգտագործեք պաշտպանված մալուխ (օրինակ ՝ CDrom- ի աուդիո մալուխը լավ կլինի): Որոշ դեպքերում (թեստերի երկար շաբաթների ընթացքում) պարզվեց, որ այն միջամտում է ռադիոազդանշանի փոխանցմանը: Սա այն սխալներից մեկն էր, որը դժվար է վերացնել, ուստի, եթե դժվարություններ չեք ցանկանում, պարզապես օգտագործեք պաշտպանված մալուխ, պատմության վերջ:
LED. Տուփի ներքևի լուսադիոդն ի սկզբանե ավելացվել է թարթելու համար, երբ հեռարձակվող ռադիոհաղորդում կա, բայց հետագայում այն համարել եմ որպես էներգիայի վատնում և միայն 3 անգամ է թարթում բեռնման գործընթացում:
TP: ընդհանուր շրջանի հոսանքի չափման փորձարկման կետ է:
DHT22. Մի գնեք էժան DHT11, ծախսեք 50 ցենտ ավելի, որպեսզի ձեռք բերեք սպիտակ DHT22, որը կարող է չափել նաև բացասական ջերմաստիճանը:
Քայլ 6: Գործի ձևավորում
Չնայած դա մի փոքր ավելորդ է, 3D տպված խորանարդը (weather_cube) պատրաստվեց DHT22 ջերմաստիճանի տվիչը տեղում պահելու համար: Խորանարդը սոսնձված է IP տուփի ներքևի մասում ՝ օդի սենսորին հասնելու համար ընդամենը 1 անցք: Ես ցանց եմ ավելացրել մեղուների, օձերի և այլ մանր ճանճերի դեմ անցքի վրա:
Արտաքին տուփը կարող է ընտրովի օգտագործվել կայանը ավելի անջրանցիկ դարձնելու համար, եթե այն տեղադրում եք բացօթյա սպասքի ձողի վրա:
Գաղափար 1 օգտակար հատկության համար. Տուփի վերևում 1-2 սմ երկարությամբ մեծ մետաղյա ափսե ավելացնելը, ամռանը արևից ստվեր տալով, չնայած դա կարող է նաև հեռացնել վահանակից մեր օգտակար արևի լույսը: Կարող եք հանդես գալ դիզայնով, որը բաժանում է վահանակը և տուփը (վահանակը թողնելով արևի վրա, տուփը ստվերում է):
Նկարների վրա. 1 տարի հետո աշխատանքային միջավայրից հեռացված կայաններից մեկը, մարտկոցի լարումը շարունակում է մնալ ցնցող 3,9 Վ, տուփի որևէ մասի ջուր չի վնասվել, չնայած որ խորանարդի ներքևում կպած ցանցը պատառոտված էր: Կայանի սպասարկման պատճառը LDR միակցիչի միացման անսարքությունն է, չնայած որ ցատկող մալուխը դեռ տեղում էր, կապը խզված էր, ուստի կապը երբեմն լողում էր ՝ ապահովելով վատ LDR անալոգային ընթերցումներ: Առաջարկ. Եթե դուք օգտագործում եք ԱՀ -ի ստանդարտ jumpercables- ը, միացրեք դրանք բոլորը, երբ կայանը կատարյալ աշխատում է, որպեսզի խուսափեք դրանից:
Քայլ 7:.րագրակազմ
Softwareրագրաշարի ծածկագիրը կպահանջի 3 արտաքին գրադարան (LowPower, DHT, VirtualWire): Վերջերս ես խնդիր ունեի դրանցից մի քանիսը հեշտությամբ առցանց գտնելու համար, ուստի դրանք կցեցի առանձին ZIP ֆայլում: Անկախ նրանից, թե ինչ OS եք օգտագործում Linux/Windows, պարզապես գտեք ձեր Arduino IDE գրադարանի թղթապանակը և դրանք հանեք այնտեղ:
Պարզապես նշեք, անկախ նրանից, որ ես արդեն խորհուրդ չեմ տալիս DHT11- ը գնելուց, եթե դուք օգտագործում եք DHT սենսորի սխալ տեսակը, ծրագիրը սկզբում ընդմիշտ կկանգնի սկզբնավորման հատվածում (նույնիսկ գործարկման LED լուսարձակը 3 անգամ չի տեսնի):
Հիմնական հանգույցի կոդը շատ պարզ է. Սկզբում կարդում է շրջակա միջավայրի արժեքները (ջերմաստիճան, ջերմության ինդեքս, խոնավություն, արև), դրանք ուղարկում է ռադիոյի միջոցով, այնուհետև օգտագործում է ցածր էներգիայի գրադարանը ՝ Arduino- ն 5 րոպե քնեցնելու համար:
Ես գտա, որ բաուդրատի իջեցումը կբարձրացնի ռադիոհաղորդումների կայունությունը: Կայանը ուղարկում է շատ փոքր քանակությամբ տվյալներ, 300 բիթ / վրկ ավելի քան բավարար է: Նաև մի մոռացեք, որ հաղորդիչը գործում է միայն մոտավորապես: 4.8V, ապագա 3.3V տարբերակում դա կարող է հանգեցնել փոխանցման ավելի վատ որակի (տվյալների փոխանցում պատերի միջով և այլ խոչընդոտներով): Ես բախվեցի Arduino Mega- ի օգտագործման հետ, որը կցված է Raspberry PI 2 -ին, որը սնուցում է Mega- ն PI- ից, որ ես որևէ փոխանցում չեմ ստացել: Լուծումը Mega- ն առանձին արտաքին 12 Վ լարման միջոցով սնուցելն էր:
Քայլ 8: Տարբերակ 2 (ESP32 հիման վրա)
Ամեն ինչ, որ կարող է կոտրվել, կկոտրվի ՝ մեջբերելով հին լավ Մերֆիին, և, ի վերջո, տարիներ անց կայանները ձախողվեցին խորհրդավոր ճանապարհներով: Մեկը սկսեց ուղարկել անհեթեթ արևային տվյալներ, որոնք հասան մինչև տասնյակ հազարների, ինչը անհնար է. Arduino- ի տախտակը պարունակում է 6 ալիք (8 ալիք Mini- ում և Nano- ում, 16-ը Mega- ում), 10-բիթանոց անալոգային թվային փոխարկիչ: Սա նշանակում է, որ այն 0 -ից 5 վոլտ միջև ընկած լարման քարտեզագրում է 0 -ից 1023 -ի միջև ընկած ամբողջ թվերի: Այսպիսով, ռադիոյի, LDR- ի փոխարինումից և Atmega 328P- ի բազմակի ծրագրավորումից հետո ես հանձնվեցի և որոշեցի, որ ժամանակն է նորարարության: Եկեք գնանք ESP32:
Տախտակը, որն օգտագործեցի, հետևյալն էր ՝ ESP32 WEMOS LOLIN32 Lite V1.0.0 Wifi և Bluetooth քարտ Rev1 MicroPython 4MB FLASH
wiki.wemos.cc/products:lolin32:lolin32_lit…
Միկրոկառավարիչ ESP-32
Գործող լարման 3.3 Վ Թվային մուտքի/ելքի կապում 19 Անալոգային մուտքային կապում 6 ockամացույցի արագություն (առավելագույնը) 240 ՄՀց Ֆլեշ 4 ՄԲ բայթ Երկարություն 5 մմ Լայնություն 2.54 մմ Քաշ 4 գ
Որը, ի տարբերություն նկարի, չունի LOLIN- ի լոգոն (կեղծված է Չինաստանից): Իմ առաջին հաճելի անակնկալը այն էր, որ գրատախտակին տպված քորոցը համընկնում էր Arduino- ի հետ: Հետո զբաղվել այդքան noname տախտակներ, որտեղ ես պետք է փնտրել pinouts ամբողջ օրը մահացած հոգնած սխալներ կատարելու վերջապես մի տախտակ, որտեղ pinout ուղիղ առաջ WoW!
Այնուամենայնիվ, այստեղ կա պատմության մութ կողմը.
Սկզբում ես LDR- ը միացրել եմ A15- ին, որը 12 -րդ փինն է, որովհետև ավելի հեշտ էր կապերը տաքացնելով: Հետո ես ստացա 4095 ընթերցում (որը առավելագույնն է, որը կարող եք ստանալ AnlogRead- ով ESP32- ով), ինչը ինձ խենթացրեց, քանի որ կայանը վերակառուցելու ամբողջ պատճառը հինից կոտրված LDR ընթերցումներն էին (DHT- ն դեռ լավ էր գործում): Այսպիսով, պարզվում է, որ.
Esp 32-ը միավորում է երկու 12-բիթանոց ACD գրանցամատյաններ: ADC1- ը 8 ալիքներով, որոնք կցված են GPIOs 32-39-ին, իսկ ADC2- ը ՝ 10 ալիքով մեկ այլ կապում:Բանն այն է, որ ESP32- ն օգտագործում է ADC2- ը ՝ wifi գործառույթները կառավարելու համար, այնպես որ, եթե դուք օգտագործում եք Wifi, չեք կարող օգտագործել այդ գրանցամատյանը: ADC վարորդի API- ն աջակցում է ADC1- ին (8 ալիք ՝ կցված GPIO- ներին 32 - 39) և ADC2 (10 ալիք ՝ կցված 0, 2, 4, 12 - 15 և 25 - 27 GPIO- ներին): Այնուամենայնիվ, ADC2- ի օգտագործումը որոշ սահմանափակումներ ունի կիրառման համար.
ADC2- ն օգտագործվում է Wi-Fi վարորդի կողմից: Հետևաբար, ծրագիրը կարող է օգտագործել ADC2- ը միայն այն դեպքում, երբ Wi-Fi վարորդը չի գործարկվել: ADC2- ի որոշ կապումներն օգտագործվում են որպես ամրագոտիներ (GPIO 0, 2, 15), ուստի չեն կարող օգտագործվել ազատորեն: Այդպես է հետևյալ պաշտոնական զարգացման հավաքածուների դեպքում.
Այսպիսով, LDR- ը կապում 12 -ից A0- ին, որը VP- ն է, լուծեց ամեն ինչ, բայց ես դա չեմ հասկանում, թե ինչու են նրանք նույնիսկ թվարկում ADC2 կապումներն արտադրողների համար մատչելի: Քանի՞ այլ հոբբիստ է տոննա ժամանակ վատնել մինչև դա պարզելը: Առնվազն անօգտագործելի կապումները նշեք կարմիրով կամ ինչ -որ բանով կամ ընդհանրապես մի նշեք ձեռնարկում, որպեսզի մյուս արտադրողները կարողանան դրանց մասին իմանալ միայն այն դեպքում, երբ դրանք իսկապես անհրաժեշտ են: ESP32- ի ամբողջ նպատակն է օգտագործել այն WIFI- ով, բոլորը օգտագործում են WIFI- ով:
Լավ սկիզբ, թե ինչպես կարելի է կարգավորել Arduino IDE- ն այս տախտակի համար.
Չնայած այստեղ ես այն տեղադրել եմ ծածկագրում, այն մեկ անգամ ևս գնում է.
Այս ծածկագիրը կարող է չհավաքվել այլ ESP32 մոդելների համար, քան Weemos LOLIN 32 -ը:
Կառուցեք կարգավորումներ. -Օգտագործեք վերբեռնում/սերիա ՝ 115200 -Օգտագործեք պրոցեսոր/խոյ ՝ 240 ՄՀց (Wifi | BT) -Օգտագործեք ֆլեշ հաճախականությունը ՝ 80 ՄՀց
Tonsանցում կան տոննա ESP32 եղանակային կայաններ, դրանք շատ ավելի սովորական են, քան իմ 1 -ին տարբերակը մերկացած չիպով, քանի որ դրանք ավելի հեշտ է կարգավորել, ձեզ հարկավոր չէ ծրագրավորող, պարզապես միացրեք USB սարքը և ծրագրավորեք այն և դրանք խորը քնի ռեժիմը հիանալի է մարտկոցից երկար աշխատելու համար: Չղջիկից սա առաջին բանը էր, որ ես փորձարկեցի նույնիսկ ճեղքման կապում ամրացնելուց առաջ, քանի որ ինչպես նշեցի այս նախագծի մի քանի վայրեր, ամենակարևորը էներգիայի սպառումն է, իսկ ներկայիս (կեղծ) մարտկոցով և փոքր արևային վահանակով սպասման ռեժիմը հզորությունը չի կարող իսկապես գերազանցել 1-2mA- ն, քանի որ հակառակ դեպքում նախագիծը չի կարողանա ինքն իրեն պահել երկարաժամկետ հեռանկարում:
Կրկին հաճելի անակնկալ էր, որ խորը քնի ռեժիմն աշխատում է այնպես, ինչպես գովազդվում էր: Խորը քնի ժամանակ հոսանքը այնքան ցածր էր, որ իմ էժան բազմաչափը նույնիսկ չկարողացավ չափել այն (աշխատում է ինձ համար):
Տվյալների ուղարկման ընթացքում հոսանքը մոտ 80 մԱ էր (ինչը մոտ 5 անգամ ավելի է, քան Atmega 328P- ն արթնանալիս և փոխանցելիս), սակայն մի մոռացեք, որ V1- ի դեպքում քնի ռեժիմում LDR- ի վրա 1mA հոսանքի միջին հոսք է եղել (որը նույնպես կախված էր լույսի մակարդակներից և գնաց 0.5mA - 1mA- ից), որն այժմ չկա:
Այժմ, երբ UltraFire մարտկոցը խափանված է, եթե նույն մարտկոցն եք օգտագործում, ահա թե ինչ կարող եք ակնկալել.
Iavg = (Ton*Ion + Tsleep*Isleep) / (Ton + Tsleep)
Iavg = (2s*80mA + 300s*0.01mA) / (2s + 300s) Iavg = 0.5mA
Pavg = VxIavg = 5Vx0.5mA = 2.5 մՎտ
Տեսական
Մարտկոցի կյանքը = 22000 մՎտ/2.5 մՎտ = 8800 ժամ = մոտավորապես 366 օր
Իսկական
Մարտկոցի կյանքը = 800mWh/2.5mW = 320 ժամ = մոտավորապես 13 օր
Ես հնարավորություն չունեի ճշգրիտ չափել միացման ժամանակը, բայց իմ ճշգրտումներով այն գերազանցում է մոտ 2 վայրկյան:
Ես չէի ուզում կեսօրն անցկացնել ամեն ինչ յուրահատուկ կոդավորելու վրա, այնպես որ ESP32- ի հիման վրա Instructables- ում փնտրեցի այլ եղանակային կայաններ `տեսնելու, թե ինչ են նրանք անում տվյալների պահպանման համար: Sadավոք նկատեցի, որ նրանք օգտագործում են ոչ ճկուն և սահմանափակ կայքեր, ինչպիսիք են weathercloud- ը: Քանի որ ես «ամպի» երկրպագու չեմ, և նրանց ծածկագիրը երկար ժամանակ կոտրվել է, քանի որ այդ ժամանակից ի վեր կայքը փոխել է իր API- ն, ես 10 րոպե եմ տրամադրել ՝ հատուկ լուծում պատրաստելու համար, քանի որ դա այնքան էլ դժվար չէ, ինչպես կարելի է մտածել: Եկեք սկսենք!
Նախևառաջ, այս նախագծի համար առանձին տպատախտակների պատկեր չկա, քանի որ այն օգտագործում է ճիշտ նույն բաղադրիչները (ներեցեք դրա համար տխուր սեղանի նկարի վրա զոդված լինելու համար), ինչպես V1- ն ՝ այն տարբերությամբ, որ ամեն ինչ հոսում է 3.3 Վ -ից: DHT- ն միացված է VCC- ին, LDR- ն իջել է 10k- ով: Խնդիրը, որը կարելի է տեսնել 18650 մարտկոցների հետ, ինչպես իմ չինական կեղծը (6500 mAh ultra sun fire lol: D), այն է, որ նրանք սկսում են լիցքաթափման կորը մոտ 4.1 Վ նոր տարիքից և գնում մինչև բջջային վնասը դադարեցնելու իրենց անջատման սխեման: նրանք, ովքեր բախտ են ունեցել ունենալ այն): Սա ոչ մի տեղ լավ չէ մեզ համար, որպես 3.3V մուտք: Չնայած այս LOLIN տախտակին այս նախագծում կա լիթիումի մարտկոցի միակցիչ և լիցքավորման միացում, ես ուզում էի ամեն ինչ հնարավորինս վերանորոգել հին կայանից, այնպես որ հին 18650 -ով դուք չեք կարող օգտագործել ներկառուցված լիցքավորիչը: Լուծումը պարզունակ էր. Ես անջատեցի միկրո USB մալուխը, որը միացված էր 5 Վ լարման հին լարման ուժեղացուցիչից և լուծվեց վոյլայի խնդիրը, քանի որ microUSB- ի տախտակն ունի կարգավորիչ:
Այսպիսով, հին և նոր տարբերակի միջև եղած տարբերությունը, որը հին մարտկոցում ապահովում է 3.7 Վ -> բարձրացված մինչև 5 Վ -> արդու աշխատում է 5 Վ -> բոլոր բաղադրիչներն աշխատում են 5 Վ լարման վրա:
Նորում. Մարտկոցն ապահովում է 3.7 Վ -> հզորացված մինչև 5 Վ -> կարգավորվում է ESP32- ով ինքնաթիռի կանոններով -> 3.3 Վ լարման վրա աշխատող բոլոր բաղադրիչները:
Softwareրագրային ապահովման իմաստով մեզ անհրաժեշտ կլինի նաև մեկ այլ DHT գրադարան: Arduino- ի DHT- ն համատեղելի չէ ESP- ի հետ: Այն, ինչ մեզ պետք է, կոչվում է DHT ESP:
Ես սկսեցի հիմնավորել իմ կոդը DHT օրինակի շուրջ, որն այս ծածկագիրն է տրամադրել: Կոդի աշխատանքը հետևյալն է.
1, Ստացեք շրջակա միջավայրի տվյալները DHT + արևային տվյալներից `ֆոտոցելից
2, Ստատիկ IP- ով միացեք wifi- ին
3, Տեղադրեք տվյալները php սցենարի մեջ
4, Գնացեք քնելու 10 րոպե
Ինչպես կնկատեք, ես կարգաբերեցի արդյունավետության կոդը, որպեսզի բացարձակապես նվազագույնի հասցնեմ արթնանալու ժամանակը, քանի որ այն էներգիա է ծախսում 5 անգամ, քան հին նախագիծը միացնելիս: Ինչպե՞ս դա արեցի: Առաջին հերթին, եթե կա որևէ տեսակի սխալ, getTemperature () գործառույթը կվերադառնա կեղծ (ինչը նշանակում է, որ 10 րոպե նորից քնում է): Սա կարող է լինել այնպես, ինչպես DHT սենսորը չի կարող գործարկվել, կամ wifi կապը հասանելի չէ: Ինչպես նկատում եք wifi ասոցիացիան անընդհատ փորձելու սովորական () հանգույցը նույնպես հանվել է, բայց այնտեղ պետք է մնա 1 վայրկյան ուշացումով, հակառակ դեպքում այն միշտ չի միանա, և դա կախված է նաև AP- ի տեսակից, բեռնվածությունից և այլն: տեղի կունենա, 0.5 -երի դեպքում ես անհամապատասխան վարքագիծ ստացա (երբեմն դա հնարավոր չէր միացնել): Եթե ինչ -որ մեկը գիտի դա անելու ավելի լավ միջոց, խնդրում ենք թողնել այն մեկնաբանություններում: Միայն DHT- ի տվյալները կարդալուց և Wi -Fi կապի ավարտից հետո այն կփորձի տվյալները տեղադրել սցենարի վրա վեբ սերվերի վրա: Kindամանակը վատնող բոլոր տեսակի գործառույթները, ինչպիսիք են Serial.println () - ն, նույնպես անջատված են սովորական գործառնական ռեժիմում: Որպես սերվեր ես նաև օգտագործում եմ IP ՝ DNS- ի անհարկի որոնումից խուսափելու համար, իմ ծածկագրում և՛ կանխադրված դարպասը, և՛ dns սերվերը դրված են 0.0.0.0 -ի:
Ես չեմ հասկանում, թե ինչու է այդքան դժվար ստեղծել ձեր սեփական API- ն, երբ դրա համար անհրաժեշտ է.
sprintf (պատասխան, "temp =%d & hum =%d & hi =%d & sol =%d", temp, hum, hi, sol);
int httpResponseCode = http. POST (պատասխան);
Դուք այս փոքրիկ php ծածկագիրը դնում եք ցանկացած ազնվամորի pi- ի վրա և կարող եք անմիջապես կատարել համակարգի () առաջադրանքները ՝ հիմնվելով հեռաչափության վրա, օրինակ ՝ միացնել երկրպագուներին կամ միացնել լույսերը, եթե բավականաչափ մթնում է:
Որոշ նշումներ ծածկագրի վերաբերյալ.
WiFi.config (staticIP, gateway, subnet, dns); // ՊԵՏՔ է լինել այն բանից հետո, երբ Wifi- ն սկսում է հիմար լինել…
WiFi.mode (WIFI_STA); // ՊԵՏՔ է հակառակ դեպքում այն նաև կստեղծի անցանկալի AP
Այո, հիմա դուք գիտեք: Նաև IP կոնֆիգուրացիաների կարգը կարող է փոխվել հարթակների միջոցով, ես առաջին հերթին փորձեցի այլ օրինակներ, որտեղ դարպասի և ենթացանցի արժեքները փոխվեցին: Ինչու՞ սահմանել ստատիկ IP: Դե, դա միանգամայն ակնհայտ է, եթե ձեր ցանցում ունեք հատուկ արկղ, ինչպիսին է linux սերվերը, որն աշխատում է isc dhcpd, դուք չեք ցանկանում, որ հարյուր միլիոն տեղեկամատյան մուտքագրվի այն պահից, երբ ESP- ն արթնանա և IP- ն ստանա DHCP- ից: Երթուղղիչները սովորաբար չեն գրանցում ասոցիացիաները, որպեսզի դրանք անտեսանելի մնան: Սա էներգիայի խնայողության գինն է:
V2- ը երբեք չի կարողացել պահպանել իրեն վատ որակի մարտկոցի պատճառով, և ես այն պարզապես դրել եմ ադապտորի վրա, ուստի եթե ցանկանում եք կամ V1- ը կամ V2- ը կառուցել, մի գնեք նշված մարտկոցը, մարտկոցների վերաբերյալ ձեր սեփական հետազոտությունը կատարեք (ցանկացած 18650 Ebay- ում 2000mAh- ից ավելի գովազդվող հզորությունը մեծ հավանականությամբ խաբեություն է):
Խորհուրդ ենք տալիս:
Արևային էներգիայով աշխատող ռոբոտ. 17 քայլ (նկարներով)
Արևային էներգիայով աշխատող ռոբոտ. Որոշ ժամանակ առաջ ես պատրաստեցի տասնյակ ռոբոտներ, որոնք մեծ մասամբ ոգեշնչված էին BEAM Robotics- ից: Անծանոթների համար BEAM- ը հիմնականում ռոբոտաշինության հատուկ մեթոդ է ՝ շեշտը դնելով կենսաբանության, էլեկտրոնիկայի, գեղագիտության և մեխանիկայի վրա (հետևաբար ՝ հապավումը
Արևային էներգիայով աշխատող LED կայանման տվիչ ՝ 8 քայլ (նկարներով)
Արևային էներգիայով աշխատող LED կայանման սենսոր. Մեր ավտոտնակը շատ խորություն չունի, և վերջում պահարաններն ավելի են նվազեցնում խորությունը: Իմ կնոջ մեքենան պարզապես բավական կարճ է տեղավորվելու համար, բայց մոտ է: Այս սենսորը ես պատրաստել եմ կայանման գործընթացը պարզեցնելու և մեքենան լցված լինելու համար
Արևային էներգիայով աշխատող «Խելացի» WiFi վերահսկվող ոռոգման համակարգ. 6 քայլ (նկարներով)
Արևային էներգիայով աշխատող «Խելացի» WiFi վերահսկվող ոռոգման համակարգ. Այս նախագիծը օգտագործում է eBay- ից ստանդարտ DIY արևային և 12 վ մասեր, ինչպես նաև Shelly IoT սարքեր և openHAB- ում որոշ հիմնական ծրագրավորում ՝ տնական, ամբողջովին արևային էներգիայով աշխատող, խելացի այգու էլեկտրացանց և ոռոգում ստեղծելու համար: կարգավորում. Համակարգի կարևորագույն կետերը. Fu
Արևային էներգիայով աշխատող հեռախոսի լիցքավորման կայան ՝ 4 քայլ
Արևային էներգիայով աշխատող հեռախոսի լիցքավորման կայան. Լիցքաթափված հեռախոսը առաջին աշխարհի տարածված խնդիրներից է: Բարեբախտաբար, այս միացումով դուք կարող եք օգտագործել արևի ուժը ձեր հեռախոսը սնուցելու համար: Այս ձեռնարկը ՄԻԱՅՆ շրջանային կողմի համար է: Համակարգի ցանկացած փաստացի սահմանափակում պետք է ձեռք բերվի այլուր
Արեւային էներգիայով աշխատող WiFi եղանակային կայան V1.0: 19 քայլ (նկարներով)
Արևային էներգիայով աշխատող WiFi եղանակային կայան V1.0. Այս հրահանգում ես ձեզ ցույց կտամ, թե ինչպես կարելի է Wemos տախտակով ստեղծել արևային էներգիայով աշխատող WiFi եղանակային կայան: Wemos D1 Mini Pro- ն ունի փոքր ձևի գործոն, իսկ plug-and-play վահանների լայն տեսականի այն դարձնում է իդեալական լուծում արագ ձեռք բերելու համար