Përmbajtje:

Sensori i dyerve pa tela - Fuqia ultra e ulët: 5 hapa
Sensori i dyerve pa tela - Fuqia ultra e ulët: 5 hapa

Video: Sensori i dyerve pa tela - Fuqia ultra e ulët: 5 hapa

Video: Sensori i dyerve pa tela - Fuqia ultra e ulët: 5 hapa
Video: Leap Motion SDK 2024, Nëntor
Anonim
Sensori i dyerve pa tela - Fuqia ultra e ulët
Sensori i dyerve pa tela - Fuqia ultra e ulët
Sensori i dyerve pa tela - Fuqia ultra e ulët
Sensori i dyerve pa tela - Fuqia ultra e ulët
Sensori i dyerve pa tela - Fuqia ultra e ulët
Sensori i dyerve pa tela - Fuqia ultra e ulët
Sensori i dyerve pa tela - Fuqia ultra e ulët
Sensori i dyerve pa tela - Fuqia ultra e ulët

Edhe një sensor tjetër i derës !! Motivi për mua për të krijuar këtë sensor ishte se shumë nga ato që pashë në internet kishin një kufizim ose tjetrin. Disa nga qëllimet e sensorit për mua janë:

1. Sensori duhet të jetë shumë i shpejtë - mundësisht më pak se 5 sekonda

2. Sensori duhet të mbarojë me një bateri Li-jon 3.7V pasi kam dhjetëra prej tyre të shtrirë përreth

3. Sensori duhet të funksionojë për shumë muaj me një karikim të vetëm të baterisë. Duhet të konsumojë <10uA në modalitetin e gjumit

4. Sensori duhet të jetë në gjendje të zgjohet për transmetimin e të dhënave kritike si statusi i baterisë edhe kur dera nuk funksionon për një kohë të gjatë.

5. Sensori duhet të transmetojë të dhëna në një temë MQTT kur dera është e hapur si dhe kur dera është e mbyllur

6. Sensori duhet të konsumojë të njëjtën sasi energjie, pavarësisht nga gjendja e derës

Puna e sensorit:

Sensori ka 2 kontrollues kryesorë. E para është mikro kontrolluesi i vogël ATiny 13A. E dyta është ESP e cila zakonisht është në gjendje gjumi dhe zgjohet vetëm kur ATiny e mundëson atë. I gjithë qarku gjithashtu mund të bëhet vetëm nga ESP duke e përdorur atë në modalitetin e gjumit, por rryma që konsumon është shumë më e madhe se sa nevojitet që bateria të zgjasë me muaj, kështu që ATTiny vjen në shpëtim. Ajo shërben vetëm për t'u zgjuar çdo N sekonda, për të kërkuar një ngjarje në derë ose një kontroll të shëndetit, nëse ka një, ajo mban kunjin CH_PD të ESP në HIGH dhe dërgon sinjalin e duhur të llojit të ngjarjes në ESP Me Roli i tij përfundon këtu.

ESP më pas merr përsipër, lexon llojin e sinjalit, lidhet me WiFi/MQTT, publikon mesazhet e kërkuara duke përfshirë nivelin e baterisë dhe më pas fiket duke e kthyer pinin EN në LOW.

Duke përdorur këto patate të skuqura në këtë mënyrë, unë përfitoj nga rryma e ulët e gjumit e ATtiny dhe rryma zero boshe e ESP kur çipi është i çaktivizuar përmes kunjit CH_PD.

Furnizimet

Paraprakisht:

- Njohuri për programimin e një ATTiny & ESP 01

- Njohuri për përbërësit e saldimit në një PCB

ESP-01 (ose ndonjë ESP)

ATTiny 13A - AVR

LDO 7333 -A - Rregullator i tensionit të ulët të daljes së ulët

Rezistentët - 1K, 10K, 3K3

Kondensatorët: 100uF, 0.1 uF

Çelësi i butonit, çelësi mikro ON/OFF - (të dy opsional)

Dioda - IN4148 (ose ndonjë ekuivalent)

Bateri Li-ion

Ndërprerës kallami

Një rast për t’i vendosur të gjitha

Saldator, PCB etj

Hapi 1: Skemat & Kodi Burimor

Skemat & Kodi Burimor
Skemat & Kodi Burimor

Skemat janë treguar në diagramin e bashkangjitur.

Unë kam përfshirë një POS MOSFET për mbrojtjen e polaritetit të kundërt. Nëse nuk keni nevojë për këtë, mund ta lini pas dore. Çdo POS MOSFET me një RDS të ulët ON do të bëjë.

Aktualisht ESP nuk ka aftësinë e OTA, por kjo është për përmirësim në të ardhmen.

Kodi burimor sensori i derës së zgjuar

Hapi 2: Puna e Qarkut

ATTiny Rrjedha e punës

Magjia këtu ndodh në atë se si ATTiny monitoron pozicionin e ndërprerësit të derës.

Opsioni normal do të ishte të lidhni një rezistencë tërheqëse në ndërprerës dhe të vazhdoni të monitoroni gjendjen e tij. Kjo ka anën negative të rrymës konstante që konsumohet nga rezistenca tërheqëse. Mënyra se si është shmangur këtu është se unë kam përdorur dy kunja për të monitoruar ndërprerësin sesa një. Unë kam përdorur PB3 & PB4 këtu. PB3 përcaktohet si hyrje dhe PB4 si dalje me një INPUT_PULLUP të brendshëm në PB3. Normalisht PB4 mbahet LART when kur ATtiny është në modalitetin e gjumit. Kjo siguron që nuk ka rrjedhje aktuale përmes rezistencës së tërheqjes së hyrjes, pavarësisht nga pozicioni i ndërprerësit të kallamit. dmth. Nëse ndërprerësi është i mbyllur, të dy PB3 & PB4 janë LART dhe kështu që asnjë rrymë nuk rrjedh midis tyre. Nëse çelësi është i hapur atëherë nuk ka shteg mes tyre dhe kështu rryma është zero. Kur ATtiny zgjohet shkruan një LOW në PB4 dhe më pas kontrollon gjendjen e PB3. Nëse PB3 është LART, atëherë çelësi i kallamit është HAPUR, përndryshe mbyllet. Pastaj shkruan një HIGH në PB4.

Komunikimi midis ATtiny & ESP ndodh përmes dy kunjave PB1 / PB2 të lidhur me Tx / RX të ESP. Unë e kam përcaktuar sinjalin si

PB1 PB2 ====== Tx Rx

0 0 ====== WAKE_UP (Kontrolli Shëndetësor)

0 1 ====== SENSOR_OPEN

1 0 ====== SENSOR_CLOSED

1 1 ====== PUSRDORUR

Përveç dërgimit të sinjalit në ESP, ai gjithashtu dërgon një impuls të lartë në PB0 i cili është i lidhur me kunjin ESP CH_PD. Kjo zgjon ESP. Gjëja e parë që ESP bën për të mbajtur GPIO0 HIGH e cila është e lidhur me CH_PD duke siguruar kështu fuqitë e saj edhe nëse ATTiny heq PB0 HIGH. Kontrolli tani është me ESP për të përcaktuar kur dëshiron të fiket.

Pastaj lidhet me WiFi, MQTT, poston mesazhin dhe fuqizohet vetë duke shkruar LOW në GPIO0.

ESP 01 Rrjedha e punës:

Rrjedha e ESP është drejt përpara. Zgjohet dhe lexon vlerat e kunjave Tx/Rx për të përcaktuar se çfarë lloj mesazhi do të postohet. Lidhet me WiFi dhe MQTT, poston mesazhin dhe fuqizohet vetë.

Para se të fiket, ai përsëri kontrollon vlerat e kunjave hyrës për të parë nëse ato kanë ndryshuar që nga leximi i fundit. Kjo është për t'u kujdesur për hapjen dhe mbylljen e shpejtë të derës. Nëse nuk e keni këtë kontroll atëherë disa raste mund të humbisni mbylljen e derës nëse ajo është e mbyllur brenda 5-6 sekondave të hapjes. Një skenar praktik i hapjes dhe mbylljes së derës brenda 2 sekondave ose më shumë është kapur mirë nga laku while i cili vazhdon të postojë mesazhe për aq kohë sa gjendja aktuale e derës është e ndryshme nga ajo e mëparshmja. Skenari i vetëm që mund të humbasë për të regjistruar të gjithë ngjarjen e hapur/mbylljes është kur dera hapet/mbyllet në mënyrë të përsëritur brenda dritares 4-5 sekonda, që është një rast shumë i pamundur - ndoshta një rast i ndonjë fëmije që luan me derën.

Hapi 3: Kontrolli i shëndetit

Më duhej gjithashtu një mënyrë për të pasur një mesazh kontrolli shëndetësor nga ESP ku ai dërgon nivelin e baterisë të ESP gjithashtu për të siguruar që sensori po funksionon mirë pa inspektim manual. Për këtë ATTiny dërgon një sinjal WAKE_UP çdo 12 orë. Mund të konfigurohet përmes ndryshores WAKEUP_COUNT në kodin ATtiny. Kjo është shumë e dobishme për dyert ose dritaret që hapen rrallë dhe kështu që mund të mos e dini nëse diçka nuk është në rregull me sensorin ose baterinë e tij.

Në rast se nuk keni nevojë për funksionimin e kontrollit shëndetësor, atëherë i gjithë koncepti i përdorimit të ATTiny nuk është i nevojshëm. Në atë rast ju mund të gjeni dizajne të tjera që njerëzit kanë krijuar ku furnizimi me ESP furnizohet përmes një MOSFET dhe kështu ju mund të arrini barazim zero aktual kur dera nuk po përdoret. Ka gjëra të tjera për të cilat duhet të kujdeseni si barazimi aktual të jetë i njëjtë në pozicionin e derës së hapur dhe të mbylljes së derës - për këtë diku pashë një dizajn i cili përdorte një ndërprerës kallami me 3 gjendje në vend të 2 gjendjes së zakonshme.

Hapi 4: Matjet e fuqisë dhe jetëgjatësia e baterisë

Unë kam matur konsumin aktual të qarkut dhe merr 30 AA kur fle dhe përreth. Duke u nisur nga fletët e të dhënave të ATTiny, duhet të jetë rreth 1-4 uA për të gjithë qarkun duke përfshirë rrymën qetësuese të LDO, por pastaj matjet e mia tregojnë 30. MOSFET dhe LDO konsumojnë rrymë të parëndësishme.

Pra, një bateri 800mAH duhet të zgjasë për një kohë të gjatë të gjatë. Unë nuk kam statistika të sakta, por e kam përdorur atë në 2 nga dyert e mia për më shumë se një vit dhe çdo qelizë 18650 me rreth 800mAH e mbetur në to zgjasë për rreth 5-6 muaj në derën time kryesore e cila hapet dhe mbyllet në të paktën 30 herë në ditë. Ajo në derën e çatisë e cila hapet vetëm disa herë në javë, zgjat 7-8 muaj.

Hapi 5: Përmirësimet e së ardhmes

1. ESP nuk pranon dërgimin e mesazhit MQTT. Programi mund të përmirësohet duke u regjistruar në temën që publikon mesazhin për të konfirmuar dërgimin ose një bibliotekë Async MQTT mund të përdoret për të postuar një mesazh me QoS 1.

2. Përditësimi OTA: Kodi ESP mund të modifikohet për të lexuar një temë MQTT për një përditësim dhe kështu hyni në një mënyrë OTA për të marrë një skedar.

3. ESP01 mund të zëvendësohet me ESP-12 për të pasur qasje në më shumë PIN-e hyrës dhe kështu mund të bashkëngjitni më shumë sensorë për të njëjtin. Në atë rast komunikimi përmes metodës 2 bit nuk është i mundur. Kjo pastaj mund të përmirësohet për të zbatuar komunikimin I2C midis ATtiny & ESP. Kjo është pak e komplikuar, por e zbatueshme. E kam duke punuar në një sistem tjetër ku një ATTiny dërgon vlera koduese rrotulluese në ESP mbi linjën I2C.

4. Qarku aktual monitoron Vcc -në e brendshme të ESP, nëse përdorim ESP12 atëherë kjo mund të modifikohet për të lexuar nivelin aktual të baterisë përmes pinit ADC.

5. Në të ardhmen unë gjithashtu do të postoj një modifikim në këtë i cili mund të përdoret si një sensor i pavarur pa pasur nevojë për një MQTT ose ndonjë sistem automatizimi në shtëpi. Sensori do të funksionojë i pavarur dhe mund të bëjë një telefonatë kur aktivizohet - natyrisht që ka nevojë për një lidhje interneti për këtë.

6. Dhe lista vazhdon…

7. Mbrojtja e kundërt e baterisë - E BONR (Fotografitë aktuale të pajisjes janë të vjetra dhe kështu nuk pasqyrojnë MOSFET -in)

Recommended: