Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Схем ба эх код
- Алхам 2: Хэлхээний ажил
- Алхам 3: Эрүүл мэндийн үзлэг
- Алхам 4: Цахилгаан эрчим хүчний хэмжилт ба батерейны ашиглалтын хугацаа
- Алхам 5: Ирээдүйн сайжруулалтууд
Видео: Утасгүй хаалганы мэдрэгч - Хэт бага хүч: 5 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
Бас нэг хаалганы мэдрэгч !! Энэ мэдрэгчийг бий болгох миний урам зориг бол интернет дээр харсан олон зүйл нэг хязгаарлалттай байсан юм. Миний хувьд мэдрэгчийн зорилтуудын зарим нь:
1. Мэдрэгч нь маш хурдан байх ёстой - 5 секундээс бага байх ёстой
2. Мэдрэгч нь 3.7V лити-ион батерейгаар цэнэглэгдэх ёстой
3. Мэдрэгч нь батерейны нэг цэнэглэлтээр олон сар ажиллах ёстой. Унтах горимд <10uA байх ёстой
4. Хаалга удаан хугацаанд ажиллахгүй байсан ч мэдрэгч нь батерейны байдал гэх мэт чухал мэдээллийг дамжуулахын тулд сэрэх боломжтой байх ёстой.
5. Мэдрэгч нь хаалгыг онгойлгох, түүнчлэн хаалттай байх үед MQTT сэдвээр мэдээлэл дамжуулах ёстой
6. Мэдрэгч нь хаалганы төлөв байдлаас үл хамааран ижил хэмжээний эрчим хүч зарцуулах ёстой
Мэдрэгчийн ажил:
Мэдрэгч нь 2 үндсэн хянагчтай. Эхнийх нь ATiny 13A жижиг микро хянагч юм. Хоёр дахь нь ихэвчлэн унтах горимд байдаг ESP бөгөөд ATiny үүнийг идэвхжүүлсэн үед л сэрдэг. Бүх хэлхээг зөвхөн ESP ашиглан унтах горимд хийж болно, гэхдээ зарцуулж буй гүйдэл нь батерейны хэдэн сар ажиллахад шаардагдах хэмжээнээс хамаагүй их тул ATTiny аврах ажилд ирдэг. Энэ нь зөвхөн N секунд тутамд сэрэх, хаалганы үйл явдал эсвэл эрүүл мэндийн үзлэгт хамрагдах зорилготой бөгөөд хэрэв байгаа бол ESP -ийн CH_PD зүүг HIGH руу барьж, үйл явдлын төрөлд тохирох дохиог ESP рүү илгээдэг.. Түүний үүрэг үүгээр дуусдаг.
Дараа нь ESP нь үүргээ гүйцэтгэж, дохионы төрлийг уншиж, WiFi/MQTT -тэй холбогдож, батерейны түвшинг багтаасан шаардлагатай мессежийг нийтэлж, дараа нь EN зүүг LOW болгож буцааж унтраана.
Эдгээр бичил схемийг ашигласнаар би ATtiny -ийн унтах бага гүйдэл, чипийг CH_PD зүүгээр идэвхгүй болгох үед ESP -ийн тэг сул зогсолтын давуу талыг ашигладаг.
Хангамж
Урьдчилсан шаардлага:
- ATTiny & ESP 01 програмчлалын мэдлэгтэй
- ПХБ -д бүрэлдэхүүн хэсгүүдийг гагнах талаар мэдлэгтэй байх
ESP-01 (эсвэл бусад ESP)
ATTiny 13A - AVR
LDO 7333 -A - Бага уналтын хүчдэлийн зохицуулагч
Эсэргүүцэл - 1K, 10K, 3K3
Конденсатор: 100uF, 0.1 uF
Pushbutton switch, micro ON/OFF унтраалга - (хоёулаа заавал биш)
Диод - IN4148 (эсвэл түүнтэй адилтгах)
Ли-ион батерей
Рид шилжүүлэгч
Бүгдийг байрлуулах тохиолдол
Гагнуур, ПХБ гэх мэт
Алхам 1: Схем ба эх код
Схемийг хавсаргасан диаграммд үзүүлсэн шиг харуулав.
Би урвуу туйлшралыг хамгаалах зориулалттай P Channel MOSFET -ийг оруулсан болно. Хэрэв танд энэ шаардлагагүй бол та үүнийг орхиж болно. Rds ON багатай P сувгийн MOSFET хийх болно.
Одоогийн байдлаар ESP нь OTA -ийн чадавхитай биш боловч үүнийг ирээдүйд сайжруулах болно.
Ухаалаг хаалга-мэдрэгчийн эх код
Алхам 2: Хэлхээний ажил
ATTiny Ажлын урсгал
ATTiny хаалганы унтраалгын байрлалыг хэрхэн хянаж байгаа нь энд ид шидтэй болно.
Ердийн сонголт бол шилжүүлэгч рүү татах эсэргүүцлийг холбож, түүний төлөв байдлыг хянах явдал юм. Энэ нь татах эсэргүүцэлтэй тогтмол гүйдэл зарцуулдаг сөрөг талтай. Эндээс зайлсхийх арга бол би нэг товчлуурыг биш харин хоёр товчлуурыг хянах явдал юм. Би энд PB3 & PB4 -ийг ашигласан. PB3 нь PB3 дээрх дотоод INPUT_PULLUP -тай оролт, PB4 -ийг гаралт гэж тодорхойлдог. ATtiny нь унтах горимд байх үед PB4 -ийг өндөр түвшинд байлгадаг бөгөөд ингэснээр зэгс шилжүүлэгчийн байрлалаас үл хамааран оролтын татах эсэргүүцэлээр гүйдэл гүйхгүй болно. өөрөөр хэлбэл. Хэрэв унтраалга хаагдсан бол PB3 ба PB4 хоёулаа өндөр байх тул тэдгээрийн хооронд гүйдэл гүйдэггүй. Хэрэв унтраалга нээлттэй байвал тэдгээрийн хооронд ямар ч зам байхгүй тул гүйдэл тэг болно. ATtiny сэрэхэд PB4 дээр LOW гэж бичээд PB3 -ийн төлөв байдлыг шалгадаг. Хэрэв PB3 нь өндөр бол зэгс шилжүүлэгч нь НЭЭЛТТЭЙ бол ХААЛТТАЙ болно. Дараа нь PB4 дээр HIGH гэж бичдэг.
ATtiny & ESP хоорондын харилцаа холбоо нь ESP -ийн Tx / RX -тэй холбогдсон PB1 / PB2 гэсэн хоёр зүүгээр дамждаг. Би дохиог дараах байдлаар тодорхойлсон
PB1 PB2 ====== Tx Rx
0 0 ====== СЭРЭХ (Эрүүл мэндийн үзлэг)
0 1 ====== SENSOR_OPEN
1 0 ====== SENSOR_CLOSED
1 1 ====== АШИГЛААГҮЙ
ESP руу дохио илгээхээс гадна ESP CH_PD зүүтэй холбогдсон PB0 дээр өндөр импульс илгээдэг. Энэ нь ESP -ийг сэрээдэг. ESP -ийн хийх хамгийн эхний зүйл бол CH_PD -тэй холбогдсон GPIO0 HIGH -ийг барих бөгөөд ингэснээр ATTiny нь PB0 HIGH -ийг авч байсан ч түүний хүчийг нэмэгдүүлэх болно. Хяналт нь ESP -тэй бөгөөд хэзээ унтраахыг хүсч байгаагаа тодорхойлох болно.
Дараа нь WiFi, MQTT -тэй холбогдож, мессежийг илгээж, GPIO0 дээр LOW гэж бичээд өөрийгөө унтраадаг.
ESP 01 Ажлын урсгал:
ESP урсгал шууд урагшаа чиглэсэн байна. Энэ нь сэрж, ямар төрлийн мессеж байршуулахыг тодорхойлохын тулд Tx/Rx -ийн утгыг уншдаг. WiFi болон MQTT -тэй холбогдож, зурвасыг байрлуулж, өөрөө унтраадаг.
Цахилгаан тэжээлийг унтраахаасаа өмнө оролтын тээглүүрүүдийн утгыг дахин уншиж дууссанаас хойш өөрчлөгдсөн эсэхийг шалгадаг. Энэ нь хаалгыг хурдан нээх, хаах ажлыг хийх явдал юм. Хэрэв танд ийм чек байхгүй бол зарим тохиолдолд хаалга онгойлгосноос хойш 5-6 секундын дотор хаагдсан тохиолдолд хаалгаа хаах тохиолдол гардаг. Хаалга 2 секундын дотор нээгдэж хаагдах практик хувилбарыг хаалганы өнөөгийн байдал өмнөх хувилбараасаа ялгаатай байх үед мессежийг илгээдэг. Нээлттэй/хаалттай үйл явдлыг тэмдэглэх цорын ганц хувилбар бол хаалгыг 4-5 секундын дотор дахин дахин нээх/хаах явдал юм.
Алхам 3: Эрүүл мэндийн үзлэг
Надад ESP -ээс эрүүл мэндийн байдлыг шалгах мессеж авах арга хэрэгтэй байсан бөгөөд энэ нь ESP -ийн батерейны түвшинг илгээж, мэдрэгчийг гараар шалгахгүйгээр сайн ажиллаж байгааг баталгаажуулах шаардлагатай байв. Үүний тулд ATTiny нь 12 цаг тутамд WAKE_UP дохиог илгээдэг. Үүнийг ATtiny кодын WAKEUP_COUNT хувьсагчаар тохируулж болно. Энэ нь ховор нээгддэг хаалга, цонхны хувьд маш хэрэгтэй байдаг тул мэдрэгч эсвэл батерейнд ямар нэгэн алдаа гарсан эсэхийг та мэдэхгүй байж магадгүй юм.
Хэрэв танд эрүүл мэндийн үзлэгийн функц хэрэггүй бол ATTiny -ийг ашиглах талаархи бүх ойлголт шаардлагагүй болно. Энэ тохиолдолд та ESP -ийн нийлүүлэлтийг MOSFET -ээр тэжээдэг хүмүүсийн бүтээсэн бусад загварыг олж мэдэх боломжтой бөгөөд ингэснээр хаалга ажиллахгүй байгаа үед гүйдлийн тэг гүйдэлд хүрэх боломжтой болно. Одоогийн сугалаа нь хаалга онгойлгох, хаалганы ойролцоо байрлалд ижил байх зэрэг бусад анхаарах ёстой зүйлүүд байдаг - үүний тулд би ердийн 2 төлөвийн оронд 3 төлөвт зэгс унтраалгыг ашигласан загварыг хаа нэгтээ харсан.
Алхам 4: Цахилгаан эрчим хүчний хэмжилт ба батерейны ашиглалтын хугацаа
Би хэлхээний одоогийн хэрэглээг хэмжсэн бөгөөд унтаж байхдаа ойролцоогоор 30uA зарцуулдаг. ATTiny-ийн өгөгдлийн хүснэгтийг үзвэл LDO-ийн тайван гүйдлийг багтаасан бүх хэлхээний хувьд ойролцоогоор 1-4 uA байх ёстой, гэхдээ миний хэмжилт 30-ийг харуулав. MOSFET ба LDO нь бага хэмжээний гүйдэл хэрэглэдэг.
Тиймээс 800 мАч батерей нь удаан хугацаанд ажиллах ёстой. Надад яг тодорхой статистик мэдээлэл алга, гэхдээ би үүнийг жил гаруйн турш 2 хаалган дээрээ хэрэглэж ирсэн бөгөөд ойролцоогоор 800 мА хүчин чадалтай 18650 үүр бүр нээгдэж хаагддаг үндсэн хаалган дээр 5-6 сар орчим үргэлжилдэг. өдөрт дор хаяж 30 удаа. Дээврийн хаалган дээр долоо хоногт хэдхэн удаа нээгддэг хаалга 7-8 сар үргэлжилдэг.
Алхам 5: Ирээдүйн сайжруулалтууд
1. ESP нь MQTT мессежийг хүргэхийг хүлээн зөвшөөрдөггүй. Хөтөлбөрийг хүргэхийг баталгаажуулахын тулд мессеж нийтэлдэг сэдвийг захиалснаар сайжруулж болно, эсвэл QoS 1 -тэй мессеж нийтлэхийн тулд Async MQTT номын санг ашиглаж болно.
2. OTA шинэчлэлт: ESP кодыг шинэчлэхийн тулд MQTT сэдвийг уншихаар өөрчилж болох тул OTA горимд орж файл хүлээн авна.
3. ESP01-ийг ESP-12-ээр сольж илүү олон оролтын ПИН кодонд нэвтрэх боломжтой бөгөөд үүн дээр илүү олон мэдрэгч хавсаргаж болно. Энэ тохиолдолд 2 битийн аргаар харилцах боломжгүй болно. Үүнийг дараа нь ATtiny & ESP хооронд I2C холболтыг хэрэгжүүлэхийн тулд сайжруулж болно. Энэ нь жаахан төвөгтэй боловч ажиллах боломжтой. ATTiny нь эргэдэг кодлогчын утгыг I2C шугамаар ESP руу илгээдэг өөр нэг төхөөрөмж дээр би үүнийг ажиллуулж байна.
4. Одоогийн хэлхээ нь ESP -ийн дотоод Vcc -ийг хянадаг, хэрэв бид ESP12 -ийг ашигладаг бол үүнийг ADC зүүгээр дамжуулан батерейны бодит түвшинг уншихын тулд өөрчилж болно.
5. Ирээдүйд би MQTT эсвэл гэрийн автоматжуулалтын систем шаардлагагүй бие даасан мэдрэгч болгон ашиглах боломжтой өөрчлөлтийг оруулах болно. Мэдрэгч нь дангаараа ажиллах бөгөөд идэвхжсэн үед утсаар ярих боломжтой - мэдээж үүнд интернет холболт шаардлагатай.
6. Жагсаалт үргэлжилсээр байна …
7. Урвуу батерейны хамгаалалт - ДУУСГАА (Бодит төхөөрөмжийн зургууд хуучирсан тул MOSFET -ийг тусгаагүй болно)
Зөвлөмж болгож буй:
Arduino 2 -р хэсэгт маш бага хүч чадалтай BLE 2 -р хэсэг - Температур/чийгшлийн хяналт - Илч 3: 7 алхам
Arduino 2 -р хэсэгт маш бага хүч чадалтай BLE 2 -р хэсэг - Температур/чийгшлийн хяналт - Илчлэлт 3: Шинэчлэлт: 2020 оны 11 -р сарын 23 - 2019 оны 1 -р сарын 15 -наас хойш 2 x AAA батерейг солих, өөрөөр хэлбэл 2 сарын турш 2xAAA шүлтлэгээр 22 сарын турш шинэчлэх: Шинэчлэгдсэн огноо: 2019 оны 4 -р сарын 7 -ны өдөр - Rev 3 lp_BLE_TempHumidity, pfodApp V3.0.362+, мөн автомат тохируулгыг ашиглан Огноо/Цагийн графикийг нэмнэ
LEIDS - Бага энергитэй IOT хаалганы мэдрэгч: 8 алхам (зурагтай)
LEIDS - Бага энергитэй IOT хаалганы мэдрэгч: LEIDS гэж юу вэ? LEIDS бол ESP8266 дээр суурилсан IOT мэдрэгч юм. Энэхүү мэдрэгч нь энэхүү самбар, зөөлөн түгжээний хэлхээ, зэгс унтраалга, зарим соронзыг ашиглан хаалгыг онгойлгоход танд дохио өгөх хаалганы мэдрэгчийг бий болгодог
Arduino 3 -р хэсэгт маш бага хүч чадалтай BLE 3 - Nano V2 солих - Илч 3: 7 алхам (зурагтай)
Arduino 3 -р хэсэгт маш бага хүч чадалтай BLE 3 - Nano V2 солих - Илчлэлт 3: Шинэчлэлт: 2019 оны 4 -р сарын 7 -ны өдөр - lp_BLE_TempHumidity -ийн 3 -р сарын 7, pfodApp V3.0.362+ашиглан огноо/цагийн графикийг нэмж, өгөгдлийг илгээхдээ автоматаар тохируулах боломжтой. 2019 он - lp_BLE_TempHumidity -ийн 2 -р хувилбар, илүү олон схемийн сонголтууд болон i2c_ClearBus -ийг нэмж, GT832E_ -ийг нэмж оруулав
Шатны шөнийн гэрэл - Маш бага хүч ба 2 мэдрэгч: 5 алхам
Шатны шөнийн чийдэн - Маш бага хүч чадал ба 2 мэдрэгч: Би энэ хэт ягаан туяаны хөдөлгөөн мэдрэгч бүхий бага чадалтай шөнийн чийдэнг бүтээсэн бөгөөд ингэснээр би нэг төхөөрөмжийг шатан дундуур суулгаж, хэн нэгэн дээшээ эсвэл ирж буй хүнээр өдөөж болно. шатаар буух. Би бас загвараа маш бага хүч чадлаар хийсэн
Утасгүй дохиоллын унтраалга эсвэл асаах/унтраах унтраалга руу утасгүй хаалганы хонх цохих: 4 алхам
Утасгүй дохиоллын унтраалга эсвэл асаах/унтраах утас руу утасгүй хаалганы хонх цохих: Би саяхан дохиоллын систем барьж, гэртээ суулгасан. Би хаалган дээр соронзон унтраалга ашиглаж, дээврийн хөндийгөө хатуу хучилттай болгосон. Надад утасгүй шийдэл хэрэгтэй байсан бөгөөд энэ нь