Агуулгын хүснэгт:

Гэрийн автоматжуулалт, WiFi болон ESP-NOW бүхий зайгаар ажилладаг хаалганы мэдрэгч: 5 алхам (зурагтай)
Гэрийн автоматжуулалт, WiFi болон ESP-NOW бүхий зайгаар ажилладаг хаалганы мэдрэгч: 5 алхам (зурагтай)

Видео: Гэрийн автоматжуулалт, WiFi болон ESP-NOW бүхий зайгаар ажилладаг хаалганы мэдрэгч: 5 алхам (зурагтай)

Видео: Гэрийн автоматжуулалт, WiFi болон ESP-NOW бүхий зайгаар ажилладаг хаалганы мэдрэгч: 5 алхам (зурагтай)
Видео: PZEM-004T и ESP8266 ESP-01 Wi-Fi-монитор энергопотребления | ESP-01 Домашняя автоматизация 2024, Арваннэгдүгээр
Anonim
Image
Image

Энэхүү зааварчилгаанд би гэрийн автоматжуулалтыг ашиглан зайгаар ажилладаг хаалганы мэдрэгчийг хэрхэн хийснийг танд үзүүлэх болно. Би өөр гоё мэдрэгч, дохиоллын системийг харсан ч өөрөө хиймээр санагдлаа.

Миний зорилго:

  • Хаалга хурдан нээгдэж байгааг мэдэрч, мэдээлдэг мэдрэгч (<5 секунд)
  • Хаалга хаагдахыг мэдэрдэг мэдрэгч
  • Батерейгаар ажилладаг, батерей дээр хэдэн сар ажилладаг мэдрэгч

Тоног төхөөрөмж, програм хангамжийг өдөөгдсөн

  • Кевин Даррагийн тригбол (TPL5111 ба TPS73733).
  • Энэ видео

Би урд болон хойд хаалганыхаа мэдрэгчийг хийсэн. Ганц ялгаа нь удирдсан байрлал ба гадаад цахилгаан унтраалга (арын хаалганы мэдрэгч дээр) юм.

Техник хангамж, програм хангамжийг хөгжүүлэх явцад би хэд хэдэн сайжруулалт хийсэн бөгөөд үүнийг зураг дээрээс харж болно.

Хангамж

Би Aliexpress -аас электрон эд ангиудыг худалдаж авсан бөгөөд үндсэн хэсгүүд нь:

  • LiPo батерей
  • TPS73733 LDO
  • TPL5111
  • Зэгсэн унтраалга
  • P сувгийн mosfet: IRLML6401TRPBF
  • Соронзон
  • SMD бүрэлдэхүүн хэсгүүдэд зориулсан ПХБ -ийн адаптер хавтан ба бусад.

Алхам 1: Тоног төхөөрөмж - хэлхээ

Тоног төхөөрөмж - хэлхээ
Тоног төхөөрөмж - хэлхээ
Тоног төхөөрөмж - хэлхээ
Тоног төхөөрөмж - хэлхээ
Тоног төхөөрөмж - хэлхээ
Тоног төхөөрөмж - хэлхээ

Хэлхээний хавсаргасан схемүүдийг үзнэ үү. Би SMD эд ангиудыг ПХБ -ийн адаптер дээр гагнаж, бүх эд ангиудыг хоёр талт самбар дээр гагнав. Би ESP-01-ийг эмэгтэй толгойгоор холбосон тул энэ зааврын 3-р алхамд үзүүлсэн адаптераар програмчлахын тулд үүнийг устгаж болно.

Хэлхээ дараах байдлаар ажилладаг.

  • Хаалга онгойлгоход TPL5111 нь DELAY/M_DRV зүү рүү буудсан бөгөөд ESP-01-ийг тэжээдэг TPS73733 LDO-ийг идэвхжүүлдэг. Үүнийг хийхийн тулд EN/ONE_SHOT -ийг доош татах ёстой, TPL5111 мэдээллийн хуудсыг үзнэ үү.
  • Хөтөлбөрийг ажиллуулсны дараа (Програм хангамжийн алхамыг үзнэ үү) ESP-01 нь TPL5111 рүү Done дохиог илгээдэг бөгөөд дараа нь TPS73733-ийг идэвхгүй болгодог бөгөөд ингэснээр TPL5111 ба TPS73733-ийн хүч чадал маш бага байдаг.

Би NO ба NC холболттой хоёулаа зэгс унтраалга ашигладаг. Би Сүлжээний холболтыг холбосон, учир нь зэгс унтраалга нь соронзыг салгах үед (хаалга онгойлгох) хэлхээг хааж, соронз ойрхон (хаалттай) хаалттай байх ёстой.

Арын хаалганы мэдрэгчийн хувьд зарим тогтворгүй байдлыг олж мэдэхэд би конденсатор, резистор нэмж оруулсан боловч дараа нь олж мэдсэн шиг тогтворгүй байдал нь програм хангамж (esp_now_init) -ээс үүдэлтэй байв.

Алхам 2: Тоног төхөөрөмж - хашлага

Тоног төхөөрөмж - хашлага
Тоног төхөөрөмж - хашлага
Тоног төхөөрөмж - хашлага
Тоног төхөөрөмж - хашлага
Тоног төхөөрөмж - хашлага
Тоног төхөөрөмж - хашлага

Би Autodesk Fusion360 -ийн хашлага зохион бүтээсэн бөгөөд энэ бичлэгийг "Швейцарь аялгатай залуу" -аас санаа авсан.

Гурван хэсгийн STL файлууд:

  • Хайрцаг
  • Таг
  • Соронз эзэмшигч

Миний Thingiverse хуудсан дээр нийтлэгдсэн болно.

Алхам 3: Програм хангамж

Програм хангамж
Програм хангамж

Хөтөлбөр нь миний Github дээр байна.

Хөтөлбөрийн урсгалыг зураг дээр харуулав. Миний ESP-NOW-ийг хэрхэн ашиглах талаархи тайлбарыг миний бусад зааварчилгаанаас үзнэ үү.

Модулийг асаахад эхлээд ESP-NOW-ээр 'OPEN' мессеж илгээхийг оролддог. Хэрэв энэ нь амжилтгүй болбол WiFi болон MQTT холболт руу шилждэг.

Наад зах нь миний тохиргоонд 'ХААЛТТАЙ' гэсэн мессежийг ESP-NOW-ээр амжилттай илгээгээгүйг олж мэдсэн тул үүнийг програмаас хассан бөгөөд зөвхөн WiFi болон MQTT ашигладаг.

Хаалга онгойж, модуль хаалга хаагдахыг хүлээж байх үед энэ хугацааг WiFi болон MQTT -тэй холбоход ашигладаг тул хаалга хаагдахад зөвхөн хэмжсэн хүчдэл, ХААЛТТАЙ мессежийг илгээдэг. шууд унтдаг.

Хөтөлбөр нь хаалттай мессежийг хүлээн авагч зөв сэдвээр MQTT мессежийг сонсох замаар хүлээн авдаг эсэхийг шалгадаг.

Алхам 4: Гэрийн автоматжуулалт ба телеграм

Гэрийн автоматжуулалт ба Telegram
Гэрийн автоматжуулалт ба Telegram
Гэрийн автоматжуулалт ба Telegram
Гэрийн автоматжуулалт ба Telegram
Гэрийн автоматжуулалт ба Telegram
Гэрийн автоматжуулалт ба Telegram

Миний хаалганы мэдрэгч нь Raspberry Pi Zero дээрх Openhab гэрийн автоматжуулалттайгаа холбогддог.

Үндсэн програмууд:

  • Хаалганы төлөвийг уншина уу: НЭЭЛТЭЭ ХААЛТТАЙ байна.
  • Хаалга онгойсон тохиолдолд (хэрэв дохиолол асаалттай эсвэл монитор функц асаалттай байвал) надад телеграмаар дохио өгнө үү.
  • Хамгийн сүүлд хаалга онгойлгох, хаагдахад уншаарай.
  • Батерей дуусахаас өмнө хаалганы мэдрэгч хэдэн удаа онгойж болохыг тоол.

Жишээлбэл, хэрэв бид амралтаараа явж, хөрш нь ургамлыг услахаар орж ирвэл надад мессеж ирдэг. Танилцуулга дээрх видеог үзнэ үү.

Миний Openhab -ийн зүйлс, дүрэм, сайтын газрын файлууд миний Github дээр байна. Эдгээр файлуудаас та түгжээний нүхэнд ердийн утастай зэгс унтраалга, 3D принтерийн жижиг контакт (төгсгөл) унтраалга ашигладаг саравчны миний хаалганы мэдрэгчийг харж болно (зургийг үзнэ үү).

Openhab дахь Telegram үйлдлийг хэрхэн ашиглах талаар энд тайлбарласан болно.

Алхам 5: Сайжруулалт ба цаашдын сайжруулалт

Сайжруулалт ба цаашдын сайжруулалт
Сайжруулалт ба цаашдын сайжруулалт
Сайжруулалт ба цаашдын сайжруулалт
Сайжруулалт ба цаашдын сайжруулалт

Өнгөрсөн саруудад би дараах сайжруулалтыг хийлээ.

Өөрөө солигддог импульсийн дохиогоор урт хаалганы нээлхийг зохицуулах

Зуны улиралд бид гэртээ байхдаа арын хаалгыг хэдэн цагаар онгойлгодог. WiFi холболттой ажиллаж байгаа ESP-01 нь батерейг шаардлагагүй болгоно. Иймд би эдгээр тохиолдолд модулийг унтраах боломжтой асаах/унтраах товчлуурыг оруулсан.

Гэсэн хэдий ч энэ нь заримдаа бүрмөсөн унтрах модулийг (асаахаа мартсан үед), онгойсон хаалга, ажиллаж байгаа модулийн хэдхэн өдрийн дараа цэнэгээ алдахад хүргэдэг (би унтраахаа мартсан үед).

Тиймээс модулийг урьдчилан тодорхойлсон хугацаанд (1 минут) ажиллуулсны дараа програм хангамжаар дамжуулан модулийг унтрааж өгөхийг хүссэн юм.

Гэсэн хэдий ч ESP-01-ийн 'DONE' импульс нь хаалга хаагдахад TPL5111-ийг унтраасан бол DELAY/M_DRV зүү нь өндөр байхад TPL5111-ийг 'DONE' импульсээр сольоогүй болохыг олж мэдсэн. DELAY/M_DRV зүү дээрх энэ өндөр дохио нь нээгдсэн хаалга, зайны хүчдэлд холбогдсон зэгс шилжүүлэгчийн NC контактаас үүдэлтэй байв.

Тиймээс DELAY/M_DRV зүү рүү дохио тасралтгүй өндөр байх ёсгүй, харин импульс байх ёстой. TPL5111 мэдээллийн хүснэгтэд энэ нь> 20 ms -ийн импульс байх ёстойг олж мэдэх боломжтой. Би энэ өөрөө дамжуулах дохиог P сувгийн мосфет, конденсатор, 10К ба 300К резистороор хийсэн. Оруулсан схемийг үзнэ үү.

Энэ нь дараах байдлаар ажилладаг.

  • Хэрэв зэгс шилжүүлэгчийн NC контакт хаагдсан бол Хаалга нь бага, Мосфетийг асаахад DELAY/M_DRV зүү дээр өндөр дохио гарч ирэн модулийг идэвхжүүлнэ.
  • Конденсатор хурдан цэнэглэгддэг тул хаалган дээр хүчдэл нэмэгддэг.
  • Ойролцоогоор 20 ms -ийн дараа Хаалга дээрх хүчдэл нь батерейны хүчдэлийн (300K/(300K+10K) 97% -ийг эзэлдэг бөгөөд Мосфет унтарсан тул DELAY/M_DRV зүү дээр LOW дохио өгдөг.
  • DELAY/M_DRV зүү LOW байхад ESP-01-ийн DONE дохио нь модулийг унтраахад хүргэдэг.

Үүнийг програм хангамжид хэрэгжүүлдэг; Хэсэг хугацааны хүрд нь зөвхөн хаалга нээлттэй хэвээр байгаа эсэхийг шалгахаас гадна модулийг хэт удаан асаахгүй байгаа эсэхийг шалгадаг. Хэт удаан асаасан тохиолдолд NULL утгыг нийтлэнэ (хаалганы тодорхойгүй төлөв). Энэ тохиолдолд би хаалга онгойсон эсвэл хаагдсан эсэхийг мэдэхгүй бөгөөд танилцуулгад дурдсан бүх зорилгодоо хүрч чадахгүй байна, гэхдээ батерейны ашиглалт нь илүү чухал бөгөөд ихэнх тохиолдолд бид тэр өдрийн дараа хаалгыг дахин нээдэг бөгөөд энэ нь хаалттай байдлыг баталгаажуулдаг. хаалганы.

Энд ашигладаг хүчдэлийн хязгаарт тохирсон P суваг Mosfet ашиглах нь чухал юм. Mosfet нь ойролцоогоор 3.8V -ийн VGS дээр асаалттай байх ёстой бөгөөд ойролцоогоор -0.2 V -ийн VGS дээр бүрэн унтраасан байх ёстой. Би хэд хэдэн Mosfets -ийг туршиж үзээд IRLML6401TRPBF нь 10K ба 300K резистортой хослуулан энэ зорилгод нийцсэн болохыг олж мэдсэн.. 1 uF конденсатор нь 20 мс орчим импульсийн урттай болохын тулд сайн ажилладаг. Том конденсатор нь урт импульс үүсгэдэг бөгөөд энэ нь TPL5111 идэвхжсэн тул шаардлагагүй юм. Би DSO150 осциллограф ашиглан хүчдэл ба импульсийн уртыг шалгасан.

Төлөвлөсөн сайжруулалт: OTA шинэчлэлт

Би одоогийн програм хангамжид хэсэгчлэн орсон дараах журмын дагуу OTA шинэчлэлтийг оруулахаар төлөвлөж байна

  • NodeRed -ийн Openhab -ээр дамжуулан би "шинэчлэх сэдэв" гэсэн хадгалагдсан мессежийг нийтэлдэг.
  • Хэрэв модулийг асааж, MQTT сервертэй холбож, 'шинэчлэх сэдэв' -ийг захиалсан бол шинэчлэлтийн мессежийг хүлээн авна.
  • Шинэчлэлтийн мессеж нь модулийг унтраахаас сэргийлж, HTTPUpdateServer -ийг эхлүүлэх болно.
  • HTTPUpdateServer вэбсайтаар дамжуулан та програм хангамжийг шинэчлэх боломжтой.
  • NodeRed -ийн Openhab -ээр дамжуулан би "шинэчлэх сэдэв" гэсэн хадгалагдсан "хоосон" мессежийг нийтэлдэг.

Төлөвлөсөн сайжруулалт: урьдчилан тодорхойлсон хугацааны дараа тоног төхөөрөмжийг зогсоох

Одоогийн схемд би TPL5111 -ийн DELAY/M_DRV ба GND хооронд 200K эсэргүүцэл ашигладаг. Энэ нь модулийг 2 цагаас илүү хугацаанд асаадаг (TPL5111 мэдээллийн хүснэгтийн 7.5.3 -ийг үзнэ үү). Гэсэн хэдий ч би модулийг удаан хугацаанд асаахыг хүсэхгүй байна, учир нь дараа нь батерейг цэнэггүй болгодог. Хэрэв програм хангамжийн шийдэл (дээрхийг үзнэ үү) модулийг унтрааж чадаагүй эсвэл шинэчлэлтийн зурвас нь модулийг шинэчлэлтийн горимд тохируулсан бол модуль удаан хугацаанд асаалттай хэвээр байх болно.

Тиймээс TPL5111 -ийн DELAY/M_DRV ба GND хооронд жижиг резистор ашиглах нь илүү дээр юм.

Зөвлөмж болгож буй: