Создание пульта управления

Приветствую, уважаемые гуру Ардуино!

Пишу программу для пульта управления. Ардуино нано.
Пульт = 2 датчика(Аналоговый датчик Холла(крутилка с магнитом) и Переключатель авто/ручной) и радио для сообщения на базу о данных с датчиков.
Питание от лития.

Позвольте задать вам несколько вопросов:

  1. Логика программы. Я вижу так:
    Опросили датчики. Если показания изменились - передаем по радио на базу.
    Уходим в сон на 250млс.
  2. Энергосбережение.
    Какие компоненты ардуино нано можно отключить постоянно? Что не будет использоваться при такой логике программы?
    Питание АЦП и радио включаю перед использованием и сразу выключаю.

Буду благодарен за советы.

Стабилизатор и USB-UART.

Это можно сделать программно, без хирургического вмешательства? Пока не нашел как…

Никто не нашел…

ОК. Тогда сформулирую вопрос более четко: какие блоки ардуины можно отключить программно и это не будет мешать логике программы?

Это не будет иметь никакого смысла, если не сделать того, что вам посоветовали в ответе 2.
Более того, без удаления элементов с платы сам перевод контроллера в сон не будет иметь смысла вовсе.

1 лайк

МММ, аргументируйте, пожалуйста, в цифрах.
Вот что я намерил: потребление ардуино нано в обычном режиме 12млА. Когда я отправляю плату в сон с отключением переферии ток снижается до 4млА. Для меня снижение потребления в 3 раза существенно. Цели выйти на мкА нет.

Если все это питается от автомобильного аккумулятора на 62 А/ч, то нормально, если от какой-нибудь кроны, то эти 4мА сожрут ее за пару недель

1 лайк

тогда это не энергосбережение и смысл его отсутствует

2 лайка

Что гугла не спросили? Всё уже давно посчитано и подробно описано.
Например: Gammon Forum : Electronics : Microprocessors : Power saving techniques for microprocessors
Или: Энергосбережение и сон - AlexGyver Technologies
p.s. Миллиампер обозначается не “млА”, а “мА”.

1 лайк

Питать датчики через свободные оставщиеся порты мк, будешь уходить в сон, отрубаешь все перефирию и порты, останется вачдог и вот тебе потребление около 1-4мкрА

v258: питание от лития - это есть в ТЗ. 21700 5000мАч.

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

kalapanga: благодарю за конкретные ссылки, изучу. Гайвера уже читал. Спасибо за замечание про мА, исправлюсь.

neid: Вы лично это делали? Получилось? Замеряли эти 1-4мкА? На обычной штатной плате ардуино нано с диодом, который кушает 2мА? Или нужно браться за нож, кусачки и паяльник?

Благодарю всех, кто зашел в эту тему и ответил! Но…

если вы это понимаете, к чему эта агрессия?
Любые программные меры в вашей ситуации в лучшем случае снизят потребление с 4мА до 3.9.
В то время как удаление лишних элементов гарантировано дадут вам если не 4мкА, то 40 мкА точно - в 100 раз меньше, чем сейчас.
Поэтому мое заявление, что отключение периферии на плате с диодом и регулятором смысла не имеет - абсолютно обосновано.

Вам уже ответили, что это бессмысленно, пока на плате есть дополнительные потребители

@Михаил1976
Более того, вообще применение штатной Нано в мобильном устройстве - не слишком умная затея. Такие девайсы проектируют на основе голого микроконтроллера - это позволяет снизить и размеры, и потребление.

В крайнем случае можно взять Про Мини с отпаянными LDO и светодиодами

Все. Оставьте на плате только МК, кварц и их “обвязку”.

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

1 лайк

Но. Как всегда это но.
Я спрашивал “какие блоки ардуины можно отключить программно и это не будет мешать логике программы?”. Я даже не ставил ТЗ по энергосбережению, а вы ринулись его за меня решать. Мне НЕ нужно выходить на мкА, кромсая плату, это не есть моя цель. У меня не метеостанция работающая годами. Мне нужен просто пульт на ШТАТНОЙ ардуине, который продержится на 21700 5000мАч при разрядке с 4,2В до 3.3±В 2-3 недели. Это меня вполне устроит.
Считаем на пальцах(не пинайте за точность, я просто прикидываю):
С 4.2 до 3.3 допустим 4000мАч. Потребление в обычном режиме 12мА. Это 333 часа = 13 суток. Минус еще затраты на радио. Маловато. Нужно большую часть времени спать в режиме 4мА. Это даст 40 суток. Устраивает. Реальность будет где-то посередине. Сейчас стоит цель минимизировать потребление во включенном, рабочем состоянии.
За ночь гугления понял, что можно отключить: BOD, ADC, USART0, SPCR, SPI, TIMER1, TIMER2, TWI. - Эти блоки не используются моей программой. Возможно есть еще что-то, чего я пока не знаю. Подскажите. Цели выйти на микроамперы куроча плату НЕТ. Можно отключить программно - веллкам. Нет - будем существовать и так.

Тогда что вам еще нужно?