Реклама ⓘ
Главная » ИК техника
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Похожие статьи:


Реклама ⓘ

Дистанционный выключатель

Идея сего девайса у меня родилась, когда, перебирая свою кучу сокровищ (радиохлама) обнаружил несколько вполне исправных пультов ДУ от телевизоров. Давно вынашивая идею «умного дома», решил, что хорошим подспорьем будет установка в пределах рабочего кабинета блоков реле, управляемых дистанционно и коммутирующих всевозможную нагрузку – эдакая «умная комната».

Т. к. найденные мною пульты оказались с протоколами типа Sony и NEC (особенности данных протоколов описаны всеми, кому не лень, а я повторяться не хочу, информации в интернете предостаточно!), пришлось продумывать универсальный алгоритм работы под любой пульт. Порывшись в интернете, нашёл несколько алгоритмов реализации универсального декодера ИК-сигналов от разных типов пультов, из которых понравилась идея создания шаблона на основе одного фрагмента ИК-посылки, с которым уже сравниваются идущие следом ИК-сигналы. Разобраться в исходнике не составит проблем – сама программа небольшая по объёму и код с подробными комментариями.

Представленный выключатель собран на одной из любимых мною букашек - ATtiny13, которая управляет одним релейным блоком. Кнопка SB1 предназначена для обучения выключателя, т.е. запоминания кода нажатой кнопки пульта ДУ. Обучение происходит следующим образом: при кратковременном нажатии на кнопку кратковременно мигнёт светодиод, после чего можно нажимать любую кнопку пульта ДУ, которую вы хотите запомнить. Код с пульта ДУ будет записан в буферную переменную, расположенную в памяти eeprom, при этом светодиод мигнёт два раза. При длительном нажатии кнопки SB1 буферная переменная будет очищена. Устройство позволяет работать со всеми видами ИК-пультов, однако надо иметь ввиду, если у вас пульт протокола RC5, то для работы с выключателем необходимо кратковременно нажимать кнопки пульта. Т.к. в данном протоколе повторная передача представляет собой полную ИК-команду, а не небольшой импульс, характерный для протоколов NEC, Sony и JVC, то при длительном нажатии кнопки пульта будет происходить постоянное срабатывание дистанционного выключателя (включение-выключение).

Схема дистанционного ИК выключателя на AVR-микроконтроллере

Биты конфигурации:

Небольшой нюанс по выбору резистора R1 - его мощность должна быть не менее 0,5 Вт!

В архиве представлены печатные платы двух видов: с "нормальными" деталями, и для любителей попортить себе зрение - печатная плата для SMD-монтажа.

Расположение элементов (схема на первом рисунке показана со стороны расположения деталей, второй рисунок - со стороны расположения SMD-компонентов):

И, собственно, схема подключения устройства:

Питание данной схемы осуществляется напрямую от сети 220В, поэтому проявляйте максимальную осторожность при её подключении!

Такое полезное устройство (особенно растиражированное единицами, а то и десятками) несомненно доставит вам удовольствие управления всевозможными исполнительными устройствами, лёжа на любимом диване у себя дома. 

Список радиоэлементов дан для первого варианта печатной платы (в SMD-исполнении будет незначительно отличаться только тип некоторых компонентов).

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
DD1 ИК-датчикTSOP348361 Поиск в магазине ОтронВ блокнот
DD2 МК AVR 8-бит
ATtiny13A
1 Поиск в магазине ОтронВ блокнот
DA1 Линейный регулятор
L78L05
1 Поиск в магазине ОтронВ блокнот
VT1 Биполярный транзистор
КТ315А
1 Поиск в магазине ОтронВ блокнот
VD1 Диодный мост
W10M
1 Поиск в магазине ОтронВ блокнот
VD2 Стабилитрон
1N4742
1 12 ВПоиск в магазине ОтронВ блокнот
VD3 Диод
КД522Б
1 Поиск в магазине ОтронВ блокнот
VD4 Светодиод
АЛ307Б
1 Поиск в магазине ОтронВ блокнот
C1 Конденсатор0.47 мкФ 630 В1 Поиск в магазине ОтронВ блокнот
C2 Электролитический конденсатор100 мкФ 16В1 Поиск в магазине ОтронВ блокнот
C3, C5 Конденсатор0.1 мкФ2 Поиск в магазине ОтронВ блокнот
C4 Электролитический конденсатор47-100 мкФ 6.3 В1 Поиск в магазине ОтронВ блокнот
C6 Электролитический конденсатор4.7 мкФ 6.3 В1 Поиск в магазине ОтронВ блокнот
R1 Резистор
100 Ом
1 0.5 ВтПоиск в магазине ОтронВ блокнот
R2 Резистор
1 МОм
1 Поиск в магазине ОтронВ блокнот
R3 Резистор
100 Ом
1 0.125 ВтПоиск в магазине ОтронВ блокнот
R4 Резистор
10 кОм
1 Поиск в магазине ОтронВ блокнот
R5 Резистор
300 Ом
1 Поиск в магазине ОтронВ блокнот
K1 РелеBS-115C-12A-12VDC1 Поиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 1 6
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 5 Проголосовало: 6 чел.

Комментарии (50) | Я собрал (0) | Подписаться

0
Иван #
Просто великолепно! Давно искал подобное.... Спасибо Вам!
Есть лишь один вопрос: какова максимальная мощность нагрузки?
Ответить
0
NE51S #
Какую мощность пропустят контакты реле - такая и мощность устройства.
Ответить
+1

[Автор]
Igoryosha #
Верно, всё зависит от максимального коммутируемого тока контактов. Реле, применённое в устройстве, имеет максимальный ток контактов 10 А, поэтому можно смело коммутировать нагрузку до 2 кВт.
Ответить
0
Teodor #
А при удержании кнопки нажатой, как себя ведет устройство?
Ответить
0

[Автор]
Igoryosha #
Если Вы имеете ввиду кнопку ДУ, то на пульты с протоколами NEC, Sony и JVC устройство среагирует при первом нажатии, дальнейшее удержание кнопки на работу выключателя никак не повлияет. А вот если попался пульт с протоколом RC5, то из-за особенностей данного протокола, при длительном нажатии кнопки устройство будет срабатывать постоянно.
Ответить
0
tran-007 #
Было бы неплохо добавить осциллограмму сигнала вашего пульта, для лучшего понимания работы программы.
Ответить
0

[Автор]
Igoryosha #
Поясню на примере протокола NEC. Период сигнала логической "1" ИК-посылки составляет 2,25 мс, а период "0" составляет 1,12 мс. При поступлении ИК-команды на вход внешнего прерывания контроллера, с помощью переменной-счётчика, вызываемой в таймере, происходит подсчёт длительности фрагмента посылки в относительных единицах. При поступлении 5-го импульса ИК-сигнала по длительности предыдущего периода создаётся временной"шаблон" , с которым уже происходит сравнение длительности всех остальных поступающих импульсов. На основе совпадения или несовпадения с "шаблоном" и формируется код команды. Просто осциллограмм всех известных протоколов в сети предостаточно, а алгоритм программы несложный.
Отредактирован 29.07.2014 15:33
Ответить
0
Вадим #
Отличная вещь! Очень хочу собрать дистанционный выключатель, но появились два вопроса, а именно:
1. Кварц на сколько МГц?
2. Нельзя ли применить МК ATtiny13V-10PU?
Ответить
0

[Автор]
Igoryosha #
Контроллер тактируется от внутреннего RC-генератора частотой 9,6 МГц (видно по конфигурации фьюзов), поэтому ATtiny13V-10PU должен вполне подойти.
Ответить
0
GOR23 #
Классный девайс. Но я бы добавил ещё одну кнопку на свободный порт для принудительного включения/отключения, вдруг пульт потерялся где то. В какой программе исходник написан? Я к сожалению только с АВР студией дружу, но если скажите чем открыть исходник, думаю и сам добавлю эту кнопку.
Ответить
0

[Автор]
Igoryosha #
Спасибо! Я не добавлял в проект данную кнопку, т.к. предполагал его использовать с проходным выключателем (управление с двух мест). А исходник написан в CodeVisionAVR.
Ответить
0
MoVaGen #
У вас получилось добавить ещё одну кнопку?
Ответить
0
Nfiunes #
Интересно, но как насчёт того, чтобы вместо реле поставить симистор, при этом габариты устройства уменьшатся!
Ответить
0

[Автор]
Igoryosha #
Можно попробовать, однако, применяя реле, никаких гармоник от моего устройства в нагрузку поступать не будет.
Ответить
0
Вадим #
Не могу записать файл eeprom, пишу программой uniproff. Я выбираю HEX файл потом EEP, HEX нормально встает, а EEP как пустой, что это может быть? Уже все мозги сломал.
Ответить
0

[Автор]
Igoryosha #
Очень странно! Я пользуюсь программой Khazama AVR Programmer (с USBASP) - попробуйте её!
Ответить
0
Вадим #
Дорогой автор, извините меня, я дурак, все отлично работает как часы, причина была в моей невнимательности, а именно диод VD3 был не правильно установлен, точней я установил как на фото, а оказывается у меня толстая полоска это катод.
Ответить
0
Вадим #
Я заметил, что если отключить питание, а потом включить МК забывает команду с пульта, так и должно быть?
Ответить
0

[Автор]
Igoryosha #
Нет конечно же! Похоже Вы забыли прошить eeprom, или он как-то коряво записался.
Отредактирован 19.08.2014 16:38
Ответить
0
NE51S #
Вадим 18.08.2014 18:02 #
Не могу записать файл eeprom, пишу программой uniproff. Я выбираю HEX файл потом EEP, HEX нормально встает, а EEP как пустой, что это может быть? Уже все мозги сломал.
Та же проблема. Программирую проггером с CodeVisionAVR. Программатор AVR910, проблем никогда не было, а тут "EEP как пустой". Система win7-32.
Ответить
0
NE51S #
Короче eeprom так и не залил. Но заработало. Просто снял галку с делителя на 8 (верхний скрин битов конфигурации, CKDIV8). После снятия питания и последующего включения - норма, кнопку пульта помнит.
Ответить
0

[Автор]
Igoryosha #
Мистика, да и только! Программирую через USBASP программой KhazamaAVR.
У Вас проблемы с eeprom прошивкой. Запоминаемая команда с пульта должна сохраниться в eeprom!
Ответить
0
Вадим #
А промежуток между снятием питания и последующим включением какой? У меня команду забывает через 10 минут, примерно.
Ответить
0
NE51S #
Вадим снял питание вчера часов в 9 вечера, только что включил (7,30 утра) - работает.
Igoryosha не верится в мистику. Где то сабака порылась. Мне вот непонятно, Вы писали:
Igoryosha 05.08.2014 14:02 #
А исходник написан в CodeVisionAVR.
Дык почему прошивальщик с этой самой CVAR отказывается шить еепром?
После записи кнопки пульта в области еепром появились даные, попробую прицепить скрин.
Прикрепленный файл: fuse.jpg
Ответить
0

[Автор]
Igoryosha #
Сломался программатор, как починю - проверю и отпишусь! Может быть проблема в версии CVAVR?
Ответить
0
NE51S #
У меня CVAR 2.04.4а, пробовал компилить сам с Ваших исходников, то же самое, еепром не пишет. Но это не важно, все работает. И что интересно, работает и с установленным битом CKDIV8, и без него. Объяснить не могу, склоняюсь к качеству самих контроллеров, находил в сети обиды на тиньку13.
Короче, собирайте, сразу прописывайте свою кнопу в память тини, и пользуйтесь.
Igoryosha Спасибо. Ваша схема уже в работе
Ответить
0
domen82 #
Уважаемый Igoryosha не могли-бы Вы немного доработать программу?
Точнее ввести паузу (например 1 сек.) после включения/выключения реле.
Таким образом не нужно будет стараться быстро нажимать кнопку, а то чуть затормозишь и свет выключился. Приходится "моргать" лампочкой.
Заранее спасибо.
Ответить
0
NE51S #
Igoryosha писал в статье:
Устройство позволяет работать со всеми видами ИК-пультов, однако надо иметь ввиду, если у вас пульт протокола RC5, то для работы с выключателем необходимо кратковременно нажимать кнопки пульта. Т.к. в данном протоколе повторная передача представляет собой полную ИК-команду, а не небольшой импульс, характерный для протоколов NEC, Sony и JVC, то при длительном нажатии кнопки пульта будет происходить постоянное срабатывание дистанционного выключателя (включение-выключение).
Так что берите другой пульт.
Ответить
0
domen82 #
Зачем искать подходящий пульт, если достаточно потратить 10 мин., что-бы подправить программу и тогда устройство станет по настоящему универсальным?
Ответить
0
domen82 #
Пока автор игнорировал мои просьбы решил сам "доработать" исходник. Ну нет у меня дома других пультов кроме RC5, а кратковременно нажимать на кнопку очень неудобно, особенно когда засыпаешь. До этого с "сиасемблером" не общался совсем никак, пришлось учить заново. Благо понимание процесса имеется в голове, да и учить много не пришлось. Сначала немного освоил CodeVisionAVR, потом вычислил команду которую мне нужно и как ею правильно пользоваться. Немного разобрался в алгоритме исходника и с третьей попытки все таки "втыкнул" паузу в нужное место. Не знаю, правильно или нет, но все заработало как я и хотел. Теперь после приема сигнала с пульта и включения реле, программа не возвращается быстренько к новому приему, а ждет 900мс и только после возвращается к приему сигнала. А кнопка то уже в этот момент отпущена и повторного срабатывания не происходит. Есть картинка на которой указано, что нужно изменить, если нужно подкорректировать задержку. Несмотря на то, что автор игнорирует мою просьбу, негативного впечатления от устройства у меня не возникло. Спасибо ему за исходник, оказалось все в моих руках. Еще добавил задержки в подпрограмму мигания светодиодом, а то он очень быстро и незаметно вспыхивал. Теперь он мигает ярко и четко.
Прикрепленный файл: RC5.hex
Ответить
0
Руслан #
Собрал схему, залил прошивку с вашими изменениями, все работает отлично, только не разберусь как подключить прибор вместо штатного выключателя, или это невозможно?
Ответить
0
Виктор #
Уважаемый domen82. Поскольку у Вас есть исходник от "Дистанционный выключатель" не могли бы Вы добавить в схему еще один канал без фиксации. Т.е. нажал кнопку пульта - единица, отпустил - ноль. Есть интересная задумка для 12-лампочной люстры. Если будет прошивка, то обязательно доведу до конца и выложу здесь на форуме. Хочу сделать полампочное включение на 6 реле, или симисторах, кому как интересно.
Ответить
0
domen82 #
Еще файл добавлю.
Прикрепленный файл: RC5.gif
Ответить
0
domen82 #
И моя печатка в *.lay6
Прикрепленный файл: RC5.lay6
Ответить
0
Илья_95 #
Помогите прошить МК через unifprof. Программатор Громова. Другие программы его не видят почему то. Очень надеюсь на Вашу помощь. Заливаю hex файл, eeprom. как выставить фьюзы? Пишет что фьюз включен если галка снята. выставлять их также как на картинке, либо наоборот? 2 МК уже залочил.. Без установки фьюзов светодиод сигнализирует что готов запомнить кнопку, при нажатии на кнопку ПДУ, показывает что запомнил. Но реле не переключается. При этом, если снова нажать на кнопку SB1 он снова запоминает клавишу ПДУ.
Ответить
0
domen82 #
Выше, в статье, нарисовано как выставлять фьюзы.
Ответить
0
Илья_95 #
Про фьюзы видел. Проблема была в значении галочки. В разных программах по разному. Нашел человека с таким же программатором и прошил. Все заработало
Ответить
0
Алексей #
Один только вопрос возник. Судя по небольшой ёмкости конденсатора C1, этот бестрансформаторный блок питания может дать весьма скромный ток(по рассчётам, которые находил в сети - 60 мА с микрофарада). Хватает ли его чтоб замкнуть реле ? Или оно замыкается от энергии, запасённой в C2, а на удержание ему уже хватает того тока, что есть ?
Ответить
0
domen82 #
Ну у людей же как-то работает.
Как Вы думаете, хватает?
Ответить
0
Sheva #
Классно. Не мешало бы несколько каналов иметь в такой девайсе. Спасибо автору.
Ответить
0
Борис #
Спасибо автору за эту работу Собрал на макетной плате. Так доходчиво и просто изложен материал, я чайник собрал эту схему с первого раза .Всё работает как описано. Запитывал схему от usb порта.Прошивал тиньку Khazama, fuse выставились автоматически при fuse Int.RC Osc.9.6 MHz.Для безопасности лучше запитывать устройство не от сети 220 вольт.
Ответить
0
magusorel #
Автору респект! Собрал, все заработало сразу.
Только использовал реле 5V и в качестве источника питания зарядку с USB выходом. Получилось компактно и безопасно
Ответить
0
евгений #
Собрал схему, попалось мне фотореле серии фр-2/7 на мк тини13, из переделки в оригинальный выключатель (спасибо автору) нужно выпаять ненужное и добавить три детальки
Прикрепленный файл: sketch-1479194223754[1].png
Ответить
0
Виктор #
Уважаемый domen82. Поскольку у Вас есть исходник от "Дистанционный выключатель" не могли бы Вы добавить в схему еще один канал без фиксации. Т.е. нажал кнопку пульта - единица, отпустил - ноль. Есть интересная задумка для 12-лампочной люстры. Если будет прошивка, то обязательно доведу до конца и выложу здесь на форуме. Хочу сделать полампочное включение на 6 реле, или симисторах, кому как интересно.
Еще забыл о кнопке включения (типа настенный включатель без фиксации), замыкаемой на "землю"
Ответить
0
Виктор #
Добавляю идею сложения до кучи разных схем из интернета.
Прикрепленный файл: Люстра 12 ламп.rar
Ответить
0
andro #
Весьма полезное устройство с хорошей реализацией, спасибо автору, что поделился конструкцией!
Ответить
0
ozon #
Собрал. Работает. Прошивал на avrdude, все без проблем. Только реле взял 5-вольтовое и запитался от зарядного устройства на 5 вольт. Все вмонтировал в колонку, теперь аудио система с ИК датчиком ! Спасибо автору.
Ответить
0
Вадим #
Всё замечательно работает, но есть одно пожелание к разработчику, было бы неплохо записывать в ячейку епром флаг последнего состояния прибора до отключения питания, а при инициализации проги что бы включалось по флагу, т.е. обесточил устройство в режиме ВКЛЮЧЕНО, и при подаче питания оно включается,а то оно всегда по умолчанию ВЫКЛ.
Ответить
0
Вадим Пильников #
Ау, народ, у кого есть исходник?
Ответить
0
Евгений #
Собрал устройство, работает все путем. Пульт от телевизора самсунг и от ВВК, работает хорошо. Все автору нужно сделать отдельную кнопку для принудительного включения и выключения
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется сила тока?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Лазерный модуль 650нм 5мВт
Лазерный модуль 650нм 5мВт
Ветрогенератор Радиореле 220В
вверх