Բովանդակություն:

NaTaLia եղանակային կայան. Arduino արևային էներգիայով աշխատող եղանակային կայանը կատարվել է ճիշտ ճանապարհով. 8 քայլ (նկարներով)
NaTaLia եղանակային կայան. Arduino արևային էներգիայով աշխատող եղանակային կայանը կատարվել է ճիշտ ճանապարհով. 8 քայլ (նկարներով)

Video: NaTaLia եղանակային կայան. Arduino արևային էներգիայով աշխատող եղանակային կայանը կատարվել է ճիշտ ճանապարհով. 8 քայլ (նկարներով)

Video: NaTaLia եղանակային կայան. Arduino արևային էներգիայով աշխատող եղանակային կայանը կատարվել է ճիշտ ճանապարհով. 8 քայլ (նկարներով)
Video: Պայթուցիկով զինված տղամարդը Մասիսի քաղաքապետարանում ինքնասպան է եղել 2024, Հուլիսի
Anonim
NaTaLia եղանակային կայան. Arduino արևային էներգիայով աշխատող եղանակային կայանը կատարվել է ճիշտ ճանապարհով
NaTaLia եղանակային կայան. Arduino արևային էներգիայով աշխատող եղանակային կայանը կատարվել է ճիշտ ճանապարհով
NaTaLia եղանակային կայան. Arduino արևային էներգիայով աշխատող եղանակային կայանը կատարվել է ճիշտ ճանապարհով
NaTaLia եղանակային կայան. Arduino արևային էներգիայով աշխատող եղանակային կայանը կատարվել է ճիշտ ճանապարհով

Երկու տարբեր վայրերում 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 հիման վրա)

Տարբերակ 2 (ESP32- ի հիման վրա)
Տարբերակ 2 (ESP32- ի հիման վրա)
Տարբերակ 2 (ESP32- ի հիման վրա)
Տարբերակ 2 (ESP32- ի հիման վրա)
Տարբերակ 2 (ESP32- ի հիման վրա)
Տարբերակ 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- ից ավելի գովազդվող հզորությունը մեծ հավանականությամբ խաբեություն է):

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