Orodha ya maudhui:

Sensorer ya Mlango wa Powered ya Batri na Ujumuishaji wa Kujiendesha Nyumbani, WiFi na ESP-SASA: Hatua 5 (na Picha)
Sensorer ya Mlango wa Powered ya Batri na Ujumuishaji wa Kujiendesha Nyumbani, WiFi na ESP-SASA: Hatua 5 (na Picha)

Video: Sensorer ya Mlango wa Powered ya Batri na Ujumuishaji wa Kujiendesha Nyumbani, WiFi na ESP-SASA: Hatua 5 (na Picha)

Video: Sensorer ya Mlango wa Powered ya Batri na Ujumuishaji wa Kujiendesha Nyumbani, WiFi na ESP-SASA: Hatua 5 (na Picha)
Video: 28 панфиловцев. Самая полная версия. Panfilov's 28 Men (English subtitles) 2024, Novemba
Anonim
Image
Image

Katika hii inayoweza kufundishwa ninakuonyesha jinsi nilivyotengeneza sensorer ya mlango inayotumia betri na ujumuishaji wa kiotomatiki nyumbani. Nimeona sensorer zingine nzuri na mifumo ya kengele, lakini nilitaka kutengeneza mwenyewe.

Malengo yangu:

  • Sensor ambayo hugundua na kuripoti kufungua mlango haraka (<sekunde 5)
  • Sensor ambayo hugundua kufungwa kwa mlango
  • Sensor ambayo betri inaendeshwa na inaendesha kwa miezi michache kwenye betri

Vifaa na programu imehamasishwa na

  • Trigboard ya Kevin Darrah (TPL5111 na TPS73733).
  • Video hii

Nilitengeneza sensorer kwa mlango wangu wa mbele na mlango wangu wa nyuma. Tofauti pekee ni msimamo ulioongozwa na ubadilishaji wa nguvu ya nje (kwenye sensorer ya nyuma).

Nilifanya maboresho kadhaa wakati wa maendeleo ya vifaa na programu, inaweza kuonekana kwenye picha.

Vifaa

Nilinunua vifaa vya elektroniki kutoka Aliexpress, sehemu kuu:

  • Betri ya LiPo
  • TPS73733 LDO
  • TPL5111
  • Kubadili mwanzi
  • P-channel mosfet: IRLML6401TRPBF
  • Sumaku
  • Sahani ya adapta ya PCB ya vifaa vya SMD na nyingine.

Hatua ya 1: Vifaa vya ujenzi - Mzunguko

Vifaa - Mzunguko
Vifaa - Mzunguko
Vifaa - Mzunguko
Vifaa - Mzunguko
Vifaa - Mzunguko
Vifaa - Mzunguko

Tazama miradi iliyoambatanishwa kwa mzunguko. Niliuza sehemu za SMD kwenye sahani ya PCB ya adapta na kuuzia vifaa vyote kwa bodi ya manukato yenye pande mbili. Niliunganisha ESP-01 kupitia vichwa vya kike, kwa hivyo ningeweza kuiondoa ili kuipanga kupitia adapta iliyoonyeshwa katika hatua ya 3 ya hii inayoweza kufundishwa.

Mzunguko hufanya kazi kama ifuatavyo:

  • Wakati mlango unafunguliwa, TPL5111 hupokea risasi kwenye pini ya DELAY / M_DRV na kuwezesha TPS73733 LDO inayowezesha ESP-01. Kwa operesheni hii, EN / ONE_SHOT lazima ivutwa chini, Tazama hati ya data ya TPL5111.
  • Baada ya programu kuanza (angalia Programu ya hatua), ESP-01 hutuma ishara iliyofanywa kwa TPL5111 ambayo hulemaza TPS73733 na kusababisha hali ya nguvu ya chini kwa TPL5111 na TPS73733.

Ninatumia swichi za mwanzi na unganisho la NO na NC. Niliunganisha mwongozo wa NC, kwani swichi ya mwanzi lazima ifunge mzunguko wakati sumaku inapoondolewa (mlango wazi) na kufungua wakati sumaku iko karibu (mlango umefungwa).

Kwa sensa ya nyuma niliongeza kondaktaji na vipinga wakati niligundua hali ngumu, hata hivyo utulivu ulisababishwa na programu (esp_now_init) kama nilivyogundua baadaye.

Hatua ya 2: Vifaa - Mahali

Vifaa - Mahali
Vifaa - Mahali
Vifaa - Mahali
Vifaa - Mahali
Vifaa - Mahali
Vifaa - Mahali

Niliunda kizuizi katika Autodesk Fusion360, kilichoongozwa na video hii na 'yule mtu mwenye lafudhi ya Uswizi'.

Faili za STL za sehemu tatu:

  • Sanduku
  • Kifuniko
  • Mmiliki wa sumaku

zimechapishwa kwenye ukurasa wangu wa Thingiverse.

Hatua ya 3: Programu

Programu
Programu

Mpango uko katika Github yangu.

Mtiririko wa programu umeonyeshwa kwenye picha. Angalia nyingine yangu inayoweza kufundishwa kwa ufafanuzi wa jinsi ninavyotumia ESP-SASA.

Wakati moduli imewashwa, kwanza hujaribu kutuma ujumbe wa 'OPEN' kupitia ESP-SASA. Ikiwa hii haitafanikiwa, inabadilisha muunganisho wa WiFi na MQTT.

Niligundua kuwa, angalau katika usanidi wangu, ujumbe wa 'KUFUNGWA' haukutumwa kwa ufanisi kupitia ESP-SASA, kwa hivyo niliondoa hii kutoka kwa programu na ninatumia tu WiFi na MQTT.

Wakati mlango unafunguliwa na moduli inasubiri mlango kufungwa, hutumia wakati huu kuungana na WiFi na MQTT, kwa hivyo wakati mlango umefungwa, inabidi tu ipeleke voltage iliyopimwa na ujumbe uliofungwa na kisha moja kwa moja huenda kulala.

Mpango huangalia ikiwa ujumbe uliofungwa unapokelewa na mpokeaji kupitia usikilizaji wa ujumbe wa MQTT kwenye mada sahihi.

Hatua ya 4: Uendeshaji wa Nyumbani na Telegram

Uendeshaji wa Nyumbani na Telegram
Uendeshaji wa Nyumbani na Telegram
Uendeshaji wa Nyumbani na Telegram
Uendeshaji wa Nyumbani na Telegram
Uendeshaji wa Nyumbani na Telegram
Uendeshaji wa Nyumbani na Telegram

Sensorer zangu za mlango huwasiliana na Openhab Home Automation yangu kwenye Raspberry yangu Pi Zero.

Matumizi kuu:

  • Soma hali ya mlango: FUNGUA au IMEfungwa.
  • Nipe simu kupitia telegram ikiwa mlango unafunguliwa (Ikiwa Kengele imewashwa au kazi ya Monitor imewashwa).
  • Soma mara ya mwisho mlango ulifunguliwa au kufungwa.
  • Hesabu idadi ya fursa ambazo sensorer ya mlango inaweza kushughulikia kabla betri haijaisha.

Kwa mfano, ikiwa tuko likizo na jirani anakuja kumwagilia mimea, ninapata ujumbe. Tazama video kwenye utangulizi.

Vitu vyangu vya Openhab, sheria na faili za ramani ziko kwenye Github yangu. Katika faili hizi unaweza pia kuona sensorer yangu ya mlango wa kibanda, ambayo hutumia swichi ya mwanzi iliyotiwa waya mara kwa mara na ubadilishaji mdogo (mwisho) kutoka kwa printa ya 3D kwenye ufunguzi wa kufuli (angalia picha).

Jinsi ya kutumia hatua ya Telegram katika Openhab imeelezewa hapa.

Hatua ya 5: Maboresho na Maboresho zaidi

Maboresho na Maboresho zaidi
Maboresho na Maboresho zaidi
Maboresho na Maboresho zaidi
Maboresho na Maboresho zaidi

Katika miezi iliyopita nilifanya uboreshaji ufuatao.

Shughulikia fursa za milango mirefu kupitia ishara ya ubadilishaji wa kunde

Wakati wa majira ya joto, tunaacha mlango wa nyuma umefunguliwa kwa masaa machache tukiwa nyumbani. Kuendesha ESP-01 na unganisho la WiFi basi ingeondoa betri bila lazima. Kwa hivyo nilijumuisha kitufe cha kuwasha / kuzima kuweza kuzima moduli katika hali hizi.

Walakini, hii wakati mwingine ilisababisha moduli kuzimwa kabisa (wakati nilisahau kuiwasha) na betri iliyotobolewa baada ya alasiri chache za mlango uliofunguliwa na moduli inayoendesha (Niliposahau kuizima).

Kwa hivyo nilitaka kuweza kuzima moduli kupitia programu baada ya moduli kuwasha kwa muda uliotanguliwa (dakika 1).

Walakini, ambapo mapigo ya 'DONE' ya ESP-01 yalizima TPL5111 wakati mlango ulifungwa, niligundua kuwa TPL5111 haikuwashwa na pigo la 'DONE' wakati pini ya DELAY / M_DRV ilikuwa juu. Ishara hii ya JUU kwenye pini ya DELAY / M_DRV ilisababishwa na mlango uliofunguliwa na mawasiliano ya NC ya swichi ya mwanzi iliyounganishwa na voltage ya betri.

Kwa hivyo, ishara kwa pini ya DELAY / M_DRV haipaswi kuendelea kuwa juu, lakini inapaswa kusukumwa. Katika jedwali la TPL5111 unaweza kupata kwamba inapaswa kuwa pigo la> 20 ms. Nilitengeneza ishara hii ya kubadili mwenyewe kupitia P-channel mosfet, capacitor na 10K na 300K resistor, angalia mpango uliojumuishwa.

Inafanya kazi kama ifuatavyo:

  • Ikiwa mawasiliano ya NC ya swichi ya mwanzi imefungwa, Lango liko chini na Mosfet imewashwa, na kusababisha ishara ya JUU kwenye pini ya DELAY / M_DRV ambayo inawasha moduli.
  • Capacitor imeshtakiwa haraka, na kusababisha kuongezeka kwa voltage kwenye Lango.
  • Baada ya takriban ms 20, voltage kwenye Lango ni 97% ya voltage ya betri (300K / (300K + 10K) ambayo ni JUU na Mosfet imezimwa, na kusababisha ishara ya LOW kwenye pini ya DELAY / M_DRV.
  • Wakati pini ya DELAY / M_DRV iko CHINI, ishara ya KUFANYA ya ESP-01 inasababisha kuzima kwa moduli.

Hii inatekelezwa katika programu; kitanzi wakati sio tu kinakagua ikiwa mlango bado umefunguliwa, lakini pia huangalia ikiwa moduli haijawashwa kwa muda mrefu sana. Ikiwa imewashwa kwa muda mrefu sana inachapisha thamani ya NULL (hali isiyojulikana ya mlango). Kwa hali hii sijui kama mlango umefunguliwa au umefungwa na sifikii malengo yote yaliyotajwa kwenye utangulizi, lakini maisha ya betri ni muhimu zaidi na mara nyingi tunafungua mlango baadaye siku hiyo, na kusababisha hali iliyofungwa iliyofungwa ya mlango.

Ni muhimu kutumia P-channel Mosfet ambayo inafaa kwa anuwai ya voltage inayotumika hapa. Mosfet inapaswa kuwashwa kabisa kwenye VGS ya karibu - 3.8V na kuzima kabisa kwa VGS ya -0.2 V. Nilijaribu Mosfets kadhaa na kugundua kuwa IRLML6401TRPBF inafanya kazi vizuri kwa lengo hili pamoja na vizuizi vya 10K na 300K. Capacitor ya 1 uF inafanya kazi vizuri kupata urefu wa mapigo ya karibu 20 ms. Capacitor kubwa husababisha mapigo marefu, ambayo sio lazima, kwani TPL5111 iliamilishwa. Nilitumia oscilloscope yangu ya DSO150 kuangalia voltages na pulselength.

Uboreshaji uliopangwa: Sasisho la OTA

Ninapanga kuingiza sasisho la OTA kupitia utaratibu ufuatao, ambao tayari umejumuishwa katika programu ya sasa

  • Kupitia Openhab ya NodeRed mimi kuchapisha ujumbe uliosalia wa 'sasisho' 'mada ya sasisho'.
  • Ikiwa moduli imewashwa na kushikamana na seva ya MQTT na imesajiliwa kwa 'mada ya sasisho', inapokea ujumbe wa sasisho.
  • Ujumbe wa sasisho utazuia moduli kuzima na kuanza
  • Kupitia wavuti ya HTTPUpdateServer, unaweza kusasisha programu.
  • Kupitia Openhab ya NodeRed mimi huchapisha ujumbe 'tupu' uliobaki "mada ya sasisho".

Uboreshaji uliopangwa: kuzima vifaa baada ya muda uliotanguliwa

Katika mpango wa sasa, ninatumia kontena la 200K kati ya DELAY / M_DRV na GND ya TPL5111. Hii inabadilisha moduli kwa zaidi ya masaa 2 (angalia 7.5.3. Ya Jedwali la TPL5111). Walakini, sitaki moduli imewashwa kwa muda mrefu, kwa sababu betri imechomwa. Ikiwa suluhisho la programu (tazama hapo juu) linashindwa kuzima moduli, au ujumbe wa sasisho usiyotarajiwa unaweka moduli katika hali ya sasisho, moduli hiyo inabaki kuwashwa kwa muda mrefu.

Kwa hivyo ni bora kutumia kontena dogo kati ya DELAY / M_DRV na GND ya TPL5111, kwa hivyo moduli huwashwa baada ya muda mfupi, kwa mfano kontena la 50K linalosababisha kwa muda wa dakika 7.

Ilipendekeza: