После опубликования в марте-апреле 2009 г. статьи [1] читатели журнала буквально «засыпали» меня пожеланиями по усовершенствованию устройства. Много писем пришло с просьбами увеличить функциональность модуля управления и заменить в нем микропроцессор АТМеда16, недавно снятый фирмой ATMEL с производства, на более дешевый АТМеда8, с соответствующим уменьшением числа коммутируемых нагрузок Внимая просьбам, я разработал 15-ти канальный модуль дистанционного управления, в котором учтены все изложенные, на момент написания этой статьи, пожелания.
Основные возможности разработанного модуля дистанционного управления: • 15 выходов для подключения нагрузок; • дистанционное управление и настройка при помощи любого пульта дистанционного управления, работающего по протоколу RC-5; • запоминание 21 команды пульта дистанционного управления в режиме обучения; • возможность программирования включения выходов от различных пультов дистанционного управления (например, управление выходами 1 ...10 от одного ПДУ, а управление выходами 11...15 и сервисными функциями от ПДУ с другим системным адресом), при этом каждый из пультов управляет только "своими" выходами; • каждый из выходов может работать как в триггерном режиме (изменение состояния нагрузки вкл./откп. после каждого нажатия на кнопку), так и в режиме временной активности (нагрузка включается на время заданное в меню для данного канала: от 1 до 100 секунд с дискретностью 0,1 секунды); • отключаемый таймер автоматического выключения нагрузок по истечении заданного времени при отсутствии принимаемых команд с пульта дистанционного управления или клавиатуры; • диапазон устанавливаемого в меню времени автоматического выключения нагрузок от 1 минуты до 999 минут с шагом в 1 минуту; • 1 цифровой вход для подключения цепочки фотоприемников; • 1 аналоговый вход для подключения 16-командной клавиатуры или местных выключателей освещения; • функция программного "антидребезга" клавиатуры и задержка на выполнение дублирующих команд ПДУ; • возможность подключения до 30 фотоприемников типа ILMS 5360 в параллель по трехпроводной линии; • возможность подключения большого количества концевых выключателей или полнофункциональных блоков клавиатуры, расположенных в различных помещениях по существующей двухпроводной линии 220 В; • отключаемый через меню звуковой сигнал при помощи бипера для информирования о включении нагрузок, неправильно принятых командах и т.п.; • возможность подключения по одной двухпроводной линии до 100 12-вольтовых биперов со встроенным генератором и возможность расположения их в различных помещениях, • сохранение всех настроек и состояния нагрузок в энергонезависимой памяти контроллера и их восстановление после подачи питания на устройство; • отключаемая через системное меню функция "антиповтора нажатий", не позволяющая нагрузке "дергаться" (т.е. периодически включаться и выключаться) при удержании нажатой клавиши ПДУ или клавиатуры; • сброс настроек "по умолчанию" через системное меню, при этом все выходы устанавливаются в триггерный режим работы, время автоматического отключения устанавливается равным 12 часов, включается звук, включается функция "антиповтора нажатий". Описание электрической принципиальной схемы и подключение устройства Основу устройства составляет микропроцессор AT Mega8 с "зашитой" программой управления, которая берет на себя обработку всей поступающей отдатчиков и выключателей информации и производит необходимые расчеты. Принципиальная электрическая схема устройства изображена на рис. 1.
Выводы PD0 и PD1 микропроцессора нарочно не задействованы. Свободные линии приемопередатчика USART и наличие некоторой свободной памяти программ позволяют в будущих версиях ПО наладить двухстороннюю связь с персональным компьютером по интерфейсу СОМ или USB (следите за обновлениями на сайте [2]). Для этого на плате предусмотрен драйвер сом-порта - микросхема преобразователь интерфейса DD2 и конденсаторы обвязки С16. С20 Поскольку в данной версии прошивки микропроцессора функция связи с компьютером не поддерживается, то указанные элементы можно на печатную плату не устанавливать. Микроконтроллер можно заменить на AT Mega8L. Реле могут использоваться любые, рассчитанные на напряжение питания 12 В и соответствующую силу тока во вторичной цепи. Номиналы остальных элементов схемы, за исключением резисторов R20, R22, R23, R25, R26, R28...R37, R39, R40, образующих делитель напряжения клавиатуры, не критичны. Указанные сопротивления должны быть подобраны с точностью ±5%. Как видно из написанного выше, микроконтроллер определяет номер нажатой клавиши по уровню поступающего на вход РС-5 напряжения при помощи программной перекодировки напряжения в код нажатой кнопки. Если будет нажато несколько кнопок одновременно, то, как видно из схемы клавиатуры, большим приоритетом обладает кнопка с меньшим номером команды. Внешний вид готового устройства приведен на рис. 2, а размещение элементов на печатной плате - на рис. 3.
Назначение кнопок ручного управления следующее: - "Выключить все" - выключить все включенные нагрузки; - 1... 15 - управление соответствующими выходами; - "Включить все" - включить все включенные нагрузки. Стабилитрон VD18 служит для защиты микропроцессора от импульсных помех, которые могут возникнуть в соединительных проводах при их значительной длине. Все стабилитроны КС151А или аналогичные маломощные с напряжением стабилизации 5,1 В в металлостеклянном малогабаритном корпусе. Мощность всех резисторов 0,125 Вт. Номинальные напряжения конденсаторов,если на схеме не указано иное, - 6 В. Тип реле: TIANBO HJR-21FF-S-Z. Конденсатор С12 устанавливается как можно ближе к выводам фотоприемника. Он устанавливается возле каждого фотоприемника, в одном с ним корпусе. Возможно множество вариантов подключения кнопок ручного управления. На рис. 1 изображены два из них. Первый заключается в изготовлении отдельной платы клавиатуры с расположенными на ней цепочкой резисторов и винтовых зажимов. В этом случае кнопки подключаются к соответствующим контактам зажимов и могут быть разнесены на значительное расстояние от базового блока. При этом допускается соединение кнопок параллельно, например, с целью управления освещением из различных концов коридора и т.п. В этом случае целесообразно использовать существующую электрическую сеть и штатные выключатели, однако предварительно необходимо исключить попадание сетевого напряжения на элементы схемы, а клавишные выключатели заменить на выключатели без фиксации положения (можно просто установить внутри корпуса выключателя возвратную пружину). Второй вариант предусматривает расположение резисторов непосредственно в корпусе каждого выключателя или соответствующей ему соединительной коробке, при этом также возможно параллельное соединение кнопок управления, но только при установке в корпус каждой резистора соответствующего номинала. В этом случае плату клавиатуры можно не изготавливать. Для расчета номиналов резисторов делителя напряжений для обоих вариантов схемы на сайте [2] размещена электронная таблица в формате MS Excel. В зеленую ячейку вводится номинал резистора R20 в Омах. Тогда в синем столбце появятся рассчитанные номиналы резисторов по второй схеме включения кнопок клавиатуры, а в желтом - для первого варианта. Порядок нажатия на кнопки пульта дистанционного управления при начальном программировании модуля определен следующий:- 1. - выключить все нагрузки / настройка времени автоматического отключения при нахождении в системном меню; 2. - включить/выключить нагрузку 1; 3. - включить/выключить нагрузку 2; 16 - включить/выключить нагрузку 15; 17 - включить все нагрузки, работающие в триггерном режиме / настройка режимов работы выходов при нахождении в системном меню; 18 - вход в системное меню; 19. - включение/отключение звука (бипера) при нахождении в системном меню; 20. - сброс настроек по умолчанию при нахождении в системном меню; 21. - включение/отключение функции антиповтора при нахождении в системном меню. После нажатия на каждую из кнопок микропроцессор сохраняет в энергонезависимой памяти код, соответствующий нажатой клавише, и подает короткий звуковой сигнал. При нажатии на кнопку, код которой уже был записан в память (кнопка была нажата ранее или удерживается в нажатом состоянии в текущий момент), устройство подает три коротких звуковых сигнала, свидетельствующих об ошибке. По окончании процедуры запоминания прозвучит два длинных и три коротких звуковых сигнала, и устройство перейдет в рабочий режим, в котором выполняется управление нагрузками. Системное меню и настройки Для входа в системное меню модуля необходимо нажать на ПДУ соответствующую клавишу (смотрите "обучение командам ПДУ"). Вызов меню с клавиатуры нарочно не предусматривался. Вход в меню сопровождается тремя звуковыми сигналами средней длительности. При этом во время навигации по меню каждая принятая команда сопровождается соответствующим звуковым сигналом, независимо от того, включен ли звук. То есть пока пользователь будет находиться в меню, звуковой сигнал будет подаваться устройством независимо от его настроек Возможны следующие настойки при нажатии соответствующих кнопок на ПДУ после входа в системное меню (смотрите раздел "обучение командам ПДУ"): 1. Включение/отключение звука (бипера). При этом каждое нажатие на кнопку №19 ПДУ вызывает либо включение, либо отключение звука Если пользователь нажатием на кнопку отключил звуковой сигнал, то в подтверждение этому устройство подаст два сигнала средней длительности, при этом реальное отключение звука будет выполнено только после выхода из меню Если же пользователь звук включил, то модуль ответит одним сигналом средней длительности (200 мс). Звук в этом случае останется включенным и после выхода из системного меню. 2. Установка времени автоматического отключения нагрузок при отсутствии сигналов управления модулем. При нажатии на кнопку "Выключить все" (№1 на ПДУ) устройство подаст один длинный звуковой сигнал и будет ожидать ввода трех цифр (0...9) от цифровых клавиш ПДУ, подтверждая каждую принятую цифру коротким звуковым сигналом. По окончании ввода времени будет подан один длинный и два коротких звуковых сигнала. При этом необходимо учитывать, что ввод цифр производится непосредственно цифровыми кнопками пульта (диапазон кодов в системе RC-5 от 00000 для "0" до 01001 для "9"), а не кнопками, соответствующими номерам нагрузок (№1...10). При неверно нажатой кнопке ПДУ никаких звуковых сигналов не подается, модуль будет ожидать приема цифр, подтверждая одиночным звуковым сигналом лишь цифровые значения Если значение времени было введено неверно, то необходимо либо отключить модуль от источника питания до окончании ввода трех цифр, либо завершить ввод, и после звуковых сигналов, означающих окончание ввода всех цифр, повторно войти в данное подменю и ввести верное значение. Если установить время автоматического отключение равным нулю (комбинация '000"), то таймер отключается, и автоматическое отключение нагрузок происходить не будет Дискретность установки времени составляет одна минута (999 мин. при "999"). 3. Установка времени активного состояния для каждого из каналов управления При нажатии на кнопку "Включить все" (№17 на ПДУ) устройство подаст два длинных звуковых сигнала и будет ожидать ввода трех цифр (0...9) от цифровых клавиш ПДУ, подтверждая каждую принятую цифру коротким звуковым сигналом. По окончании ввода времени активности для первого канала будет подан дополнительный один длинный звуковой сигнал, и модуль будет ожидать ввода значения для второго канала управления и так далее, пока все 15 каналов управления не будут запрограммированы аналогичным образом. После ввода последней комбинации цифр в дополнение к длинному звуковому сигналу устройство подаст еще два длинных и три коротких. Дискретность установки времени в этом случае составляет 0,1 секунды (99,9 сек. при "999"). Если введена комбинация "000"для какого-либо из каналов, то текущий канал будет работать в триггерном режиме. В случае ошибки ввода необходим повтор действий, как описано выше. 4 Сброс настроек по умолчанию При нажатии на кнопку №20 на ПДУ устройство подаст два сигнала средней длительности (по 200 мс) и один длинный (500 мс), при этом все выходы устанавливаются в триггерный режим работы, время автоматического отключения устанавливается равным 12 часов, включается звук и функция антиповтора нажатий. 5. Включение/отключение функции антиповтора нажатий. При этом каждое нажатие на кнопку №21 ПДУ вызывает либо включение, либо отключение функции антиповтора. Если пользователь нажатием на кнопку отключил функцию антиповтора, то в подтверждение этому устройство подаст один звуковой сигнал средней длительности (200 мс) и один длинный звуковой сигнал (500 мс). Если же пользователь включил функцию антиповтора, то модуль ответит уже двумя звуковыми сигналами средней длительности и одним длинным. При нахождении в системном меню последующее нажатие на кнопку №18 на пульте дистанционного управления выполняет функцию выхода из меню. При этом выход из подменю подобным образом невозможен. Необходимо отключить питание модуля или закончить ввод данных в текущем подменю с последующим выходом из главного меню соответствующей командой. Рекомендации по выбору пульта дистанционного управления При выборе пульта дистанционного управления необходимо учитывать, что обязательным условием является его работа по протоколу RC-5. Необходимо также, чтобы число генерируемых кодовых посылок было не менее 21. Желательно использовать пульт с отличным от нулевого адресом системы, если, конечно же, читатели, повторившие конструкцию, не захотят управлять устройством одновременно с телевизором или доверить свой дом соседу, который, переключая каналы, будет "играться" с вашим освещением. В продаже имеется множество универсальных ПДУ, в которых возможен выбор адреса управляемого устройства. Например, пульты серии RC6-2...RC6-5, широко используемые совместно с телевизорами "HORIZONT" шестого поколения, изменяют адрес устройства с "0" на "5" при нажатии совместно с кнопками управления клавиши "VCR". Данное обстоятельство позволяет использовать пульты из серии RC6-2...RC6-5, имеющие 42 кнопки и формирующие 40 команд управления, как для управления телевизором, так и описанным устройством, исключая взаимное влияние. Идеальным вариантом является последующая переделка ПДУ, которая позволит изменить предаваемый адрес или переключать его. Поскольку возможно программирование включения выходов от различных пультов дистанционного управления (например, управление выходами 1 ...10 от одного ПДУ, а управление выходами 11...15 и сервисными функциями от ПДУ с другим системным адресом), при этом каждый из пультов управляет только "своими" выходами, этой возможностью также не стоит пренебрегать. Как вариант возможно использование одного ПДУ с небольшим количеством кнопок, но переключаемым системным адресом (обычно для этих целей в импортных пультах дистанционного управления используется клавиша "Shift"). В случае отсутствия переключателя его можно установить самостоятельно. Программирование микропроцессора Прошивку микропроцессора в hex-формате и рисунок печатной платы в формате lay можно взять на сайте автора [2], там же регулярно обновляются версии прошивок для всех разработанных до настоящего момента устройств. Как должны быть запрограммированы Fuse-биты контроллера для среды Pony Prog 2000, показано на рис. 4.
Прошивку микропроцессора в hex-формате (файл DU-15.zip), рисунок печатной платы в формате lay (файл DU-15Jay.zip), электронную таблицу (файл DU-15_ADC_Calculator.zip)вы можете загрузить с сайта журнала: http://www.radioliga.com (раздел "Программы") а также с сайта автора: http://www.servissistemy.narod.ru Литература 1. А. Филипович. Многоканальная система дистанционного управления или "Умный дом" своими руками. - Радиолюбитель, №№ 3-4, 2009 г. 2. http://www.servissistemy.narod.ru
При перепечатке данного материала ссылка на сайт transistor.3dn.ru ОБЯЗАТЕЛЬНА! |