В данной статье исследуется рынок плат на базе микроконтроллеров и возможности их применения в простых САУ.
Ключевые слова: микроконтроллер, микропроцессор, автоматизация, система автоматического управления.
Цели исследования.
Одиночные системы автоматического управления и контроля получают все более широкое распространение, и их реализация становится одной из главных задач для инженера автоматизации. Абсолютно очевидно, что для решения данной задачи невыгодно (а, иногда, и невозможно) использовать Пром-ПК и ПЛК, и тогда на помощь приходят простые платы на базе популярных микроконтроллеров (или же только микроконтроллеры, если ставится задача разработки собственной платы с требуемыми параметрами). Но рынок таких плат, впрочем, как и рынок микроконтроллеров, крайне широк и разнообразен, и существенную трудность в разработке представляет поиск и подбор микроконтроллера.
Целью данного исследования является рассмотрение рынка микроконтроллеров, параметров микроконтроллеров, а также категоризация микроконтроллеров (а также микропроцессоров) и плат по задачам автоматизации в рамках реализации одиночных САУ. Для этого начнем с рассмотрения нескольких наиболее популярных плат на основе микроконтроллеров или микропроцессоров [1].
1) Parallella-16.
Данная плата, в отличие от других рассматриваемых в данном исследовании, является платой на базе микропроцессора — зачастую такое решение принято называть микрокомпьютером. Отличительная особенность производителя заключается в том, что это не крупная известная компания, а успешно реализованный краудфандинговый проект. Рассмотрим ее технические характеристики.
Таблица 1
Технические характеристики Parallella-16
Модель |
P1600 |
P1601 |
P1602 |
Название |
“Microserver” |
“Desktop” |
“Embedded |
Host Processor |
Xilinx Zynq Dual-core ARM A9 XC7Z010 |
Xilinx Zynq Dual-core ARM A9 XC7Z020 |
|
Coprocessor |
Epiphany 16-core CPU E16G301 |
||
Память |
1 GB DDR3 |
||
Ethernet |
Gigabit Ethernet |
||
Boot Flash |
128 Мб QSPI Flash |
||
Питание |
5 В DC |
||
Хранилище |
Micro-SD |
||
USB |
Нет |
USB 2.0 |
|
HDMI |
Нет |
Micro HDMI |
|
Пины GPIO |
0 |
24 |
48 |
Коннекторы eLink |
0 |
2 |
|
FPGA |
28K Logic Cells |
80K Logic Cells |
|
Logic |
80 DSP Slices |
220 DSP slice |
|
Вес |
36 г |
38 г |
|
Размеры |
90 мм x 55 мм x 18 мм |
||
|
|
Рис. 1. Внешний вид Parallella-16
Как мы видим, данная плата микрокомпьютера идеально подходит для реализации структур типа сервера. В задачах автоматизации данная плата может найти свое применение в качестве средства для обработки и хранения данных (например, статистических, а также различных логов), а также синхронизации их, например, с базой данных на компьютере.
2) Платы на базе ESP32 .
Данная серия плат, также как и предыдущая, является по сути (согласно описанию производителя — Espressif Systems) платами на базе микропроцессора с интегрированными контроллерами Wi-Fi, Bluetooth и Thread на одном кристалле. Существует довольно много версий разной степени компактности. Рассмотрим характеристики наиболее популярного модуля — ESP32-WROOM-32 NodeMCU [3].
Таблица 2
Технические характеристики ESP32
Wi-Fi |
Протоколы |
802.11 b/g/n (802.11n up to 150 Mbps) |
Агрегация A-MPDU и A-MSDU и поддержка защитного интервала 0,4 мкс |
||
Центральный диапазон частот рабочего канала |
2412 ~ 2484 МГц |
|
Bluetooth |
Протокол |
Bluetooth v4.2 BR/EDR и Bluetooth LE |
Радио |
Приемник NZIF с чувствительностью -97 дБм |
|
Передатчик класса 1, класса 2 и класса 3 |
||
AFH |
||
Аудио |
CVSD и SBC |
|
Hardware |
Интерфейсы модуля |
SD-карта, UART, SPI, SDIO, I2C, ШИМ светодиода, ШИМ двигателя, I2S, ИК, счетчик импульсов, GPIO, емкостный сенсорный датчик, АЦП, ЦАП, TWAI, CAN 2.0 |
Встроенный резонатор |
Кристалл с частотой 40 МГц |
|
Встроенная SPI flash |
4 МБ |
|
Рабочее напряжение/источник питания |
3.0 В ~ 3.6 В |
|
Рабочий ток |
Среднее значение: 80 мА |
|
Минимальный ток, подаваемый источником питания |
500 мА |
|
Рекомендуемый диапазон рабочих температур |
–40 °C ~ +85 °C |
|
Размеры |
18 мм x 25.5 мм x 3.10 м |
Рис. 2. Внешний вид и распиновка ESP32
Важнейшим преимуществом данной платы является возможность обновления прошивки “по воздуху”, что позволяет найти ей применение в труднодоступных системах. Немного забегая вперед, отметим, что, пожалуй, на ряду с популярнейшей платформой Arduino, применение платы ESP32 является одним из наиболее перспективных решений в области автоматизации одиночных систем.
3) MSP 430 Launch Pad.
Нельзя, при исследовании плат на микроконтроллерах, обойти самую известную — Arduino (подробнее она будет рассмотрена ниже), поскольку многие другие платы, в том числе и на базе микроконтроллера MSP 430 (производитель — Texas Instruments), были задуманы производителями как конкурент уже ставшей монополистом Arduino. В связи с этим фактом, имеет смысл рассматривать все подобные платы через призму сравнения с Arduino [4].
Таблица 3
Характеристики MSP 430 Launch Pad в сравнении с Arduino UNO
Плата |
TI LaunchPad |
Arduino Uno |
Микроконтроллер |
MSP430G2553 (16-bit RISC) |
ATMega 328 (8-bit AVR) |
Тактовая частота |
16 МГц |
16 МГц |
Flash |
16 КБ |
2 КБ |
Цифровые I/O |
8 |
14 |
Аналоговые I/O |
8 |
6 |
Рис. 3. Внешний вид MSP 430 Launch Pad
Отметим также, что MSP430 делает достаточно сильный упор на энергопотребление — можно использовать его в проектах со слабыми источниками питания (солнечные элементы, химические элементы, ручные генераторы и прочее). Отметим и еще одну особенность — программирование платы осуществляется с помощью программы Energia, использующей уже широко распространенную связку — язык C и фреймворк Wiring, то есть то же самое, что требуется для прошивки Arduino. Во многом данная плата — очень удачный аналог, и его применение в САУ может быть таким же широким, как и у Arduino.
4) Платы серии STM32 (Blue Pill и Black Pill).
Платы серии STM32 по праву считаются главными конкурентами Arduino, в основном это связано с крайне низкой стоимостью, большим числом еще более дешевых плат-дженериков (клонов), а также простотой прошивки и хорошими характеристиками. Рассмотрим их подробнее [5] [6].
Таблица 4
Сравнение STM32 с Arduino
Плата |
Arduino UNO |
STM32 Blue Pill |
STM32 Black Pill |
Микроконтроллер |
ATMega328 |
STM32F103 |
STM32F407/STM32F411 |
Рабочее напряжение |
5 В |
3,3 В; 5 В |
3,3 В; 5 В |
Тактовая частота |
16 МГц |
72 МГц |
100 МГц |
Количество пинов GPIO |
20 |
30 |
30 |
Пины с АЦП |
6 |
10 |
16 |
Поддерживаемые интерфейсы (помимо GPIO) |
Serial/UART, I2C, SPI |
||
|
|
Рис. 4. Внешний вид плат на базе STM32
Преимущества STM32 очевидны, но есть и очевидные недостатки, которые нельзя описать в таблице. На данный момент с импортом оригинальных плат на базе STM32 наблюдаются огромное проблемы, и доступность их использования в проектах сейчас обуславливается наличием плат-дженериков, однако и это не выход — поскольку для их прошивки оригинальным ПО (CUBE IDE) требуется взломанная версия программы, а такой подход в инженерии никогда не приветствуется.
5) Arduino.
Arduino сейчас является, пожалуй, основным микроконтроллером для решения “бытовых” задач автоматизации, в том числе и в комбинации с другими (например, ESP32). На ней решается множество задач, таких как, например, “умный дом” (и различные его составляющие), системы вентиляции, системы оповещения с датчиками, метеостанции с управлением системой климат-контроля и так далее. Существует несколько основных ее версий — UNO, Nano, MEGA, Leonardo, Pro Mini, Micro, Zero, а также различные их модификации с модулями беспроводной связи (Wi-Fi, Bluetooth, GPS и другие). Для решения же большинства инженерных задач применяется Arduino Nano — это связано с ее небольшими габаритами и почти ничем не отличающимся функционалом от более крупных моделей. Рассмотрим ее характеристики [7].
Таблица 5
Характеристики Arduino Nano
Микроконтроллер |
ATMega328P |
Напряжение логических уровней |
5 В |
Входное напряжение питания (рекомендованное) |
7–12 В |
Входное напряжение питания (предельное) |
6–20 В |
Порты ввода-вывода общего назначения |
20 |
Максимальный ток с пина ввода-вывода |
40 мА |
Максимальный выходной ток пина 3.3V |
50 мА |
Максимальный выходной ток пина 5V |
800 мА |
Цифровые пины ввода/вывода |
14 (6 выходов ШИМ) |
Цифровые ШИМ-пины ввода/вывода |
6 |
Аналоговые пины (с АЦП) |
6 |
Разрядность АЦП |
10 бит |
Flash-память |
32 КБ (ATMega328P), из которых 0,5 КБ используется загрузчиком |
SRAM (Оперативная память) |
2 КБ (ATMega328P) |
EEPROM-память |
1 КБ |
Тактовая частота |
16 МГц |
Габариты |
68.6мм x 53.4 мм |
Вес |
25 г |
Рис. 5. Внешний вид Arduino Nano
Пожалуй, Arduino Nano является наиболее универсальным решением, если не стоит задача о создании полноценного визуального интерфейса на дисплее, или нет требований по высокому быстродействию. Для таких задач больше подходит другое решение, которое мы рассмотрим в следующем пункте.
6) Raspberry Pi.
Raspberry Pi — одноплатный компьютер очень компактного размера (“с банковскую карту”), существует множество поколений и версий различных модификаций и на базе разных процессоров. Сейчас выпущено уже пять поколений (Pi 1–5), но рассматривать мы будем самый доступный и успешно показавший себя во многих проектах Raspberry Pi 3B [8].
Таблица 6
Характеристики Raspberry Pi 3B
Процессор |
Broadcom BCM2837 1.2ГГц четырехъядерный ARM Cortex-A53; |
GPU |
Двухъядерный VideoCore IV |
Оперативная память |
1ГБ LPDDR2 |
Беспроводная связь |
Wi-Fi (802.11 b/g/n) и Bluetooth 4.1 (классический Bluetooth и LE) |
Операционная система |
Запуск с Micro SD карты, дистрибутивы Linux или Windows 10 IoT |
Размер |
85 мм x 56 мм x 17мм |
Питание |
Micro USB 5.1В/2.5А |
Разъемы |
10/100 BaseT Ethernet, HDMI (rev 1.3 & 1.4), 3.5mm jack, 4 x USB 2.0, GPIO: 40-пин, MIPI Camera Serial Interface (CSI-2), Display Serial Interface (DSI), Micro SDIO |
Рис. 6. Внешний вид Raspberry Pi 3B
В связи с наличием графического процессора, беспроводной и проводной связи, а также портов GPIO Raspberry Pi является прекрасным решением для сложных систем управления, систем управления с полноценным интерфейсом, или даже — для создания полноценных SCADA-систем (для простых же систем мощность Raspberry Pi будет избыточна).
7) Intel 8051.
Ну и наконец, не стоит забывать самое классическое решение — однокристальный микроконтроллер серии MCS 51 гарвардской архитектуры от компании Intel, нашедший невероятно широкое применение во всевозможных системах. Для разработки устройств на данном микроконтроллере применяются отладочные платы — после прошивки МК его размещают на отдельных платах. Крайне интересное решение для несложных САУ, поскольку данный микроконтроллер обладает небольшой стоимостью и неплохими характеристиками. Рассмотрим наиболее интересные из них [9]:
— Состоит из процессорного ядра, ОЗУ, ПЗУ, последовательного порта, параллельного порта, логики управления прерываниями, таймера и так далее;
— 8-битная шина данных. Возможность обработки 8 бит данных за одну операцию.
— 16-битная адресная шина. Возможность доступа к 216 адресам памяти, то есть 64 Кб адресное пространство в ОЗУ и ПЗУ;
— Встроенное ОЗУ — 128 байт;
— Встроенное ПЗУ — 4 КБ;
— Четыре порта ввода-вывода: один двунаправленный и три квазидвунаправленных;
— Интерфейсы UART, I²C, SPI;
— Два 16-битных таймера;
— Два уровня приоритета прерываний;
— АЦП, ЦАП;
— ШИМ-генераторы;
— Энергосберегающий режим.
Рис. 7. Внешний вид Intel 8051
Данный МК был упомянут скорее как дань уважения, нежели реальный кандидат на использование в САУ, но тем не менее ему можно найти применение в системах управления, если потребуется, но в таком случае нужно будет разрабатывать собственную плату и размещать на ней заранее прошитый микроконтроллер.
Итоги.
Для того чтобы сделать некоторые выводы, составим таблицу, в которой сравним все рассмотренные выше платы.
Таблица 7
Сравнение описанных решений
Средняя стоимость (2024 г., маркетплейсы) |
Категория |
Интерфейсы взаимодействия |
Способ прошивки |
Парадигма |
Доступность |
|
Parallella-16 |
15000 р |
Микрокомпьютер |
GPIO, WiFi, BT, USB |
Напрямую (LISP) |
Сервера, сложные БД и САУ |
Недоступно для РФ |
ESP32 |
500 р |
Плата микроконтроллера |
GPIO, WiFi, BT, USB |
Любые IDE |
Беспроводные САУ, Умный дом |
Доступно, крайне легко приобрести |
MSP 430 Launch Pad |
1800 р |
Плата микроконтроллера |
GPIO, SPI, USB |
Arduino IDE |
Простые САУ, элементы умного дома |
Доступно, сложно приобрести |
STM32 |
600 р |
Плата микроконтроллера |
GPIO, SPI, USB |
CUBE IDE |
Простые САУ, элементы умного дома |
Доступно, легко приобрести |
Arduino |
400 р |
Плата микроконтроллера |
GPIO, SPI, USB |
Arduino IDE |
Простые САУ, элементы умного дома |
Доступно, крайне легко приобрести |
Raspberry Pi |
7000 р |
Микрокомпьютер |
GPIO, SPI, HDMI, USB |
Напрямую, через ОС |
Сервера, сложные САУ, Умный дом, IoT, SCADA-системы |
Доступно, средне-сложно приобрести (для модели 3 B) |
Intel 8051 |
800 р |
Микроконтроллер |
- (поддерживаются различные протоколы) |
С помощью отладочной платы |
Простые одноплатные САУ |
Доступно, сложно приобрести |
Исходя из таблицы 7, а также из собственного опыта (к сожалению, без субъективности здесь не обойтись), можно сделать следующие выводы:
— Для большинства простых задач использование Arduino будет оптимальным (здесь и цена, и достаточное быстродействие сочетаются с доступностью);
— Для решения сложных задач автоматизации стоит использовать Raspberry Pi — на ней даже можно построить целую SCADA-систему с полноценным визуальным интерфейсом на мониторе;
— Для решения несложных задач, требующих высокого быстродействия самым логичным кажется использования STM32 (для более сложных вычислений — версию Black Pill), но следует подумать, поскольку есть трудности с прошивкой дженериков (описаны ранее);
— Для разработки одноплатных систем оптимально использование Intel 8051;
— В аутсайдерах же остаются Parallella-16, в связи с недоступностью в РФ, и MSP 430 Launch Pad в связи с неоправданно высокой стоимостью и некоторыми трудностями в приобретении.
В качестве общего вывода, можно сказать следующее — так как в данном исследовании были затронуты общие случаи, для которых и были сделаны выводы, базовую отладочную плату, микроконтроллер или микропроцессор всегда нужно подбирать для конкретной системы отдельно, исходя из конкретных условий.
Литература:
- 10 Best Microcontroller Boards For Hobbyists And Engineers // Wonderful Engineering URL: https://wonderfulengineering.com/10-best-microcontroller-boards-for-hobbyists-and-engineers/ (дата обращения: 25.01.24).
- Parallella-1.x Reference Manual // Paralella URL: https://www.parallella.org/docs/parallella_manual.pdf (дата обращения: 25.01.24).
- ESP32WROOM32 // ESPRESSIF URL: https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf (дата обращения: 25.01.24).
- Недорогая альтернатива Arduino. Дадим шанс? // Хабр URL: https://habr.com/ru/articles/151196/ (дата обращения: 25.01.24).
- STM32F103C8T6 — Blue Pill // STM32-base URL: https://stm32-base.org/boards/STM32F103C8T6-Blue-Pill.html (дата обращения: 29.12.23).
- STM32F411CEU6 — Black Pill // STM32-base URL: https://stm32-base.org/boards/STM32F411CEU6-WeAct-Black-Pill-V2.0.html (дата обращения: 29.12.23).
- Плата Arduino Nano v 3.0: распиновка, схемы, драйвер // ARDUINO MASTER URL: https://arduinomaster.ru/platy-arduino/plata-arduino-nano/ (дата обращения: 25.01.24).
- Raspberry Pi 3 Model B, Одноплатный компьютер на базе процессора Broadcom BCM2837 с Wi-Fi и Bluetooth // chipdip. URL: https://www.chipdip.ru/product/raspberry-pi-3-model-b (дата обращения: 25.01.24).
- Intel 8051 — Википедия // ВикипедиЯ URL: https://ru.wikipedia.org/wiki/Intel_8051 (дата обращения: 25.01.24).