Сегодня у нас на обзоре долгожданный контроллер NORVI Arita на ATmega2560. Долгожданный он потому, что большинство производителей, на мой взгляд незаслуженно, игнорируют замечательный микроконтроллер ATmega2560, и там где нужно и, самое главное, где не нужно, используют ESP32.
У ATmega2560 нет Wi-Fi, но зато есть «дубовая» 5-вольтовая логика, 4 хардверных Serial-а (на отдельных пинах), 53/69 (!) GPIO, 16 аналоговых входов, 15 портов с ШИМ, 4КБ «честной» EEPROM памяти, 40 мА нагрузочная способность пинов и прочие практически полезные прелести. На этом фоне ESP32 с его десятком рахитичных GPIO смотрится просто каким-то недоразумением.
В умелых руках ATmega2560, в совокупности с сетевым интерфейсом W5100/W5500 и картридером для microSD карт (до 32 ГБ), превращается в самодостаточное устройство с развитым (ничуть не хуже, чем на ESP32) веб-интерфейсом, огромными возможностями по управлению различным оборудованием, поддержкой сложной многослойной логики и коммуникаций с внешним миром по Ethernet, LoRa, nRF24 и т. д. и т. п.
Проблема только одна — на рынке нет Arduino Mega «с человеческим лицом», за редкими исключениями, с одним из которых я и приглашаю вас познакомиться...
❯ Семейство NORVI Arita
Семейство NORVI Arita состоит из нескольких моделей (модификаций), актуальными на данный момент являются Model 5, 6, 7 и 8. Эта нумерация косвенно свидетельствует о том, что были ещё модели 1, 2, 3, 4 и, вполне возможно, появятся модели 9+.
Примечание. Контроллеры серии NORVI Arita бывают ещё на ядре STM32 (STM32F103RBT6), но в этой статье речь идёт только о контроллерах на ATmega2560.
Общий принцип построения модельного ряда контроллеров NORVI Arita такой: имеется некая базовая модель (на данный момент за неё можно принять Model 5), которая содержит 14 цифровых входов, 10 реле, 2 транзисторных выхода и интерфейс RS485 (плюс кнопки управления и индикацию на передней панели).
Далее в каждой новой версии добавляются дополнительные возможности: дисплей, microSD картридер, Ethernet интерфейс W5500 и т. д. Причём некоторые возможности, например часы реального времени (RTC), Wi-Fi микроконтроллер ESP8266 и пр. не упоминаются в документации и на сайте производителя, хотя на плате контроллера имеется место для их установки.
Наглядно увидеть распределение возможностей контроллеров NORVI Arita по моделям можно на следующей таблице. Заголовки столбцов «скрытых» элементов выделены серым цветом.
Исходя из представленной в таблице информации, можно сказать, что наиболее полноценным решением является Model 8, в которой присутствует всё необходимое для построения функционального контроллера.
В моём распоряжении имеется начальная Model 5 с базовым набором функций, поэтому нам придётся часть компонентов и их функций изучать «теоретически».
В том виде, в котором контроллер доступен нам для исследования, это «рабочая лошадка» с 14 цифровыми входами, 10 реле, 2 транзисторными выходами и интерфейсом RS485, полностью лишённая коммуникационных возможностей. Можно использовать контроллер «как есть», для решения соответствующих задач, а можно попытаться самостоятельно его модернизировать, добавив Ethernet интерфейс или какие-нибудь беспроводные модули, например LoRa или nRF24. Или вообще распаять на плате недостающий модуль ESP8266, тем самым добавив контроллеру утерянную возможность работы по Wi-Fi.
Но если в вашем распоряжении будет NORVI Arita Model 8, то на её основе можно создавать очень и очень функциональные проекты. По большому счёту, должна быть Model 9, где присутствуют все возможные компоненты и доступен для программирования весь функционал, ими предоставляемый — вот это уже будет похоже на прототип «контроллера нашей мечты».
Теперь давайте поближе познакомимся с самим контроллером.
❯ Компоненты и характеристики
Базовая модель NORVI Arita Model 5 содержит:
- Микроконтроллер: ATmega2560
- 14 цифровых входов (DI)
- 14 индикаторов состояния входов
- 10 реле 220В/5А (макс.)
- 10 индикаторов состояния реле
- 2 транзисторных выхода (до 0,5А)
- 2 индикатора состояния транзисторных выходов
- Интерфейс RS485
- 2 индикатора TX/RX активности интерфейса RS485
- 4 кнопки управления на передней панели
- Кнопка «Reset»
- Интерфейс для подключения дополнительных блоков
- Mini-USB разъём для программирования
- 2 индикатора TX/RX USB-UART
- Индикатор включения
- Напряжение питания: 24 В
В этой конфигурации прежде всего не хватает сетевого интерфейса на W5500, что лишает контроллер коммуникационных возможностей и резко ограничивает его функционал, а также не помешал бы дисплей на передней панели — на него очень удобно выводить различную информацию.
❯ Расположение контактов
Расположение контактов, управляющих кнопок и элементов индикации контроллера NORVI Arita показано на иллюстрации ниже.
Тут нужно сделать ещё одно важное замечание: по старой доброй традиции контроллеров NORVI, в документации и даже в обозначениях на корпусе самого изделия (!) перепутано всё, что только можно перепутать.
Вы можете сами сравнить фотографию контроллера (см. выше) и реальное положение элементов на вышеприведённой иллюстрации — перепутаны обозначения цифровых входов IN0-IN13, PWR, RX, TX, 485 RX, 485 TX.
Поэтому что-либо подключать к контроллерам NORVI нужно с крайней осторожностью и при этом ни в коем случае не пользуясь официальной документацией и обозначениями на самих контроллерах — на данный момент единственным достоверным источником информации по контроллерам NORVI являются статьи этого цикла.
❯ Внутреннее устройство
Открываем контроллер. Опять же, по старой традиции, разборка контроллера NORVI — это занятие для людей с (очень) прямыми руками, верным глазом и стальной выдержкой, по принципу «буду вскрывать сильно, но точно».
Корпус имеет почти неразборную конструкцию, для вскрытия которой нужно применять значительные усилия, которые могут привести к повреждению либо пластмассы корпуса, либо самих плат и элементов контроллера.
Верхняя крышка с элементами индикации соединяется с контроллером при помощи 40-пинового шлейфа. Сама мини-плата индикаторов просто приклеена к верхней крышке, причём приклеена не термоклеем, а каким-то составом, который намертво «вплавился» в пластмассу корпуса и без повреждения отсоединить от крышки плату индикаторов уже навряд ли получится.
Прозрачная передняя панель с обозначениями тоже снимается. Слева от платы индикаторов находится «окно» для дисплея SSD1306. В моём случае дисплей отсутствует и, если я захочу его добавить, мне придётся выпилить это окно в пластмассе корпуса.
❯ Схемотехника
Компоновка контроллеров семейства Arita характерна для продукции NORVI — это бутерброд из двух плат «насмерть» соединённый четырьмя стойками длинных пинов. То есть разобрать контроллер (например, для модернизации) без серьёзного хирургического вмешательства не получится.
Нижняя плата содержит контакты для подключения входов, выходов, интерфейса RS485 и питания контроллера (24 В), элементы подсистемы питания, 10 реле и прочие компоненты.
Верхняя плата содержит микроконтроллер ATmega2560 (с обратной стороны платы), Mini-USB разъём, управляющие кнопки, разъём для подключения 40-контактного шлейфа, блок конфигурационных перемычек и прочие элементы.
Принципиальную электрическую схему контроллера производитель не предоставляет, поэтому далее нам придётся разбираться своими силами.
Питание
Подсистема питания состоит из импульсного понижающего регулятора напряжения на LM2596S (5 В) и элементов его обвязки. Входное напряжение, указанное производителем, должно быть 24 В (в реальности контроллер работает и от меньшего напряжения).
Вид на элементы подсистемы питания NORVI Arita: микросхема DC-DC преобразователя LM2596S, индуктивность, фильтрующие конденсаторы и прочие элементы.
Нормальным является режим питания контроллера через контакты колодок, но частично запитать его можно и от Mini-USB разъёма, в этом случае будут работать ATmega2560 и индикация и можно будет заливать прошивки в контроллер.
Ядро ATmega2560
В качестве ядра в NORVI Arita используется микроконтроллер ATmega2560 (Arduino Mega 2560), который располагается на обратной стороне верхней платы. Несмотря на то, что он имеет 8-битную архитектуру и всего 8 КБ оперативной памяти, его возможностей с лихвой хватает для большинства задач автоматизации.
Сильной стороной этого микроконтроллера является большое количество GPIO (до 69 штук) и огромное количество готового бесплатного кода для него в интернете.
USB подключение
Мост USB-UART на плате NORVI Arita реализован при помощи ATmega16U2 (видно на фото ниже, рядом с кварцем) и сам контроллер определяется на компьютере как «Arduino Mega 2560». Для подключения к компьютеру, программирования и заливки прошивок на верхней плате присутствует Mini-USB разъём.
На фото видна также кнопка «Reset», которая находится с левой стороны корпуса контроллера (на корпусе присутствует отверстие для её нажатия).
Цифровые входы
NORVI Arita имеет 14 цифровых входов, подключённых через 4 микросхемы TLP290-4, содержащих каждая по 4 оптопары.
Возможны два варианта подключения датчиков к цифровым входам: с «плюсом» на COM контакт и с «минусом», в терминологии производителя «Sink» и «Source».
Релейные и транзисторные выходы
NORVI Arita имеет 10 релейных и 2 транзисторных выхода. Максимальный ток релейных выходов — 5А, транзисторных — 500 мА. Для их подключения также используются микросхемы TLP290-4.
Реле установлены, судя по всему, японские TAKAMISAWA NY24W-K 24VDC 5A 250VAC, по крайней мере они имеют маркировку JAPAN, что даёт надежду на их долгую и беспроблемную работу (при допустимых режимах эксплуатации).
Кнопки
Кнопки на NORVI Arita подключены каждая к отдельному GPIO, что является вполне допустимой роскошью при таком их количестве в микроконтроллере ATmega2560.
Светодиодные индикаторы
В NORVI Arita имеется полный набор индикаторных светодиодов. Здесь присутствуют светодиоды входов, выходов, наличия питания контроллера, а также RX/TX подключения к компьютеру и RX/TX обмена данными по интерфейсу RS485.
RS485
В качестве приёмопередатчика RS485 используется микросхема MAX485CSA с соответствующими элементами обвязки.
40-пиновый разъём
40-пиновый разъём для подключения платы индикации. Шлейф, соединяющий обе платы, сделан очень кротким и его довольно проблематично подключать и отключать.
Разъём дисплея
В Model 5 отсутствует дисплей, но есть контактные площадки на плате для его установки, то есть при особом желании контроллер можно оснастить дисплеем. Правда перед этим придётся провести исследование того, насколько Model 5 готова для для установки SSD1306 — все ли сигналы подводятся к контактным площадкам, не нужно ли изменить конфигурацию перемычек (на фото чуть выше контактов дисплея) и т. д.
Внешний разъём
Разъём для подключения внешних блоков выведен на правую боковую стенку контроллера. Нужно сказать, что это довольно полезное дополнение — при помощи этого разъёма можно значительно расширить функционал NORVI Arita.
Правда есть один весьма неоднозначный момент. Как выяснилось в процессе исследования контроллеров NORVI, распиновка внешнего разъёма не совпадает у различных моделей. Вплоть до того, что на одних и тех же пинах в одних моделях присутствуют выводы GPIO, а в других — напряжение питания 3,3 и 5 В.
Для меня это положение вещей совершенно непонятно, по идее распиновка на всех контроллерах должна быть одинаковой, иначе непонятно как подключать дополнительные блоки к контроллерам — так можно легко что-то сжечь.
Так что с этим вопросом нужно разбираться отдельно, по крайней мере десять раз всё перепроверить, прежде чем подключать внешние блоки к контроллерам NORVI.
Ethernet модуль
В моём случае Ethernet модуль в контроллере отсутствует, но проводная связь — это очень важный элемент построения систем автоматизации и, если я буду модернизировать NORVI Arita Model 5, то в первую очередь займусь добавлением модуля W5500 на плату (для этого мне придётся провести ещё одно исследование того, что и как там подключено).
Место установки ESP8266
Дополнительный микроконтроллер ESP8266 с Wi-Fi точно не помешал бы нашему контроллеру, правда, несмотря на готовое место для его установки, наличие такой опции даже не заявляется производителем ни на официальном сайте, ни в документации — это снова поле для наших экспериментов и, заодно, возможность повысить свою квалификацию в электронике и программировании.
Неизвестный модуль
В процессе исследования NORVI Arita обнаружилось место на плате для установки какого-то неизвестного модуля. Ни логически, ни по расположению контактных площадок мне не удалось его идентифицировать.
У меня даже нет идей, что бы это могло быть. На ум приходит только вариант с каким-то беспроводным модулем/модулями. А было бы любопытно узнать что там должно быть установлено — если у вас есть идеи — напишите об этом в комментариях.
❯ Распиновка
И в завершение — распиновка контроллеров NORVI Arita. Занято большинство GPIO, несколько свободных пинов скорее всего заняты выводами Ethernet модуля W5500 и микроконтроллера ESP8266, но точнее мне это пока выяснить не удалось — это станет понятно в ходе дальнейших исследований.
Также вызывает сомнения расположение выводов TQ.0, TQ.1 и R4 на D10, D11 и D12, которые обычно используются Ethernet библиотеками — что и как там работает можно будет выяснить только в ходе практических экспериментов.
❯ Заключение
Как всегда, места для разбора программирования NORVI Arita не хватило в одной статье, этому вопросу можно будет посвятить отдельный материал. Также можно будет сделать отдельную статью по модернизации Model 5 и превращению её в Model 8, а возможно и в Model 8+.
Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале ↩