Суббота, 23.11.2024, 03:56
| RSS
Поиск
Главная |
Защита, контроль, управление
Форма входа

Меню

Авторские проекты

Статьи

Raspberry Pi

Полезная информация

Обратная связь

Ссылки

Форум

Чат

Канал YouTube

Группа в Facebook


Календарь
«  Январь 2014  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031

Наш опрос

Ссылки


Яндекс.Метрика





.
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Радиоуправление для умного дома

Радиоуправление для умного дома

Наш канал в YouTube


 
 
При создании систем домашней автоматизации часто используют различные беспроводные датчики, например, датчики движения, пожара, протечки воды. Также, для дистанционного управления той или иной нагрузкой, применяются передатчики-брелки.

В большинстве случаев радиодатчики и передатчики-брелки, предназначенные для управления разными функциями (например, охранная сигнализация, управление освещением или гаражными воротами) имеют отдельные приемные модули, что делает применение подобных систем в комплексе автоматизации довольно «аппаратно насыщенными». Поэтому, целью разработки данного устройства было стремление создать единый «приемный центр», который передает принимаемые команды от всех радиопередатчиков центральному устройству (серверу) по интерфейсу RS232 или RS485.

Сразу определимся, что к применяемым радиодатчикам и передатчикам-брелкам относятся устройства, которые формируют на выходе 24-битный код с временными характеристиками, показанными на рис. 1. Более подробно о них можно почитать по этой ссылке

 

Рис. 1

Устройство имеет два режима работы. В первом режиме все принимаемые команды «ретранслируются» по интерфейсу RS232 или RS485 на центральное устройство (сервер). При таком режиме обработка полученных команд выполняется программой сервера.

Во втором режиме принимаемые команды обрабатываются программой микроконтроллера, и передаются на сервер только те команды, которые были предварительно «привязаны» от различных радиодатчиков или передатчиков-брелков. Переключение режимов производится программированием соответствующей ячейки памяти EEPROM микроконтроллера. Более подробно оба режима будут рассмотрены ниже.

Принципиальная схема устройства приведена на рис. 2.

 

Рис. 2

 

В состав схемы входит готовый модуль приемника, настроенный на частоту радиодатчиков и передатчиков-брелков, микроконтроллер 16F628A, предназначенный для обработки,  хранения и преобразования принимаемого кода, блок питания с выходным напряжением 5В, а так же драйвера согласования уровней для интерфейсов RS232 и RS485 - соответственно MAX232 и MAX485. Выбор интерфейса осуществляется с помощью перемычек (джамперов). При установленных перемычках 1-3 и 2-4 включен режим RS232, при 1-5 и 2-6 – режим RS485Светодиоды VD1-VD5 выполняют функцию индикации при работе и конфигурировании устройства. Кнопка S1 включает режим программирования, а кнопка S2  режим очистки области памяти EEPROM микроконтроллера, в которой хранятся записанные коды.

Режим №1. В этом режиме можно «привязать» к устройству до 30-ти команд с 24-битным кодом, каждая из которых имеет индивидуальный номер. Приняв записанный ранее код, микроконтроллер формирует и передает через интерфейс RS232 (RS485) трехбайтный код вида 0xXX0xYY0xZZ, где значение 0xXX является идентификационным номером устройства (если таких устройств используется несколько), а 0xYY и 0x ZZ - номер принятого кода в ASCII формате. Например, код 41 31 36 (hex) = А16 (ascii) и обозначает, что принята команда №16 от устройства, имеющего идентификационный номер А. Значение этого номера может быть заданно пользователем через EEPROM. В момент приема кода, светодиоды VD1-VD5 в течение 1 секунды отображают номер принимаемой команды в двоичном коде.

Режим №2. В режиме 2 все коды, принимаемые от радиодатчиков (передатчиков-брелков), если они соответствуют 24-битному формату (3 байта), «ретранслируются» через последовательный порт микроконтроллера и интерфейс RS232 (RS485) на центральный сервер или другое устройство со скоростью 9600 кб/сек. При приеме кода светодиоды  VD1-VD5 кратковременно вспыхивают. Коды передаются в явном виде, т.е. над ними не выполняется никаких преобразований. Если, допустим, код радиодатчика  А1 В2 С3, то этот код в 16-тиричном виде и будет передан по последовательному интерфейсу. Другими словами, в режиме №2 устройство служит просто «шлюзом» или преобразователем 24-битного кода радиодатчиков (передатчиков-брелков) в RS232 (RS485). Кроме того, этот режим можно использовать при «клонировании» имеющихся радиодатчиков.

Для выполнения операции записи («привязки») кода датчика или передатчика-брелка в память EEPROM  микроконтроллера, необходимо нажать и удерживать кнопку S1. При этом, с периодом в 1 секунду, включаются светодиоды, показывая порядковый номер команды,  которая будет присвоена принятому коду. Например, включенный светодиод VD5 (1) соответствует команде №1 = 00001, а включенные светодиоды VD2 (4) и VD4 (2) команде №10 = 01010. Полная таблица 2-х разрядной кодировки светодиодами номера команды, находится в архиве дополнительных материалов к этой статье.

Выбор нужного номера команды, присваиваемого коду, производится отпусканием кнопки в том момент, когда включена соответствующая комбинация светодиодов. После отпускания кнопки светодиоды остаются во включенном состоянии, и устройство готово к записи. Если вы случайно вошли в режим записи, выбрали не тот номер команды или передумали производить запись, то выйти в этого режима можно кратковременным нажатием кнопки S1.

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

При записи следующей команды, вышеописанные операции необходимо повторить. После ввода 30 команд дальнейшая запись будет заблокирована – при попытке войти в режим записи (нажатие кнопки S1) все светодиоды быстро мигают в течение 2-х секунд, после чего устройство возвращается в исходное состояние. Для записи новых команд, память EEPROM необходимо полностью очистить - нажать кнопку S2 и удерживать её не менее 5 секунд. При этом включаться все светодиоды и через 5 секунд погаснут – память очищена. Если отпустить кнопку S2 ранее, чем через 5 секунд, то очистка памяти будет отменена.

На последнем этапе необходимо проверить, удачно ли прошла запись. Для этого вызываем срабатывание датчика (нажимаем кнопку передатчика-брелка), в результате чего должны включиться на секунду комбинация светодиодов в зависимости от номера принятой команды. Если разъем RS232 подключить к СОМ порту компьютера, на котором запущена терминальная программа, то в ней можно наблюдать принимаемый код (рис. 3). Скорость работы RS232 (RS485), составляет 9600 кб/сек.

 

Рис. 3

 

Обратите внимание на важный момент. Один и тот же радиодатчик или передатчик-брелок, имеющий одинаковый код, может быть присвоен командам с разным номером. Однако, при получении устройством такого кода, будет выдан номер только той команды, которая была записана в память раньше. Допустим, мы присвоили один и тот же код команде с порядковым номером 20, а затем ещё раз команде с номером 10. В таком случае, на выходе мы получим команду №20. Хотя никакого смысла в присваивании одинакового кода разным номерам команд нет, но о данном моменте нужно помнить.

Область распределения ячеек памяти EEPROM приведена на рис. 4

 

 

Рис. 4

Почти вся память, кроме адресов 0x78-0x7F отведена под хранение кодов команд, количество которых может достигать 30-ти. Ячейка 0x7D определяет значение режима работы устройства (01 – режим №1, 02 – режим №2). Ячейка 0x7E устанавливает идентификационный номер устройства в ASCII, в данном случае 41 (hex) = A (ascii). Последняя ячейка 0x7F определяет область EEPROM для записи следующего кода. Ее значение должно быть равно 00, после каждой записи кода оно будет автоматически увеличиваться на 4.

По умолчанию в прилагаемой прошивке, значения ячеек 0x7D-0x7F соответственно установлены 02, 41, 00. Изменять их можно при прошивке микроконтроллера. 

Внешний вид собранной печатной платы устройства показан на рис. 5.

 

 

Рис. 5

 

Архив дополнительных материалов к статье - схема, печатная плата, прошивка

 

 

Рекомендуем дополнительно почитать по данной теме:

Приемник радиодатчиков

Радиодатчик протечки воды

Дистанционное управление

Умный дом




Категория: | Просмотров: 12230 | Добавил: Admin | Теги: | Рейтинг: 5.0/2 |
Всего комментариев: 3


3 vzz  
Добрый день.
В статье нет упоминания, с каким чип-кодером работает разработка (2262, 1527, другие).
Но есть ссылки на другие статьи в которых используется формат 1527, правильно понимаю, что используется 1527?

2 dvz2010  
От перемычек для выбора интерфейса можно избавиться. TX соединяются напрямую (1-3-5). RX разруливаются диодами (логическое И по диодной логике), поскольку интерфейс инверсный, и в сторону контроллера идет высокий уровень в режиме простоя как 232 так и 485, нужно организовать или для низких состояний (а оно же И для высоких). Ставим один диод проводимостью от 2 к 4 и второй проводимостью от 2 к 6. В МК на ногу RX активируем подпорный резистор с +5, т.о. ток течет от МК через диоды в сторону обеих МС сдвига уровней, активный уровень 232 или 485 (0 на стороне МК) подкоротит подпорный резистор МК. В Этом случае выбор интерфейса будет определяться просто подсоединением к нужному на выходных клеммах.

1 shemnik69  
Отличная разработка!.  
Завалялась автосигналка (1 брелок) разобрал, а в ней радиомодуль на 433 мГц т.е такой, как на схеме, короче ..такую штуку для систему собираю.
Поможет с привязкой имеющихся брелков к системе. 
Спасибо.  biggrin





T2M © 2024
Сайт управляется системой uCoz