Мазмұны:

Батареямен жұмыс істейтін есік сенсоры, үйде автоматтандырылған, WiFi және ESP-NOW: 5 қадам (суреттермен)
Батареямен жұмыс істейтін есік сенсоры, үйде автоматтандырылған, WiFi және ESP-NOW: 5 қадам (суреттермен)

Бейне: Батареямен жұмыс істейтін есік сенсоры, үйде автоматтандырылған, WiFi және ESP-NOW: 5 қадам (суреттермен)

Бейне: Батареямен жұмыс істейтін есік сенсоры, үйде автоматтандырылған, WiFi және ESP-NOW: 5 қадам (суреттермен)
Бейне: Одна в городе_Рассказ_Слушать 2024, Қараша
Anonim
Image
Image

Бұл нұсқаулықта мен сізге үйдегі автоматика интеграциясымен батареямен жұмыс істейтін есік сенсорын қалай жасағанымды көрсетемін. Мен басқа да жақсы сенсорлар мен дабыл жүйелерін көрдім, бірақ мен оны өзім жасағым келді.

Менің мақсаттарым:

  • Есіктің тез ашылатынын анықтайтын және хабар беретін сенсор (<5 секунд)
  • Есіктің жабылғанын анықтайтын сенсор
  • Батареямен жұмыс істейтін және батареяда бірнеше ай жұмыс істейтін сенсор

Аппараттық және бағдарламалық қамтамасыз ету шабыттандырылған

  • Кевин Дарраның триггері (TPL5111 және TPS73733).
  • Бұл бейне

Мен алдыңғы және артқы есіктерге сенсор жасадым. Жалғыз айырмашылығы - жетекші позиция мен сыртқы қуат қосқышы (артқы есіктің сенсорында).

Мен аппараттық және бағдарламалық қамтамасыз етуді жетілдіру барысында бірнеше жақсартулар енгіздім, оны фотолардан көруге болады.

Жабдықтар

Мен Aliexpress -тен электронды компоненттерді сатып алдым, негізгі бөліктері:

  • LiPo батареясы
  • TPS73733 LDO
  • TPL5111
  • Қамыс қосқышы
  • P-арна mosfet: IRLML6401TRPBF
  • Магнит
  • SMD компоненттеріне арналған ПХД адаптер тақтасы және басқалары.

1 -қадам: Аппараттық құрал - схема

Аппараттық құрал - схема
Аппараттық құрал - схема
Аппараттық құрал - схема
Аппараттық құрал - схема
Аппараттық құрал - схема
Аппараттық құрал - схема

Қосылған схеманың схемаларын қараңыз. Мен SMD бөлшектерін ПХД адаптерінің пластинасына дәнекерледім және барлық компоненттерді екі жақты перфораторға дәнекерледім. Мен ESP-01-ді әйел тақырыптары арқылы қостым, сондықтан оны осы Нұсқаулықтың 3-қадамында көрсетілген адаптер арқылы бағдарламалау үшін алып тастай аламын.

Схема келесідей жұмыс істейді:

  • Есік ашылғанда, TPL5111 DELAY/M_DRV түйреуішінен оқ алады және ESP-01-ге қуат беретін TPS73733 LDO қосады. Бұл әрекетті орындау үшін EN/ONE_SHOT төмен тартылуы керек, TPL5111 мәліметтер кестесін қараңыз.
  • Бағдарлама іске қосылғаннан кейін (Бағдарламалық қамтамасыз ету қадамын қараңыз), ESP-01 TPL5111-ге Done сигналын жібереді, содан кейін TPS73733 өшіріледі, нәтижесінде TPL5111 мен TPS73733 қуаты өте төмен болады.

Мен NO және NC қосылыстары бар қамысты қосқыштарды қолданамын. Мен NC сымын қостым, өйткені қамыс қосқышы магнитті алып тастаған кезде тізбекті жабуы керек (есік ашық) және магнит жақын болғанда (есік жабық).

Артқы есіктің сенсоры үшін кейбір тұрақсыздықтарды анықтаған кезде мен конденсаторлар мен резисторларды қостым, бірақ тұрақсыздыққа кейінірек анықталған бағдарламалық жасақтама (esp_now_init) себеп болды.

2 -қадам: Аппараттық құрал - қоршау

Аппараттық құрал - қоршау
Аппараттық құрал - қоршау
Аппараттық құрал - қоршау
Аппараттық құрал - қоршау
Аппараттық құрал - қоршау
Аппараттық құрал - қоршау

Мен қоршауды Autodesk Fusion360 -да жасадым, оны «швейцариялық акценті бар жігіт» осы бейнеден шабыттандырды.

STL файлдары үш бөліктен тұрады:

  • Қорап
  • Қақпақ
  • Магнит ұстағыш

олар менің Thingiverse бетімде жарияланады.

3 -қадам: Бағдарламалық қамтамасыз ету

Бағдарламалық қамтамасыз ету
Бағдарламалық қамтамасыз ету

Бағдарлама менің Github -те.

Бағдарламаның барысы суретте көрсетілген. ESP-NOW қалай қолданатынымды түсіндіру үшін басқа нұсқаулықты қараңыз.

Модуль қосылған кезде, ол алдымен «АШУ» хабарын ESP-NOW арқылы жіберуге тырысады. Егер бұл сәтсіз болса, ол WiFi және MQTT қосылымына ауысады.

Мен, ең болмағанда, менің қондырғымда «ЖАБЫҚ» хабарламасы ESP-NOW арқылы сәтті жіберілмегенін білдім, сондықтан мен оны бағдарламадан алып тастадым және тек WiFi мен MQTT қолданамын.

Есік ашылған кезде және модуль есіктің жабылуын күтіп тұрғанда, ол осы уақытты WiFi мен MQTT желісіне қосылу үшін пайдаланады, сондықтан есік жабылған кезде ол тек өлшенген кернеуді және ЖАБЫҚ хабарды жіберуі керек. ол тікелей ұйқыға кетеді.

Бағдарлама жабық хабарламаны қабылдағышқа дұрыс тақырып бойынша MQTT хабарламасын тыңдау арқылы қабылдайтынын тексереді.

4 -қадам: Үйді автоматтандыру және Telegram

Үйді автоматтандыру және Telegram
Үйді автоматтандыру және Telegram
Үйді автоматтандыру және Telegram
Үйді автоматтандыру және Telegram
Үйде автоматтандыру және Telegram
Үйде автоматтандыру және Telegram

Менің есік сенсорлары Raspberry Pi Zero -дағы Openhab үй автоматикасымен байланысады.

Негізгі қосымшалар:

  • Есіктің күйін оқыңыз: АШЫҚ немесе ЖАБЫҚ.
  • Есік ашылса, телеграм арқылы дабыл беріңіз (Егер дабыл қосулы болса немесе монитор функциясы қосылса).
  • Соңғы рет есік ашылғанын немесе жабылғанын оқыңыз.
  • Есік сенсоры батареяның заряды таусылмай тұрып қалатын саңылаулар санын есептеңіз.

Мысалы, егер біз демалыста болсақ және көрші өсімдіктерді суаруға келсе, маған хабарлама келеді. Кіріспедегі бейнені қараңыз.

Менің Openhab элементтері, ережелер мен сайт картасының файлдары менің Github -та. Бұл файлдарда құлыптау саңылауында кәдімгі сымды қамыс қосқышы мен 3D принтерінің кішкене түйіспесі (соңы) қосқышы пайдаланылатын сарайдың есік сенсорын көруге болады (суреттерді қараңыз).

Openhab -да Telegram әрекетін қалай қолдану керектігі осында сипатталған.

5 -қадам: жақсартулар мен одан әрі жетілдіру

Жақсартулар мен одан әрі жетілдіру
Жақсартулар мен одан әрі жетілдіру
Жақсартулар мен одан әрі жетілдіру
Жақсартулар мен одан әрі жетілдіру

Өткен айларда мен келесі жақсартуларды жасадым.

Өздігінен ауысатын импульстік сигнал арқылы есіктің ұзын тесіктерін ұстаңыз

Жаз мезгілінде біз үйде болғанда артқы есікті бірнеше сағат ашық қалдырамыз. WiFi байланысы бар ESP-01 жұмыс істеуі батареяны қажетсіз шығарады. Сондықтан мен модульді осы жағдайларда өшіру үшін қосу/өшіру қосқышын енгіздім.

Алайда, бұл кейде біржола өшірілген модульге (оны қосуды ұмытып кеткенде) және ашылған есік пен жұмыс істеп тұрған модульден кейін бірнеше сағаттан кейін батареяның таусылуына әкелді (мен оны өшіруді ұмытып кеткенде).

Мен модульді алдын ала белгіленген уақытқа (1 минут) қосқаннан кейін бағдарламалық қамтамасыз ету арқылы модульді өшіргім келді.

Есік жабылған кезде ESP-01-нің «DONE» импульсі TPL5111-ді өшіргенде, мен DELPL/M_DRV түйрегіші жоғары болған кезде TPL5111-ді «DONE» импульсі ауыстырмайтынын білдім. DELAY/M_DRV түйреуішіндегі бұл ЖОҒАРЫ сигнал ашылған есік пен батарея кернеуіне қосылған қамыс қосқышының NC түйісуінен туындаған.

Сонымен, DELAY/M_DRV түйреуішіне сигнал үздіксіз ЖОҒАРЫ болмауы керек, бірақ импульсті болуы керек. TPL5111 мәліметтер кестесінде оның импульсы> 20 мс болуы керек екенін білуге болады. Мен бұл өздігінен ауысатын сигналды P арналы мосфет, конденсатор және 10K және 300К резистор арқылы жасадым, берілген схеманы қараңыз.

Ол келесідей жұмыс істейді:

  • Егер қамыс қосқышының NC түйіспесі жабық болса, онда қақпа LOW болып табылады және Mosfet қосылады, нәтижесінде DELAY/M_DRV түйреуішінде жоғары сигнал модульді іске қосады.
  • Конденсатор тез зарядталады, нәтижесінде қақпаның кернеуі көтеріледі.
  • Шамамен 20 мс өткен соң, қақпадағы кернеу аккумулятор кернеуінің 97% құрайды (300К/(300К+10К), бұл ЖОҒАРЫ және Мосфет өшірілген, нәтижесінде DELAY/M_DRV түйреуішінде LOW белгісі пайда болады.
  • DELAY/M_DRV түйреуіші ТӨМЕН болғанда, ESP-01 DONE сигналы модульдің өшуіне әкеледі.

Бұл бағдарламалық қамтамасыз етуде жүзеге асырылады; уақытша цикл тек есіктің әлі ашылғанын ғана емес, сонымен қатар модульдің тым ұзақ қосылмауын да тексереді. Егер тым ұзақ қосылса, ол NULL мәнін жариялайды (есіктің анықталмаған күйі). Бұл жағдайда мен есіктің ашылғанын немесе жабылғанын білмеймін және кіріспеде айтылған барлық мақсаттарға қол жеткізе алмаймын, бірақ батареяның қызмет ету мерзімі маңызды және біз есікті сол күні қайтадан ашамыз, нәтижесінде бекітілген жабық күйге әкеледі. есіктің.

Мұнда қолданылатын кернеу диапазонына сәйкес келетін P-арналы Mosfet-ті қолдану маңызды. Mosfet - шамамен 3,8 В болатын VGS -те толық қосулы болуы керек - шамамен 0,0 V VGS -те толығымен өшірілуі керек. Мен бірнеше Mosfets -ті қолданып көрдім және IRLML6401TRPBF бұл мақсат үшін 10K және 300K резисторларымен жақсы жұмыс істейтінін білдім.. 1 uF конденсаторы шамамен 20 мс пульс ұзындығын алу үшін жақсы жұмыс істейді. Үлкен конденсатор импульсті ұзартады, бұл қажет емес, өйткені TPL5111 іске қосылды. Мен DSO150 осциллографын кернеулер мен импульстік ұзындықты тексеру үшін қолдандым.

Жоспарланған жақсарту: OTA жаңартуы

Мен OTA жаңартуын ішінара қолданыстағы бағдарламалық жасақтамаға енгізілген келесі процедура арқылы енгізуді жоспарлап отырмын

  • NodeRed Openhab арқылы мен «жаңарту тақырыбы» сақталған «жаңарту» хабарламасын жариялаймын.
  • Егер модуль қосылып, MQTT серверіне қосылса және «жаңарту тақырыбына» жазылса, ол жаңарту хабарын алады.
  • Жаңарту туралы хабар модульдің өшуіне жол бермейді және HTTPUpdateServer қызметін іске қосады.
  • HTTPUpdateServer веб -сайты арқылы бағдарламалық жасақтаманы жаңартуға болады.
  • NodeRed -тің Openhab арқылы мен «жаңартылған тақырып» сақталған «бос» хабарды жариялаймын.

Жоспарланған жақсарту: алдын ала белгіленген уақыттан кейін аппараттық құралдарды өшіру

Ағымдағы схемада мен TPL5111 DELAY/M_DRV мен GND арасындағы 200K резисторды қолданамын. Бұл модульді 2 сағаттан артық қосады (TPL5111 деректер кестесінің 7.5.3. Қараңыз). Бірақ мен модульді ұзақ уақыт қосқанды қаламаймын, себебі батареяның заряды таусылады. Егер бағдарламалық қамтамасыз ету шешімі (жоғарыдан қараңыз) модульді өшіре алмаса немесе жаңарту туралы хабар модульді жаңарту режиміне орнатса, модуль ұзақ уақыт бойы қосулы күйінде қалады.

Сондықтан TPL5111 DELAY/M_DRV мен GND арасында кішірек резисторды қолданған дұрыс, сондықтан модуль қысқа уақыт өткеннен кейін өшеді, мысалы 50K резисторы 7 минутқа қосылады.

Ұсынылған: