Рекламное объявление
Платы Arduino изменили лицо технологии DIY. Простые проекты, такие как создание миниатюрный Arduino светофор идеально подходят для обучения начинающих основам электроники и программирования.
Arduinos идеально подходят для домашних проектов, и их можно использовать на ходу, прикрепив к ним батарейный блок. Проблема в том, что даже самая маленькая батарея будет быстро разряжаться даже маленькой платой Arduino.
Если вы действительно хотите, чтобы ваш Arduino работал в течение длительного времени, вам нужно будет внести некоторые изменения и изменения.
1. Библиотеки программного обеспечения Arduino с низким энергопотреблением
Существует несколько доступных программных библиотек, которые могут изменить энергопотребление вашего Arduino. Посылая Arduino в глубокий сон на определенное время, можно сэкономить энергию между операциями. Это особенно полезно для микроконтроллеров, снимающих показания датчиков в удаленных районах, таких как метеостанции, или чувствительных подсистем для больших устройств.
Библиотека с низким энергопотреблением Пользователь Github Rocketscream является примером простой в использовании библиотеки, которая идеально подходит для экономии энергии. Рассмотрим следующий код, основанный на примере кода библиотеки:
#include "LowPower.h" // setup () ваши датчики / светодиоды здесь void loop () {// Следующая строка выключает arduino на 8 секунд // АЦП означает аналого-цифровое преобразование, а БПК для коричневого Обнаружение выхода // оба выключены в течение периода ожидания для экономии энергии LowPower.powerDown (SLEEP_8S, ADC_OFF, BOD_OFF); // После каждого сна вы можете указать Arduino выполнять свои задачи здесь - например, взять показание температуры и отправить его на сервер. }
Этот код - хорошее начало. Он не только снижает энергопотребление с помощью уже встроенных методов, но и отключает потенциально дорогостоящие аналого-цифровое преобразование (который может использовать энергию даже в режиме ожидания) и обнаружение потемнения который останавливает работающий код Arduino, когда его входное напряжение становится слишком низким.
Это простая, но эффективная мера, чтобы начать снижать мощность, которую тянет ваш Arduino. Мы можем пойти намного глубже, чем это, хотя!
2. Arduino встроенный энергосберегающий
Язык программирования Arduino имеет свой встроенный спать функциональность, разработанная, чтобы помочь с энергосбережением. Функция сна, используемая в тандеме с прерывание пункты, позволяют Arduino снова проснуться.
Arduino имеет специальные контакты, предназначенные для прерывания цикла сна, и вы можете получить к ним доступ, используя функцию настройки:
#define interruptPin 2 void setup () {// вывод прерывания ДОЛЖЕН быть выводом Arduino 2 или 3 на Uno // установить вывод в режим подтягивания pinMode (interruptPin, INPUT_PULLUP); }
Теперь, когда это настроено как контакт прерывания, вы можете спокойно отправлять Arduino в спящий режим. Упрощенный способ сделать это - создать две маленькие функции:
void sendToSleep () {// включить спящий режим - обратите внимание, что этот простой сон не запускается! sleep_enable (); // прикрепляем прерывание, указываем вывод, метод для вызова прерывания, // и условия прерывания, в этом случае, когда вывод удерживается на низком уровне. attachInterrupt (interruptPin, wakeUpAgain, LOW); // фактически активируем режим сна sleep_cpu (); // код продолжается после прерывания Serial.println («Только что проснулся»); } void wakeUpAgain () {// остановить режим сна sleep_disable (); // очищаем прерывание detachInterrupt (interrputPin); }
Приведенный выше код представляет собой упрощенный способ перевести Arduino в спящий режим, и вы можете снова разбудить его, подключив контакт 2 к GND штырь. Когда Arduino Uno находится в спящем режиме, он потребляет около 11 мА от общей потребляемой мощности, и если вы вместо этого используете Pro Mini, вы можете ожидать снижения с 25 мА при обычном потреблении энергии до 0,57 мА.
Прерывания - это отличный способ снизить потребление энергии, и В блоге Kurks есть несколько подробных постов о них., которые помогают демистифицировать прерывания для начинающих.
3. Замедление тактовой частоты Arduino
Тактовая частота вашего Arduino определяет, сколько операций он может выполнять в секунду. Большинство плат Arduino работают на процессоре с тактовой частотой 8 или 16 МГц, хотя некоторые из таких плат, таких как Teensy 3.6, имеют скорость обработки до 180 МГц! Вот почему многие DIY хакеры любят использовать доски Teensy 7 классных проектов, которые вы можете построить с помощью TeensyTeensy - отличная альтернатива Arduino, и эти удивительные проекты показывают, что вы можете сделать с Teensy! Подробнее над Arduino в своих проектах DIY.
Вся эта вычислительная мощность достигается за счет затрат на электроэнергию, и для многих случаев использования полной тактовой частоты является излишним. Это где регулирование тактовой частоты с помощью программного обеспечения может иметь значение.
Было бы упущением с моей стороны не предупреждать вас, изменение тактовой частоты может вызвать проблемы с загрузчиком и может оставить вас с Arduino, в который вы не можете загружать эскизы, если сделано неправильно.
Если вы хотите попробовать изменить тактовую частоту вместе с инструментами в Arduino IDE, которые позволят вам изменять частоту процессора на лету, Подробное руководство Питера П может помочь вам начать.
4. Замените энергосберегающие компоненты Arduino
Arduino Uno - самая популярная доска для начинающих, и большинство наборов Arduino поставляются как официальные, так и клонированные модели. Его большой форм-фактор и возможность горячей замены микрочипов делают его идеальным для экспериментов, а также его широкие возможности для входных напряжений вместе с бортовым преобразованием напряжения для компонентов 3,3 В делают его пригодным практически для каждого цель.
Все эти функции не дешевы с точки зрения энергопотребления. Имея это в виду, есть несколько вещей, которые вы можете сделать, чтобы физически изменить Arduino Uno для экономии энергии.
Регулятор напряжения на Arduino Uno вызывает самый большой одиночный утечку энергии на плате. Это не особенно удивительно, поскольку оно должно безопасно падать до 7 В от источника питания к самой плате. Некоторые пытались обойти это, заменив регулятор более эффективными, но это не решает проблему.
Патрик Феннер из DefProc engineering разработал отличное решение в своем блоге охватывает стратегии энергосбережения Uno. Полностью заменив регулятор напряжения на понижающий преобразователь постоянного тока, он сумел вдвое сократить энергопотребление микроконтроллера.
5. Сделай свое собственное Arduino
Безошибочный способ использовать только энергию, необходимую для вашего проекта, - это разработать микроконтроллер по вашим собственным спецификациям. В прошлом мы показали, как вы можете построить свой собственный Arduino Не тратьте деньги на Arduino - создайте свой собственный намного дешевлеЯ люблю своих Arduinos. В любом случае, у меня есть довольно много проектов на ходу - с ними легко создавать прототипы. Но иногда я хочу сохранить работоспособность проекта, не покупая ... Подробнее за часть стоимости официальной доски.
Помимо гораздо большего контроля размера и области действия вашей схемы, это может снизить энергопотребление до 15,15 мА в режиме ожидания и всего 0,36 мА в режиме ожидания. Эти цифры взяты из невероятно подробный пост Ник Гэммон на своем форуме.
Этот пост охватывает многие другие аспекты энергосбережения Arduino и является фантастическим ресурсом, на который можно ссылаться, когда вы пытаетесь выжать немного больше времени из мобильного источника питания.
Используйте Arduino для больших идей и малой мощности
Когда вы работаете над ваши первые начинающие проекты Arduino, энергопотребление, вероятно, не слишком беспокоит.
По мере того, как ваши идеи расширяются и требуют большего обдумывания, стоит изучить способы упростить вашу настройку. Между убедившись, что вы получите правильную плату Arduino Руководство по покупке Arduino: какую доску взять?Существует так много разных видов плат Arduino, что вы будете прощены за то, что запутались. Что вы должны купить для своего проекта? Позвольте нам помочь с этим руководством по покупке Arduino! Подробнее и настроив его, чтобы получить максимальную отдачу от него, вы сможете пройти долгий путь к созданию действительно уникальных и полезных устройств. Удачи и продолжайте возиться!
Ян Бакли - независимый журналист, музыкант, исполнитель и продюсер, живущий в Берлине, Германия. Когда он не пишет или не играет на сцене, он возится с электроникой или кодом «сделай сам» в надежде стать сумасшедшим ученым.