5 советов по энергосбережению Arduino, которые помогут вам работать несколько дней

Платы Arduino изменили лицо технологии DIY. Простые проекты, такие как создание миниатюрных светофоров Arduino, идеально подходят для обучения начинающих основам электроники и программирования.

Arduinos идеально подходят для домашних проектов, и их можно использовать в дороге, прикрепив к ним батарейный блок. Проблема в том, что даже самая маленькая батарея будет быстро разряжаться даже маленькой платой Arduino.

Если вы действительно хотите, чтобы Arduino работал в течение длительного времени, вам нужно будет внести некоторые изменения и изменения.

1. Библиотеки программного обеспечения Arduino с низким энергопотреблением

Существует несколько доступных программных библиотек, которые могут изменить энергопотребление вашего Arduino. Посылая Arduino в глубокий сон на определенное время, можно сэкономить энергию между операциями. Это особенно полезно для микроконтроллеров, снимающих показания датчиков в удаленных районах, таких как метеостанции, или чувствительных подсистем для больших устройств.

Библиотека Low-Power пользователя Github rocketscream является примером простой в использовании библиотеки, которая идеально подходит для экономии энергии. Рассмотрим следующий код, основанный на примере кода библиотеки:

#include "LowPower.h"
// setup() your sensors/LEDs here
void loop()
{
// This next line powers the arduino down for 8 seconds
//ADC means analogue to digital conversion, and BOD for brown out detection
//both are turned off during the sleep period to save power
LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);
//After each sleep, you can instruct the Arduino to carry out its tasks here - for example, take a temperature reading and send it to a server.
}

Этот код — хорошее начало. Он не только снижает энергопотребление с помощью уже встроенных методов, но и отключает потенциально дорогостоящие аналого-цифровое преобразование (который может использовать энергию даже в режиме ожидания) и обнаружение потемнения который останавливает работающий код Arduino, когда его входное напряжение становится слишком низким.

Это простая, но эффективная мера, чтобы начать сокращать мощность, которую тянет ваш Arduino. Мы можем пойти намного глубже, чем это, хотя!

2. Arduino встроенный энергосберегающий

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

Arduino имеет специальные контакты, предназначенные для прерывания цикла сна, и вы можете получить к ним доступ, используя функцию настройки:

#define interruptPin 2
void setup()
{
//interrupt pin MUST be Arduino pin 2 or 3 on Uno
//set the pin to pull up mode
pinMode(interruptPin, INPUT_PULLUP);
}

Теперь, когда это настроено как вывод прерывания, вы можете спокойно отправлять Arduino в спящий режим. Упрощенный способ сделать это — создать две маленькие функции:

void sendToSleep()
{
//enable sleeping - note this primes sleep, not starts it!
sleep_enable();
//attach the interrupt, specify the pin, the method to call on interrupt,
//and the interrupt conditions, in this case when the pin is pulled low.
attachInterrupt(interruptPin, wakeUpAgain, LOW);
//actually activate sleep mode
sleep_cpu();
//code continues on from here after interrupt
Serial.println("Just awoke.");
}
void wakeUpAgain()
{
//stop sleep mode
sleep_disable();
//clear the interrupt
detachInterrupt(interrputPin);
}

Приведенный выше код представляет собой упрощенный способ перевести Arduino в спящий режим, и вы можете снова разбудить его, подключив контакт 2 к GND штырь. Когда Arduino Uno находится в спящем режиме, он потребляет около 11 мА от полной потребляемой мощности, и если вы вместо этого используете Pro Mini, вы можете ожидать снижения с 25 мА при обычном потреблении энергии до 0,57 мА.

Прерывания — отличный способ снизить энергопотребление, и в блоге The Kurks есть несколько подробных сообщений о них, которые помогают демистифицировать прерывания для начинающих.

3. Замедление тактовой частоты Arduino

Тактовая частота вашего Arduino определяет, сколько операций он может выполнять в секунду. Большинство плат Arduino работают на процессоре с тактовой частотой 8 или 16 МГц, хотя некоторые из таких плат, таких как Teensy 3.6, имеют скорость обработки до 180 МГц! Вот почему многие хакеры DIY любят использовать доски Teensy.

над Arduino в своих проектах DIY.

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

Было бы упущением с моей стороны не предупреждать вас, изменение тактовой частоты может вызвать проблемы с загрузчиком и может оставить вас с Arduino, в который вы не можете загружать эскизы, если сделано неправильно.

Если вы действительно хотите попробовать изменить тактовую частоту, а также создавать инструменты в Arduino IDE, позволяющие изменять частоту процессора на лету, подробное руководство Pieter P поможет вам начать работу.

4. Замените энергосберегающие компоненты Arduino

Arduino Uno — самая популярная доска для начинающих, и большинство наборов Arduino поставляются как официальные, так и клонированные модели. Его большой форм-фактор и микрочипы с возможностью горячей замены делают его идеальным для экспериментов, а его широкая емкость для входных напряжений вместе с встроенным преобразованием напряжения для компонентов 3,3 В делает его пригодным практически для любых целей.

Все эти функции не дешевы с точки зрения энергопотребления. Имея это в виду, есть несколько вещей, которые вы можете сделать, чтобы физически изменить Arduino Uno для экономии энергии.

Стабилизатор напряжения на Arduino Uno вызывает самый большой одиночный утечку энергии на плате. Это не особенно удивительно, поскольку оно должно безопасно падать до 7 В от источника питания к самой плате. Некоторые пытались обойти это, заменив регулятор более эффективными, но это не решает проблему.

Патрик Феннер из DefProc engineering разработал отличное решение в своем блоге, посвященном стратегиям энергосбережения Uno. Полностью заменив регулятор напряжения на понижающий преобразователь постоянного тока, он смог сократить вдвое энергопотребление микроконтроллера.

5. Сделай свое собственное Arduino

Безошибочный способ использовать только энергию, необходимую для вашего проекта, — это разработать микроконтроллер по вашим собственным спецификациям. В прошлом мы показали, как вы можете создать свой собственный Arduino

за часть стоимости официальной доски.

Наряду с гораздо более широким контролем размера и области действия вашей схемы, это может снизить энергопотребление до 15,15 мА в режиме ожидания и всего 0,36 мА в режиме ожидания. Эти цифры взяты из невероятно подробного поста Ника Гаммона на его форуме.

Этот пост посвящен многим другим аспектам энергосбережения Arduino и является фантастическим ресурсом, на который можно ссылаться, пытаясь выжать немного больше времени из мобильного источника питания.

Используйте Arduino для больших идей и малой мощности

Когда вы работаете над своими первыми проектами Arduino для новичков, энергопотребление, вероятно, не является большой проблемой.

По мере того, как ваши идеи расширяются и требуют большего обдумывания, стоит изучить способы упростить вашу настройку. Между тем, чтобы убедиться, что вы получаете правильную плату Arduino

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

Ссылка на основную публикацию
Adblock
detector