Главная Мой профиль Регистрация Выход Вход
Приветствую Вас Гость | RSS
Четверг
27.06.2019
00:09
Мы перееxали : www.bezkz.su
Меню сайта
Главная » Статьи » Схемы » Выключатели, переключатели,ИК,РФ

IR конструктор на PIC12F629



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

  Поддерживаемые пульты, программа рассчитана на протоколы приближенные к NEC (Обычный и расширенный) с RС-5 и подобными работать не будет.

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

 Все настройки работы программы делаем в EEPROM памяти.
Девайс позволяет настроить в работу от одного до пяти каналов, как раздельно так и хоть все каналы на одну кнопку пульта. В ячейку EEPROM с адресом 01h вводим число каналов плюс один «для мастер» кнопки (от 2h до 6h) т.е. если число 2h это для «мастер кнопки» и одного канала. Числа какие можно устанавливать- 2h для работы 1 канала, 3h - двух каналов,4h - трех каналов, 5h - четырех каналов, 6h - пяти каналов.

 Также любой канал может работать в режиме триггера или удержания. В ячейку EEPROM с адресом 02h вводим число в шестнадцатеричной форме полученное путем конвертации с двоичной т.е. двоичное число такого вида 00001= (1h) говорит о том, что четыре канала будут работать в режиме триггера (GP1, GP2, GP4, GP5), а первый GP0 (7 нога) в режиме удержания. 11111= (1Fh) - все каналы в режиме удержания. Числа- какие можно устанавливать от 1h до 1Fh.

  Для включения опции сохранения текущего состояния выходов в EEPROM в случае сбоя питания необходимо в ячейку с адресом 00h EEPROM записать число 01h, число 00h отключает сохранение и восстановление прежнего уровня. Уровень сохраняется только у каналов работающих в режиме триггера.

  Устройство позволяет включить в схему одну или две кнопки, запись числа 28h в ячейку EEPROM с адресом 03h разрешает подключение вместо нагрузки кнопку на выводе GP5- 2нога МК. Управлять кнопкой будем выводом GP1- 6 вывод МК также и с пульта, в данном случае количество каналов должно быть записано 5h с «мастер кнопкой».

  Запись числа 38h в ячейку EEPROM с адресом 03h разрешает подключение вместо нагрузки две кнопки на выводе GP4 - 3 нога МК и на выводе GР5- 2 нога МК Управлять 1 кнопкой будем выводом GP0 7 вывод МК и с пульта, Управлять 2 кнопкой будем выводом GP1 6 вывод МК и с пульта, в данном случае количество каналов должно быть записано 4h с «мастер кнопкой». Кнопки работаю в режиме триггера или удержания в зависимости от установленных данных в ячейке EEPROM с адресом 02H для каналов GP0 и GP1. 
Запись числа 8h или 0h в ячейку 03h выводы GP4 и GP5 работают на нагрузку.

  Включение инверсии каналов. Инверсия имеет смысл в каналах включенных на режим удержания и в режиме триггера если два и более каналов записаны на одну кнопку пульта. Запись производиться в ячейку EEPROM с адресом 04h в виде 000000= (00h) - нет инверсии, 111111=3F все каналы в инверсии, 100000=20h- только канал GP5 2 нога МК в инверсии и т.д.


Первое включение.

  На зашитый МК подаем питание все светодиоды мигают три раза число их зависит от установленного количества каналов в ячейке с адресом 02h. Устройство готово к записи «мастер кнопки» она записывается первой. Нажали кнопку на пульте светодиоды еще раз «моргнули» сообщая, что «мастер кнопка» записана. Далее нажимаем выбранные кнопки на пульте светодиоды поочередно загораются согласно запомненной команде. По завершению записи все тухнут и устройство готово к работе.
   Для перепрограммирования на другие кнопки или пульт, нажимаем «кнопку мастер» алгоритм записи повторяется. Если не предусматривается перезапись команд и «мастер кнопка» не желательна то после программирования всех команд необходимо прочитать МК в программаторе и заменить первый и второй байт на случайные числа в ячейке EEPROM с адресом 40h и 41h но только не FFh. 

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

  Используя два МК подключенные к одному ИК приемнику увеличим количество каналов до 10 и так далее в зависимости от того какую нагрузку выдержит ИК приемник или ставить буфер. В расширенном варианте записывать кнопки пульта придется раздельно, поочередно подключая IR приемник. Если каждому МК запишем свою «мастер кнопку» то в дальнейшем этих неудобств не будет. Думаю рационально будет для «мастер кнопки» использовать пульт с другого помещения.

Считанную с МК настроенную прошивку с записанными командами можно тиражировать без обучения командам.

Начальные установленные настройки:

1. В ячейке EEPROM с адресом 00 записано – 00h т.е. сохранение текущего состояния каналов нет.
2. В ячейке EEPROM с адресом 01 записано – 06h т.е. включены 6 каналов.
3. В ячейке EEPROM с адресом 02 записано – 1Fh т.е. все выводы в режиме удержания.
4. В ячейке EEPROM с адресом 03 записано – 08h т.е. кнопки не используем все выходы работают на вывод.
5. В ячейке EEPROM с адресом 04 записано – 00h т.е. инверсию не используем.
6. При подаче питания сразу переходим в режим записи команд (первой записываем «мастер кнопку»)            

Фото проверенных пультов:

Eeprom :

Скачать конвертер чисел

Скачать прошивку

Обсуждение на ФОРУМЕ

И немного домашнего видео:




Категория: Выключатели, переключатели,ИК,РФ | Добавил: rgb (05.10.2010)
Просмотров: 17431 | Теги: PIC12F629, IR конструктор на PIC12F629, IR | Рейтинг: 5.0/4
Всего комментариев: 301 2 3 »
1 zaa-1978  
очень даже неплохо!!! супер! biggrin smile

2 shpuntic  
Класс! smile Просто все кинулись на эти китайские люстры (две мне уже приносили).Зачем платить такие деньги,если можно сделать.Отлично!!! smile smile smile

3 pilotix  
Покажите пожалуйста наглядно какие адрес епром можно изменять, в IC-prog например.? Спасибо

4 pilotix  
Cпасибо, большое. Теперь разобрался.Проект супер. Если бы выходов побольше, какой небудь контролер помошней. Думаю народ со мной согласится, было б ещё конкретней-суперней!

5 Nikolai4  
это уже будет совершенно другой проект

6 Drayv  
по описалову прикольный девайс я себе для теста такой спаяю как будет свободная минутка

7 rastamanoff  
Cобрал даную конструкцию(по первой схеме).При включении светодиоды три раза моргают.Пробую записывать мастер кнопку,опять все моргают.Потом програмирую по одной кнопке,светодиоды по одному загораются.Но кнопки почемуто нада нажимать несколько раз,чтобы загорелся очередной светодиод(как бы записалась кнопка).После записи пятой кнопки светодиоды тухнут(по идее устройство готово к работе).Но тут и начинается самое интересное-при нажатии кнопок(соответствующего канала)загораются светодиоды других каналов ,или по два светодиода-вообщем полная чехарда.Потом все это срывается и начинают мигать все 5 светодиодов,опять начинается режим програмирования.Пробовал на 3 разных микроконтролерах-одинаково.Пробовал и тригерами и на режиме удержания.При повторном чтении(после програмирования пультом)микросхемы в EEPROM памяти в ячейках 40 и далее появляются числа,я так понимаю это записана"мастер кнопка"ну и кнопки каналов.Впринцыпе все как описано в статье,но почему же не работает???Неужели изза деталей-я поставил все резисторы (6 штук) по 390 Ом,а ик-приемник от китайской магнитолы"штамповки"
Пробовал также включать 1,2,3 канала,но...
И непонятно что записано в ячейке 05h EEPROM памяти,в прошивке к статье там 00

8 rgb  
МК (с родной константой) и резисторы 390 Ом тут не при чем, в ячейке с адресом 05h сохраняються запомненые включеные каналы так сказать служебный регистр. Проблемма может быть только в ИК приемнике (они бывают без инверсии) или пульте т.е. пульт не подходит, попробуйте другие пульты с начала.
Еще: 1- пульт и приемник должны работать на одной частоте.
2-посторайтесь найти даташит на свой ИК приемник там в обвязке как правило ставится конденсатор или попробуйте такой как в схеме Железо OFF на этом сайте. Удачи.

9 ydok  
Не работает??
Прошиваю ic-prog проверка ок
но при прошивке говорит что в файле отсутствует значение для осциллятора
и схема на запускается

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


10 Nikolai4  
читай тут внимательно !

11 rastamanoff  
Все заработало!Проблема была в ик-приемнике,поставил новый с магазина (V3823BT) схема заработала при начальных установленных настройках.Попробую все каналы поставить на тригера,про результаты отпишусь позже.Спасибо за статью.
Пульт применил от TV Samsung SlimFit.Собирал на печатной плате под DIP корпус микросхемы и обычные 0,125Вт резисторы.Светодиоды раположены так,чтобы вместо них можно впаять разъем с шагом 5мм,для подключения внешних ключей+ик-приемник устанавливается на плате.Если кому нужно могу выложить плату.

12 rastamanoff  
Под тригер работает - все ГУД! happy

1-10 11-20 21-26
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Важное:
Статистика
Всё для вебмастера




 При копировании материалов сайта ссылка на сайт обязательна
Хостинг от uCoz