Не ардуино единым. Обзор альтернативных микроконтроллеров и плат для разработки

Всем доброго времени суток, дорогие друзья. Практически каждый радиолюбитель знает что такое Ардуино и с чем его едят. На сегодняшний день платформа Arduino стала таким же нарицательным именем, как в свое время стал копировальный аппарат от фирмы Ксерокс (Xerox). Все мы помним эти времена, когда нужно было что-то отксерить. Так и Arduino как учебная платформа по конструированию и обучению программированию стала именем нарицательным. Однако, стоит отметить, что не смотря на то что на платформе ардуино разработано много полезных устройств (а сколько таких еще будет…) возможности этой платформы ограничены и увы не полетом фантазии. Стоит признать, что сетевые коммуникационные возможности микроконтроллеров Atmega оставляют желать лучшего, а низкая производительность, 8ми битная платформа и малый объем памяти сильно ограничивают применение ардуино. Но конкуренты не дремлют. В этой статье я хочу предложить вашему вниманию несколько альтернативных микроконтроллеров, которые дружат с Arduino IDE и при этом обладают большими возможностями по сравнению с Arduino на базе микроконтроллеров Atmega.

STM32  (STM32F103C8T6)

Blue pill

Данная отладочная плата известна также под названием проект “Blue pill”. Опенсорсное решение на базе ARM процессора. Плата призвана заменить собой платформу Arduino Nano и имеет следующие характеристики:

  • Архитектура Микроконтроллера ARM Cotrex M3
  • Разрядность 32 Бит
  • Максимальная частота 72 Мгц
  • Объем памяти программ (FLASH): 64 / 128 кБайт
  • Объем памяти данных (RAM): 20 кБайт
  • Выводы: 37
  • UART: 3
  • SPI: 2
  • I2C: 2
  • CAN: 1
  • USB: 1
  • АЦП: 2 АЦП, 10 каналов, время преобразования 1 мкс
  • Напряжение питания микроконтроллера 2 … 3,6 В
  • Напряжение питания платы 5 В
  • Ток потребления до 50 мА

По сравнению с основным конкурентом — Arduino Nano, характеристики более чем впечатляющие. Да и зона применения этого микроконтроллера гораздо шире. Однако без нюансов не обходится. Стоит учитывать, что напряжение питания у микроконтроллера на этой плате составляет в среднем 3,3 вольта, соответственно и логика работы микроконтроллера трехвольтовая. У Arduino Nano напряжение питания 5 Вольт и логика соответствующая.

Для тех кто не в теме. Если микроконтроллер использует 5ти вольтовую логику, то при выдаче на цифровой пин логической 1 напряжение на выводе составляет 5 вольт. У микроконтроллера с 3,3-вольтовой логикой напряжение логической 1 равно 3,3 вольта, что в определенных случаях может доставить определенные сложности. Также не стоит забывать, что далеко не все устройства с логикой 3,3В толерантны (совместимы) с логикой 5В. Напряжение в 5В, поданное на цифровой вход устройства с логикой 3,3В, может привести к поломке.

Однако, не все так печально. Разработчики предусмотрели такой вариант и ряд выходов платы сделали толерантными к 5ти вольтовой логике. Данная информация представлена на изображении ниже:

blue-pill-pinout

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

Преобразователь логических уровней

На китайских торговых площадках мне встречались преобразователи на 4 и 8 каналов, стоят копейки, но позволяют избавиться от головной боли :). Вот ссылка на 4х канальный преобразователь:

Преобразователь логических уровней на 4 канала. Комплект 10 штук.

Устройства на базе STM32 в последние годы все больше и больше набирают популярность. На них строят как примитивные устройства, так и квадрокоптеры. А с выходом marlin 2.0 количество 3Д принтеров на подобной платформе значительно увеличится.

Свои модули STM32  (STM32F103C8T6) я заказывал вот тут:

Плата STM32  (STM32F103C8T6)

Ну а теперь поговорим о модулях на микроконтроллерах с WIFI.

Так или иначе рано или поздно любому радиолюбителю или инженеру становится скучно и не интересно разрабатывать автономные устройства, либо обстоятельства вынуждают разрабатывать устройства взаимодействующие друг с другом или через интернет. У Адруино есть шилды, которые позволяют подружить микроконтроллер с сетью, но прогресс не стоит на месте и был разработан новый микроконтроллер уже имеющий у себя на борту интерфейс wifi. Представляю Вашему вниманию микроконтроллер ESP8266.

Основные характеристики ESP8266 следующие:

  • Тактовая частота 80 МГц с возможностью разгона до 160 МГц без гарантии стабильности работы
  • Платформа 32 Бит
  • Поддержка Wifi стандартов b/g/n
  • Количество портов GPIO 14, из них доступно 11
  • Количество аналоговых входов 1
  • АЦП 10 Бит
  • Питания от 2,6 до 3,6 В
  • Потребляемая мощность до 215 мА в режиме передачи, 100 мА в режиме приема, 70 мА в режиме ожидания.
  • Поддерживаются три режима пониженного потребления, все без сохранения соединения с точкой доступа: Modem sleep (15 мА), Light sleep (0.4 мА), Deep sleep (15 мкА)

Имеются следующие интерфейсы:

  • UART
  • SPI
  • I2C

Источник: Википедия

Вот основные особенности данного микроконтроллера. Как видим, есть свои достоинства и недостатки. К достоинствам можно отнести:

  • Производительная платформа
  • Наличие Wifi
  • Наличие поддержки самых востребованных интерфейсов
  • Наличие режимов низкого энергопотребления
  • Совместимость со средой Arduino IDE

К недостаткам можно отнести следующее:

  • Мало количество портов GPIO
  • Только один аналоговый вход
  • Высокое энергопотребление в режиме передачи

Однако, недостатки не такие уж и критичные и для ряда проектов просто несущественные.

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

Модули на базе ESP8266

Согласитесь, что сам по себе голый чип нам мало интересен, а раз мы любим ардуино, а не сам микроконтроллер atmуga, то нам интересны готовые модули на базе чипа ESP8266. Итак приступим.

На базе данного микроконтроллера разработан ряд модулей с маркировками от ESP-01 до ESP-13. В большинстве модули похожи друг на друга. Я же коснусь в своем рассказе только тех модулей, с которыми имел дело :)

Итак, самый младший представитель линейки – ESP-01.

Этот модуль знаком тем, кто пытался прикрутить к своему проекту на Arduino Wifi. Забавно, что зачастую проект мог бы и без ардуино обойтись :)

Итак, в данном модуле пользователю/разработчику доступно только 4 GPIO вывода. Не много, но для метеостанции или какого-нибудь датчика вполне сгодится.

Приобрести такой модуль можно по ссылкам ниже:

ESP-01 от RobotDyn

ESP-01 из магазина Greatwall

И там и там модули хорошего качества.

Ну а мы пойдем дальше. На очереди довольно интересный и необычный модуль ESP-07

ESP-07

 

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

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

Модуль считается не первой свежести, но в большинстве проектов не теряет своей актуальности.

Приобрести данный модуль на Али можно по ссылке ниже:

ESP-07 у продавца Greatwall

Стоит признать, что некоторые считают, модуль ESP-07 несколько устаревшим, так как ему на смену пришли модули ESP-12

Плата модуля рассчитана под пайку, либо установку на гребенку с шагом контактов 2 мм, однако из существенных отличий – наличие выводов шины SPI.

Широкое распространение получили модули ESP-12E и ESP-12F, отличающиеся друг от друга объемом FLASH памяти.

В отличие от модуля ESP-07, Модули на базе ESP-12 не имеют возможности подключения внешней антенны и используют посредственную встроенную антенну, которая представляет собой дорожку на плате.

Распиновка у модулей ESP-12 одинакова.

Приобрести данные модули можно по ссылке ниже:

ESP-12 у продавца Greatwall

Подробную информацию по подключению и прошивке данных модулей вы можете получить на ресурсе посвященном микроконтроллерам ESP8266.ru

Учтите, что для прошивки и заливки скетчей в модули ESP-01 … ESP-12 необходим программатор. Подробнее о программаторах вы можете почитать в статье “Программаторы для Arduino, 3Д принтеров и не только

Все эти модули хороши, однако кроме ESP-01 в готовом виде их применять не получится, т.к. нужна обвязка. Поэтому мы плавно переходим к готовым модулям, родоначальником которых стала плата ESP-12

Готовые модули на базе платы ESP-12

И так, как я уже говорил ранее, выход в свет модуля ESP-12 породил целую серию различных ARDUINO совместимых плат яркими представителями среди которых стали платы Wemos и платы Nocemcu (Lolin).

Первые известны под названием Wemos D1 и по форм фактору являются совместимыми с платами на базе Arduino UNO. Однако в виду того, что такой форм-фактор мне был мало интересен за счет своих больших габаритов, меня заинтересовала разновидность Wemos D1 Mini.

Это упрощенная миниатюрная версия модуля, построенная на базе сборки ESP-01 или ESP-12. В зависимости от производителя поставляется в двух вариантах:

  • На плате распаян модуль ESP-12 с USB-TTL преобразователем, а также имеет минимальную необходимую обвязку для работы модуля
  • На плате распаяна микросхема ESP8266 с USB-TTL преобразователем и минимальной обвязкой.

Как правило, в обоих вариантах на борту имеется DC-DC преобразователь, понижающий напряжение до 3,3 вольт. Имеется возможность питания как напряжением 5 В так и напряжением 3,3 вольта.

Выглядят модули следующим образом. Ху из ху отличить проблемы не составит.

Wemos D1 Mini

Wemos D1 Mini

Wemos D1 Mini Robotdyn

Wemos D1 Mini Robotdyn

Еще, модули могут отличаться объемом памяти и моделью микросхемы USB-TTL преобразователя.

На рисунке выше представлена распиновка модуля. Как видно, все сделано по упрощенной схеме. Также стоит отметить, что у данного модуля SPI порты не разведены. Учитывайте это.

Но для ряда проектов этого вполне достаточно :)

В качестве примера могу представить Вашему вниманию метеостанцию собранную на указанном модуле.

Уличная метеостанция на базе модуля Wemos D1 Mini

Итак, данные модули в интернете вы можете приобрести по ссылкам, указанным ниже. Как и всегда, я указываю ссылки на товары и магазины, где сам закупаюсь.

Wemos D1 Mini от Rorotdyn

Wemos D1 Mini от Greatwall

Как я уже упоминал выше, кроме Wemos D1 mini существуют модули NodeMCU или как их еще называют Lolin. Насколько я понимаю, изначально они разрабатывались для написания прошивок на Lua скриптах, однако, они прекрасно прошиваются и с помощью Arduino IDE, причем без лишних телодвижений. Т.е. хочешь пиши прошивку на LUA и заливай в микроконтроллер, хочешь на Arduino IDE. На сегодняшний день в продаже имеются модули под маркировкой NodeMCU v3. Выглядят платы следующим образом:

nodemcu v3

Nodemcu (LOLIN) pinout

Как и Wemos D1 mini модули отличаются схемотехникой, объемом памяти, а также моделью микросхемы USB-TTL преобразователя. Однако, от модулей D1 NODEMCU имеют полный набор GPIO выводов с разведенной SPI шиной и как следствие – плата у NodMCU значительно больше (этак раза в два).

В остальном, по функционалу модули ни чем не отличаются.

Выводы делайте сами :)

Ну а купить такие платы можно по следующим ссылкам:

NodeMCU в магазине Greatwall

NodeMCU в магазине Wavgat

NodeMCU от RobotDyn

Ну и как Вишенка на торте, пара слов о гораздо более мощном 32х битном двухъядерном микроконтроллере, который называется ESP-32.

ESP-32 board

ESP-32 pinout

ESP-32 pinout

 

 

Ну а теперь давайте поговорим о характеристиках данных модулей.

Аппаратные характеристики:

  • Процессор Tensilica Xtensa LX6 двухъядерный (или одноядерный) 32-разрядный процессор, с тактовой частотой 160 или 240 МГц и производительностью до 600 DMIPS (Dhrystone MIPS)
  • Сопроцессор с ультранизким энергопотреблением
  • Память: 520 КБ памяти SRAM, до 64 мб FLASH памяти
  • Wi-Fi: 802.11 b / g / N
  • Bluetooth: v4.2 BR/EDR and BLE

Интерфейсы:

  • 12-разрядный АЦП до 18 каналов
  • 2 × 8 бит ЦАПа
  • 10 × портов для подключения емкостных датчиков (измеряющие ёмкость GPIO)
  • Датчик температуры[источник не указан 282 дня]
  • 4 × SPI мастер-интерфейса (ведущие устройства)
  • 2 × I²S мастер-интерфейса
  • 2 × I²C мастер-интерфейса
  • 3 × UART интерфейса
  • SD/SDIO/CE-ATA/MMC/ eMMC хост-контроллер
  • SDIO/SPI слейв-контроллеры (ведомые устройства)
  • Ethernet MAC interface с выделенным DMA и IEEE 1588 Precision Time Protocol support
  • CAN bus 2.0
  • ИК дистанционное управление (передатчик/приемник, до 8 каналов)
  • Возможность подключения двигателей и светодиодов через ШИМ-выход
  • Датчик Холла
  • Аналоговый пред усилитель низкого энергопотребления

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

Уже сейчас на базе ESP-32 китайцы предлагают огромный набор готовых модулей различных компоновок. Тут и модули с возможностью подключения различных аккумуляторов, модулей с экранами, модулей с LORA, да и много еще с чем. Перечисленные модули я видел в продаже. Вообщем, кому интересно, можете посмотреть вот тут.

Базовые модули можно приобрести вот тут:

Модули ESP-32 без обвязки:

Модуль ESP-32 в магазине WavGAT

Модуль ESP-32 в магазине Greatwall

Модуль ESP-32 в магазине RobotDYN

Шилд для прошивки и программирования модуля без обвязки (Greatwall)

Готовые платы с модулем ESP-32

Готовый модуль ESP-32 в магазине Greatwall

Готовый модуль ESP-32 в магазине WavGAT

Готовый модуль ESP-32 с камерой

Готовый модуль ESP-32 с возможностью подключения источника резервного питания

Вот такие вот современные замены ардуино существуют в мире. Возможно, есть и другие варианты на других микроконтроллерах. Я описал те, о которых знал и которые покупал сам. Ссылки опубликованы на проверенных продавцов. Буду рад, если статья оказалась вам интересной. Инженерных и творческих успехов :)

Поделись с друзьями!
Мои проекты на GITHUB


Мои проекты на GitHub

Реклама




iOnline в социальных сетях
IOnLine.by в социальной сети Вконтакте (vk.com)


Мы в Facebook


Ionline.by в Instagram


Мы в Twitter