Мазмұны:

Батареямен жұмыс істейтін су коллекторының деңгей сенсоры: 7 қадам (суреттермен)
Батареямен жұмыс істейтін су коллекторының деңгей сенсоры: 7 қадам (суреттермен)

Бейне: Батареямен жұмыс істейтін су коллекторының деңгей сенсоры: 7 қадам (суреттермен)

Бейне: Батареямен жұмыс істейтін су коллекторының деңгей сенсоры: 7 қадам (суреттермен)
Бейне: 🧨 Мұнда Volvo XC90-ның барлық әлсіз жақтары мен мәселелері жинақталған. Субтитрлер! 2024, Шілде
Anonim
Батареямен жұмыс істейтін су коллекторының деңгей сенсоры
Батареямен жұмыс істейтін су коллекторының деңгей сенсоры
Батареямен жұмыс істейтін су коллекторының деңгей сенсоры
Батареямен жұмыс істейтін су коллекторының деңгей сенсоры

Біздің үйде шатырға жауған жаңбырдан қоректенетін және бакта дәретханаға, кір жуғыш машина мен суару қондырғыларына арналған су ыдысы бар. Соңғы үш жылда жаз өте құрғақ болды, сондықтан біз резервуардағы су деңгейін бақылап отырдық. Әзірге біз ағаш таяқшаны қолдандық, оны резервуарға салып, деңгейді белгіледік. Әрине, мұны жақсартуға мүмкіндік бар!

Дәл осы жерде жоба пайда болады. Идея - резервуардың жоғарғы жағына ультрадыбыстық қашықтық датчигін бекіту. Бұл сенсор дыбыс толқындарын шығаратын сонар ретінде жұмыс істейді, содан кейін олар су бетінде шағылысады. Толқындардың оралуы мен дыбыс жылдамдығының қажет болған уақытынан бастап, сіз су бетіне дейінгі қашықтықты есептеп, резервуардың толуын анықтай аласыз.

Менде резервуарға жақын жерде электр желісі жоқ болғандықтан, оның толық батареямен жұмыс жасауы маңызды. Бұл дегеніміз, мен барлық бөлшектердің электр энергиясын тұтынуы туралы білуім керек еді. Деректерді қайтару үшін мен ESP8266 микрочипінің кіріктірілген Wi-Fi желісін қолдануды шештім. Wi-Fi қуатты қажет етпесе де, оның радио байланысының басқа түрінен артықшылығы бар: сіз реле қызметін атқаратын басқа құрылғыны салмай-ақ үйдің сымсыз маршрутизаторына тікелей қосыла аласыз.

Қуатты үнемдеу үшін мен ESP8266 -ды көп жағдайда ұйықтап, сағат сайын өлшеп аламын. Су деңгейін қадағалау үшін бұл жеткілікті. Деректер ThingSpeak -ке жіберіледі, содан кейін смартфонда қосымша арқылы оқылады.

Тағы бір деталь! Қашықтықты өлшеу үшін қажет дыбыс жылдамдығы температураға, аз дәрежеде ылғалдылыққа байланысты. Жыл мезгілінде сырттан дәл өлшеу үшін біз температураны, ылғалдылық пен қысымды өлшейтін BME280 сенсорына лақтырамыз. Бұл бонус ретінде біздің су деңгейінің сенсорынан мини ауа райы станциясын жасайды.

Бөлшектер:

  • 1x ESP8266 ESP-12F.
  • 1x ESP-12F адаптер тақтасы.
  • 1x FT232RL FTDI: USB сериялық адаптер.
  • 1x HC-SR04-P: ультрадыбыстық қашықтықты өлшеу модулі. Р маңызды екенін ескеріңіз, себебі бұл 3В минималды жұмыс кернеуі бар нұсқа.
  • 1x BME280 3.3V нұсқасы: температура, қысым және ылғалдылық сенсоры.
  • 1x IRL2203N: n-арналы MOSFET транзисторы.
  • 1x MCP1700-3302E 3.3V нұсқасы: кернеу реттегіші.
  • 3x зарядталатын АА батареясы, мысалы. 2600 мАч.
  • 3 батареяға арналған 1x батарея ұстағыш.
  • 1x нан тақтасы.
  • Резисторлар: 1x 470K, 1x 100K, 4x 10K.
  • Конденсаторлар: 2х керамикалық 1uF.
  • 3x қосқыш.
  • U-тәрізді нанға арналған сымдар.
  • Өткізгіш сымдар.
  • Пластикалық сорпа ыдысы 1л.
  • Контейнерге бекітетін сақина.

Мен кодты GitHub -да қол жетімді қылдым.

1 -қадам: Ультрадыбыстық қашықтық сенсорымен танысу

Ультрадыбыстық қашықтық сенсорымен танысу
Ультрадыбыстық қашықтық сенсорымен танысу
Ультрадыбыстық қашықтық сенсорымен танысу
Ультрадыбыстық қашықтық сенсорымен танысу

Біз су бетіне дейінгі қашықтықты ультрадыбыстық сенсормен өлшейміз, HC-SR04-P. Батарея сияқты, бұл сенсор да сонарды қолданады: ол адам құлағына тым жоғары жиіліктегі дыбыстық импульсті жібереді, демек ультрадыбыстық және оның объектіге тигенін, шағылғанын және оралғанын күтеді. Қашықтықты жаңғырықты қабылдауға кететін уақыт пен дыбыс жылдамдығымен есептеуге болады.

Егер Trig түйреуіші кем дегенде 10 мкс жоғары тартылса, сенсор 40 Гц жиіліктегі 8 импульсті жібереді. Жауап Эхо түйреуішінде ультрадыбыстық импульсты жіберу мен қабылдау арасындағы уақытқа тең импульс түрінде алынады. Содан кейін біз 2-ге бөлуіміз керек, өйткені ультрадыбыстық импульс алға-артқа жүреді және бізге бір жақты жүру уақыты қажет және дыбыс жылдамдығына көбейтіледі, ол шамамен 340 м/с.

Бірақ бір минут күтіңіз! Шындығында, дыбыстың жылдамдығы температураға байланысты және аз дәрежеде ылғалдылыққа байланысты. Мен таңдаймын ба немесе бұл маңызды ма? Есептеу құралының көмегімен біз қыста (-5 ° C температурада) бізде 328,5 м/с, ал жазда (25 ° C температурада) 347,1 м/с болуы мүмкін екенін білеміз. Мәселен, біз бір бағытты 3 мс жүру уақытын табамыз делік. Қыста бұл 98,55 см, ал жазда 104,13 см. Бұл айтарлықтай айырмашылық! Жыл мезгілінде, тіпті күндіз де, түнде де жеткілікті дәлдікке қол жеткізу үшін біз термометрді қондыруға қосуымыз керек. Мен температураны, ылғалдылық пен қысымды өлшейтін BME280 қосуды шештім. Мен кодта speedOfSound функциясында дыбыс жылдамдығын барлық үш параметр бойынша есептейтін формуланы қолдандым, бірақ температура шын мәнінде ең маңызды фактор. Ылғалдылық әлі де аз әсер етеді, бірақ қысымның әсері шамалы. Біз speedOfSoundSimple -де енгізген температураны ғана ескере отырып, қарапайым формуланы қолдана аламыз.

HC-SR04 бойынша тағы бір маңызды мәселе бар. Қол жетімді екі нұсқа бар: стандартты нұсқа 5В-да жұмыс істейді, ал HC-SR04-P 3В-тан 5В-қа дейінгі кернеулер диапазонында жұмыс істей алады. 3 зарядталатын АА батареялары шамамен 3x1.25В = 3.75В болатындықтан, P-нұсқасын алу маңызды. Кейбір сатушылар қате жіберуі мүмкін. Сондықтан, егер сіз оны сатып алсаңыз, суреттерге назар аударыңыз. Бұл бетте түсіндірілгендей екі нұсқа да артқы жағынан да, алдыңғы жағынан да әр түрлі көрінеді. P-нұсқасының артқы жағында барлық үш чип көлденең, ал стандартты нұсқада бір тік. Алдыңғы жағында стандартты нұсқа қосымша күміс компоненттен тұрады.

Электрондық схемада біз транзисторды ультрадыбыстық сенсордың қуатын өшіру үшін қосқыш ретінде қолданамыз, егер біздің орнату батареяның қызмет ету мерзімін үнемдеу үшін терең ұйқыға кетсе. Әйтпесе, ол әлі де шамамен 2 мА тұтынады. BME280, керісінше, белсенді емес кезде шамамен 5 мкм ғана тұтынады, сондықтан оны транзистормен өшіру қажет емес.

2 -қадам: ESP8266 тақтасын таңдау

ESP8266 тақтасын таңдау
ESP8266 тақтасын таңдау

Сенсорды батареяда мүмкіндігінше ұзақ пайдалану үшін біз энергияны үнемдеуіміз керек. ESP8266 Wifi біздің сенсорды бұлтқа қосудың өте ыңғайлы әдісін ұсынғанымен, ол да қуатты қажет етеді. Жұмыс кезінде ESP8266 шамамен 80 мА тұтынады. 2600 мАч батареялармен біз құрылғыны бос болғанға дейін ең көбі 32 сағат жұмыс істей аламыз. Іс жүзінде бұл аз болады, өйткені біз кернеу тым төмен деңгейге дейін 2600 мАч сыйымдылығын толық пайдалана алмаймыз.

Бақытымызға орай, ESP8266-де терең ұйқы режимі бар, онда барлығы дерлік өшірілген. Сонымен, жоспар - бұл ESP8266 -ны көбінесе ұйықтап қалу және оны үнемі ояту, оны өлшеу және Wi -Fi арқылы ThingSpeak -ке жіберу. Бұл бетке сәйкес ұйқының максималды уақыты шамамен 71 минутты құрады, бірақ ESP8266 Arduino ядросы 2.4.1-ден бастап ол шамамен 3,5 сағатқа дейін өсті. Менің кодымда мен бір сағатқа тұрдым.

Мен алдымен NodeMCU-дің ыңғайлы тақтасын қолданып көрдім, бірақ ұйқысыз күйде ол әлі де 9 мА жұмсайды, бұл бізге ояну аралықтарын ескерместен 12 күн таза терең ұйқы береді. Маңызды кінәлі - бұл AMS1117 кернеу реттегіші, ол батареяны тікелей 3.3В істігіне қосу арқылы айналып өтуге тырыссаңыз да, ол қуатты пайдаланады. Бұл бет кернеу реттегіші мен USB UART -ты қалай алып тастау керектігін түсіндіреді. Дегенмен, мен тақтаны бұзбай, мұны істей алмадым. Сонымен қатар, USB UART -ты алып тастағаннан кейін, не болғанын анықтау үшін ESP8266 -ға қосыла алмайсыз.

ESP8266 даму тақталарының көпшілігі ысырапшыл AMS1117 кернеу реттегішін қолданады. Бір ерекшелігі - үнемді ME6211 бірге келетін WEMOS D1 mini (сол жақтағы сурет). Шынында да, мен WEMOS D1 mini -де терең ұйқыда шамамен 150 мкА қолданылатынын білдім, бұл оған көбірек ұқсайды. Оның көпшілігі USB UART арқасында болуы мүмкін. Бұл тақтаның көмегімен сіз түйреуіштерге арналған тақырыптарды өзіңіз дәнекерлеуіңіз керек.

Дегенмен, біз USB UART немесе кернеу реттегіші жоқ ESP-12F (оң жақтағы сурет) сияқты жалаңаш тақтаны қолдана отырып, әлдеқайда жақсы жасай аламыз. 3.3В түйреуішті беру мен ұйқыны 22 мкА шамасында таптым!

Бірақ ESP-12F-ті жұмысқа қосу үшін оны дәнекерлеуге дайындаңыз және оны программалау қиынға соғады! Егер аккумуляторлар 3В пен 3.6В арасындағы кернеуді тікелей бермесе, біз өз кернеу реттегішін беруіміз керек. Іс жүзінде, толық разряд циклінде осы диапазонда кернеуді қамтамасыз ететін батарея жүйесін табу қиын болып шығады. Есіңізде болсын, біз HC-SR04-P сенсорына қуат беруіміз керек, ол теориялық тұрғыдан 3В төмен кернеумен жұмыс істей алады, бірақ кернеу жоғары болса дәлірек жұмыс істейді. Сонымен қатар, менің диаграммада HC-SR04-P транзистормен қосылады, бұл шамалы қосымша кернеудің төмендеуіне әкеледі. Біз MCP1700-3302E кернеу реттегішін қолданамыз. Максималды кіріс кернеуі 6В, сондықтан біз оны 4 АА батареяға дейін жеткіземіз. Мен 3 АА батареясын қолдануды шештім.

3 -қадам: ThingSpeak арнасын жасаңыз

Біз деректерімізді сақтау үшін IoT бұлтты қызметі ThingSpeak қолданамыз. Https://thingspeak.com/ сайтына өтіп, тіркелгі жасаңыз. Жүйеге кіргеннен кейін канал құру үшін Жаңа арна түймесін басыңыз. Арна параметрлерінде атау мен сипаттаманы өзіңіз қалағандай толтырыңыз. Содан кейін біз арнаның өрістерін атаймыз және оларды оң жақтағы құсбелгілерді басу арқылы белсендіреміз. Егер сіз менің кодты өзгеріссіз қолдансаңыз, өрістер келесідей:

  • 1 -өріс: су деңгейі (см)
  • 2 -өріс: батарея деңгейі (V)
  • 3 -өріс: температура (° C)
  • 4 -өріс: ылғалдылық (%)
  • 5 -өріс: қысым (Па)

Келешекте анықтама алу үшін API кілттерінің мәзірінен табуға болатын Channel ID, Read API кілтін және API API кілтін жазыңыз.

Қолданбаның көмегімен смартфондағы ThingSpeak деректерін оқи аласыз. Менің Android телефонымда IoT ThingSpeak Monitor виджетін қолданамын. Сіз оны Channel ID және Read API кілті арқылы конфигурациялауыңыз керек.

4-қадам: ESP-12F қалай бағдарламалау керек

ESP-12F қалай бағдарламалауға болады
ESP-12F қалай бағдарламалауға болады
ESP-12F қалай бағдарламалауға болады
ESP-12F қалай бағдарламалауға болады

Батареяның қызмет ету мерзімін үнемдеу үшін бізге жалаңаш тақта қажет, бірақ оның минусы-кіріктірілген USB UART бар даму тақтасына қарағанда бағдарламалау біршама қиын.

Біз Arduino IDE қолданамыз. Оны қалай қолдану керектігін түсіндіретін басқа нұсқаулықтар бар, сондықтан мен мұнда қысқаша боламын. ESP8266 -ға дайын болу үшін келесі қадамдар қажет:

  • Arduino IDE жүктеп алыңыз.
  • ESP8266 тақтасына қолдау орнатыңыз. Файл - Параметрлер - Параметрлер мәзірінде https://arduino.esp8266.com/stable/package_esp8266com_index.json URL мекенжайын қосымша тақта менеджерінің URL мекенжайларына қосыңыз. Келесі мәзірде Құралдар - тақта - тақта менеджері esp8266 қауымдастығы арқылы esp8266 орнатады.
  • Борт ретінде таңдаңыз: Жалпы ESP8266 модулі.

ESP-12F өңдеу үшін мен әдетте интернет-дүкендерде сатылатын адаптер тақтасын қолдандым. Мен чипті пластинаға дәнекерледім, содан кейін үстіңгі тақтайларды пластинаға дәнекерледім. Тек содан кейін мен адаптер тақтасының стандартты тақтаға тым кең екенін білдім! Байланыс орнату үшін бүйір жағында бос түйреуіштер қалмайды.

Мен таңдаған шешім-U-тәрізді сымдарды қолданып, оларды ESP8266 тақтасына адаптер тақтасына салмас бұрын оларды оң жақтағы суреттегідей жалғау. Осылайша, GND және VCC нан тақтасының рельстеріне қосылады, ал қалған түйреуіштер одан әрі тақтаға шығарылады. Кемшілігі - сіз толық тізбекті аяқтағаннан кейін сіздің тақтаңыз сымға толып кетеді. Тағы бір шешім - бұл бейнеде көрсетілгендей екі тақтаны бір -біріне орналастыру.

Әрі қарай, компьютердің USB-порты арқылы ESP-12F бағдарламалау үшін бізге USB-ден сериялық адаптер қажет. Мен FT232RL FTDI бағдарламашысын қолдандым. Бағдарламашыда 3,3В немесе 5В арасында таңдау үшін секіргіш бар. Ол ESP8266 үшін 3.3В кернеуге қойылуы керек. Мұны ұмытпаңыз, себебі 5В сіздің чипті қуыруы мүмкін! Драйверлерді орнату автоматты түрде болуы керек, бірақ егер бағдарламалау жұмыс істемесе, оларды осы беттен қолмен орнатуға тырысуға болады.

ESP8266 -де флэшке жаңа микробағдарламаны жүктеу үшін бағдарламалау режимі және флэш -жадтан ағымдағы микробағдарламаны іске қосу үшін жарқыл режимі бар. Осы режимдердің арасында таңдау үшін кейбір түйреуіштер жүктеу кезінде белгілі бір мәнге ие болуы керек:

  • Бағдарламалау: GPIO0: төмен, CH-PD: жоғары, GPIO2: жоғары, GPIO15: төмен
  • Жарқыл: GPIO0: жоғары, CH-PD: жоғары, GPIO2: жоғары, GPIO15: төмен

Адаптер пластинасы CH-PD көтеруге және 10K резисторы бар GPIO15 түсіруге қамқорлық жасайды.

Сонымен, біздің электронды схемада біз GPIO2-ды әлі де тартып алуымыз керек. Біз сондай -ақ ESP8266 -ны бағдарламалауға немесе жарқыл режиміне қоюға арналған қосқышты және оны қалпына келтіруге арналған қосқышты береміз, ол RST -ты жерге қосу арқылы жүзеге асады. Әрі қарай, FT232RL TX істікшесін ESP8266 RXD істігіне қосқаныңызға көз жеткізіңіз және керісінше.

Бағдарламалау реті келесідей:

  • Бағдарламалау коммутаторын жабу арқылы GPIO2 параметрін төменге қойыңыз.
  • ESP8266 қалпына келтіру қосқышын жабу және қайта ашу арқылы қалпына келтіріңіз. ESP8266 енді бағдарламалау режимінде жүктеледі.
  • Бағдарламалау қосқышын ашу арқылы GPIO2 параметрін жоғары деңгейге қойыңыз.
  • Жаңа микробағдарламаны Arduino IDE -ден жүктеңіз.
  • Қалпына келтіру қосқышын жабу және қайта ашу арқылы ESP8266 қалпына келтіріңіз. ESP8266 енді флэш режимінде жүктеледі және жаңа микробағдарламаны іске қосады.

Енді сіз әйгілі Blink эскизін жүктеу арқылы бағдарламалаудың жұмыс істейтінін тексере аласыз.

Егер мұның бәрі кем дегенде GND, VCC, GPIO2, RST, TXD және RXD түйреуіштері дұрыс дәнекерленген және қосылған болса. Қандай жеңілдік! Бірақ жалғастырмас бұрын мен басқа түйреуіштерді мультиметрмен тексеруді ұсынар едім. Менде түйреуіштердің бірімен проблема болды. Сіз бұл түйреуішті қолдана аласыз, ол барлық түйреуіштерді бір уақытта 5 секундқа жоғары қояды, содан кейін ESP8266 20 секундқа терең ұйқыға кетеді. ESP8266 -ны ұйқыдан кейін ояту үшін RST -ты GPIO16 -ға қосу керек, ол ояту сигналын береді.

5 -қадам: Эскизді жүктеу

Мен кодты GitHub-да қол жетімді қылдым, бұл тек бір файл: Level-Sensor-Deepsleep.ino. Оны жүктеп алып, Arduino IDE -де ашыңыз. Немесе Файл - Жаңа тармағын таңдап, кодты көшіріп қоюға болады.

Файлдың басында толтыру қажет кейбір ақпарат бар: WLAN желісінің атауы мен құпия сөзі, статикалық IP мәліметтері және ThingSpeak арнасының Channel ID және Write API кілті.

Бұл блогтағы кеңестен кейін, маршрутизатор IP динамикалық түрде тағайындайтын DHCP орнына біз статикалық IP қолданамыз, онда біз ESP8266 IP мекенжайын өзіміз орнатамыз. Бұл әлдеқайда жылдам болып шығады, сондықтан біз белсенді уақытты үнемдейміз, осылайша батарея қуатын үнемдейміз. Сондықтан біз қол жетімді статикалық IP мекенжайын, сонымен қатар маршрутизатордың IP (шлюз), ішкі желі маскасы мен DNS серверін беруіміз керек. Егер сіз нені толтыру керектігін білмесеңіз, маршрутизатордың нұсқаулығынан статикалық IP орнату туралы оқыңыз. Wifi арқылы маршрутизаторға қосылған Windows компьютерінде қабықты іске қосыңыз (Windows түймесі-r, cmd) және ipconfig /all енгізіңіз. Сізге қажет ақпараттың көп бөлігін Wi-Fi бөлімінен таба аласыз.

Кодты зерттей отырып, басқа Arduino кодынан айырмашылығы, көптеген әрекеттер цикл функциясының орнына орнату функциясында болатынын көресіз. Бұл ESP8266 орнату функциясын аяқтағаннан кейін терең ұйқыға кетеді (егер біз OTA режимінде бастамасақ). Ол оянғаннан кейін, бұл қайта жүктеу сияқты және ол қайтадан орнатуды бастайды.

Міне кодтың негізгі ерекшеліктері:

  • Оянғаннан кейін код switchPin (әдепкі GPIO15) мәнін жоғары деңгейге қояды. Бұл транзисторды қосады, ол HC-SR04-P сенсорын қосады. Ұйықтауға дейін ол түйреуішті төмен деңгейге қояды, транзистор мен HC-SR04-P сөндіреді, бұл оның қымбат батарея қуатын тұтынмайтындығына көз жеткізеді.
  • Егер modePIN (әдепкі GPIO14) төмен болса, код өлшеу режимінің орнына OTA режиміне өтеді. OTA (эфирлік жаңарту) көмегімен біз микробағдарламаны сериялық порттың орнына Wifi арқылы жаңарта аламыз. Біздің жағдайда бұл өте ыңғайлы, себебі одан әрі жаңарту үшін серияны USB адаптеріне қосудың қажеті жоқ. GPIO14 -ті төменге қойыңыз (электронды тізбектегі OTA қосқышы бар), ESP8266 -ны қалпына келтіріңіз (қалпына келтіру қосқышымен) және ол Arduino IDE -де жүктеу үшін қол жетімді болуы керек.
  • Аналогтық PIN (A0) бойынша біз батареяның кернеуін өлшейміз. Бұл батареяны шамадан тыс разрядтан қорғау үшін кернеу минималды кернеуден төмен болса, құрылғыны өшіруге мүмкіндік береді. Аналогтық өлшеу өте дәл емес, біз numMeasuresBattery (әдепкі 10) шараларын жасаймыз және дәлдікті жақсарту үшін орташа мәнді аламыз.
  • HC-SR04-P сенсорының қашықтығын өлшеу қашықтықтың өлшеу функциясында орындалады. Дәлдікті жақсарту үшін өлшеу numMeasuresDistance (әдепкі 3) рет қайталанады.
  • BME280 сенсорының көмегімен температураны, ылғалдылықты және қысымды өлшейтін жылдамдықты есептеудің функциясы бар. BME280 әдепкі I2C мекенжайы - 0x76, бірақ егер ол жұмыс істемесе, оны 0x77 етіп өзгерту қажет болуы мүмкін: bool bme280Started = bme280.begin (0x77);
  • Біз BME280 -ді мәжбүрлі режимде қолданамыз, яғни қуатты үнемдеу үшін бір өлшеуді алып, ұйқыға кетеді.
  • Егер сіз сыйымдылықты (l), fullDistance (см) және ауданды (м2) орнатсаңыз, код су ыдысының қалған көлемін қашықтықты өлшеу арқылы есептейді: екі есе қалғанVolume = сыйымдылық+10,0*(fullDistance-dististance)*алаңы; және оны ThingSpeak -ке жүктеңіз. Егер сіз әдепкі мәндерді сақтасаңыз, ол су бетіне дейінгі қашықтықты см -ге жүктейді.

6 -қадам: Электрондық схеманы құру

Электрондық схеманы құру
Электрондық схеманы құру

Жоғарыда электронды схеманың диаграммасы көрсетілген. Бұл бір нан тақтасы үшін өте үлкен, әсіресе үлкен өлшемді адаптер пластинасы мен U-тәрізді сымдармен жұмыс. Бір сәтте мен екі тақтаны қосудың баламасын қолданғанымды қалаймын, бірақ соңында мен қол жеткіздім.

Міне, тізбектің маңызды ерекшеліктері:

  • Роль атқаратын екі кернеу бар: аккумулятордан кіріс кернеуі (шамамен 3,75В) және ESP8266 мен BME280 қоректендіретін 3,3В. Мен 3.3В кернеуді ажырату тақтасының сол жақ рельсіне, ал 3.75В оң жақ рельске қойдым. Кернеу реттегіші 3,75 В -ты 3,3 В -қа түрлендіреді. Мәліметтер кестесіндегі нұсқауларды орындап, тұрақтылықты арттыру үшін кернеу реттегішінің кірісі мен шығысына 1 мкФ конденсаторды қостым.
  • ESP8266 GPIO15 транзистордың қақпасына қосылған. Бұл ESP8266 -ға транзисторды қосуға мүмкіндік береді, осылайша ультрадыбыстық сенсор белсенді күйде болғанда және оны қатты ұйқы кезінде өшіреді.
  • GPIO14 коммутаторға, OTA қосқышына қосылған. Коммутаторды жабу ESP8266 сигналын береді, содан кейін біз OTA режимінде бастағымыз келеді, яғни біз RESET қосқышын басқаннан кейін (жабамыз және ашамыз) және жаңа эскизді эфирге жүктейміз.
  • RST және GPIO2 түйреуіштері бағдарламалау диаграммасындағыдай қосылады. Енді RST түйрегіші GPIO16 -ға қосылған, бұл ESP8266 -ға терең ұйқыдан оянуға мүмкіндік береді.
  • Ультрадыбыстық сенсордың TRIG және ECHO түйреуіштері GPIO12 мен GPIO13 -ке, ал BME280 -дің SCL және SDA түйреуіштері GPIO5 және GPIO4 -ке қосылған.
  • Ақырында, ADC аналогтық түйіні кіріс кернеуіне қосылған кернеу бөлгіш арқылы жүзеге асады. Бұл батареялардың зарядталуын тексеру үшін кіріс кернеуін өлшеуге мүмкіндік береді. ADC түйреуіші 0В пен 1В арасындағы кернеуді өлшей алады. Кернеуді бөлу үшін біз 100К және 470К резисторларды таңдадық. Бұл ADC түйреуішіндегі кернеуді V_ADC = 100K/(100K+470K) V_in арқылы беретінін білдіреді. V_ADC = 1V қабылдай отырып, біз кіріс кернеулерін V_in = 570/100 V_ADC = 5,7В дейін өлшей аламыз дегенді білдіреді. Қуат тұтынуға келетін болсақ, кернеу бөлгіштен біршама ток ағып кетеді. Батареялардан V_in = 3,75В болғанда I_leak = 3,75V/570K = 6,6 мкА табамыз.

Тізбек батареядан жұмыс істеп тұрған кезде де, USB -ді сериялық адаптерге қосуға болады. Тек адаптердің VCC желісін ажыратып, GND, RX және TX бағдарламаларын схемадағыдай қосыңыз. Бұл Arduino IDE жүйесінде сериялық мониторды ашып, отладтау туралы хабарламаларды оқуға және бәрі күткендей жұмыс істейтініне көз жеткізуге мүмкіндік береді.

Толық тізбек үшін мен батареялардан жұмыс істегенде терең ұйқыда 50 мкА ток шығынын өлшедім. Бұған ESP8266, BME280, ультрадыбыстық сенсор (транзистормен өшірілген) және кернеу бөлгіштен ағу және мүмкін басқа ағып кетулер жатады. Сондықтан бұл өте жаман емес!

Мен жалпы белсенді уақыт шамамен 7 секунд екенін анықтадым, оның ішінде Wifi -ге қосылу үшін 4,25 секунд және ThingSpeak -ке деректерді жіберу үшін 1,25 секунд. Осылайша, 80мА белсенді токпен мен белсенді уақыт үшін сағатына 160 мкАч таптым. Ұйықтау режимі үшін сағатына 50 мкАч қосқанда сағатына 210 мкАч болады. Бұл 2600 мАч батареялар теориялық тұрғыдан 12400 сағат = 515 тәулікке созылады дегенді білдіреді. Бұл абсолюттік максимум, егер біз батареялардың толық қуатын қолдана алатын болсақ (олай емес) және мен ағымдағы өлшеулерде таппаған ағып кетулер болмаса. Сондықтан мен бұл шынымен де мүмкін екенін көре алмаймын.

7 -қадам: сенсорды аяқтау

Сенсорды аяқтау
Сенсорды аяқтау
Сенсорды аяқтау
Сенсорды аяқтау
Сенсорды аяқтау
Сенсорды аяқтау

Мен сенсорды сорпасы бар 1 литрлік пластикалық контейнерге қойдым. Төменгі жағында мен HC-SR04-P сенсорының «көзіне» сәйкес келетін екі тесік жасадым. Саңылаулардан басқа контейнер су өткізбейтін болуы керек. Содан кейін ол су ыдысының қабырғасына дөңгелек сақинамен бекітіледі, ол әдетте жаңбыр суын төгетін құбыр үшін қолданылады.

Жобамен көңілді болыңыз!

Ұсынылған: