Wiren Board 5

Новое в Wiren Board 5.

  • увеличили вдвое количество оперативной памяти — с 64 до 128 Мбайт DDR2, расширив заодно диапазон рабочих температур до -25..+85°С
  • заменили потенциально ненадёжную карту памяти microSD в качестве ПЗУ на встроенную память eMMC 4 Гбайт
  • сделали контроллер модульным — вы можете добавлять функции, устанавливая платки расширения внутрь корпуса, а ещё увеличивать количество входов и выходов, подключая боковые модули

Также мы добавили несколько модных фишек:

Bluetooth 4.0 (в том числе Low Energy)

  • порт CAN
  • инфракрасный порт
  • S/PDIF (цифровой звук)

Про это (и про важные изменения в ПО) подробнее ниже.

Описание устройства

Если очень кратко, то Wiren Board 5 — устройство, которое работает как центральный контроллер в системе автоматизации или мониторинга.

Например в «умном доме» контроллер может управлеять освещением и климатикой, снимать показания с датчиков климата и охранных датчиков. Для этого контроллер может работать с разными внешними устройствами, может выполнять разные правила и сценарии, занимается сохранением и визуализацией данных.
В типовых задачах диспетчеризации и мониторинга контроллер выступает как продвинутое УСПД: собирает данные с различных устройств, например приборов учёта, хранит локальную историю, показывает мнемосхему для локального управления, отправляет данные наверх.

 

Контроллер построен на мощном процессоре, работает под управлением Linux, имеет множество встроенных проводных и беспроводных интерфейсов и портов для связи с внешними устройствами и внешним миром.
Естественно всё это industrial-grade: корпус на DIN-рейку, большой диапазон входного питания, широкий температурный диапазон, надёжная память, защита всех портов и т.д.

 

На картинках ниже видно, что есть в контроллере:

 

 

Полные характеристики

 

Внутренние модули расширения

Модульность конструкции всегда имеет как плюсы (гибкость под конкретную задачу), так и минусы (увеличение стоимости). Но модульность очень сильно ускоряет процесс выпуска версий с небольшими изменениями. Производство контроллера даже с небольшими изменениями печатной платы — хлопотное дело на несколько месяцев. Совсем другое дело — установить маленькую платку внутрь корпуса.
В предыдущей версии контроллера был один слот для модуля расширения. В Wiren Board 5 модули устанавливаются внутри корпуса вертикально, поэтому нашлось место для двух модулей. На разъем для модулей выведены интерфейсы I2C, SPI, UART. Распиновка разъема близка к распиновке Raspberry Pi, что позволяет устанавливать некоторые шилды. Кроме того, под каждый модуль расширения отведено три клеммника: если, например, вы решите добавить порт RS-485, то вам не придётся тянуть провода шины к платке модуля внутри корпуса — вы сможете зажать их в обычные клеммники. Уже есть модули:

 

  • RS-232
  • CAN (Изолированный)
  • RS-485 (Изолированный)
  • АЦП — входы напряжения, входы 0-20мА, входы для датчиков PT100 и PT1000
  • ЦАП — выходы 0-10В
  • входы «сухой контакт»
  • GPS/ГЛОНАСС
  • разъём для microSD

 

Стыкующиеся модули ввода-вывода

Для любой проводной инсталляции контроллер должен иметь много вводов (входы выключателей, датчиков движения, открытия, сигнализации) и выводов (отдельное управление каждой светильником или исполнительным устройством). При этом нужный набор контактов сильно варьируется.
Раньше единственным нашим решением для этого были периферийные устройства, подключаемые по RS-485. Но с ними много хлопот — требуется отдельное физическое подключение, отдельное питание, в ПО нужно выставлять адрес устройства.
Поэтому мы сделали боковые модули ввода-вывода для Wiren Board 5, которые устанавливаются очень просто — стыкуются с контроллером на DIN-рейке- и сразу работают. Всего так можно подключить до 8 модулей: до 4 модулей ввода и до 4 модулей вывода. Если сборка не влезает в шкаф по ширине, можно использовать специальный шлейф для переноса модулей на следующую рейку.
Так как в модулях нет встроенной логики, они получаются заметно дешевле внешних RS-485 Modbus-устройств: например, дополнительные 8 релейных выходов сейчас стоят 2200 рублей.

 

Как это устроено внутри

 

Сейчас в наличии пять модулей:

 

  • цифровые входы для подключения «сухих контактов» с групповой гальванической развязкой
  • цифровые входы на напряжение 220В
  • модуль релейных выходов (10А ~230B)
  • модуль ввода-вывода с TTL-уровнями (5В, до 20мА) — фактически, дополнительные GPIO
  • модуль дискретных выходов. Содержит 8 выходов типа «High Side Switch» — при включении канала на клемму подается напряжение Vin. Предназначен для управления реле, низковольтными моторами и т.д.

 

Инфракрасный порт

 

Многие бытовые устройства управляются пультами ДУ (например, для большинства бытовых кондиционеров это вообще единственный способ, кроме отключения питания). Мы добавили в Wiren Board 5 порт для внешнего выносного ИК-приёмника / передатчика.
К сожалению, готового приемопередатчика найти не удалось. Доступны по отдельности приемники и передатчики с разъемом jack 3.5 мм, но к счастью у них удачная распиновка — в один разъем можно подключать и тот, и другой.
Для удобства работы мы разработали свой приемопередатчик, с паразитным питанием микросхемы приёмника. С его помощью вы сможете получать сигналы с пультов (и использовать их в своих правилах — про них читайте ниже), а также сможете посылать сигналы на свою бытовую технику.

 

Софт

 

Программная составляющая контроллера тоже сильно улучшилась. Напомним, что на контролерах Wiren Board стоит операционная система Linux Debian, а всё специальное ПО нашей разработки открыто и доступно в репозитории Github для изучения.
Всё конфигурирование сейчас происходит через веб-интерфейс.
Ещё мы добавили драйверы для самых популярных счётчиков электроэнергии с интерфейсами RS-485 — Меркурий 230 и Милур 305, поддержку датчиков ИВТМ и разных других устройств. При их подключении (а также при подключении нашей периферии) достаточно лишь выбрать название устройства в списке и ввести его адрес:

 

Система правил

 

Много изменений внесено в движок правил (мы называем его wb-rules). Он позволяет пользователям писать сценарии на языке JavaScript. Выполнение правил привязывается или к времени (по расписанию), или к выполнению определённых условий (датчик температуры показал выше 25°C, сработал датчика движения и т.д.). Из правил можно управлять всеми выходами контроллера и модулей расширения (например, переключать реле), а также посылать команды по RS-485, посылать СМС или email уведомления.
Правила создаются целиком через веб-интерфейс контроллера.
Чтобы вам было проще разобраться с языком правил, мы постоянно пополняем раздел с примерами в документации, а некоторые пользователи делятся своими правилами на нашем форуме.

 

Модуль оповещений

 

Отдельный очень частый тип правил — просто отправка уведомления при какой-то нештатной ситуации. Чтобы не писать для этого специальное правило, мы сделали отдельным модуль Alarms, который настраивается очень просто: выбирается параметр, за которым нужно следить, условие срабатывания (например: выход значения датчика температуры за заданные пределы, срабатывание датчика движения), действие (отправка СМС или email), текст оповещения.

 

Wiren Board 5: что мы изменили в “начинке” контроллера для автоматизации

  • Производство и разработка электроники,
  • Интернет вещей,
  • Компьютерное железо,
  • DIY или Сделай сам,
  • Блог компании Wiren Board

Всем привет! Недавно мы писали о том, что выпустили новую версию контроллера для автоматизации — Wiren Board 5. Сегодня мы подробно расскажем, как изменилась электронная часть устройства.

image

Процессор и память

В предыдущей версии устройства мы использовали процессорный модуль собственного производства WB-IMX233-CORE. Он был основан на на основе дизайна Olinuxino Micro на процессоре i.MX233.

imageimage

В WB5 вместо него используется модуль EV-IMX287-SODIMM.

Модуль построен на процессоре i.mx287 — следующей модели из той же линейки NXP. Хотя процессор новее и будет доступен минимум до 2025 г, он полностью программно совместим с предыдущим.

Что ещё поменялось: оперативной памяти теперь больше и она быстрее (128MB DDR2). В качестве накопителя используется чип eMMC на 4GB вместо microSD — это более надёжное решение. Остальные небольшие улучшения: USB OTG-порт, отдельный Ethernet, поддержка CAN и SPDIF, аппаратные последовательные порты.

Питание и аккумулятор.

Немного переделали схему питания — подняли максимальное допустимое входное напряжение до 28В, увеличили мощность линии 5В.

GSM-модуль на свежем чипсете от Mediatek требует более низкого напряжения, чем раньше, поэтому линия 4.5В заменена на 4.0В. От этой же мощной линии теперь напрямую питается и процессор, что позволяет снизить потребление.

Напряжение 3.3В в устройстве получается с помощью нескольких LDO, которые также изолируют друг от друга части схемы. Выходящие во внешний мир 5В на разъёме USB и клеммнике “5V out” имеют ограничение по току и допускают программное отключение.

image
Опыт эксплуатации WB4 с аккумулятором показал, что:

  1. Не всякий аккумулятор поместится внутри корпуса. Те покупатели, кто собирался использовать Wiren Board с аккумулятором, благоразумно покупали его у нас.
  2. Аккумулятор крепился в корпусе на двустороннем скотче. Ненадежно.

Т.к. в корпусе предусмотрены места для крепления платы вторым-третьим этажом, то мы решили сделать отдельную плату со схемой зарядки, и к ней же закреплять аккумулятор.

Блок по умолчанию поставляется с качественным аккумулятором EEMB на 1800 мАч.

image 

Универсальные входы Ain.

Клеммники — весьмая “дорогая” часть в контроллере, место по бокам корпуса в дефиците. Для экономии можно некоторые функции совмещать, “мультиплексировать” на один клеммник. Хорошо совмещаются выходы типа “открытый коллектор” с входом АЦП. Вход АЦП высокоомный, не мешает работе выхода. Если транзистор закрыт, он не мешает измерению напряжения.

Параллельно с аналоговым входом на клеммниках Ain имеется и цифровой вход.
Вход представляет по схеме триггера Шмитта на операционном усилителе. Входное сопротивление велико, можно задать уровень срабатывания входа, гистерезис.
Важно, что цифровой вход — “честный”, а не эмулируется на аналоговом. Это позволяет использовать вход как источник прерываний и для измерения длительности импульсов с большой точностью, что нужно, например, при подключении счётчиков.

image

CAN

В версии контроллера 3.5 (известный как Wiren Board Smart Home) был порт CAN (контроллер шины + трансивер). CAN — очень хороший протокол: быстрый, помехозащищенный, с пакетной передачей и разрешением коллизий, и т.д. Одна печаль — оборудования по доступной цене на нем нет и его мало кто использовал на контроллере. Поэтому с четвертой версии его убрали — занимал пару клеммников и много места на плате. Однако в новом процессоре CAN уже есть, нужен только трансивер.

Для экономии клеммников, в контроллере порт CAN совмещён с одним из портов RS-485. Работать одновременно можно только с одним из них. В режиме приёма трансиверы CAN и RS-485 не влияют друг на друга. А что бы растяжка линий RS-485 (А и В) не портила линии CAN (L и H), А соединяем с L, В с H.
В дополнение к встроенному CAN-порту, в Wiren Board 5 можно добавить ещё один изолированный порт CAN с помощью соответствующего модуля расширения.

Некоторые производители называют словом CAN нестандартную шину, которая использует физический уровень от CAN, а логический от UART. Такое решение встречается в основном в счётчиках, например в популярных счётчиках электричества “Меркурий”. Такую шину контроллер тоже поддерживает с помощью специального модуля расширения UART-CAN, и протокол Меркурий (и много других) тоже.

1-Wire

1-Wire — двунаправленная шина, работающая по двум или трём проводам, включая провода питания. В основном используется для датчиков температуры.

Количество устройств на шине в таком случае ограничено в первую очередь общим потреблением.

Радикальное решение — использовать отдельный провод для питания (трёхпроводная схема подключения). Но есть и другой способ, который повышает надёжность при использовании двухпроводной шины: так называемая активная подтяжка линии. Т.е. во время когда не идет передача данных, замыкать линию транзистором на питание.

Так мы и сделали в WB5.

S/PDIF

В предыдущих версиях контроллера был аналоговый стерео выход аудио. ЦАП был встроен прямо в процессор i.mx233 (а там ЦАП оказался, потому i.mx233 основан на STMP3780 — чипе для MP3-плееров, который Freescale выкупили вместе с компанией Sigmatel и перепрофилировали в индустриальный процессор).
В новом процессоре i.MX28 аналогового звука нет, но есть цифровой выход S/PDIF. Eго и вывели на оптический передачик. S/PDIF конечно в дешевые колонки не воткнешь, что может быть не удобно, но зато он позволяет использовать контроллер как сетевой плеер с нормальным, качественным звуком. Для конвертации в аналог можно использовать внешние недорогие преобразователи.

Инфракрасный приемопередатчик.

Существуют ИК приемники и ИК передатчики, как правило они с разъемом jack3.5 с тремя контактами. И к счастью, они условно совместимы по контактам.

Контакт разъема Приемник Передатчик
1 V+ Out
2 In NC
3 GND GND

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

Заключение

В этой статье мы не рассказали про аппаратные решения, которые используются в модулях расширения и модулях ввода-вывода для Wiren Board. Так как материал получается объёмным (модулей уже набралось больше десятка!), мы опубликуем его в одной из следующей статей.

You Might Also Like