Sadržaj:
- Pribor
- Korak 1: Sheme i izvorni kod
- Korak 2: Rad kruga
- Korak 3: Provjera zdravlja
- Korak 4: Mjerenje snage i vijek trajanja baterije
- Korak 5: Buduća poboljšanja
Video: Bežični senzor vrata - ultra niska snaga: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
Još jedan senzor vrata !! Motivacija za stvaranje ovog senzora bila mi je ta što su mnogi koje sam vidio na internetu imali jedno ili drugo ograničenje. Neki od ciljeva senzora za mene su:
1. Senzor bi trebao biti vrlo brz - po mogućnosti manje od 5 sekundi
2. Senzor bi trebao raditi na 3,7 V Li-ion bateriji jer ih imam na desetke
3. Senzor bi trebao raditi više mjeseci s jednim punjenjem baterije. U stanju mirovanja trebao bi potrošiti <10uA
4. Senzor bi se trebao probuditi radi prijenosa kritičnih podataka, poput stanja baterije, čak i ako se vratima ne upravlja dulje vrijeme.
5. Senzor bi trebao prenositi podatke na temu MQTT kad su vrata otvorena, kao i kada su vrata zatvorena
6. Senzor bi trebao trošiti istu količinu energije bez obzira na stanje vrata
Rad senzora:
Senzor ima 2 glavna regulatora. Prvi je maleni mikro kontroler ATiny 13A. Drugi je ESP koji je obično u stanju mirovanja i budi se samo kad ATiny to omogući. Cijeli krug također može napraviti samo ESP koristeći ga u stanju mirovanja, ali struja koju troši daleko je veća nego što je potrebno da baterija traje mjesecima pa ATTiny dolazi u pomoć. Služi samo u svrhu buđenja svakih N sekundi, traženja događaja na vratima ili pregleda zdravstvenog stanja, ako ga ima, drži CH_PD pin ESP -a na HIGH i šalje odgovarajući signal vrste događaja ESP -u. Tu njegova uloga prestaje.
ESP tada preuzima, čita vrstu signala, povezuje se na WiFi/MQTT, objavljuje potrebne poruke, uključujući razinu baterije, a zatim se isključuje vraćanjem EN pina natrag na LOW.
Korištenjem ovih čipova na ovaj način iskorištavam nisku struju mirovanja ATtinyja i nultu struju u praznom hodu ESP -a kada je čip onemogućen putem CH_PD pina.
Pribor
Prije zahtjeva:
- Poznavanje programiranja ATTiny & ESP 01
- Poznavanje lemljenja komponenti na PCB -u
ESP-01 (ili bilo koji ESP)
ATTiny 13A - AVR
LDO 7333 -A - Regulator napona s niskim ispadanjem
Otpornici - 1K, 10K, 3K3
Kondenzatori: 100uF, 0,1 uF
Prekidač s prekidačem, mikro prekidač za uključivanje/isključivanje - (oboje opcionalno)
Dioda - IN4148 (ili bilo koji ekvivalent)
Li-ion baterija
Reed prekidač
Slučaj za sve to
Lemljenje, PCB itd
Korak 1: Sheme i izvorni kod
Sheme su prikazane na priloženom dijagramu.
Uključio sam M kanalni P -kanalni kanal za zaštitu od obrnutog polariteta. Ako vam ovo ne treba, možete ga izostaviti. Bilo koji M kanalni MOSFET s P kanalom s uključenim niskim Rds.
Trenutno ESP nema mogućnosti OTA -e, ali to je za buduća poboljšanja.
Izvorni kod senzor pametnih vrata
Korak 2: Rad kruga
ATTiny Radni tok
Magija se ovdje događa u tome kako ATTiny nadzire položaj prekidača na vratima.
Uobičajena opcija bila bi da na prekidač priključite otpornik za podizanje i nastavite pratiti njegovo stanje. To ima lošu stranu konstantne struje koju troši otpornik za podizanje. Način na koji je to ovdje izbjegnuto je taj što sam za praćenje prekidača koristio dvije pinove, a ne jednu. Ovdje sam koristio PB3 i PB4. PB3 je definiran kao ulaz, a PB4 kao izlaz s unutarnjim INPUT_PULLUP na PB3. Obično se PB4 drži VISOKO kada je ATtiny u stanju mirovanja. To osigurava da nema protoka struje kroz ulazni otpor za podizanje bez obzira na položaj trska. tj. Ako je sklopka zatvorena, oba PB3 i PB4 su VISOKA pa između njih ne protiče struja. Ako je prekidač otvoren, nema puta između njih, pa je struja nula. Kad se ATtiny probudi, on piše NISKO na PB4, a zatim provjerava stanje PB3. Ako je PB3 VISOK, trska je OTVORENA, inače je ZATVORENA. Zatim upisuje HIGH na PB4.
Komunikacija između ATtiny & ESP -a odvija se putem dva pina PB1 / PB2 spojena na Tx / RX ESP -a. Signal sam definirao kao
PB1 PB2 ====== Tx Rx
0 0 ====== WAKE_UP (zdravstvena provjera)
0 1 ====== SENSOR_OPEN
1 0 ====== OSJETNIK_ZATVOREN
1 1 ====== NEKORIŠTENO
Osim slanja signala ESP -u, on šalje i VISOKI impuls na PB0 koji je spojen na ESP CH_PD pin. Ovo budi ESP. Prvo što ESP čini radi držanja GPIO0 HIGH -a koji je spojen na CH_PD čime se osigurava njegovo povećanje čak i ako ATTiny oduzme PB0 HIGH. Kontrola je sada na ESP -u kako bi se utvrdilo kada se želi isključiti.
Zatim se povezuje na WiFi, MQTT, objavljuje poruku i isključuje se pišući LOW na GPIO0.
ESP 01 Radni tok:
ESP tok je ravno naprijed. Probudi se i pročita vrijednosti Tx/Rx pinova kako bi odredio koju vrstu poruke treba poslati. Povezuje se na WiFi i MQTT, objavljuje poruku i isključuje se.
Prije isključivanja, ponovno provjerava vrijednosti ulaznih pinova da vidi jesu li se promijenile od zadnjeg čitanja. To se odnosi na brzo otvaranje i zatvaranje vrata. Ako nemate ovaj ček, u nekim slučajevima možete propustiti zatvaranje vrata ako se zatvore unutar 5-6 sekundi od otvaranja. Praktični scenarij otvaranja i zatvaranja vrata u roku od 2 sekunde dobro je obuhvaćen while petljom koja nastavlja slati poruke sve dok je trenutno stanje vrata različito od prethodnog. Jedini scenarij koji bi mogao propustiti snimiti sve događaje otvaranja/zatvaranja je kada se vrata opetovano otvaraju/zatvaraju unutar prozora od 4-5 sekundi, što je vrlo malo vjerojatan slučaj - vjerojatno slučaj da se neko dijete igra s vratima.
Korak 3: Provjera zdravlja
Trebao mi je i način da dobijem poruku o zdravstvenoj provjeri od ESP -a gdje šalje razinu napunjenosti ESP -a, kao i da osiguram da senzor radi dobro bez ručnog pregleda. U tu svrhu ATTiny šalje WAKE_UP signal svakih 12 sati. Može se konfigurirati putem varijable WAKEUP_COUNT u ATtiny kodu. Ovo je vrlo korisno za vrata ili prozore koji se rijetko otvaraju, pa možda nećete saznati je li nešto u redu sa senzorom ili baterijom.
U slučaju da vam ne treba funkcionalnost provjere zdravlja, cijeli koncept korištenja ATTiny -a nije potreban. U tom slučaju možete pronaći i druge dizajne koje su ljudi stvorili gdje se opskrba ESP -om napaja putem MOSFET -a, pa možete postići nulto strujno napajanje kada vrata ne rade. Postoje i druge stvari na koje treba paziti, poput trenutnog izvlačenja da bude isto u otvorenim vratima i u poziciji zatvaranja vrata - za to sam negdje vidio dizajn koji je koristio trskasti prekidač s 3 stanja umjesto uobičajenog 2 stanja.
Korak 4: Mjerenje snage i vijek trajanja baterije
Izmjerio sam trenutnu potrošnju kruga i potrebno joj je ~ 30uA za vrijeme spavanja i okolo. Ako pogledamo podatkovne tablice ATTiny-a, to bi trebalo biti oko 1-4 uA za cijeli krug uključujući struju mirovanja LDO-a, ali tada moja mjerenja pokazuju 30. MOSFET i LDO troše beznačajnu struju.
Dakle, baterija od 800 mAH trebala bi trajati dugo. Nemam točnu statistiku, ali koristim je na 2 svoja vrata već više od godinu dana i svaka ćelija 18650 s oko 800mAH u njima traje oko 5-6 mjeseci na mojim glavnim vratima koja se otvaraju i zatvaraju u najmanje 30 puta dnevno. Ona na krovnim vratima koja se otvaraju samo nekoliko puta u tjednu, traje 7-8 mjeseci.
Korak 5: Buduća poboljšanja
1. ESP ne potvrđuje isporuku MQTT poruke. Program se može poboljšati pretplatom na temu u kojoj se objavljuje poruka za potvrdu isporuke ili se može koristiti Async MQTT knjižnica za postavljanje poruke s QoS 1.
2. OTA ažuriranje: ESP kôd se može izmijeniti tako da čita temu o MQTT -u radi ažuriranja i tako ući u OTA način za primanje datoteke.
3. ESP01 se može zamijeniti s ESP-12 kako bi se dobio pristup većem broju ulaznih PIN-ova i tako se na njega moglo priključiti više senzora. U tom slučaju komunikacija putem 2 -bitne metode nije moguća. To se tada može poboljšati za implementaciju I2C komunikacije između ATtiny & ESP -a. Ovo je malo komplicirano, ali izvedivo. Radim na drugom postavu gdje ATTiny šalje vrijednosti rotacijskog davača ESP -u preko I2C linije.
4. Strujni krug prati unutarnji Vcc ESP -a. Ako koristimo ESP12, tada se to može izmijeniti kako bi se očitala stvarna razina baterije preko ADC pina.
5. U budućnosti ću također objaviti izmjenu koja se može koristiti kao samostalni senzor bez potrebe za MQTT -om ili bilo kojim sustavom kućne automatizacije. Senzor će raditi samostalno i može obaviti telefonski poziv kada se aktivira - naravno da mu je za to potrebna internetska veza.
6. I popis se nastavlja…
7. Obrnuta zaštita baterije - GOTOVO (Stvarne slike uređaja su stare i stoga ne odražavaju MOSFET)
Preporučeni:
Bežični Arduino robot koji koristi bežični modul HC12: 7 koraka
Bežični Arduino robot koji koristi bežični modul HC12: Hej dečki, dobrodošli nazad. U svom prethodnom postu objasnio sam što je krug H mosta, IC upravljački program motora L293D, integrirani sklop upravljačkog programa motora L293D za pogon visokonaponskih upravljačkih programa motora i kako možete dizajnirati i izraditi vlastitu ploču vozača motora L293D
Uradi sam bežični bežični oblik električne energije radio valova u Katmanduu: 6 koraka
Uradi sam bežični bežični oblik električne energije radio valova u Katmanduu: Ono što sam učinio, dotjerao sam ga i učinio još jednostavnijim i ima samo dva kraja umjesto četiri. Palačinka odgovarajuće veličine s dva kraja spojena na Arial's i tlo funkcionira kao prijemnik. Dugačak niz od dva arijalna, jedan spojen na g
4-bežični bežični Qi punjač: 9 koraka (sa slikama)
4-up bežični Qi punjač: Stanica za punjenje laserski je izrezana od šperploče različite debljine i polietilena, a zatim sastavljena rukom punom nehrđajućeg čelika #2 x 3/8 " i #4 x 1/2 " ravna glava, vijci za lim. CO2 laser od 60 W dovoljan je šperploča Baltic Birch u
Bežični bežični WiFi produživač s USB baterijom: 7 koraka (sa slikama)
Bežični WiFi produživač s USB napajanjem: Koliko nije iritantno kad boravite u hotelu, a WiFi je užasan. S WiFi nastavkom možete poboljšati uvjete, ali oni koje sam vidio zahtijevaju mrežnu utičnicu koja nije uvijek dostupna. Odlučio sam obnoviti nisku cijenu
Pretvorite bežični usmjerivač u bežični proširivač 2x pristupna točka: 5 koraka
Pretvorite bežični usmjerivač u bežični proširivač 2x pristupna točka: Imao sam lošu bežičnu internetsku vezu u svojoj kući zbog RSJ -a (metalni nosač u stropu) i htio sam pojačati signal ili dodati dodatni produživač za ostatak kuće. Vidio sam ekstenzore za oko 50 funti u elektro