Всем привет! Недавно мы писали об этом ( один раз , И два ) что они выпустили новую версию контроллера для автоматизации — Wiren Board 5. Сегодня мы подробно поговорим о, пожалуй, самом главном в контроллере — его модулях расширения.
Зачем это нужно? Первой нашей идеей было сделать достаточно универсальный контроллер для домашней и коммерческой автоматизации - с разными проводными и беспроводными интерфейсами, RS-485, входами для подключения кнопок, реле и т.д. Преимуществом такого подхода является очень высокое соотношение функциональность/цена: за небольшие деньги пользователь получает кучу интерфейсов.
Опыт работы с первыми версиями контроллеров показал, что обычно используется лишь несколько интерфейсов.
Более того, если используются проводные интерфейсы, то их быстро становится недостаточно: например, если счетчики и периферийные устройства подключаются по RS-485 и имеют разные протоколы, то они зачастую несовместимы и их необходимо подключать к разным портам.
Если подключены кнопки, счетчики и датчики с выходами «сухой контакт», то соответствующих входов нужно много, а их недостаточно и т.д. Часто клиенты просят очень специфические функции.
Конечно, можно «перекроить» контроллер для реализации нужного функционала, но запуск новой аппаратной ревизии, даже с небольшими изменениями, — это большое дело и занимает 2-3 месяца:
- Четырехслойная плата означает длительные сроки производства как прототипов, так и серий.
- Платы такой сложности плохо паяются вручную — серию надо отправлять на автоматическую установку, а не на ручную установку.
- Каждая новая версия платы требует нового оборудования и программного обеспечения для тестирования.
- Базовый контроллер с базовыми функциями и множеством возможностей для расширения.
- Ряд простых плат расширения, «без мозгов», с удобным подключением.
- К контроллеру легко добавить определенные функции.
Платы расширения могут быть легко изготовлены для заказчика.
Они двухслойные, просты в конструкции и удобны для ручной пайки.
- Новые доработки (исправление ошибок, улучшение конструкции) контроллера и плат расширения производятся отдельно.
Разработка и запуск ускоряются.
- GSM (при установке на автоматическую линию на часть контроллеров модуль не устанавливаем).
Это неудобно, но другого пути они не придумали.
- Wi-Fi и радио 433 МГц.
Маленькие платки паяются на собственных мощностях перед сборкой партии для заказчика.
Мезонинные модули
Данные модули устанавливаются на втором этаже внутри корпуса на DIN-рейку:
- Батарейный модуль.
Нам пришлось немало повозиться с его разработкой.
Там все сложно, но не интересно.
- Второй Ethernet (скоро)
- Дисплей (планируется)
Это небольшие платочки, которые размещаются в контроллере вертикально.
Контроллер Wiren Board 5 имеет для них два слота, по три клеммных колодки на каждый слот. Гребни несут питание, интерфейсы UART, SPI, I2C и GPIO. При сборке платы прижимаются к верхней части корпуса, чтобы они не могли выпасть из-за вибрации.
Уже разработаны:
-РС-232.
-МОЖЕТ (изолированный)
-RS-485 (изолированный)
-ADC - (скоро) входы напряжения, входы 0–20 мА, датчики PT100 и PT1000
-DAC - выходы 0-10В
-3 входа с сухими контактами
-GPS/ГЛОНАСС
-Дополнительный 1-проводной
-карта microSD
-Реле SPDT 6А
В принципе они просты, о схемотехнике рассказывать особо нечего, так что идем дальше.
Модули ввода-вывода.
Но стоит рассказать об этом типе подробнее.
Часто возникают задачи, когда требуется большое количество каналов ввода-вывода — подключение счетчиков импульсов, управляющих контакторов и т. д. В этом случае подключаем внешние, боковые модули, подключаемые к контроллеру последовательно, до 8 штук.
Модуль ввода-вывода требует дополнительных GPIO. Проще всего это сделать с помощью так называемых расширителей GPIO через I2C. Мы используем расширители MCP23008 и MCP23016. У них три адресных контакта, поэтому на шине можно подключить до 8 устройств.
Адреса распределяются так — 000 100 010 001 — последовательно в модулях.
Адреса на модулях ввода инвертируются и они получают адреса 111 011 101 110. Это позволяет подключить до 8 штук (4+4) и в дальнейшем автоматически определять их тип – вход или выход.
Слева направо модули: ТТЛ-входы/выходы, «сухие контакты», «Выключатель верхнего уровня», «Входы 220В», релейный блок.
Подробнее о каждом:
Релейный блок.
8 реле на 10А при 230В, с контактной искрозащитой на варисторах.
Для снижения потребления и нагрева после включения реле можно уменьшить ток на катушке управления в 2 раза.
Самый простой способ — использовать схему, как на рисунке 1 — Включить реле с двумя транзисторами, один с резистором.
Подаем сигнал - оба транзистора открываются - течет номинальный ток, через время R1C1 транзистор Q1 закрывается - ток течет через R2. Уменьшив ток в 2 раза, мы уменьшим потребление в 2 раза.
Более разумный способ управления реле — использовать ШИМ.
Тогда, уменьшив ток в 2 раза, мы уменьшим потребление в 4 раза.
Хорошо иметь микроконтроллер: у него много шим-каналов, и управлять им можно напрямую с помощью транзистора.
Но что делать, если ШИМ нет? Нам нужно это сделать.
Возьмем 555-й таймер, а точнее его реинкарнацию MIC1557, и позволим ему сгенерировать для нас ШИМ с коэффициентом заполнения 50%.
Собираем логический элемент «ИЛИ» с помощью диодов.
Итак, при включении любого из реле таймер отключается и на реле подается полное напряжение 5В.
Модуль «Входы 220В»
Модуль определения наличия напряжения в сети.8 каналов.
Самое простое решение для контроля 220 В – оптопара с резистором.
Проблема такого простого решения в том, что оптроны имеют большой разброс CTR (коэффициента передачи тока) и для надежной работы требуется ток не менее 1 мА, а вход должен запускаться от 50В переменного тока - в результате много на резисторе выделяется тепло.
А так как входов 8, то на плате будет очень жарко.
Существуют разные способы снижения температуры.
Например, можно использовать оптопару с транзисторным выходом Дарлингтона (большой CTR), а вместо резистора использовать конденсатор.
Конденсатор мы не ставили, а применили следующий прием: если посмотреть на характеристику «CTR от входного тока» оптопар, то можно увидеть, что кривая имеет пик при токе 1-2 мА.
Таким образом, если подать ток короткими импульсами по 1 мА, можно добиться высокого CTR при низком среднем входном токе.
Динистор и конденсатор формируют для нас эти импульсы.
Пояснения к схеме: R4-R6 заряжают С2, при достижении ~35В срабатывает динистор, а R3 устанавливает ток 1-2 мА через оптопару.
D1 защищает оптопару от переполюсовки.
R1 C1 усредняет импульсы.
Модуль сухих контактов Для подключения кнопок, счетчиков импульсов и т.п.
Вход срабатывает при замыкании на землю.
Имеется групповая гальваническая развязка.
Защита от подачи напряжения до 30 В.
ТТЛ-модуль ввода/вывода Это GPIO с защитой от перенапряжения на полипредохранителе и защитным диодом.
Уровни - 5В ТТЛ.
Модуль «Выключатель стороны высокого напряжения» Предназначен для управления низковольтной нагрузкой (на выход выдается напряжение 12-45В, ток до 0,5А).
Здесь мы решили отойти от любимого нами принципа изобретать велосипед и использовали готовый чип, например смарт-ключ.
БТС4880Р .
Микросхема имеет встроенную защиту от перенапряжения, перегрева, короткого замыкания и т.д. Заключение В этой статье мы рассказали об аппаратных решениях, которые используются в модулях расширения и ввода-вывода для Wiren Board. В следующей статье мы поговорим об их использовании, зачем они нужны и как вообще использовать контроллер.
P.S. Наша компания расширяется, и мы ищем в команду еще одного системного программиста для Linux — для разработки программного обеспечения для наших устройств.
Задачи интересные, условия гибкие, код пишем прямо на github .
Подробности в Описание работы .
Теги: #Компьютерное железо #Сделай сам или Сделай сам #Интернет вещей #Умный дом #автоматизация #электроника #проводная плата #умный дом
-
«В Ситуации Виноваты Лично Вы»
19 Oct, 24 -
Samsung Galaxy Note 10.1 N8020 И Yota
19 Oct, 24 -
Ищу Ответ
19 Oct, 24 -
Kbtrainer: Chrome, Firefox, Hta
19 Oct, 24