Мазмұны:
- Жабдықтар
- 1 -қадам: схемалар мен бастапқы код
- 2 -қадам: Тізбектің жұмысы
- 3 -қадам: денсаулықты тексеру
- 4 -қадам: Қуатты өлшеу және батареяның қызмет ету мерзімі
- 5 -қадам: Болашақ жақсартулар
Бейне: Сымсыз есік сенсоры - өте төмен қуат: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Тағы бір есік сенсоры !! Бұл сенсорды жасауға менің мотивациям интернетте көргендердің көпшілігінің бір немесе басқа шектеулері болды. Мен үшін сенсордың кейбір мақсаттары:
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 көрсетпейді)
Ұсынылған:
Арнайы есік төсеніші қосылған есік қоңырауы: 6 қадам
Арнайы есік төсеніші қосылған есік қоңырауы. Сәлеметсіз бе! Менің атым Джастин, мен орта мектепте оқимын, бұл нұсқаулық сізге біреу сіздің есігіңіздің төсенішін басқан кезде соғылатын есік қоңырауын қалай жасау керектігін көрсетеді және сіз қалаған әуен немесе ән болуы мүмкін! Есік төсеніші есікті іске қосатындықтан
IFTTT көмегімен сымды есік қоңырауын ақылды есік қоңырауына айналдырыңыз: 8 қадам
IFTTT көмегімен сымды есік қоңырауын ақылды есік қоңырауына айналдырыңыз: WiFi есік қоңырауы қолданыстағы сымды қоңырауды ақылды қоңырауға айналдырады. https://www.fireflyelectronix.com/product/wifidoor
LEIDS - төмен энергиялы IOT есік сенсоры: 8 қадам (суреттермен)
LEIDS - төмен энергиялы IOT есік сенсоры: LEIDS дегеніміз не? LEIDS - бұл ESP8266 -ға негізделген IOT сенсоры. Бұл сенсор бұл тақтаны, жұмсақ бекіткіш схеманы, қамысты қосқышты және кейбір магниттерді пайдаланып, есік сенсоры жасайды, ол сіздің есігіңіз ашылған кезде сізге ескерту жібереді
Үйдегі көмекші көмегімен сымды есік қоңырауын ақылды есік қоңырауына айналдырыңыз: 6 қадам
Үй көмекшісімен сымды есік қоңырауын ақылды есік қоңырауына айналдырыңыз: бар сымды қоңырауды ақылды қоңырауға айналдырыңыз. Есікке қоңырау соғылған кез келген уақытта фото немесе бейне ескертуді алу үшін телефонға немесе қолданыстағы алдыңғы камерамен жұпқа хабарлама алыңыз. Толығырақ мына жерден біліңіз: fireflyelectronix.com/pro
Сымсыз дабыл қосқышына немесе қосуға/өшіруге сымсыз есік қоңырауын бұзыңыз: 4 қадам
Сымсыз дабыл қосқышына немесе қосу/өшіру қосқышына сымсыз есік қоңырауын бұзыңыз: Мен жақында дабыл жүйесін жасап, оны үйіме орнаттым. Мен есіктерде магниттік қосқыштарды қолдандым және оларды шатыр арқылы өткіздім. Терезелер - бұл басқа әңгіме, ал оларды қатаң сыммен қосу - бұл опция емес. Маған сымсыз шешім қажет болды, бұл