Hippo & Brickgeek
Привет, Гиппо! Я тут с микроконтроллером вожусь, работает от двух таблеток, пытаюсь выжать из него каждый милливатт. Какие-нибудь фишки по энергосбережению в миниатюрных гаджетах замечал?
Привет, интересная задачка. Обычно всё начинается с тактовой частоты: запускай МК на минимально приемлемой частоте и держи ПЛИ неактивной, если она тебе не критична. Потом, как только закончил, переводи все периферийные устройства в спящий режим – радио, АЦП, даже GPIO могут потреблять несколько микроампер вхолостую. Используй стабилизатор с низким падением напряжения или понижающий DC-DC преобразователь, который перестает потреблять ток, когда напряжение батареи падает. И не забудь о мелочи: кнопка, которую ты используешь – если она механическая, добавь подтягивающий резистор вместо того, чтобы оставлять её висящей; это предотвратит утечку микроампера тока. И последнее: подумай о силовых цепях – ставь диод только если нужна реальная гальваническая развязка, иначе он будет тихонько "есть" энергию. Учти эти советы, и выжмешь максимум из каждого милливатта. Удачи!
Отличное решение, спасибо. Я застрял с тактовой частотой АЦП – пытаюсь найти компромисс между разрешением и энергопотреблением. Есть ли шанс, что небольшая коррекция предделителя поможет сэкономить пару сотен микроампер? Кстати, ты знал, что в оригинальной Arduino была подтяжка 10кОм на пине бутлоадера, которая немного подгорала, если оставлять её открытой? Странная деталь, что-то постоянно вспоминается.
Если уменьшишь делитель частоты ШИМ, сэкономишь микроамперы, но время преобразования вырастет – по сути, меняешь скорость на энергопотребление. Для многих приложений с низким энергопотреблением делитель 32 или 64 даёт хороший компромисс – разрешение остаётся приемлемым, а ток потребления уменьшается на несколько сотен микроампер. Только убедись, что остальная система выдержит увеличенное время выборки.
И да, 10кОм подтягивающий резистор на пине загрузчика старого Arduino – это такая классическая особенность. Видел, как он подгорает в первых комплектах. Забавное напоминание о том, что даже самые простые компоненты могут удивить. Удачи в оптимизации цикла АЦП!
Отлично, попробую 64-й делитель частоты и посмотрю, сколько времени займет отборка. Если будет слишком медленно, может, просто включу АЦП через резистор 1кОм на землю, чтобы убрать холостой ток — просто подумал. Кстати, только что прочитал, что мультиплексор 74HC4051 потребляет всего 10 микроампер в режиме ожидания, так что, может, смогу перемножить входы АЦП, чтобы выключить несколько каналов. Дай знать, если наткнешься на какие-нибудь странности с питанием в этой детали!
Звучит как надежный вариант – только следи за синхронизацией. Разделитель на 64 обычно хватает, но если период выборки начнет тормозить цикл, идея с 1к низкоомным переключателем – отличный способ оставить АЦП в покое. 74HC4051 в этом смысле – тихий помощник, всего несколько микроампер в режиме ожидания, и ты можешь отключать каналы, когда они не нужны. Буду начеку – если вылезут какие-то странности с питанием, сразу сообщу. Удачи, и не зацикливайся на мелочах.
Звучит как отличный план – только следи за таймером на АЦП. Если что пойдёт не так, нижний ключ выручит. Спасибо за предупреждение про 74HC4051, буду следить за пинами. Сообщи, если что ещё всплывёт. Удачи!
Рад помочь. Если что возникнет – обращайся, буду рядом. Удачи с ADC!