Բովանդակություն:
- Պարագաներ
- Քայլ 1: Սարքաշար - միացում
- Քայլ 2. Սարքաշար - պարիսպ
- Քայլ 3: Softwareրագրակազմ
- Քայլ 4: Տան ավտոմատացում և հեռագիր
- Քայլ 5. Բարելավումներ և հետագա բարելավումներ
Video: Մարտկոցով աշխատող դռների տվիչ ՝ տան ավտոմատացման ինտեգրմամբ, WiFi և ESP-NOW: 5 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Այս ուսանելիում ես ձեզ ցույց եմ տալիս, թե ինչպես եմ մարտկոցով աշխատող դռների տվիչ սարքել ՝ տան ավտոմատացման ինտեգրմամբ: Ես տեսել եմ մի քանի այլ գեղեցիկ սենսորներ և ահազանգման համակարգեր, բայց ես ինքս էի ուզում դրանք պատրաստել:
Իմ նպատակները.
- Սենսոր, որը հայտնաբերում և հայտնում է դուռը արագ բացելու մասին (<5 վայրկյան)
- Սենսոր, որը հայտնաբերում է դուռը փակելը
- Սենսոր, որը աշխատում է մարտկոցով և աշխատում է մի քանի ամիս մարտկոցով
Սարքավորումը և ծրագրաշարը ոգեշնչված են
- Քևին Դարրայի (TPL5111 և TPS73733) տախտակը:
- Այս տեսանյութը
Ես սենսոր պատրաստեցի իմ առջևի և հետնամասի համար: Միակ տարբերությունն առաջնորդվող դիրքն է և արտաքին հոսանքի անջատիչը (հետնամասի սենսորի վրա):
Ես մի քանի բարելավումներ եմ կատարել ապարատային և ծրագրային ապահովման զարգացման ընթացքում, դա երևում է լուսանկարներում:
Պարագաներ
Ես գնել եմ էլեկտրոնային բաղադրիչները Aliexpress- ից, հիմնական մասերը.
- LiPo մարտկոց
- TPS73733 LDO
- TPL5111
- Եղեգի անջատիչ
- P-channel mosfet: IRLML6401TRPBF
- Մագնիս
- PCB ադապտերային ափսե SMD բաղադրիչների համար և մեկ այլ:
Քայլ 1: Սարքաշար - միացում
Տեսեք սխեմայի կցված սխեմաները: Ես կպցրեցի SMD- ի մասերը ադապտերվող PCB ափսեի վրա և բոլոր բաղադրիչները կպցրեցի երկկողմանի պերֆ տախտակին: Ես միացրեցի ESP-01- ը կին վերնագրերի միջոցով, այնպես որ կարող էի հեռացնել այն ծրագրավորելու համար `սույն հրահանգի 3-րդ քայլում ցուցադրված ադապտերի միջոցով:
Շղթան աշխատում է հետևյալ կերպ.
- Երբ դուռը բացվում է, TPL5111- ը կրակում է DELAY/M_DRV կապում և միացնում է TPS73733 LDO- ն, որը սնուցում է ESP-01- ը: Այս գործողության համար EN/ONE_SHOT- ը պետք է ցածր քաշվի, տե՛ս TPL5111- ի տվյալների թերթիկը:
- Hasրագիրը գործարկելուց հետո (տես քայլ Softwareրագրային ապահովում), ESP-01- ը Կատարված ազդանշան է ուղարկում TPL5111- ին, որն այնուհետև անջատում է TPS73733- ը ՝ հանգեցնելով TPL5111- ի և TPS73733- ի շատ ցածր էներգիայի վիճակի:
Ես օգտագործում եմ եղեգի անջատիչներ ինչպես NO, այնպես էլ NC միացումներով: Ես միացրեցի NC լարը, քանի որ եղեգի անջատիչը պետք է փակի միացումը, երբ մագնիսը հանվում է (դուռը բաց է) և բացվում է, երբ մագնիսը մոտ է (դուռը փակ է):
Հետնամասի սենսորի համար ես ավելացրեցի որոշ կոնդենսատորներ և դիմադրիչներ, երբ հայտնաբերեցի որոշ անկայունություններ, սակայն անկայունությունն առաջացրեց ծրագրաշարը (esp_now_init), ինչպես ես հետագայում հայտնաբերեցի:
Քայլ 2. Սարքաշար - պարիսպ
Ես նախագծել եմ պատյանները Autodesk Fusion360- ում, որը ոգեշնչված է «շվեյցարական շեշտով տղայի» այս տեսահոլովակով:
Երեք մասի STL ֆայլերը.
- Տուփ
- Կափարիչ
- Մագնիս պահող
հրապարակված են իմ Thingiverse էջում:
Քայլ 3: Softwareրագրակազմ
Isրագիրը իմ Github- ում է:
Flowրագրի ընթացքը պատկերված է նկարում: Տեսեք իմ մյուս Instructable- ը `ESP-NOW- ի օգտագործման բացատրության համար:
Երբ մոդուլը միացված է, այն առաջին հերթին փորձում է ուղարկել «ԲԱ '» հաղորդագրությունը ESP-NOW- ի միջոցով: Եթե դա չհաջողվի, այն անցնում է WiFi և MQTT կապի:
Ես պարզեցի, որ գոնե իմ կարգաբերման մեջ «ՓԱԿ» հաղորդագրությունը հաջողությամբ չի ուղարկվել ESP-NOW- ի միջոցով, ուստի ես դա հանեցի ծրագրից և օգտագործեցի միայն WiFi և MQTT:
Այն ժամանակ, երբ դուռը բացվում է, և մոդուլը սպասում է, որ դուռը փակվի, այն օգտագործում է WiFi- ն և MQTT- ին միանալու ժամանակը, ուստի երբ դուռը փակ է, մնում է միայն չափված լարումը և ՓԱԿ հաղորդագրություն ուղարկել, այնուհետև այն ուղղակիորեն քնում է:
Programրագիրը ստուգում է, թե արդյոք փակ հաղորդագրությունը ստացողը ստանում է ճիշտ թեմայով MQTT հաղորդագրություն լսելու միջոցով:
Քայլ 4: Տան ավտոմատացում և հեռագիր
Իմ դռների տվիչները հաղորդակցվում են իմ Openhab Home Automation- ի հետ ՝ իմ Raspberry Pi Zero- ի վրա:
Հիմնական ծրագրեր.
- Կարդացեք դռան վիճակը ՝ ԲԱ or կամ ՓԱԿ:
- Aանգահարեք ինձ հեռագրի միջոցով, եթե դուռը բացվի (Եթե rmարթուցիչը միացված է կամ Մոնիտորի գործառույթը միացված է):
- Կարդացեք վերջին անգամ, երբ դուռը բացվել կամ փակվել է:
- Հաշվեք դռան տվիչի բացվածքների քանակը, մինչև մարտկոցը սպառվի:
Օրինակ, եթե մենք արձակուրդում ենք, և հարևանը մտնում է բույսերը ջրելու, ես հաղորդագրություն եմ ստանում: Տեսանյութը դիտեք ներածության մեջ:
Իմ Openhab- ի իրերը, կանոնները և կայքի քարտեզի ֆայլերը իմ Github- ում են: Այս ֆայլերում դուք կարող եք տեսնել նաև դռան իմ դռան սենսորը, որն օգտագործում է սովորական լարային եղեգի անջատիչ և կողպեքի բացման մեջ 3D տպիչից մի փոքր կոնտակտ (վերջ) անջատիչ (տես նկարները):
Ինչպես օգտագործել Telegram- ի գործողությունը Openhab- ում, նկարագրված է այստեղ:
Քայլ 5. Բարելավումներ և հետագա բարելավումներ
Անցած ամիսների ընթացքում ես կատարելագործեցի հետևյալը.
Կարգավորեք դռների երկար բացերը ինքնահոս զարկերակային ազդանշանի միջոցով
Ամռանը, երբ տանն ենք, մի քանի ժամով բաց ենք թողնում հետնամուտքը: WiFi կապով աշխատող ESP-01- ն այնուհետ անհարկի կթափի մարտկոցը: Այսպիսով, ես ներառեցի միացման/անջատման անջատիչ, որպեսզի կարողանամ այս իրավիճակում անջատել մոդուլը:
Այնուամենայնիվ, դա երբեմն հանգեցնում էր մշտապես անջատված մոդուլի (երբ մոռացել էի միացնել այն) և մարտկոցի լիցքաթափումից հետո բացված դռնից և մի մոդուլից մի քանի կեսօրից հետո (Երբ մոռացել էի անջատել այն):
Հետևաբար, ես ցանկանում էի, որ կարողանայի անջատել մոդուլը ծրագրաշարի միջոցով `նախապես որոշված ժամանակ (1 րոպե) մոդուլը միացնելուց հետո:
Այնուամենայնիվ, որտեղ ESP-01- ի «ԿԱՏԱՐՎԱ’ »զարկերակն անջատեց TPL5111- ը, երբ դուռը փակ էր, ես պարզեցի, որ TPL5111- ը չի արվել« ԿԱՏԱՐՎԱ '»զարկերակով, մինչդեռ DELAY/M_DRV քորոցը բարձր էր: DELAY/M_DRV կապում այս Բարձր ազդանշանը առաջացել է բացված դուռի և մարտկոցի լարման հետ միացված եղեգի անջատիչի NC կոնտակտի պատճառով:
Այսպիսով, DELAY/M_DRV կապի ազդանշանը չպետք է անընդհատ ԲԱՐՁՐ լինի, այլ պետք է զարկերակային լինի: TPL5111 տվյալների թերթում կարող եք գտնել, որ այն պետք է լինի> 20 ms- ի զարկերակ: Այս ինքնորոշման ազդանշանը ես արեցի P-channel mosfet- ի, կոնդենսատորի և 10K և 300K դիմադրության միջոցով, տես ներառված սխեման:
Այն աշխատում է հետևյալ կերպ.
- Եթե եղեգի անջատիչի NC կոնտակտը փակ է, դարպասը OWԱOWՐ է, և Mosfet- ը միացված է, ինչը հանգեցնում է DELAY/M_DRV կապում բարձր ազդանշանի, որն ակտիվացնում է մոդուլը:
- Կոնդենսատորը արագ լիցքավորվում է, որի արդյունքում Դարպասի վրա լարումը բարձրանում է:
- Մոտ 20 ms- ից հետո Դարպասի լարումը մարտկոցի լարման 97% -ն է (300K/(300K+10K), որը ԲԱՐՁՐ է, և Mosfet- ն անջատված է, ինչը հանգեցնում է OWԱOWՐ ազդանշանի DELAY/M_DRV քորոցին:
- Երբ DELAY/M_DRV կապը ցածր է, ESP-01- ի ԿԱՏԱՐՎԱ signal ազդանշանը հանգեցնում է մոդուլի անջատման:
Սա ներդրված է ծրագրաշարում; while-loop- ը ոչ միայն ստուգում է, որ դուռը դեռ բաց է, այլ նաև ստուգում է, որ մոդուլը չափազանց երկար միացված չէ: Շատ երկար միացված լինելու դեպքում այն հրապարակում է NULL արժեք (դռան անորոշ վիճակ): Այս դեպքում ես չգիտեմ ՝ դուռը բաց է, թե փակ, և ես չեմ հասնում ներածության մեջ նշված բոլոր նպատակներին, բայց մարտկոցի կյանքն ավելի կարևոր է, և շատ անգամ մենք նորից բացում ենք դուռը նույն օրը, ինչը հանգեցնում է հաստատված փակ վիճակի դռան.
Կարևոր է օգտագործել P-channel Mosfet- ը, որը հարմար է այստեղ օգտագործվող լարման տիրույթին: Mosfet- ը պետք է ամբողջովին միացված լինի մոտ 3.8 Վ -ի դեպքում և ամբողջովին անջատված լինի մոտ -0.2 Վ -ի VGS- ով: Ես փորձեցի մի քանի Mosfets և պարզեցի, որ IRLML6401TRPBF- ը լավ է աշխատում այս նպատակի համար `10K և 300K ռեզիստորների հետ համատեղ:. 1 uF կոնդենսատորը լավ է աշխատում ՝ մոտ 20 ms արագության երկարություն ստանալու համար: Ավելի մեծ կոնդենսատորը հանգեցնում է ավելի երկար զարկերակի, որն անհրաժեշտ չէ, քանի որ TPL5111- ն ակտիվացվել է: Ես օգտագործել եմ իմ DSO150 օսլիլոսկոպը `լարումները և զարկերակի երկարությունը ստուգելու համար:
Պլանավորված բարելավում. OTA- ի թարմացում
Ես նախատեսում եմ ներառել OTA թարմացում հետևյալ ընթացակարգի միջոցով, որն արդեն մասամբ ներառված է ընթացիկ ծրագրաշարի մեջ
- NodeRed- ի Openhab- ի միջոցով ես հրապարակում եմ պահպանված «թարմացման» հաղորդագրությունը `« թարմացման թեմա »:
- Եթե մոդուլը միացված և միացված է MQTT սերվերին և բաժանորդագրված է «թարմացման թեմային», այն ստանում է թարմացման հաղորդագրություն:
- Թարմացման հաղորդագրությունը թույլ չի տա մոդուլի անջատումը և կսկսի HTTPUpdateServer- ը:
- HTTPUpdateServer կայքի միջոցով կարող եք թարմացնել ծրագրակազմը:
- NodeRed- ի Openhab- ի միջոցով ես հրապարակում եմ պահպանված «դատարկ» հաղորդագրությունը `« թարմացման թեմա »:
Պլանավորված բարելավում. Սարքավորումների անջատում կանխորոշված ժամանակից հետո:
Ներկայիս սխեմայում ես օգտագործում եմ 200K դիմադրություն TPL5111- ի DELAY/M_DRV- ի և GND- ի միջև: Սա միացնում է մոդուլը ավելի քան 2 ժամ (տե՛ս TPL5111 տվյալների թերթի 7.5.3.): Այնուամենայնիվ, ես չեմ ցանկանում, որ մոդուլն այսքան երկար միացված լինի, քանի որ մարտկոցը լիցքաթափվում է: Եթե ծրագրային լուծումը (տես վերը) չի կարող անջատել մոդուլը, կամ թարմացման հաղորդագրությունը չնախատեսված կերպով մոդուլը դնում է թարմացման ռեժիմում, մոդուլը երկար ժամանակ մնում է միացված:
Ուստի ավելի լավ է օգտագործել ավելի փոքր ռեզիստոր TPL5111- ի DELAY/M_DRV- ի և GND- ի միջև, այնպես որ մոդուլը կարճ ժամանակ անց անջատվում է, օրինակ `50K ռեզիստոր, որի արդյունքում միանում է 7 րոպե:
Խորհուրդ ենք տալիս:
Homeայրահեղ ցածր էներգիայի WiFi տան ավտոմատացման համակարգ. 6 քայլ (նկարներով)
Homeայրահեղ ցածր էներգիայի WiFi տան ավտոմատացման համակարգ. Այս նախագծում մենք ցույց ենք տալիս, թե ինչպես կարող եք մի քանի քայլով կառուցել հիմնական տեղական ավտոմատացման համակարգ: Մենք պատրաստվում ենք օգտագործել Raspberry Pi- ն, որը հանդես կգա որպես կենտրոնական WiFi սարք: Մինչդեռ վերջնական հանգույցների համար մենք պատրաստվում ենք օգտագործել IOT Cricket մարտկոցը սնուցելու համար
Մարտկոցով աշխատող ջրի կոլեկտորի մակարդակի տվիչ ՝ 7 քայլ (նկարներով)
Մարտկոցով աշխատող ջրի կոլեկտորի մակարդակի տվիչ. Մեր տանը կա տանկ, որը սնվում է տանիքին ընկնող անձրևից և օգտագործվում է զուգարանի, լվացքի մեքենայի և այգու ջրելու գործարանների համար: Վերջին երեք տարիներին ամառները շատ չոր էին, ուստի մենք հետևում էինք տանկի ջրի մակարդակին: Ս
Պատի ամրացում IPad- ի համար ՝ որպես տան ավտոմատացման կառավարման վահանակ, օգտագործելով Servo վերահսկվող մագնիսը ՝ էկրանն ակտիվացնելու համար. 4 քայլ (նկարներով)
Պատի ամրացում IPad- ի համար, որպես տան ավտոմատացման կառավարման վահանակ, օգտագործելով Servo վերահսկվող մագնիսը `էկրանի ակտիվացման համար. Ես օգտագործում եմ Domoticz- ը որպես իմ տան ավտոմատացման ծրագիր, մանրամասների համար տե՛ս www.domoticz.com: Գործիքային վահանակի որոնման մեջ, որը ցույց է տալիս Domoticz- ի բոլոր տեղեկությունները միացված
Մարտկոցով աշխատող ESP IoT. 10 քայլ (նկարներով)
Մարտկոցով աշխատող ESP IoT. Այս հրահանգները ցույց են տալիս, թե ինչպես կարելի է մարտկոցով աշխատող ESP IoT հիմք դարձնել իմ նախորդ հրահանգների նախագծում
Մարտկոցով աշխատող ESP ձևավորում. 3 քայլ (նկարներով)
Մարտկոցով աշխատող ESP ձևավորում. Այս հրահանգները ցույց են տալիս, թե ինչպես կարելի է նվազեցնել մարտկոցի էներգիայի սպառումը `միացնելով ESP- ի վրա հիմնված IoT սարք