Радиоуправляемый сетевой удлинитель
Д. ПАХОМОВ, г. Владимир
В статье описано простое устройство дистанционного управления, позволяющее включать и выключать напряжение на розетках сетевого удлинителя по командам с переносного пульта управления. Для передачи и приёма команд использованы недорогие модули передатчика и приёмника, работающие на частоте 433,92 МГц. Кодируют и декодируют команды обычные микроконтроллеры семейства ATtiny.
Иногда бывает необходимо дистанционно управлять подачей электропитания на какое-либо устройство. Например, в сельском доме потребовалось включать питание обогревателя, установленного в подвале. Конечно, можно туда и самому спускаться, но гораздо удобнее использовать дистанционное управление. Большая дальность действия от него в подобных случаях не требуется — достаточно 5... 10 м.
Можно, конечно, установив выключатель в удобном месте, протянуть к нему кабель или купить готовую систему дистанционного управления. Но гораздо интереснее изготовить её самому, например, по предлагаемому описанию.
Пару радиомодулей (передатчик FS1000A, приёмник XD-RF-5V [1]) я приобрел в одном из интернет-магазинов. >Они собраны на печатных платах небольшого размера (2...3 см), имеют выводы питания, входа или выхода и для подключения антенны. Подобные модули можно встретить в системах дистанционного управления люстрами, беспроводных квартирных звонках, охранных и других устройствах.
Модуль передатчика представляет собой стабилизированный ПАВ-резонатором транзисторный генератор, питание на который подаётся через обычный транзисторный ключ. Питающее напряжение модуля может находиться в довольно широких пределах. Он работоспособен как при 1,5 В, так и при 15 В. Мощность излучения достаточно низкая, чтобы удовлетворить требованиям [2], согласно которым устройства дистанционного управления, охранной сигнализации и оповещения, работающие в диапазоне 433,92 МГц ±0,2 % с выходной мощностью до 10 мВт, могут эксплуатироваться без специальной регистрации.
Радиомодуль приёмника состоит из собственно транзисторного приёмника и подключённого к его выходу через ФНЧ компаратора на ОУ. При наличии на входе модуля сигнала частотой 433,92 МГц на его выходе устанавливается высокий логический уровень, а при отсутствии такого сигнала — низкий. Напряжение питания модуля — 5 В.
Эти модули излучают и принимают сигналы с амплитудной манипуляцией (ООК — On-Off Keying). Такой способ передачи информации очень прост, но имеет существенный недостаток — крайне низкую помехоустойчивость. Действительно, при передаче лог. 0 передатчик выключен, а приёмник принимает только помехи, которые вполне могут вызвать появление лог. 1 на его выходе. Без помехоустойчивого кодирования передаваемых команд надёжная работа системы дистанционного управления на таких радиомодулях практически невозможна. Проблему легко решить, используя для кодирования и декодирования команд специальные микросхемы. Обычно в недорогих системах дистанционного управления для этого используют комплект микросхем РТ2262 и РТ2272. Но в описываемой системе это поручено делать обычным микроконтроллерам семейства ATtiny. Для передачи по радиоканалу команда кодируется иным, нежели в упомянутом наборе, способом — использован код "Манчестер-И", применявшийся, в частности, для записи информации на магнитную ленту в первом в СССР радиолюбительском компьютере *Микро-80". Описание программной реализации его формирования и декодирования в этом компьютере можно найти в [3]. Тот же метод использовался в компьютере "Радио-86РК".
Согласно коду "Манчестер-II", каждый двоичный разряд исходной информации превращается в два: лог. 1 заменяется последовательностью 01, а лог. 0—10. Таким образом, каждый восьмиразрядный байт превращается в 16 двоичных разрядов, передаваемых от младшего к старшему. Никаких пауз или других разделителей между байтами не предусмотрено. Для правильного разделения принятой последовательности на байты и устранения инверсии сигнала в канале связи передача всегда начинается серией нулевых байтов, за которой следует специально подобранный синхронизирующий байт, а затем информационные байты.
Команда в рассматриваемой системе состоит из двухбайтного адреса устройства, которому она предназначена, четырёх байтов собственно команды и байта контрольной суммы. Такая избыточность заложена для будущего развития системы.
Все приёмники системы (их может быть несколько) одновременно "слушают" эфир и пытаются декодировать принятые сигналы и помехи. При обнаружении осмысленной двоичной последовательности (байта синхронизации и следующих за ним семи байтов команды) микроконтроллер приёмника сравнивает подсчитанную им при приёме контрольную сумму с её принятым значением. При их совпадении принятый адрес устройства сравнивается с хранящимся в памяти микроконтроллера. И только при совпадении этих адресов микроконтроллер выполняет команду — в нашем случае подключает розетки удлинителя к сети или отключает их.
Схема пульта дистанционного управления — передатчика команд — показана на рис. 1.
Питание на модуль U1 и микроконтроллер DD1 поступает через электронный ключ на транзисторе VT1 и интегральный стабилизатор напряжения DA1. Диоды VD1—VD6 при нажатии на любую из кнопок SB1—SB6 формируют низкий уровень напряжения на базе транзисторного ключа VT1. Он открывается, подавая напряжение питания.
На соответствующем нажатой кнопке входе микроконтроллера установлен уровень лог. О, на входах, связанных с кнопками, которые не нажаты, внутренние резисторы микроконтроллера поддерживают уровень лог. 1. Диоды VD7— VD12 защищают его входы от опасного для них напряжения питания.
Питается пульт управления от батареи А23 напряжением 12 В и одного элемента AAA. Этот элемент добавляет 1,5 В к напряжению батареи, но нужен только для заполнения свободного места в батарейном отсеке, без него можно обойтись. Учитывая небольшой потребляемый ток, интегральный стабилизатор DA1 можно заменить обычным параметрическим стабилизатором напряжения со стабилитроном на 4,7 или 5,1 В.
Микроконтроллер DD1 формирует необходимую для передачи команды импульсную последовательность на своём выходе РВ4, откуда она поступает на вход DATA модуля U1. Светодиод HL1 служит индикатором работы пульта и светится во время излучения радиосигнала.
Схема приёмной части устройства дистанционного управления показана на рис. 2. Микроконтроллер DD1 декодирует принятые команды, поступающие от радиомодуля приёмника U1 на вход РВЗ.
С выхода РВ4 сформированный микроконтроллером в соответствии с принятой командой сигнал приходит на базу транзистора VT1, управляющего электромагнитным реле К1. Его контакты, замыкаясь, подают напряжение сети 220 В на розетки удлинителя. Необходимое для модуля U1 и микроконтроллера питающее напряжение формирует узел на диодах VD1—VD5 и интегральных стабилизаторах DA1, DA2. Конденсатор С1 гасит избыток сетевого напряжения. Выпрямленное диодным мостом VD1—VD4 напряжение стабилитрон VD5 ограничивает до 24 В, необходимых для надёжного срабатывания реле К1.
Следует отметить, что при срабатывании реле потребляемый устройством ток значительно возрастает, что приводит к "проседанию" напряжения на конденсаторе СЗ.
Применение для получения напряжения 5 В двух соединённых последовательно интегральных стабилизаторов DA2 и DA1 связано в основном с тем, что на использованном для изготовления приёмника фрагменте печатной плате от неисправного прибора стабилизатор на 8 В уже был установлен. Можно обойтись и одним стабилизатором на 5 В, но следует иметь в виду, что интегральные стабилизаторы 75L05 разные производители выпускают с допустимым максимальным входным напряжением от 15 до 35 В. Только те, у которых оно не ниже 24 В, смогут работать в описываемом устройстве в одиночку.
Особенно стоит отметить назначение конденсатора Сб. Его ёмкость выбрана довольно большой из-за особенностей работы устройства после срабатывания реле К1. Как отмечено выше, потребляемый ток при этом возрастает, напряжение на входе стабилизатора напряжения значительно понижается, появляются большие пульсации. Это приводит к резкому увеличению интенсивности помех на выходе приёмника, из которых декодер с большим трудом выделяет полезный сигнал. Внешне это проявляется в резком сокращении дальности управления после приёма команды, в результате которой реле К1 срабатывает. Если включить удлинитель можно с расстояния 15 м, то выключить его удастся только с трёх. Для борьбы с этим явлением и увеличена ёмкость конденсатора Сб.
Программы кодирования сигналов передатчика и их декодирования в приёмнике разработаны в среде Algorithm Builder for AVR [4]. Файл rf-pult-1.hex с кодами, которые необходимо загрузить в программную память микроконтроллера пульта, приложен к статье, а конфигурацию этого микроконтроллера следует запрограммировать в соответствии с рис. 3.
После подачи питания на микроконтроллер (а это, напомним, происходит при нажатии на любую из кнопок пульта) программа выполняет процедуры инициализации его узлов, настраивает на ввод линии порта PD, включает резисторы, соединяющие их с плюсом питания. Линия РВ4 конфигурируется как выход и на ней устанавливается уровень лог. 0. Далее определяется номер нажатой кнопки и в зависимости от него формируется и передаётся соответствующая команда. Она состоит из закодированных кодом "Манчестер-Н" десяти нулевых байтов, синхробайта, двух байтов адреса управляемого устройства, четырёх байтов команды и байта контрольной суммы. После передачи этой последовательности выдерживается пауза, и если кнопка пульта всё ещё нажата, передача повторяется.
Коды из файла rfr-6.hex следует загрузить во FLASH-память микроконтроллера приёмника. Его конфигурацию программируют согласно рис. 4. В нулевую и первую ячейки EEPROM микроконтроллера заносят соответственно младший и старший байты адреса устройства. Например, чтобы принимать команды, адресованные устройству с адресом 127 (0x007F), в нулевую ячейку должен быть записан байт 0x7F, а в первую — 0x00.
После включения приёмника программа считывает из EEPROM адрес, который должен содержаться в принятой команде, чтобы данный приёмник её исполнил, настраивает линию РВЗ на ввод, а линию РВ4 — на вывод и устанавливает на ней уровень лог. 0, при котором обмотка реле К1 обесточена. Далее программа циклически опрашивает состояние выхода приёмника, пока не обнаружит байт синхронизации. После этого она принимает байты команды, вычисляет их контрольную сумму и сверяет её с принятой. При совпадении контрольных сумм сравнивает принятый адрес с собственным. Если они тождественны, то исполняет принятую команду.
Печатные платы для системы дистанционного управления не разрабатывались. Монтаж выполнен на фрагментах макетных плат подходящего размера. Пульт управления собран в корпусе ИК ПДУ от телевизора. Вместо излучающего ИК-диода в нём установлен светодиод HL1. Сохранены кнопки пульта и плата с их контактными площадками. Микросхема пульта удалена. В качестве кнопок SB1—SB6 используются кнопки "4"—"9", подключённые в пульте к одной линии матрицы клавиатуры, остальные не задействованы. Для микроконтроллера на плате установлена панель. С целью экономии места разъём его программирования отсутствует. Модуль передатчика U1 подключён через трёхконтактный разъём.
Под платой пульта в корпусе оказалось достаточно свободного места для размещения платы с микроконтроллером и модуля передатчика. Провод антенны длиной 170 мм уложен вдоль cтенки корпуса пульта внутри него. Батарея питания типоразмера А23 и дополнительный гальванический элемент типоразмера AAA удобно размещаются в батарейном отсеке корпуса. Длина батареи дополнена до длины элемента с помощью токопроводящей вставки.
Приёмник-декодер системы дистанционного управления установлен в корпусе сетевого удлинителя на пять розеток, из которого удалены токопроводящие шины двух розеток. Освободившегося места достаточно для плат узла питания (от вышедшего из строя прибора) и приёмника с декодером. На схеме рис. 2 граница между этими платами показана штрихпунктирной линией.
Светодиод HL1 установлен напротив одной из неиспользуемых розеток. Контакты реле К1.1 подключены параллельно выключателю удлинителя, так что напряжение на его розетках появляется либо в результате исполнения поданной с пульта команды включения, либо при замыкании выключателя.
Микроконтроллер DD1 установлен в панель, расположенную вместе с модулем приёмника и стабилизатором DA1 на небольшом фрагменте макетной платы. С целью экономии места на нём отсутствует разъём программирования. В качестве антенны использован отрезок провода длиной 170 мм, уложенный внутри корпуса удлинителя вдоль его стенки.
Первичную проверку пульта управления производят, не устанавливая в панель микроконтроллер и не подключая модуль передатчика. Установив в держатель батарею А23 и элемент AAA, измеряют напряжение между минусом батареи и эмиттером транзистора VT1. При нажатии на любую из кнопок SB1—SB6 почти такое же напряжение должно появляться на коллекторе транзистора и контакте UCc разъёма для модуля U1. На гнезде 20 панели микроконтроллера должно появляться напряжение +5 В. После установки в панель запрограммированного микроконтроллера при нажатиях на кнопки светодиод HL1 должен кратковременно включаться, а при удержании кнопки нажатой — мигать с частотой приблизительно 2 Гц.
При проверке приёмного устройства следует соблюдать осторожность, так как все его детали имеют гальваническую связь с питающей сетью. Проверку также начинают без микроконтроллера. Между гнёздами 8 и 4 панели микроконтроллера, а также между выводами UCC и GND модуля приёмника должно присутствовать постоянное напряжение 5 В. Проверить работу ключа на транзисторе VT1 можно кратковременным замыканием гнёзд 8 и 3 панели микроконтроллера. При этом реле К1 должно срабатывать.
После установки микроконтроллера приёмника в панель проверяют работу системы дистанционного управления в целом. Если в EEPROM микроконтроллера записан адрес 127, то реле К1 должно срабатывать при нажатии на кнопку SB1 пульта управления и отпускать якорь при нажатии на кнопку SB2. Аналогичные команды устройству с адресом 126 (0х007Е) подают кнопками SB3 и SB4, а устройству с адресом 125 (0x007D) — кнопками SB5 и SB6.
Если изготовить три приёмника с разными адресами из числа указанных выше, то можно раздельно управлять с одного пульта тремя разными устройствами.
Описанная система дистанционного управления показала себя довольно удобной в эксплуатации. С её помощью можно включать и выключать не только обогреватели в подвале, но и освещение, насосы и вообще любые бытовые электроприборы, находящиеся в сравнительно недоступных местах.
ЛИТЕРАТУРА
1. Пахомов А. Радиомодули 315/433 МГц. — URL: http://pakhom.weebly.com/radiorf. html (27.02.14).
2. Решение ГКРЧ при Минсвязи РФ от 02.04.2001. Об утверждении "Перечня радиоэлектронных средств, для которых не требуется разрешения на приобретение" и "Перечня радиоэлектронных средств, для которых не требуется разрешения на использование". — URL: http://www.bestpravo.ru/ rossijskoje/jd-praktika/r1w.htm (27.02.14).
3. Зеленко Г., Панов В., Попов С. Радиолюбителю о микропроцессорах и микроэвм. Модуль сопряжения. — Радио, 1983, № 9, с. 32-35.
4. Графическая среда для разработки программного обеспечения для микроконтроллеров с архитектурой AVR фирмы ATMEL. — URL: http://www.algrom.net/russian.html (10.03.14).
От редакции. Программы микроконтроллеров имеются по адресу ftp://ftp.radio.ru/pub/2014/07/rfdu.zip на нашем FTP-сервере.
Радио 7-2014