Проблемы/сомнения по построенной мной метеостанции Arduino Nano WiFi на батарейках

Я почти закончил свой первый проект Arduino, и я понимаю, что, возможно, немного перестарался: я веб-программист, у меня есть очень базовые знания в области электроники, и я начал возиться с Arduino всего за пару простые, похожие на учебник небольшие схемы.

Затем я начал разрабатывать этот проект метеостанции с батарейным питанием, которая отправляет данные датчиков через WiFi на мой сервер. Мне удалось получить работающий продукт, но я сталкиваюсь с проблемами, которые начинают казаться более серьезными, они изначально казались.

Рабочий процесс (см. схемы):

На контакт +5 В Arduino Nano (на самом деле дешевый китайский клон) я поставил AMS1117, чтобы стабилизировать напряжение до 3,3 В (3,3 Выход V ArduinoNano был недостаточно мощным), и оттуда я питаю несколько модулей; DS3232 пробуждает Arduino (вывод 2) при переходе в режим глубокого сна (каждые 30 минут); проснувшись, я прочитал данные с DHT11 (влажность), BMP085 (давление), DS18B20 (температура) и FC -37 (дождь), я подключаюсь к своему Wi-Fi с помощью ESP-01, отправляю данные на свой сервер и возвращаю Arduino в спящий режим до следующего цикла.

Все работало на макетной плате, работало после сборки схемы на перфорированной плате; черт возьми, это работало даже при подключении к моему источнику питания, что-то похожее на этот проект: https://www.arduinolab.net/solar-li-ion -зарядное-и-блок-питания-для-arduino/

Изображение взято с вышеуказанного сайта Вместо этого у меня батарея 3,7 В 2500 мА, но все компоненты почти одинаковы, и я использую обычный USB-кабель типа B для подключения к моему Arduino Nano

Но через час или около того он перестал работать. Я проверил еще раз, подключив Arduino к компьютеру, и он оказался в порядке, но при подключении к аккумулятору все заработало (все светодиоды горят!), но ESP не работал. не передает (никогда не видел мигающий синий светодиод).

Поэтому я начал читать и подумал, что это может быть проблема слишком большого тока, который требуется, и батареи больше не хватает после того, как она попала под определенное напряжение (хотя я все еще измерял 3,80 В на клеммах батареи. .)...

Вот что я думаю:

  1. чтобы вырезать/удалить светодиоды со всех модулей (dht, rtc, fc-37 их два!, AMS1117) для экономии энергии (это 5 светодиодов + светодиод питания arduino). Это безопасно? Будут ли они по-прежнему работать с прерванной схемой светодиодов?
  2. подключил мой источник питания напрямую к Vin+ AMS1117, вместо того, чтобы использовать контакт выход +5 В Arduino (но я читал, что он может безопасно передавать 500 мА, что является пределом для питания USB в во всяком случае, так что это не должно быть проблемой...)
  3. для «долгосрочной перспективы» используйте транзистор для включения датчиков, когда Arduino пробуждается, а в остальное время держите их выключенными, чтобы сэкономить заряд батареи, если ничего другого… Но я действительно не знаю, как это сделать. Для начала я подумал о транзисторе NPN (у меня есть PN222A) с базой на Arduino (через резистор 1 кОм), коллектором на +5 В и эмиттером на AMS1117 Vin+, это разумно?
  4. увеличить выходную мощность? но как? источник питания пропускает 5В 600мА через регулируемый DC-DC усилитель, по идее должно быть идеально... Как понять подходит ли он мне?
  5. Откажитесь от ESP01 в пользу NRF24L01 (у меня уже есть несколько таких, но любое другое предложение приветствуется)... но это потребует новой настройки, нового кодирования (никогда не использовавшегося эти модули), «приемник», который затем отправляет на Wi-Fi, и, кстати, я не знаю, может ли сигнал пройти с балкона (где я планирую поставить метеостанцию) внутрь дома (я думаю, что он будет , как и WiFi - по крайней мере, я так думаю)

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

Я не прикрепляю свой код, потому что не думаю, что это необходимо. Я использую спящий режим SLEEP_MODE_PWR_DOWN из библиотеки avr/sleep.h, кроме того, что он и так работает нормально.

Может ли кто-нибудь подсказать или подсказать, как проанализировать мою проблему? Я на правильном пути или мои рассуждения неверны?

Спасибо за любую помощь, которую вы могли бы предоставить, если вам нужна дополнительная информация, я сделаю все возможное (хотя в свое время, как я уже сказал, у меня не так много времени, чтобы работать над этим... если бы я мог собрать 1 или 2 часа в неделю это было бы мечтой!)

, 👍0


1 ответ


Лучший ответ:

3

Вы тратите много энергии в своей системе. Вы должны быть намного эффективнее при работе от батареи.

  1. Не повышайте напряжение аккумулятора до 5 В. Вместо этого используйте систему, полностью работающую от напряжения 3,3 В.
  2. Никогда не используйте линейный стабилизатор напряжения, такой как AMS1117, так как он просто тратит энергию в виде тепла. Вместо этого используйте переключающий «понижающий» регулятор.
  3. Отключение модулей, когда они не используются, — очень хорошая идея. Спящий режим Arduino лишь экономит часть энергии — все модули по-прежнему будут потреблять энергию.

Я бы предположил, что идеальным способом продвижения вперед будет:

  1. Полностью удалите Arduino из схемы
  2. Замените ESP-01 на модуль ESP8266 с большим количеством контактов или, что еще лучше, на модуль ESP32.
  3. Подключите все датчики (опционально с P-канальными МОП-транзисторами для управления подачей на них 3,3 В) напрямую к ESP32.
  4. Отключите повышающее напряжение 5 В от источника питания.
  5. Подключите источник питания через импульсный стабилизатор 3,3 В для питания всей схемы.
,

Я знал, что делаю что-то не так с управлением питанием; вы знаете, если вы посмотрите на многие популярные веб-сайты «создателей», вы часто найдете такие решения, которые хороши для многих проектов, но когда они начинают кусаться, они делают это сильно. Мне нравится ваше предложение использовать модуль ESP, я думаю, что для этого я рассмотрю ESP8266 (кажется, ESP32 слишком много для моего проекта). Что касается 3), можете ли вы указать некоторые ресурсы для примеров или какое-либо название компонента? (чтобы я мог купить нужные детали. То же самое для 5, чтобы я не купил неправильный регулятор). Большое спасибо, отличный ответ, @Damien Pirsy

Подойдет любой P-канальный MOSFET с пороговым напряжением от 0 до -2 В. Вам не нужно много текущей пропускной способности. Я обычно работаю с устройствами SOT-23 для поверхностного монтажа, поэтому любой номер детали, который у меня есть, вероятно, вам не подойдет., @Majenko

Что касается стабилизатора, на eBay легко доступны регулируемые модули на основе LM2596 (не забудьте правильно отрегулировать напряжение ;)) - но опять же, любые номера деталей, которые я использую, вероятно, вам не подойдут, поскольку они будут небольшими для поверхностного монтажа. ., @Majenko

Думаю, последую вашим советам и посмотрю модули ESP8266. NodeMCU, Weimos D1, какой-нибудь любимый? В любом случае, большое спасибо за ответ!, @Damien Pirsy

Если вы замените Arduino на ESP32, не используйте плату разработки ESP32, используйте модуль! Все макетные платы по-прежнему потребляют много энергии даже в глубоком сне. Проверьте YouTube Andreas Spiess - https://www.youtube.com/watch?v=3O_vrKAmshA (я удалил свой предыдущий комментарий с неправильным именем), @Edgar