на главную
Карта сайта
English version
Вы читаете:

Программируемый логический контроллер

Разное
4 года назад

Программируемый логический контроллер для бытовой автоматики (часть 1)


В статье рассмотрено построение программируемого логического контроллера для систем бытовой автоматики с элементами профессионального устройства. Контроллер собран на основе микроконтроллера ATmega, имеет модульную расширяемую структуру и подходит для большинства бытовых задач управления. Устройство выполнено в форм-факторе промышленного программируемого логического контроллера с монтажом на DIN-рейку. Отличительная особенность контроллера - для устройства разработаны односторонние платы с размерами дорожек, обеспечивающими возможность их лёгкого изготовления в домашних условиях, все элементы устройства - выводные.

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

Задача бытовой автоматизации на самом деле не такая уж и сложная, и при правильном подходе куда проще (а часто и дешевле) сделать свою систему управления, нежели пытаться настроить существующие компоненты. Но чтобы это было именно так, все компоненты системы должны быть правильно спроектированы, чтобы каждый раз не приходилось изобретать блок управления заново. Такие "универсальные" устройства хорошо известны, они называются программируемыми логическими контроллерами, сокращённо ПЛК. И всегда именно ПЛК являются основой автоматизации: это исполнительная система процесса управления, верхнеуровневые системы меняются, а ПЛК остаются.

Итак, проектируем систему управления и ПЛК для бытовых задач. Рассмотрим несколько уровней дизайна: концептуальный, аппаратный, программный. Если вдумчиво подойти к каждому из уровней, то и результат будет радовать.

Концептуальный дизайн. Прежде всего, ограничим задачу по всем параметрам и сформируем образ будущего устройства. Основной вопрос - применение. В быту типичными задачами являются управление нагрузкой, подключённой к сети 230 В, освещением, локальными исполнительными устройствами. Управляющие сигналы - от различных кнопок (проводных, беспроводных, выключателей, переключателей и пр.) и внешние сигналы "текущего состояния", например, температура, уровень освещённости, режимы охранных сигнализаций, сигналы от датчиков движения и т. д. Будем для простоты считать, что все соединения проводные. На самом деле, это не такое сильное ограничение, как кажется на первый взгляд.

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

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

Аппаратный дизайн. Архитектура ПЛК становится более или менее понятной. Рассмотрим элементы по отдельности. Далее будут появляться различные стандартные специальные термины, предполагается, что читатель самостоятельно посмотрит, что это такое.

Управление нагрузкой - ключевой вопрос для ПЛК. Грубая оценка предельного тока для стандартных плат с толщиной фольги 18 мкм - приблизительно 2 А при ширине дорожки 2 мм.

Качество фольги часто оставляет желать лучшего, поэтому следует перестраховаться. Считая нагрузку (например, по освещению) в среднем 50 Вт на канал, примем оптимальным управление восемью устройствами по одной силовой линии. Принимая во внимание стандартные размеры клеммников (шаг 5,25 мм), можно считать размер в семь-восемь модулей оптимальным - обеспечивается управление восемью устройствами по двум линиям или шестнадцатью по одной. Этот габарит и возьмём за основу.

Что касается управляющих входов, то стандартов весьма много, но исходя из вышесказанного, обычный контакт на замыкание решает 80, если не 95 % задач. С учётом того, что сигнал напряжением, скажем, +24 В легко превращается в "замыкание" оптроном (или даже транзистором) с резистором.

Оставшиеся проценты отражают потребность в специфических сигналах, что тоже надо учесть.

Стандартный промышленный ПЛК, кроме блока ввода/вывода, содержит процессорный блок, определяющий логику работы устройства, индикацию состояния выходов, коммуникационный интерфейс для связи с внешними устройствами и программирования. Это необходимый минимальный набор.

Учитывая, что ПЛК монтируется в бокс, ставить символьные индикаторы не имеет большого смысла, достаточно простого набора светодиодов. И программировать легче, и информативность достаточная. Коммуникационный интерфейс выберем последовательный RS-232. Он, во-первых, является наиболее распространённым, во-вторых, имеется огромное число преобразователей в USB, передачи по силовым линиям, шлюзы RS-232- Ethernet и т. д. Светодиодную индикацию имеет смысл сразу делать "расширяемую", т. е. выводить её на расширитель или на специализированную микросхему или модуль.

Чтобы обеспечить универсальность, модульность и расширяемость, разделим физически блоки управления и силовых коммутаторов (и прочих "опционных" элементов) и заложим возможность соединять устройства между собой в единый комплекс. Межплатную коммуникацию разумно построить на стандартной шине, как минимум из соображений минимизации соединений. Учитывая два фактора: относительно небольшое требуемое быстродействие (миллисекунды) и доступность различных расширителей и прочих устройств, выберем протокол I2C (другое название TWI), сократив межблочный шлейф до четырёх проводов.

Таким образом, сформировался структурный дизайн ПЛК, который и примем за основу. К описанному добавим системный программно управляемый индикатор, кнопку, функциональность которой определяется программно, внешние интерфейсы SPI и 1 - wire.

В силу распространённости и наличия "на борту" всех необходимых интерфейсов в качестве базового выберем микроконтроллер семейства ATmega168, работающий на частоте 16 МГц. Это не предельные показатели, и объём памяти, и частота могут быть увеличены, но для поставленной задачи этого должно вполне хватить. ПЛК собран на двух платах: управления и исполнительной.

Схема платы управления приведена на рис. 1. Управляющий микроконтроллер DD1 обеспечивает работу шины I2C через стандартный интерфейс. Коммуникационный разъём ХР1 содержит выводы интерфейса SPI, который может быть использован для ISP-программирования, последовательный коммуникационный интерфейс подключён через микросхему преобразователя уровней dD2. Блок индикации собран на регистрах DD3, DD4 с последовательным вводом. Разъёмы XP3 и XS1 предназначены для соединения нескольких устройств друг с другом через контактные пластины.

Схема платы управления

Рис. 1. Схема платы управления

 

Модуль управления собран на плате из фольгированного c одной стороны стеклотекстолита размерами 132x50 мм (рис. 2). Индикаторные светодиоды устанавливают на стойки высотой 4 мм, все микросхемы запаяны непосредственно в печатную плату (рис. 3). Разъёмы XP3 и XS1 - USB типа A. Применены светодиоды диаметром 3 мм: HL1 - зелёного, HL2, HL3, HL5 - синего, HL4, HL6-HL21 - красного свечения.

Чертёж печатной платы

Рис. 2. Чертёж печатной платы

 

Индикаторные светодиоды на плате

Рис. 3. Индикаторные светодиоды на плате

 

К контактным площадкам разъёма ХР2 припаивают шлейф для соединения с платой силовых ключей и дополнительных устройств. В зависимости от конфигурации силовой платы могут быть установлены не все индикаторные светодиоды, если устройство работает отдельно или нет необходимости взаимодействия между устройствами, то межмодульные разъёмы XP3 и XS1 и связанные с ними цепи также можно не монтировать.

Ещё один нюанс относительно коммуникационного интерфейса. Если предполагается использование головного блока, скажем, на основе Raspberry PI (для них есть корпуса с монтажом на DIN-рейку), логично сделать связь через UART-контакты GPIO разъёма, а не через преобразователь RS-232-USB. В этом случае преобразователь уровней DD2 и конденсаторы C5-C8 не устанавливают, вместо микросхемы запаивают перемычку на входной сигнал (между выводами 8 и 9 микросхемы DD2), на выходной устанавливают делитель из резисторов сопротивлением 1 кОм (в отверстия для выводов 7 и 10 микросхемы DD2) и 2 кОм (между выводами 7 и 15 микросхемы DD2), что обеспечит сдвиг уровня сигнала до совместимого с Raspberry PI уровнем. Аналогично и для других микрокомпьютеров (Orange PI, например) и некоторых шлюзов UART-Ethernet.

Поскольку AVR-ISP-разъём выведен на внешний разъём, микроконтроллер может быть запрограммирован после сборки платы.

Модуль управления имеет большой потенциал по расширению узла индикации добавлением дополнительных регистров или применением специализированной микросхемы TM1637. Но при этом потребуется переделать печатную плату. Как показал личный опыт, шестнадцать каналов на устройство - оптимальный вариант.

Теперь рассмотрим исполнительный модуль, который управляет нагрузкой. Сформулируем задачу так: нужна система управления освещением в доме с встроенным режимом имитации присутствия. Считаем число управляемых светильников равным восьми. Из дополнительных устройств для решения поставленной задачи нужны ПЗУ для хранения программ "присутствия" и часы реального времени (ЧРВ). Оба устройства есть в виде стандартных микросхем с интерфейсом I2C: ПЗУ серии 24LC*** и вариации микросхемы DS1307. Их и используем. Управлять нагрузкой будем через симисторные ключи, питание сделаем от сети 230 В, чтобы не вводить внешний источник питания.

Пример схемы исполнительной платы, отвечающей вышеприведённым параметрам, показан на рис. 4. В качестве расширителей применены микросхемы PCF8574R предусмотрены двенадцать входов для выключателей освещения (В1-В12) и три внешних слаботочных выхода для управления внешними устройствами, два выхода собраны по схеме с открытым коллектором (ОС1, ОС2), один - с опторазвязкой (ОО1). Например, при включении освещения в прихожей можно подать команду на голосовое приветствие.

Пример схемы исполнительной платы

Рис. 4. Пример схемы исполнительной платы

 

Силовые ключи выполнены по стандартной схеме с оптосимисторами, выходы с открытым коллектором (VT2, VT4) включены через дополнительные транзисторы (VT1, VT3) структуры p-n-p в связи с тем, что ключи имеют выход с "рабочим" низким уровнем, и транзистор выполняет функцию инвертора. Входы минимально защищены от наводок RC-цепочкой (R61C11 и т.д.) и резистором, подключённым к линии питания +5 В. По опыту такой защиты в бытовой сети вполне достаточно при прокладке сигнальных проводов от выключателей в одном шлейфе с силовыми. Если этого кажется недостаточным, параллельно конденсатору можно подключить стабилитрон с напряжением стабилизации 4,7 В, а резистор заменить на термистор с положительным температурным коэффициентом (PTC) номиналом 100 Ом.

Исполнительный модуль собран на отдельной плате из фольгированного с одной стороны стеклотекстолита размерами 132x83 мм, чертёж которой приведён на рис. 5. Монтаж платы особенностей не имеет, кварцевый резонатор ЧРВ ZQ1 необходимо вать перемычкой из неизолированного провода, которую впаивают в предназначенные для этого отверстия на плате. В авторском варианте на месте резисторов R17-R20, R21-R24 и R25- R28 применены резисторные сборки из четырёх резисторов. Но можно использовать и обычные выводные, одни выводы резисторов впаивают в соответст-вующие отверстия в плате, вторые выводы резисторов соединяют и подключают к линии +5 В - это крайние левые отверстия, имеющие квадратные площадки. Симисторы можно применить практически любые требуемой мощности на напряжение 600 В, расширители могут быть использованы с суффиксом A, но следует учесть, что у них код устройства свой, отличный от PCF8574. Резисторы желательно использовать мощностью рассеяния 0,125 Вт, кроме резисторов в цепях обвязки оптосимис-торов, там мощность должна быть не менее 0,25 Вт. Разъём XP1 на управляющей плате - BH-10, XP1 на исполнительной плате - XH-4M, для них продаются готовые четырёхпроводные шлейфы с разъёмом XH-4F. Элемент питания G1 - CR2032 установлен в держатель KLS5-CR2032-04. Терморезистор RK1 - NTC 10D-7. Клеммники силовые - винтовые с шагом 5,08 мм, например МВ312-508Ь02, сигнальные - серии DG141R с шагом 2,54 мм. Собранная плата показана на рис. 6.

Чертёж печатной платы исполнительного модуля

Рис. 5. Чертёж печатной платы исполнительного модуля

 

Собранная плата

Рис. 6. Собранная плата

 

Обратите внимание, что номера одноимённых контактов разъёмов ХР2 на плате управления и ХР1 на исполнительной плате различаются.

Устройство рассчитано на монтаж в корпус CK104S (http://korpusa.biz/ catalog/item/263/), в котором вырезают отверстия для светодиодов на лицевой и боковых панелях. Корпус выполнен так, что допускает наклейку декоративных пластиковых шильдов на лицевую сторону и панели входов/выходов. Наклейки могут, кроме прочего, маскировать отверстия под неиспользуемые индикаторные светодиоды. Расположение плат в корпусе показано на рис. 7, а собранное устройство - на рис. 8.

Расположение плат в корпусе

Рис. 7. Расположение плат в корпусе

 

Внешний вид устройства

Рис. 8. Внешний вид устройства

 

Исходя из простейшего варианта, что программирование будет вестись в рамках логики работы микроконтроллера AVR, у разработчика имеется богатый арсенал ресурсов: 16 Кбайт программной flash-пямяти, 2048x8 бит внутренней оперативной памяти (SRAM), 512 байт памяти EEPROM, два таймера 8 и 8/16 разрядов, внутренние и внешние прерывания, watchdog-таймер, внутрисхемное программирование (AVR-ISP-порт), доступ к памяти загрузчика (bootloader).

На лицевой стороне устройства расположен и многофункциональный разъём ХР1, назначение выводов которого показано на рис. 1. К разъёму можно подключать внешние устройства с суммарным током потребления до 500 мА.

Продолжение следует

Автор: И. Решетников, г. Видное Московской обл.


Рекомендуем к данному материалу ...