Мазмуну:

Wireless Door Sensor - Ultra Low Power: 5 кадам
Wireless Door Sensor - Ultra Low Power: 5 кадам

Video: Wireless Door Sensor - Ultra Low Power: 5 кадам

Video: Wireless Door Sensor - Ultra Low Power: 5 кадам
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Июль
Anonim
Wireless Door Sensor - Ultra Low Power
Wireless Door Sensor - Ultra Low Power
Wireless Door Sensor - Ultra Low Power
Wireless Door Sensor - Ultra Low Power
Wireless Door Sensor - Ultra Low Power
Wireless Door Sensor - Ultra Low Power
Wireless Door Sensor - Ultra Low Power
Wireless Door Sensor - Ultra Low Power

Дагы бир эшик сенсору !! Бул сенсорду түзүүгө менин мотивациям интернеттен көргөндөрдүн бирөө же экинчиси бар болчу. Мен үчүн сенсордун кээ бир максаттары:

1. Сенсор абдан тез болушу керек - 5 секунддан кем эмес

2. Сенсор 3.7V Li-ion батареясын иштетиши керек, анткени менде ондогон адамдар жатат

3. Сенсор батарейканын бир зарядында көп ай иштеши керек. Бул уйку режиминде <10uA керектеши керек

4. Сенсор эшик узак убакыт иштебесе дагы, батарейканын абалы сыяктуу маанилүү маалыматтарды берүү үчүн ойгонушу керек.

5. Сенсор эшик ачылганда, ошондой эле эшик жабылганда маалыматтарды MQTT темасына өткөрүп бериши керек

6. Сенсор эшиктин абалына карабастан бирдей көлөмдөгү энергияны сарпташы керек

Сенсордун иштеши:

Сенсордо 2 негизги контроллер бар. Биринчиси ATiny 13A кичинекей микро контроллери. Экинчиси - бул, адатта, уйку режиминде жана ATiny иштеткенде гана ойгонот. Бардык схеманы ESP тарабынан гана уйку режиминде колдонсо болот, бирок ал керектеген ток батарейканын бир нече айга жетүүсүнөн алда канча чоң, ошондуктан ATTiny жардамга келет. Бул ар бир N секундада ойгонуу, эшик окуясын же ден соолукту текшерүү иш -чарасын издөөгө гана кызмат кылат, эгер бар болсо, ал ESPтин CH_PD пинин HIGHго кармап турат жана ESPке окуя түрүнүн тиешелүү сигналын жөнөтөт.. Анын ролу ошол жерде бүтөт.

ESP андан кийин өзүнө алат, сигналдын түрүн окуйт, WiFi/MQTTге туташат, керектүү билдирүүлөрдү батарейканын деңгээлин кошо жарыялайт, анан EN пинин ТӨМӨН абалга келтирүү менен өзүн өчүрөт.

Бул чиптерди колдонуу менен мен ATtinyдин аз уктоо агымын жана чип CH_PD пини аркылуу өчүрүлгөндө ESPтин нөл боштук агымын пайдаланам.

Жабдуулар

Алдын ала талап:

- ATTiny & ESP 01 программасын билүү

- ПХБда компоненттерди ширетүү боюнча билим

ESP-01 (же каалаган ESP)

ATTiny 13A - AVR

LDO 7333 -A - төмөндөө чыңалуусун жөнгө салуучу

Резисторлор - 1K, 10K, 3K3

Конденсаторлор: 100uF, 0.1 uF

Баскыч баскычы, микро ON/OFF которгуч - (экөө тең милдеттүү эмес)

Диод - IN4148 (же эквиваленти)

Li-ion батареясы

Reed Switch

Мунун бардыгын камтыган иш

Solder, PCB ж

1 -кадам: Схемалар жана Булак коду

Схемалар жана булак коду
Схемалар жана булак коду

Схемалар тиркелген диаграммада көрсөтүлгөндөй.

Мен тескери полярдуулуктан коргоо үчүн P Channel MOSFETти коштум. Эгер сизге бул керек болбосо, аны өткөрүп жиберишиңиз мүмкүн. Rds ON аз болгон каалаган P Channel MOSFET кылат.

Учурда ESP OTA жөндөмүнө ээ эмес, бирок бул келечектеги жакшыртуу үчүн.

Булак коду акылдуу эшик-сенсор

2 -кадам: Райондун иштеши

ATTiny Жумуш агымы

Бул жерде сыйкырчылык ATTiny эшикти которгучтун абалын кантип көзөмөлдөйт.

Кадимки вариант - которгучка каршылыгын көтөрүп, анын абалын көзөмөлдөп туруу. Бул туруктуу токтун каршылыгы тарабынан керектелүүчү терс жактары бар. Мунун алдын алуу жолу бул, мен бир эмес, которгучту көзөмөлдөө үчүн эки төөнөгүчтү колдондум. Мен бул жерде PB3 & PB4 колдондум. PB3 киргизүү катары жана PB4 PB3 боюнча ички INPUT_PULLUP менен чыгуу катары аныкталат. ATtiny уйку режиминде болгондо, адатта, PB4 жогорку деңгээлде өткөрүлөт. б.а. Эгерде которгуч жабык болсо, анда PB3 жана PB4 экөө тең ЖОГОРУ болгондуктан алардын ортосунда эч кандай агым болбойт. Эгерде которгуч ачык болсо, анда алардын ортосунда жол жок, андыктан ток нөлгө барабар. ATtiny ойгонгондо PB4кө LOW жазат, андан кийин PB3 абалын текшерет. Эгерде PB3 ЖОК болсо, анда камыш которгуч АЧЫК, башкача айтканда ЖАБЫК. Андан кийин PB4 боюнча HIGH деп жазат.

ATtiny & ESP ортосундагы байланыш ESPтин Tx / RX туташкан PB1 / PB2 эки казыгы аркылуу болот. Мен сигналды мындай деп аныктадым

PB1 PB2 ====== Tx Rx

0 0 ====== WAKE_UP (Health Check)

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 секунданын ичинде ачылып -жабылышынын практикалык сценарийи, эгерде эшиктин учурдагы абалы мурунку абалынан айырмаланып турса, билдирүүлөрдү жөнөтүп туруучу while цикли жакшы чагылдырылган. Ачык/жабык окуяны жаздырбай коюуга мүмкүн болгон жалгыз сценарий - бул эшик 4-5 сек терезенин ичинде кайра -кайра ачылып/жабылганда, бул өтө күмөн учур - балким эшик менен ойногон баланын окуясы.

3 -кадам: Ден соолукту текшерүү

Мага ошондой эле ESPтин ден -соолугун текшерүү билдирүүсү керек болчу, ал жерде ESPтин батарея деңгээлин жиберет, ошондой эле сенсор кол менен текшерилбестен жакшы иштеп жатат. Бул үчүн ATTiny ар бир 12 саат сайын WAKE_UP сигналын жөнөтөт. Аны ATtiny кодундагы WAKEUP_COUNT өзгөрмөсү аркылуу конфигурациялоого болот. Бул сейрек ачылуучу эшик же терезелер үчүн абдан пайдалуу, андыктан сенсордо же анын батарейкасында бир нерсе туура эмес экенин билбешиңиз мүмкүн.

Эгерде сизге ден соолукту текшерүү функциясы керек болбосо, анда ATTinyди колдонуунун бүт концепциясы кереги жок. Мындай учурда, сиз ESPке жеткирүү MOSFET аркылуу камсыздалган адамдар түзгөн башка долбоорлорду таба аласыз, ошондуктан эшик иштебей турганда нөлдүк ток тартууга жетише аласыз. Эшиктин ачык жана эшиктин жабык абалында учурдагы чүчүкулак сыяктуу бир нерсеге көңүл буруу керек болгон башка нерселер бар - бул үчүн мен кадимки 2 абалдын ордуна 3 абалдагы камыш которгучун колдонгон дизайнды көрдүм.

4 -кадам: Power Өлчөө жана Батарея өмүрү

Мен схеманын учурдагы керектөөсүн өлчөдүм жана уктап жатканда жана айланасында ~ 30uA талап кылынат. ATTiny маалыматтык баракчаларына өтүү, ал LDOнун токтоп турган токун кошкондо, бүтүндөй схема үчүн 1-4 uAга жакын болушу керек, бирок менин өлчөөлөрүм 30ду көрсөтөт. MOSFET жана LDO анча чоң эмес токту керектейт.

Ошентип, 800mAH батарейкасы узак убакытка созулушу керек. Менде так статистика жок, бирок мен аны бир жылдан ашык убакыттан бери 2 эшигимде колдонуп келе жатам жана алардын ичинде 800mAH калган 18650 камера 5-6 айга созулуп, менин негизги эшигимде ачылат жана жабылат. күнүнө жок дегенде 30 жолу. Бир жумада бир нече жолу ачылуучу чатырдын эшиги 7-8 айга созулат.

5 -кадам: Келечектеги жакшыртуулар

1. ESP MQTT билдирүүсүнүн жеткирилгенин моюнга албайт. Программаны жеткирүүнү ырастоо үчүн билдирүүнү жарыялаган темага жазылуу аркылуу жакшыртса болот же QynS MQTT китепканасын QoS 1 менен билдирүү үчүн колдонсо болот.

2. OTA жаңыртуусу: ESP коду жаңыртуу үчүн MQTT темасын окуу үчүн өзгөртүлүшү мүмкүн, андыктан файлды алуу үчүн OTA режимине өтүңүз.

3. ESP01 ESP-12 менен алмаштырылышы мүмкүн, бул дагы көбүрөөк PIN коддорго жетүү үчүн, ошондуктан сенсорлорду дагы тиркей алат. Мындай учурда 2 бит ыкмасы аркылуу байланышуу мүмкүн эмес. Бул ATtiny & ESP ортосундагы I2C байланышын ишке ашыруу үчүн жакшыртылышы мүмкүн. Бул бир аз татаал, бирок иштей алат. Менде ATTiny I2C линиясынын үстүнөн ESPке айлануучу коддоочу баалуулуктарды жөнөтүүчү башка түзүлүштө иштейт.

4. Учурдагы схема ESPтин ички Vccин көзөмөлдөйт, эгер биз ESP12ди колдонсок, анда муну ADC пини аркылуу батарейканын чыныгы деңгээлин окуу үчүн өзгөртүүгө болот.

5. Келечекте мен дагы MQTTге же кандайдыр бир үй автоматташтыруу системасына муктаж болбостон, өзүнчө сенсор катары колдонууга боло турган өзгөртүүлөрдү киргизем. Сенсор өз алдынча иштейт жана иштетилгенде телефон чала алат - бул үчүн албетте интернет байланышы керек.

6. Жана тизме улана берет …

7. Реверсивдүү батареяны коргоо - ДАЙЫН (Аппараттын чыныгы сүрөттөрү эски, ошондуктан MOSFETти чагылдырбайт)

Сунушталууда: