21

Уличный датчик температуры и влажности

По сути, это должен быть не первый пост, потому что описываемый датчик полностью несамостоятельный и без базы от него нет пользы. Это не урок или статья "сделай сам", это просто описание моего датчика, вдруг, кого то вдохновит и/или поможет.
База представляет собой микроконтроллер esp32, со всякими датчиками и радиоприёмником на частоте 433мГц. О ней, может быть, как-нибудь в следующий раз, или нет, хз.

Решил значит я замутить себе метеостанцию, дабы в любой момент, со смартфона видеть актуальную температуру, да и вообще, набирать статистику. Под рукой была nodemcu v3 на базе микроконтроллера esp8266.

Уличный датчик температуры и влажности Arduino, Esp8266, Метеостанция, Самоделки, Длиннопост

nodemcu v3

Первая проблема, это питание. Я выбрал батарейки типа AA. На батарейках пишут 1.5В, но это не типа среднее напряжение или как там правильно, новая батарейка без проблем может выдавать 1.6 и чуть больше. 2 батарейки могут выдать 1.6*2=3.2, что допустимо для esp8266, но это пик, а я планирую высаживать батарейки по максимуму т.е. до 1В и ниже, а это уже 2В и ниже. Минимальное напряжение esp8266 2.5В(согласно датащиту https://www.espressif.com/sites/default/files/documentation/...). Плюс, я живу в Сибири и у нас бывают морозы, значит, напряжение надо бы повыше, с запасом.

3 батарейки AA это максимум 1.6*3=4.8, можно округлить до 5В. Для esp8266 5В это много, но в nodemcu v3 есть стабилизатор ams1117, который позволяет подавать до 15В, а на выходе у него те самые 3.3В. Но, не всё так гладко, т.к. у этого стабилизатора ток потребления 5 мА, а это значит, даже если вообще исключить потребитель, стабилизатор всё равно будет кушать 5мА. Согласно batterytest.ru, у батарейки GP Super ёмкость 2451, а это значит, её хватит всего на 2451/5=490,2ч или 20 дней при условие, что в цепи один лишь стабилизатор.

Я выпаял стабилизатор ams1117 и использовал MCP1700-3302E. У MCP1700-3302E ток потребления всего 1.6мкА, хотя, в комментариях, на али писали, что стабилизатор подделка и его потребление выше, но честно, я не замерял, решил довериться. Его максимальное, входное напряжение 6В, но это всё ещё выше 5В. Падение напряжения так же низкое, это я уже замерял, и даже при входе менее 3В, на выходе было лишь на несколько десятых ниже входа, а это значит, что 3 разряженные батарейки смогут выдать 1*3=3В, что будет хватать для питания esp8266.

Уличный датчик температуры и влажности Arduino, Esp8266, Метеостанция, Самоделки, Длиннопост

Вот тут https://itooktheredpill.irgendwo.org/2017/reducing-nodemcu-p... ещё предлагают отключить чип CH340, но я не стал этого делать, т.к. не настолько виртуозно владею паяльником и боялся сломать чип, а на тот момент, обойтись без него не мог.

Далее, была другая проблема, даже если не использовать wi-fi, при включение esp8266 инициализирует его, из за чего краткосрочно вырастает потребление, а экономить надо каждый мАч. Решение нашлось в примере LowPowerDemo, где в readme есть ссылка на https://github.com/esp8266/Arduino/issues/6642#issuecomment-... таким образом, можно отключить wi-fi с контроллер сразу будет загружаться в режиме модемного сна.

Если нет wi-fi, то как передавать данные? С помощью 433мГц и передатчика SYN115. Изначально, я просто подключил его на gpio 14. Но оказалось, что в глубоком сне esp8266 не сохраняет состояние пинов, т.е. даже если я даю команду LOW, 14 пин все равно станет HIGH, когда esp8266 уйдёт в deep sleep. Таким образом, SYN115 не только не перестаёт работать и засоряет эфир(моя китайская метеостанция, теряла связь со своим датчиком, в этот момент), но у нас так же повышенное потребление.

Уличный датчик температуры и влажности Arduino, Esp8266, Метеостанция, Самоделки, Длиннопост

Есть вот такая интересная пикча, на ней видно, что gpio 15, единственный пин, который должен быть притянут к земле, чтобы esp8266 нормально запустилась. По логике, раз там должен быть низкий уровень для старта, значит и в глубоком сне, там будет сохраняться низкий уровень. Я точно не помню, с SYN115 или с другим передатчиком, но ESP8266 отказывалась запускаться, будто я подаю на 15 пин высокий уровень. Так, я решил использовать mosfet 2N7000, его управление на GPIO 15, SYN115 на GPIO 14, таким образом, неважно, какое состояние gpio 14, если gpio 15 LOW.

Датчик температуры и влажности, я решил использовать AHT20, хотя, обычно, в инструкциях про метеостанции, этот датчик не упоминается. Работает по i2c, потребление от 250-980мкА. Можно было, его тоже посадить на тот же mosfet, что и SYN115, но мне было лень.

Всё это запихал в корпус с ali, верхние отверстия заклеил, по боком насверлил отверстий. Чтобы избежать попадания влаги внутрь, сделал небольшие крылья, вырезанные из пластиковой бутылки. Испытания весной прошли успешно, какой бы дождь не лил, а ветер не дул, всё продолжало работать.

Уличный датчик температуры и влажности Arduino, Esp8266, Метеостанция, Самоделки, Длиннопост

корпус

Самого фото датчика у меня нет, он на балконе, вскрывать и фотать влом, но я нарисовал схему.

Уличный датчик температуры и влажности Arduino, Esp8266, Метеостанция, Самоделки, Длиннопост

От 2 батареек к аналоговому пину А0 провод подключён для контроля заряда батареи.

Теперь об реальном опыте, а он есть.

Несколько дней назад, у нас были морозы, показатель датчика немного завышали, относительно прогноза из интернета, примерно на +1градус. Хотя, смотря какому прогнозу верить, ведь если я смотрю в 4 источниках(яндекс,гисметео,пр5,yr.no), то вижу несколько отличающиеся цифры.

Вот такие данные получены моим датчиком.

Уличный датчик температуры и влажности Arduino, Esp8266, Метеостанция, Самоделки, Длиннопост

усреднённые по времени суток данные

Уличный датчик температуры и влажности Arduino, Esp8266, Метеостанция, Самоделки, Длиннопост

суточный график

Результаты меня порадовали, датчик не замёрз, батарейки выжили. Специально для зимы, покупал в dns батарейки Nanfu AA, т.к. согласно тестам https://batterytest.ru/1120 очень даже ничего.

Уличный датчик температуры и влажности Arduino, Esp8266, Метеостанция, Самоделки, Длиннопост

У меня нет данных, сколько может проработать датчик от батареек, т.к. я впервые занимаюсь всем этим, и делал много ошибок, прежде чем прийти к описанному выше, батарейки высаживались достаточно активно. Первые батарейки проработали с 26.05 по 3.07 и напряжение 2 батареек было 1.98В, следовательно, каждая разрядилась, примерно до 1.98/2=0.99В. Потом были поставлены батарейки под брендом КОСМОС, но я их поменял на Nanfu AA т.к. боялся, что всю зиму те не проживут. КОСМОС проработали с 3.07 по 18.11 и 2 батарейки выдавали 2.44В т.е. батарейки ещё, вполне, были живы.

Вообще, метеостанция, это первое что я делал на esp, ранее, у меня не было опыта как с esp, так и с arduino, да вообще с микроконтроллерами, точно так же, как и не держал ранее паяльник в руках. Это я к тому, что если, вдруг, вдохновитесь, не бойтесь пробовать. У меня был только небольшой опыт в программирование, поэтому, я писал скетч сам, как хотелось, но библиотеки, конечно же, брал готовые. Но и без опыта программирования, в интернете куча готового кода, собирай, заливай и радуйся.

Спасибо всем, кто дочитал :)

Автор поста оценил этот комментарий

Выросло поколение не умеющее рисовать принципиальные схемы но считающее себя дохуя умными. Печалька.

раскрыть ветку (1)
3
Автор поста оценил этот комментарий

Кто ещё тут дохуя умный. Какой то хуй горы доебался, что ради него не старались. Ты серьезно считаешь, что я должен быть вникать в то, как рисовать схемы, чтобы что?

И самое интересное, в конце явно написано, что вообще едал впервые и не профессионал нихуя, но опять же, хуй с горы доебался, так ещё и читать неумеет что написано.

Повторюсь, не нравится не читай. Это лишь личный опыт, не инструкция, не урок, и да, это так же явно указанно в самом начале.

показать ответы
Автор поста оценил этот комментарий

Ты выложил это говно и думаешь что тебе поклоны будут бить?  Если уж что то выкладываешь потрудись сделать это хорошо. А если не хочешь этого делать буть готов хуев панамку получить. Нормальную схему нарисовать недолго. Но нахуй нужно, лучше написать, что я нихуя не умею и это личный опыт. Так делают только профаны и лентяи.

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

аналогично, ты доебался, получай посылаете нахуй, за твоей очень важное мнение.

показать ответы
Автор поста оценил этот комментарий

Надеюсь ты клавиши носом давишь )))))

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

надейся дальше

показать ответы
Автор поста оценил этот комментарий

Ты меня не можешь задеть в принципе.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Я знаю как тебя задеть, но ради этого мне лень рисовать ещё одну схему :D

показать ответы
Автор поста оценил этот комментарий

Пичот я смотрю у тебя. Учись схемы рисовать поцанчик.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Не, спасибо. Я бы такую схему прочитал с легкостью, любой, кому надо, прочитает и не запнется. Всё, этого достаточно.

показать ответы
Автор поста оценил этот комментарий

За такие принципиальные схемы надо руки вырывать и запихивать их в жопу.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Не нравится, не смотри

показать ответы
1
Автор поста оценил этот комментарий

Микросхема MCP1700 - линейный стабилизатор, она не очень эффективна для питания от батареек - все "лишнее" напряжение такие стабилизаторы переводят в тепло.

Возможно, есть смысл поэкспериментировать с таким DC-DC преобразователем: https://habr.com/ru/companies/ruvds/articles/590397/

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

благодарю, почитаю и может быть, попробую