Энергопотребление arduino

Допустим, вы хотите сделать мобильный проект, будь то метеостанция за окном на солнечных батареях, переносной датчик температуры/влажности/качества воздуха на батарейках или детектор инопланетян на аккумуляторе – какую основную плату arduino выбрать?

Конечно, я не беру здесь в учет, что на выбор платы определяющим фактором будет влиять ее функционал: количество портов, мощность центрального процессора, память, но, так или иначе, немаловажным “пунктом” мобильного устройства является энергопортебление. Или проще говоря, сколько времени продержится наше устройство на батарейках/аккумуляторе без подзарядки, пока не “сдохнет”.

Список участников

В наличии у меня оказалось 9 основных плат:

Плата  Особенности питания
Raspberry pi B+  microUSB (5v)
Arduino MEGA 2560 (на чипе 16u2)  USB (5v), Vin (7-12v)
Arduino UNO R3 (на чипе 16u2)  USB (5v), Vin (7-12v)
Arduino UNO R3 (на чипе CH340)  USB (5v), Vin (7-12v)
Arduino NANO 3.0 (на чипе FTDI)  USB (5v), Vin (7-12v)
Arduino NANO 3.0 (на чипе CH340)  USB (5v), Vin (7-12v)
Arduino LilyPad USB  microUSB (5v), LiPo (3,7v)
Arduino Pro Mini 5v  Vcc (5v), Raw (5-12v)
Beetle leonardo  mictoUSB, in (5v)
all_main_boards
Тестируемые платы

Особенности

На фото есть 2 пары почти одинаковые плат NANO и UNO. Основное отличие – используемый чип для соединения по USB с компьютером. В оригинальных платах UNO (100% копии оригиналов) чип стоит Atmega16u2, в аналогах – CH340. В оригинальных NANO чип FTDI, в аналогах – CH340.

Оригинал (копия)
Оригинал (копия)

Копия платы UNO на чипе 16u2:

  • Точная копия оригинальных плат
  • Драйвер на windows ставится автоматически при установке оболочки программирования Arduino IDE с официального сайта arduino.cc
  •  Дороже аналога на чипе CH340
  • Энергопотребление выше, чем у аналога
Аналог - плата выполняет те же функции, просто немного отличается
Аналог – плата выполняет те же функции, просто немного отличается

Аналог UNO на чипе CH340:

  • Имеет дополнительные дырки для припаивания штырьковых разъемов типа “папа”, что увеличивает удобство подключения датчиков и устройств к плате без использования breadboard
  • Некоторые аналоги имеют дырки для дополнительных аналоговых разъемов A6 и A7 (у оригинала только A0-A5)
  • Необходимо отдельно устанавливать драйвер, чтобы windows увидела плату как com-порт
  • Дешевле оригинала (копии) на чипе 16u2
  • Энергопотребление ниже, чем у оригинала
nano_ftdi_ch340
NANO 3.0. Оригинал (копия) слева, аналог – справа

Ситуация с NANO: просто в разнице чипов (драйверов) и, соответственно, в энергопотреблении.

Какая плата лучше, оригинал или аналог? Мой совет такой. Совсем новичкам лучше оригинал: не важно энергопотребление, с breadbord количество пинов на плате не важно особо, зато есть плюс – плата заводится с пол-оборота, без установки сторонних драйверов. Так сказать, plug-and-play. Лично мой выбор – плата на чипе CH340.

Кстати, вот и драйвер на Windows для чипа CH340.

mega_16u2
Arduino MEGA 2560. Оригинал (копия)

Тест энергопотребления

Честно говоря, изначально я думал что beetle leonardo окажется “менее прожорливым” участником, чем все остальные платы – скорее всего из-за самых скромных размеров из всего списка! Но результаты оказались немного другими.

Касательно самого теста – измерялась сила тока (mA) в разрыве цепи до основной платы в двух вариациях: при питании через xUSB порт стабилизированными 5v (эмуляция lipo аккумулятора и платы boost конвертера напряжения 3,7v->5v)  и при питании от 9v (эмуляция 6 пальчиковых батареек по 1,5v).

Потребление тока:

Плата 5v  9v (3,7v для LilyPad)
Raspberry pi B+ 80..150 mA
MEGA 2560 (16u2) 66 mA 90 mA
UNO R3 (16u2) 43 mA 48 mA
UNO R3 (CH340) 18 mA 19 mA
NANO 3.0 (FTDI) 62 mA 57 mA
NANO 3.0 (CH340) 20 mA 24 mA
LilyPad USB 15 mA 9 mA
Pro Mini 5v 17 mA 18 mA
Beetle leonardo 21 mA

В сыром виде таблица потребления тока мало о чем говорит – разные напряжения, поэтому привожу таблицу расчета мощности (сила тока умноженная на напряжение) – так мы подведем все платы под общий знаменатель, и можем сравнить показатели энергопотребления.

Плата 5v  9v (3,7v для LilyPad)
Raspberry pi B+ 0,750 W
MEGA 2560 (16u2) 0,330 W 0,810 W
UNO R3 (16u2) 0,215 W 0,432 W
UNO R3 (CH340) 0,090 W 0,171 W
NANO 3.0 (FTDI) 0,310 W 0,513 W
NANO 3.0 (CH340) 0,100 W 0,216 W
LilyPad USB 0,075 W 0,033 W
Pro Mini 5v 0,085 W 0,162 W
Beetle leonardo 0,105 W

И график (меньше – лучше), построенный по этой таблице, как результат:

Сравнение энергопотребления arduino и raspberry (Ватт)
Сравнение энергопотребления arduino и raspberry (Ватт)

Моменты, которые нужно уточнить:

  • Потребляемый ток у raspberri pi скачет в пределах 80..150 mA при простое, и эта плата питается только от microUSB 5v. Raspberry PI B+ включен в тест ради интереса – все-таки это немного другой класс устройств. Это полноценный компьютер с мощным процессором для сложных задач, обработки видео и аудео, работы с камерами и внешними дисками… но и, конечно, с возможностью подключать датчики и сенсоры!
  • Beetle leonardo питается тоже исключительно 5v
  • У всех плат при питании от 9v энергопотребление выше, чем при питании от 5v – это результат использования стабилизатора напряжения, который позволяет питать платы в широком диапазоне напряжений (7-12v)

Результаты теста

Итак, исходя из графика, видно что безусловным победителем теста на самое меньшее энергопотребление является LilyPad USB! При питании от аккумулятора 3,7v плата потребляет всего 33mW! Также, пятерку лучших в этом тесте составляют (при питании от 5v):

  • Arduino Pro Mini 5v – 85 mW
  • Arduino UNO R3 (CH340) – 90 mW
  • Arduino Nano 3.0 (CH340) – 100 mW
  • Beetle leonardo – 105 mW

Они вписываются в 100 mW. Так что, делайте выводы при выборе платы для измерения температуры и влажности за окном, если хотите, чтобы метеоустройство было автономным!

Лично мой выбор:  Arduino Nano 3.0 (CH340) – из-за ее следующих качеств:

  • миниатюрный размер
  • дает напряжения: 5v и 3,3v
  • много пинов
  • USB порт на плате для программирования

Примечания:

  • beetle leonardo и pro mini не дают 3,3v
  • LilyPad дает исключительно 3,3v
  • у pro mini нет USB порта, и ее нужно программировать через USBtoTTL адаптер
  • у LilyPad и beetle leonardo маловато портов для моих проектов
  • а UNO R3 (CH340) слишком громоздкая

Этим и обусловлен мой выбор Arduino Nano 3.0 (CH340) в качестве основной платы для мобильных устройств.

Уменьшение энергопотребления в спящем режиме

Также для автономных или мобильных проектов может понадобится интересная библиотека: JeeLib library. Она поможет загнать вашу плату в глубокий сон (что значительно снижает энергопотребление) и будить только по необходимости! Про использование библиотеки и немного больше можете почитать на английском на сайте openhomeautomation.

Удачных вам экспериментов!

 

Добавить комментарий