Мазмұны:

Сымсыз есік сенсоры - өте төмен қуат: 5 қадам
Сымсыз есік сенсоры - өте төмен қуат: 5 қадам

Бейне: Сымсыз есік сенсоры - өте төмен қуат: 5 қадам

Бейне: Сымсыз есік сенсоры - өте төмен қуат: 5 қадам
Бейне: Әйелді қандыратын 5 әдіс 2024, Қараша
Anonim
Сымсыз есік датчигі - өте төмен қуат
Сымсыз есік датчигі - өте төмен қуат
Сымсыз есік датчигі - өте төмен қуат
Сымсыз есік датчигі - өте төмен қуат
Сымсыз есік датчигі - өте төмен қуат
Сымсыз есік датчигі - өте төмен қуат
Сымсыз есік датчигі - өте төмен қуат
Сымсыз есік датчигі - өте төмен қуат

Тағы бір есік сенсоры !! Бұл сенсорды жасауға менің мотивациям интернетте көргендердің көпшілігінің бір немесе басқа шектеулері болды. Мен үшін сенсордың кейбір мақсаттары:

1. Сенсор өте жылдам болуы керек - жақсырақ 5 секундтан аз

2. Сенсор 3.7В литий-иондық батареядан шығуы керек, себебі мен ондаған жерде жатырмын

3. Сенсор батареяның бір зарядталуымен көп ай жұмыс істеуі керек. Ол ұйқы режимінде <10uA тұтынуы керек

4. Есік ұзақ уақыт жұмыс істемесе де, сенсор батареяның күйі сияқты маңызды деректерді жіберу үшін оянуы керек.

5. Датчик MQTT тақырыбына есік ашылған кезде де, есік жабылғанда да берілуі керек

6. Сенсор есіктің күйіне қарамастан бірдей қуат тұтынуы керек

Сенсордың жұмысы:

Сенсорда 2 негізгі контроллер бар. Біріншісі - ATiny 13A шағын микроконтроллері. Екіншісі - ESP, ол әдетте ұйқы режимінде болады және 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

Түймешік қосқышы, микро ҚОСУ/ӨШІРУ қосқышы - (екеуі де міндетті емес)

Диод - IN4148 (немесе кез келген балама)

Ли-иондық батарея

Қамыс қосқышы

Бәрін сақтауға болатын жағдай

Дәнекерлеу, ПХД және т

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 ====== ОЯТУ (денсаулықты тексеру)

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 сағат сайын ОЯНУ сигналын жібереді. Оны 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-мен ауыстыруға болады, бұл қосымша PIN-кодқа қол жеткізуге мүмкіндік береді, осылайша оған басқа сенсорларды қоса алады. Бұл жағдайда 2 биттік әдіспен байланыс мүмкін емес. Мұны ATtiny & ESP арасындағы I2C байланысын енгізу үшін жақсартуға болады. Бұл сәл күрделі, бірақ жұмыс істеуге ыңғайлы. Менде басқа қондырғыда жұмыс істейді, онда ATTiny айналмалы кодер мәндерін ESP -ке I2C желісі бойынша жібереді.

4. Ағымдағы контур ESP ішкі Vcc -ті бақылайды, егер біз ESP12 -ді қолданатын болсақ, оны ADC түйреуіші арқылы батареяның нақты деңгейін оқу үшін өзгертуге болады.

5. Болашақта мен оған MQTT немесе кез келген үй автоматтандыру жүйесін қажет етпейтін дербес сенсор ретінде қолдануға болатын модификация жіберемін. Сенсор дербес жұмыс істейді және іске қосылған кезде телефон соғуы мүмкін - әрине бұл үшін интернет байланысы қажет.

6. Ал тізім жалғаса береді …

7. Батареяның кері қорғанысы - ДАЙЫН (Құрылғының нақты суреттері ескі, сондықтан MOSFET көрсетпейді)

Ұсынылған: