Радиоуправление нагрузкой на частоте 433 МГц с помощью телевизионного ИК пульта. Необычный вариант.

Добрый день уважаемые читатели!
Прежде всего, хотелось бы обратить внимание на индивидуальность данного устройства по сравнению с сотней других, схемы которых можно достать на просторах интернета.
  • Это во первых — использование пульта от телевизора в качестве базы с большим количеством клавиш с индивидуальными кодами, что снимает необходимость придумывать собственные методы кодирования, а также искать корпус для кнопок, собирать его, а цена современных пультов колеблется в районе 150 рублей. Благодаря этому при необходимости можно расширить каналы управления нагрузками, до максимального количества портов вывода на МК.
  • Недорогие приемники и передатчики, в районе 150 рублей каждый.
  • Общедоступная и бесплатная программа написанная на ассемблере.
  • Минимальная элементная база, не включающая в себя труднонастраиваемых колебательных контуров, приборы имеют выходящий из корпуса отрезок провода длиной около 17 см.


Толчком к созданию данного устройства послужило, разбор другого устройства, в котором использовались радиоприемник RR10-433 и радиопередатчик RT5-433. Они работали на частоте 433 МГц. О характеристиках данных устройств можно почитать на страничке www.rtcs.ru/supplier_article_detail.asp?supplier=17&id=46.
Так же после разбора мне достался старенький мк at90s2313. На него и была написана программа. При необходимости ее легко можно портировать на другие мк типа tiny13a например.

Пульт подойдет любой с кодировкой сигнала RC-5 (списки этих пультов можно найти в интернете). Программа по раскодированию данных с пульта была взята с официального сайта Atmel (номер программы AVR410, называется «RC5 IR Remote Control Decoder»). Так как она была написано для мк AT90S1200, пришлось ее портировать на тот, что у меня был — AT90S2313. Так же в оригинальной версии использовался кварц на 4 МГц, а у меня в наличии был только на 8 МГц, я также изменил тайминги в таймерах, которые отсчитывали время.

Список того, что я добавил в программу:
  • Инвертирования сигнала с пульта. Так как с пульта как вам известно передается инвертированный сигнал
  • Реакцию на нажатие кнопок
  • Запись шестнадцатеричного кода нажатой кнопки в EEPROM, для того чтобы узнать ее код при последующем чтении данных из EEPROM программатором (так как это моя первая программа для МК я не использовал никаких решений по передаче данных по UART).

Комментарии в листинге программы оставил оригинальные на английском языке, если что то будет не понятно подскажу.

Описание начну с пульта.
В нем я ничего не менял. Это готовое устройство. Выход с кодирующей микросхемы пульта подается на предварительный усилитель, а затем на готовую микросборку передатчика RT5-433.

Схема предварительного усилителя.



Фото пульта

Общий вид

Общий вид

Общий вид

Распайка выводов пульта (плюс, минус и сигнал)

Общий вид

Схема приемника







Текущая программа производит следующие действия:
— при нажатии на кнопку «1» подает лог 1 на вывод PB3 (который идет к реле) и лог 1 на вывод PB2 (зажигает светодиод)
— при нажатии на кнопку 2, на соответствующие выводы подается лог 0. (реле и светодиод отключаются)
— кроме этого, если вам необходимо узнать код клавиши любой. В программе предусмотрено постоянная запись последней нажатой клавиши в EEPROM в ячейку 0. (строка 141)

Раздел для любопытных

Вид одной пачки кода с передатчика

Передача

Тот же код на приемнике

Прием

Период между пачками импульсов

период

Импульсы которыми заполняются биты передаче

Импульсы которыми заполняются биты передаче

Описание протокола RC-5

Напоследок видео рабочего устройства.


Печатная плата и программа для at90s2313 во вложении. Печатка без конденсаторов по питанию, при необходимости дорисуете сами.
  • +2
  • 19 октября 2011, 13:50
  • gadz
  • 1
Файлы в топике: irTOrf.zip

Комментарии (31)

RSS свернуть / развернуть
Про тег не надо забывать
0
тег cut
0
Интересный, свежий подход. Будет необходимость — попробую.
0
  • avatar
  • Plus
  • 19 октября 2011, 14:06
А нельзя расположить антенну внутри пульта? А то сопля какая-то висит — плохо выглядит.
0
  • avatar
  • mzw
  • 19 октября 2011, 14:19
Я не пробовал, передатчик маломощный, да и все так делают.
0
А если попробвать? Будет вид другой.
0
Просто протяни этот провод внутри пульта, вдоль. Если длины не хватает — можешь укоротить, а можешь (если хочешь максимальную дальность) поиграться с удлиняющими катушками. Но я думаю даже без них метров 5-10 даст.
Ну и провод — это хрень. Антенна этого типа должна быть прямой, а не висящим полуколечком. Так что либо натягивать провод внутри, чтоб не болтался, либо использовать жесткую проволоку (как у китайских игрушек), либо телескопическую антенну.
0
Спасибо за совет, но у меня в данный момент нет цели приводить устройство в более эстетичный вид. В данном варианте дальность состовляет около 10 метров, в пределах одной комнаты.
0
На эту эстетику у тебя уйдет 2 минуты. Зато не будет болтаться провод, который иначе через недельку отломится. Ну и антенна этого типа должна быть прямой.
0
Если все так делают, то это не значит что хорошо.
0
Согласен с предыдущим комментарием, что это интересный и свежий подход. Надоели бесполезные бинарные часы или полезные схемы, но в которых все нужно паять с нуля, а результат получается «игрушечный», все так же как бинарные часы, потому что пользоваться в реальной жизни монтажными платами с кучей проводов, или типовыми некрасивыми корпусами куда их можно запихнуть — нельзя.

А вот здесь правильный подход — берем готовый девайс, хакаем его так, как нужно нам. Побольше бы таких статей! Вот например здесь дается хороший рецепт по первому шагу создания умного дома, причем реально полезному шагу.

Пара вопросов:

1. Я так понимаю, предполагается, что исполнительных устройств может быть несколько и все они будут «слушать» один пульт, только реагировать на разные кнопки, верно?
2. Какова стоимость исполнительного устройства получилась?

И предложения для дальнейшего развития:

3. Все тот же вопрос механики и эргономики, на этот раз для исполнительного устройства. Сделать своими руками удобное в пользовании устройство нелегко (вопрос чисто в силовой электромеханике). Между тем, продается куча недорогих китайских устройств по типу «проходная розетка», например, такие же китайские дистанционно управляемые розетки. Идея: а) идеально, выкидываем оттуда ее «глупый» декодер, но оставляем RF модуль и вставляем наш контроллер; если RF модуль нельзя использовать, то б) выкидываем все, кроме силовой электромеханики (рели, розетки, провода), вставляем свою начинку.

4. Хакаем сам пульт, чтобы через контроллер подключить на USB к компу и сделать уже реально умный дом.
0
Хакаем сам пульт, чтобы через контроллер подключить на USB к компу и сделать уже реально умный дом.

Тут проще гнать поток через FT232, юзая радиомодуль как удлинитель UART. А UART есть практически во всех МК…

А статья да, интересная.
0
> Тут проще гнать поток через FT232, юзая радиомодуль как удлинитель UART. А UART есть практически во всех МК…

Только не забываем, что цель не заменить пульт на подключение к компу, а иметь подключение к компу в дополнение у пульту. И здесь важно не то, что в каждом МК есть UART, а то, что в каждому пульте есть RC-5. Он протокол системы, а не сырой UART. Ну а как его добиться от компа — «софтово», bingbang'я протокол через дорогущую SOIC микросхему, или «хардово» эмулируя нажатие кнопок на купленном за пол-бакса на блошином рынке пульте (уцененка в связи с трещиной корпуса к примеру) — это уже вопрос чисто прагматичности подхода.
0
Use <blockquote>, Luke!
0
Насчет первого вопроса- да можно. Это и плюс и минус схемы.
Если исполнительных устройств несколько, то и приемников должно быть несколько или же можно одно исполнительное устройство, в котором несколько управляемых выходов, количество которых зависит от размеров мк.
Насчет стоимости, вы и сами можете все посчитать. Если считать только приемник и мк самый дешевый, то примерно получается 220 рублей+управляющие элементы — это транзисторы или реле. Приемник можно собрать и самому из дискретных элементов, но это на любителя.
Насчет китайских радиоигрушек, у меня есть радиоуправляемый выключатель, так они там не используют мк, а используют пару микросхем в которых аппаратно вшито кодирование и декодирование сигналов, а приемник и передатчик собраны на паре транзисторов. Все что от них можно получить это корпус с антенной и премную или передающую часть.
0
А если добавить переключатель и оставить светодиод, то можно и по назначению пульт использовать.
0
В данном варианте, ИК пульт работает так же как и работал ранее.
0
Это же неудобно! Захотел свет выключить-переключил телевизор. Захотел канал переключить-включил чайник.
0
Да, если с этой стороны посмотреть — не удобно))
0
gadz, а как насчет помехоустойчивости при использовании RC-5 для кодировки команд?
0
Это каждый может проверить дома на своем телевизоре. Этот алгоритм специально видимо и придумали исходя из идей помехоустойчивости.
0
При использовании блоков радиопередачи с амплитудной модуляцией и таким методом кодировки помехоустойчивость хорошая?
0
gadz, ты проверял свой переделанный пульт на помехоустойчивость?
0
Нет. Подскажи как проверить.
0
Будут ли нормально выполнятся команды если вблизи будет другой источник сигнала, охранная сигнализация, например? Модули дешевые и очень заманчивые, но ловят всё.
0
Это я не могу проверить. Почитайте ссылку о пультах, которую я оставил, там кодовые посылки повторяются все время которое нажата кнопка, с периодом 88 мс, если период и длительность помех будут совпадать с источником сигнала, думаю приемник ничего непоймает.
0
Если вы хотите на них, собирать массовый продукт, лучше проверить самому.
0
Гм, а я бы на двух транзисторах лучше собрал триггер Шмитта, а не просто УПТ. Он бы формировал красивые импульсы с крутыми фронтами из демодулированных посылок пульта.

Алсо, вставь между картинками перевод строки. Иначе они оказываются в одной строке и правая картинка обрезается по ширине колонки.
0
  • avatar
  • Vga
  • 20 октября 2011, 00:30
Вставил, масштаб страницы попробуй уменьшить.
0
А, и алигн оторви. А то толку ноль.
0
да, без выравнивания лучше
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.