Официальный сайт компании Arduino по адресу arduino.cc
Энергосбережение автономная работа Atmega328P
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Есть задача сделать автономный датчик от батарейки без подзарядки.
Рабочий режим Atmega328 - около 7mA.
Режим сна, через LowPower - 2mA.
Диод питания ест 1mA, выпаял диод.
Удалось добиться 0.7mA. Еще писали, что потребляет стабилизатор. Выпаял его. Атмега вообще работать перестала. Подключился к контактам, где был этот стабилизатор. Его уже нет, а потребление всё равно 0.7mA. Подумал, что на этой плате меньше не выйдет.
Купил Arduino328P U (DIP корпус). Рабочи режим - 5mA. Sleep Mode - 1.7mA... Откуда?!
Как люди добиваются с этим контроллером микроамперов?
У меня остались два последних варианта:
- поискать какой-то другой режим LowPower. Я использовал тот, что по умолчанию (idle);
- поискать другой амперметр, но сомневаюсь, что дело в нём. Я несколькими месяцами ранее уже так мучался с ESP32. Никак не мог меньше 10mA получить. Извлечение диода индикации питания тоже, еле на 0.8mA дело улучшило и всё (до 9.2mA). Потом вычитал, что на DEV Kit плате меньше и не получить.
Но сейчас уже голый контроллер использую. Вообще без всяких плат. А дело никак не продвинулось.
Как в вас получается получать микроамперы в режиме сна?
выложите схему, как вы питаете контроллер
И скетч перехода в режим сна.
Схема типичная: +3.3V на VCC Arduino, минус на GND. В разрыв любого из клем помещается амперметр.
Скетч я вчера пробовал такой:
И напомню, что он при засыпании потребляет 0,7-1,5мА (это без светодиодов и без стабилизаторов).
Но пока вам вчера писал, понял свою ошибку и сегодня использовал так:
Кто будет читать и не в курсе, это пример библиотеки: https://github.com/rocketscream/Low-Power/blob/master/Examples/powerDownWakePeriodic/powerDownWakePeriodic.ino
И всё, что Atmega328, что DIP Atmega328P U - показывают 2-3мкА. Вот это я понимаю, энергопотребление.
К сожалению, проверить сейчас потребление с целым стабилизатором пока не смогу, так как его уже выломал и на фото видно, что пришлось перемычкой (белым проводом) подводить питание к ножкам платы. Иначе не работало. Светодиод точно ест около 1мА, а сколько забирает стабилизатор (даже если его не используют) - не знаю. Проверю позже, когда на очередной Ардуино выковыряю индикатор питания.
нет ни малейшего смысла проверять со стабилизатором, он точно увеличит потребление платы даже не в разы - а на порядки. Если хотите малопотребляющий девайс - подключайте МК к источнику питания (батарейки, Li-ioh) напрямую.
Вообще, на будущее - лучше берите голую микросхему, без платы ардуино - тогда не надо будет удалять светодиоды и стаб :)
Спасибо. Имелось ввиду, не потребляет ли стабилизатор микроамперы просто присутствуя на плате. Подлючать через него - не планировалось. Проверить не могу, так как его уже выломал. Во всех предыдущих сообщениях, я привёл значения при подключении напрямую в VCC, не через сабилизатор (RAW).
На предыдущем фото плохо видно. Есть у меня "голая микросхема" Atmega328P-U и она спит в режиме 2-3мкА. И есть Atmega328 уже без сведодиода и стабилизатора . Она тоже теперь спит в режиме 2-3мкА.
Когда выпаивал-выламывал стабилизатор, видимо, повредил дорожки и VCC от платы тоже отпало. Пришлось подпаять его белым проводом от контактов, где раньше был стабилизатор. По этому, конечно, в будущем планируется покупать DIP корпуса.
На фото представлено подключение Атмеги в качестве программатора (ArduinoISP). Про внутренний кварц в DIP корпусе знаю. У меня с ним контроллер и работал. Но не мог долго подключить один датчик и подумал, что это может из-за кварца. Припаял внешний на 8мГц. Но дело было не в кварце, так что такое нагромождение не обязательно.
Спасибо. Имелось ввиду, не потребляет ли стабилизатор микроамперы просто присутствуя на плате. Подлючать через него - не планировалось. Проверить не могу, так как его уже выломал. Во всех предыдущих сообщениях, я привёл значения при подключении напрямую в VCC, не через сабилизатор (RAW).
Для того, чтобы узнать энерглпотребление стабилизатора, не обязательно впаивать его в плату.