Mundarija:

Simsiz eshik sensori - juda kam quvvat: 5 qadam
Simsiz eshik sensori - juda kam quvvat: 5 qadam

Video: Simsiz eshik sensori - juda kam quvvat: 5 qadam

Video: Simsiz eshik sensori - juda kam quvvat: 5 qadam
Video: Telefon zaryadini ikki barobar koʻpga yetkazish 2024, Iyul
Anonim
Simsiz eshik sensori - juda kam quvvat
Simsiz eshik sensori - juda kam quvvat
Simsiz eshik sensori - juda kam quvvat
Simsiz eshik sensori - juda kam quvvat
Simsiz eshik sensori - juda kam quvvat
Simsiz eshik sensori - juda kam quvvat
Simsiz eshik sensori - juda kam quvvat
Simsiz eshik sensori - juda kam quvvat

Yana bir eshik sensori !! Menga bu sensorni yaratishga turtki, Internetda ko'rganlarimning birida cheklov bor edi. Men uchun sensorning ba'zi maqsadlari:

1. Sensor juda tez bo'lishi kerak - tercihen 5 sek

2. Sensor 3.7V li-ionli batareyadan chiqib ketishi kerak, chunki menda o'nlablari yotibdi

3. Sensor batareyaning bir zaryadida ko'p oylar ishlashi kerak. U uyqu rejimida <10uA iste'mol qilishi kerak

4. Eshik uzoq vaqt ishlamasa ham, sensor batareyaning holati kabi muhim ma'lumotlarni uzatish uchun uyg'onishi kerak.

5. Sensor eshik ochilganda ham, eshik yopilganda ham MQTT mavzusiga ma'lumotlarni uzatishi kerak

6. Sensor eshik holatidan qat'i nazar, bir xil quvvat sarflashi kerak

Sensorning ishlashi:

Sensor 2 ta asosiy boshqaruvchiga ega. Birinchisi - ATiny 13A kichik mikro -boshqaruvchisi. Ikkinchisi - ESP, u odatda uyqu rejimida bo'ladi va faqat ATiny yoqilganda uyg'onadi. Butun sxema faqat ESP tomonidan uyqu rejimida amalga oshirilishi mumkin, lekin u iste'mol qiladigan oqim batareyaning bir necha oy ishlashiga kerak bo'lgandan ancha katta, shuning uchun ATTiny qutqarishga keladi. U har N soniyada uyg'onish, eshik yoki sog'liqni tekshirish tadbirini qidirish maqsadiga xizmat qiladi, agar mavjud bo'lsa, u ESP ning CH_PD pinini YUKORga qo'yadi va voqea turining tegishli signalini ESPga yuboradi.. Uning roli shu erda tugaydi.

Keyin ESP o'z zimmasiga oladi, signal turini o'qiydi, WiFi/MQTT -ga ulanadi, batareya zaryadini o'z ichiga olgan kerakli xabarlarni e'lon qiladi va keyin EN pinini LOW holatiga qaytarish orqali o'zini o'chiradi.

Bu chiplardan foydalanib, men ATtiny -ning past uyqu oqimi va ESP -ning nol bo'sh oqimidan foydalanaman, chunki CH_PD pin orqali chip o'chirilgan.

Ta'minotlar

Oldindan talab:

- ATTiny & ESP 01 dasturini bilish

- PCBda lehimlash komponentlarini bilish

ESP-01 (yoki har qanday ESP)

ATTiny 13A - AVR

LDO 7333 -A - past tushish voltaj regulyatori

Rezistorlar - 1K, 10K, 3K3

Kondensatorlar: 100 uF, 0,1 uF

Tugma tugmasi, mikro yoqish/o'chirish tugmasi - (ikkalasi ham ixtiyoriy)

Diyot - IN4148 (yoki unga teng keladigan)

Li-ion batareyasi

Qamish kaliti

Hammasini o'z ichiga oladigan holat

Lehim, PCB va boshqalar

1 -qadam: Sxemalar va manba kodlari

Sxemalar va manba kodlari
Sxemalar va manba kodlari

Sxemalar ilova qilingan diagrammada ko'rsatilganidek.

Men teskari kutupluluğu himoya qilish uchun P Channel MOSFET qo'shdim. Agar sizga bu kerak bo'lmasa, uni o'tkazib yuborishingiz mumkin. Har qanday P Channel MOSFET past Rds ON bilan bajariladi.

Hozirgi vaqtda ESP OTA qobiliyatiga ega emas, lekin bu kelajakda takomillashtirish uchun.

Manba kodli aqlli eshik sensori

2 -qadam: O'chirish davri

ATTiny Ish oqimi

Bu erda sehr ATTiny eshik kalitining holatini qanday kuzatayotganida sodir bo'ladi.

Oddiy variant - bu kalitga tortish qarshiligini ulash va uning holatini kuzatishni davom ettirish. Bu tortishish qarshiligi tomonidan iste'mol qilinadigan doimiy oqimning salbiy tomoniga ega. Bu erda yo'l qo'yilmagan yo'l shundaki, men kalitni bitta emas, balki ikkita pinni ishlatganman. Men bu erda PB3 va PB4 dan foydalanganman. PB3 kirish sifatida, PB4 esa PB3da ichki INPUT_PULLUP bilan chiqish sifatida belgilanadi. Odatda ATB uyqu holatida bo'lsa, PB4 yuqori bo'lib turadi, bu esa qamish tugmachasining holatidan qat'i nazar, kirish tortish qarshiligi orqali oqim oqimi yo'qligini ta'minlaydi. ya'ni. Agar kalit yopiq bo'lsa, PB3 va PB4 ikkalasi ham yuqori, shuning uchun ular o'rtasida hech qanday oqim bo'lmaydi. Agar kalit ochiq bo'lsa, ular o'rtasida hech qanday yo'l yo'q va shuning uchun oqim nolga teng. ATtiny uyg'onganida PB4 ga LOW yozadi va keyin PB3 holatini tekshiradi. Agar PB3 YUQORI bo'lsa, qamish kaliti OCHIQ, boshqasi YOQILGAN. Keyin u PB4 ga HIGH yozadi.

ATtiny va ESP o'rtasidagi aloqa ESP Tx / RX ga ulangan ikkita PB1 / PB2 pinlari orqali amalga oshiriladi. Men signalni quyidagicha aniqladim

PB1 PB2 ====== Tx Rx

0 0 ====== WAKE_UP (sog'liqni tekshirish)

0 1 ====== SENSOR_OPEN

1 0 ====== SENSOR_CLOSED

1 1 ====== ISHLATILMAYDI

Signalni ESPga yuborishdan tashqari, u ESP CH_PD piniga ulangan PB0 ga yuqori puls yuboradi. Bu ESPni uyg'otadi. ESP birinchi ishi CH_PD ga ulangan GPIO0 HIGH -ni ushlab turadi va ATTiny PB0 HIGH -ni olib tashlasa ham uning kuchini oshiradi. Endi nazorat ESP bilan, qachon o'chirishni xohlashini aniqlaydi.

Keyin u WiFi, MQTT -ga ulanadi, xabarni yuboradi va GPIO0 -ga LOW yozib o'zini o'chiradi.

ESP 01 Ish oqimi:

ESP oqimi to'g'ridan -to'g'ri. U uyg'onadi va qaysi turdagi xabar yuborilishini aniqlash uchun Tx/Rx pinlarining qiymatlarini o'qiydi, WiFi va MQTT ga ulanadi, xabarni yuboradi va o'zini o'chiradi.

Quvvatni o'chirishdan oldin, u oxirgi o'qilganidan beri o'zgarganmi yoki yo'qligini tekshirish uchun kirish pinlarining qiymatlarini yana tekshiradi. Bu eshikning tez ochilishi va yopilishi haqida g'amxo'rlik qilishdir. Agar sizda bu chek bo'lmasa, ba'zi hollarda, agar u ochilgandan 5-6 soniya ichida yopilsa, eshikni yopib qo'yishingiz mumkin. Eshikning 2 soniya ichida ochilishi va yopilishining amaliy stsenariysi, agar eshikning hozirgi holati avvalgisidan farq qilsa, xabarlarni yuborishni davom ettiradigan vaqtli tsikl bilan yaxshi aniqlangan. Ochilish/yopilish hodisasini yozib qo'yishning yagona ssenariysi - bu eshik 4-5 soniya ichida bir necha marta ochilganda/yopilganda, bu juda kam uchraydigan holat - ehtimol, eshik bilan o'ynagan bola.

3 -qadam: sog'liqni tekshirish

Menga ESPdan sog'liqni tekshirish xabarini yuborish usuli kerak edi, u erda ESP batareyasi darajasini yuboradi va sensor qo'lda tekshirilmasdan yaxshi ishlashini ta'minlaydi. Buning uchun ATTiny har 12 soatda bir WAKE_UP signalini yuboradi. U ATtiny kodidagi WAKEUP_COUNT o'zgaruvchisi orqali sozlanishi mumkin. Bu kamdan -kam ochiladigan eshiklar yoki derazalar uchun juda foydalidir, shuning uchun siz sensor yoki uning batareyasida biror narsa noto'g'ri ekanligini bilmaysiz.

Agar sizga sog'liqni tekshirish funktsiyasi kerak bo'lmasa, ATTiny -dan foydalanishning butun kontseptsiyasi kerak emas. Bunday holda, siz ESPga etkazib berish MOSFET orqali ta'minlanadigan odamlar yaratgan boshqa dizaynlarni topishingiz mumkin, shuning uchun siz eshik ishlamayotganda nol oqimini tortib olasiz. E'tibor berilishi kerak bo'lgan boshqa narsalar ham bor, masalan, eshik ochiq va yopiq holatda bir xil bo'ladi - buning uchun men odatdagidek 2 holat o'rniga 3 holatli qamish kalitidan foydalangan dizaynni ko'rdim.

4 -qadam: Quvvatni o'lchash va batareyaning ishlash muddati

Men kontaktlarning zanglashiga olib keladigan oqim sarfini o'lchadim va uxlashda va atrofida ~ 30uA bo'ladi. ATTiny ma'lumotlar jadvaliga ko'ra, u butun zanjir uchun 1-4 uA atrofida bo'lishi kerak, shu jumladan LDO ning tinch oqimi, lekin keyin mening o'lchovlarim 30 ni ko'rsatadi. MOSFET va LDO ahamiyatsiz tokni iste'mol qiladi.

Shunday qilib, 800 mA / soat batareya uzoq vaqt xizmat qilishi kerak. Menda aniq statistik ma'lumotlar yo'q, lekin men bir yildan ko'proq vaqtdan beri uni ikkita eshikda ishlataman va har bir 18650 kamerada taxminan 800mAH qolgan, 5-6 oy davomida asosiy eshikda ochiladi va yopiladi. kuniga kamida 30 marta. Haftada bir necha marotaba ochiladigan tomning eshigi 7-8 oy davom etadi.

5 -qadam: kelajakdagi yaxshilanishlar

1. ESP MQTT xabarini etkazib berishni tan olmaydi. Dasturni etkazib berishni tasdiqlash uchun xabarni nashr qiladigan mavzuga obuna bo'lish orqali yaxshilash mumkin yoki QoS 1 bilan xabar yuborish uchun Async MQTT kutubxonasidan foydalanish mumkin.

2. OTA yangilanishi: ESP kodini yangilash uchun MQTT mavzusini o'qish uchun o'zgartirish mumkin, shuning uchun faylni qabul qilish uchun OTA rejimiga kiring.

3. ESP01-ni ESP-12 bilan almashtirish mumkin, bu esa ko'proq PIN-kodlarga kirish imkonini beradi va shuning uchun ularga ko'proq sensorlarni ulash mumkin. Bunday holda, 2 bitli usul orqali aloqa qilish mumkin emas. Bu ATtiny va ESP o'rtasida I2C aloqasini amalga oshirish uchun yaxshilanishi mumkin. Bu biroz murakkab, lekin ishlashga yaroqli. Menda ATTiny I2C liniyasi orqali ESPga aylanadigan kodlovchi qiymatlarini yuboradigan boshqa qurilmada ishlaydi.

4. Oqim sxemasi ESP ning ichki Vccini kuzatadi, agar biz ESP12 dan foydalansak, uni ADC pin orqali batareyaning haqiqiy darajasini o'qish uchun o'zgartirish mumkin.

5. Kelgusida men MQTT yoki uyni avtomatlashtirish tizimiga ehtiyoj sezmasdan mustaqil sensor sifatida ishlatilishi mumkin bo'lgan modifikatsiyani joylashtiraman. Sensor yakka o'zi ishlaydi va ishga tushirilganda qo'ng'iroq qila oladi - buning uchun albatta internet aloqasi kerak.

6. Va ro'yxat davom etadi …

7. Batareyani teskari himoyalash - BILDI (Haqiqiy qurilma rasmlari eskirgan, shuning uchun MOSFETni aks ettirmaydi)

Tavsiya: