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

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


Реклама ⓘ

Клон ИК пульта на PIC контроллере

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

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

Итак, мне удалось получить следующие осциллограммы команд пульта. Поскольку пакеты получились «длинные», то для наглядности привожу лишь их фрагменты:

Необходимо было учесть тот факт, что пульт излучает данные команды в инверсной форме, поскольку в отсутствии ИК-сигнала ИК-приемник выдает лог. «1», а при появлении лог. «0». Кроме того для того, что бы ИК-сигнал (по активному фронту) стал излучаться его необходимо промодулировать на частоте порядка 10 – 16 кГц.

Это можно описать следующей схемой:

Таким образом имея осциллограмму команд со всеми временными характеристиками, учитывая то, что команды должны быть инвертированы и их верхний фронт должен быть промодулирован несущей частотой, я решил собрать устройство:

 
   

В основу я заложил пик-контроллер младшего семейства Microchip – PIC12F629. Он вполне мог справиться с поставленной задачей при пониженном напряжении в 3 В .

В процессе анализа пакетов и привязки к ним «0» и «1» битов по их длине, я получил следующие двоичные коды команд:

«Включить»

«Выключить»

00010001

00000001

01000100

01000100

10000000

10000000

01001000

01110000

11011100

00000000

11100000

00010000

00000000

00000000

00000000

00000000

00110000

00110000

Байты следовали друг за другом без интервалов (начиная со старшего разряда), предварялись стартовым кодом – 9 mS высокий фронт-  4,5 mS низкий фронт.

Первой подавалась команда «Включить» затем следовала пауза в 1 S и далее команда «Выключить».

Для простоты реализации устройства я использовал всего одну кнопку – включение питания. Если кондиционер был выключен, первая команда включала его. Если он был включен, первая команда игнорировалась , а следующая выключала его.

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

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

Изменил схему монтажа, подогнав его под пик:

В сборке он выглядел так:

Программа в MPLAB и саундтреки команд, записанных в звуковом редакторе:

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

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
МК PIC 8-бит
PIC12F629
1 Поиск в магазине ОтронВ блокнот
Биполярный транзистор
S9013-I
1 Поиск в магазине ОтронВ блокнот
ИК-излучательBL-L314IRBC1 Поиск в магазине ОтронВ блокнот
Конденсатор1 нФ2 Поиск в магазине ОтронВ блокнот
Конденсатор10 нФ1 Поиск в магазине ОтронВ блокнот
Резистор
470 Ом
1 Поиск в магазине ОтронВ блокнот
Кварц455 кГц1 Поиск в магазине ОтронВ блокнот
Батарея АА1.5 В2 Поиск в магазине ОтронВ блокнот
Добавить все

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

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

Теги:

Опубликована: Изменена: 14.11.2015 0 0
Я собрал 0 0
x

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

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

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

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

0
Александр #
Эх! Вот у Дмитрия продуктивность-то :) Жаль, что не большинство конструкций странновато ;)
1. Параллельно батарейке поставьте конденсатор электролитический на 470-1000 мкф -- повысите дальность работы пульта (советую смотреть типовые решения)
2. Светодиод подключить через резистор в 4-10 Ом. Сейчас от его сгорания спасает отсутствие конденсатора по питанию и внутреннее сопротивление батарей питания...
3. Вроде это МК имеет встренный RC-генератор. Кварц вообще тут не нужен - требования по приёму IR-сигналов для пульта: +/- 10% в лёгкую
4. Почитать в Сети теорию протоколов пультов. Начать с NEC - тогда не придётся мучаться со скалыванием протокола аж-но звуковухой (как я лет 10 назад. ДА, советую прикупить за 8 долларов логгер. На АлиЭкспресс искать как USB Logic Analyze 24M 8CH
а вот как я когда-то делал (написано на версии Бейсика и для АВР, но, надеюсь, алгоритм из комментариев поймёте) http://bascomavr.3bb.ru/viewtopic.php?id=287

Да, забыл: не 10-16 КГц, как Вы пишите, а 36, иначе дальность будет ну вообще низкой: менее 2= метров!
http://www.radiohlam.ru/teory/nec.htm
http://radioparty.ru/prog-avr/program-c/392-lesson-rc5
http://chipmk.ru/index.php/10-raznoe/170-pp-priema-koda-rc-5-s-ik-pulta
Ответить
+1

[Автор]
dima1983 #
Ну я бы сказал, что они у меня не странноватые, а своеобразные.
Представьте себе такую ситуацию: у вас нет ни интернета, ни других источников информации, и уж тем более цифровых анализаторов спектра...
Только паяльник, пик-контроллер, нерабочий пульт и старенький компьютер. Вот и пришлось выкручиваться что бы собрать устройство за двое суток.
Что касается конструкции: первоначально резистор был, но поскольку дальность излучения была не велика, я его удалил. В каком пульте вы встречали электролит на 1000 мкФ? Я видел максимум 100 мкФ. Не уверен, что при питании пульта от батареек он вообще там нужен. Емкость установленная после кнопки служит для подавления дребезга самой кнопки и помех по цепи питания. Теперь по внутреннему генератору 4 МГц - его частота не стабильна, поэтому я решил использовать "родной" кварц от пульта. На такой частоте производить модуляцию 36 КГц проблематично, поэтому я снизил ее до приемлемого значения.
Ответить
+1
Александр #
вы пишите на форуме. Значит комп и НЭТ есть. не прибеднятесь :)
встречал, ибо опыт ремонта с 14 лет. Сейчас - 37.
Не уверены, так как не знаете теории. я тоже многое не знаю, вот сижу, читаю теорию ОУ, так как я в электронику пришел как "цифровик", аналоговой вообще не занимался. Не стыдно учиться, поверьте!
я дал вам ссылки на ИК-пульты. Стабильности в 30% хватает. Говорю как автор множества конструкций с ИК-управлением.
Сделать 36 КГц на этом ПИК - не проблема, я же делал? я как раз с PIC и начинал в конце 90х...
посчитайте сами: частота - 4 МГц, 1 команда (однобайтная) - 4 такта.
Надо выдать меандр:
ножка на выход
Цикл Х раз
Ножка=1
пауза Х ms
Ножка=0
пауза
цикл_закончить
грубо, но сойдёт для общей теории.
Если интересно - чем смогу-помогу в МК.
почту мою знаете, сайт- тоже. Так есть введение в МК, читайте - не жалко :)

по поводу "был резистор - с ним недалеко", Вы напомнили мне случай.
Заказчик из Крыма, год этак 2006...
Надо сделать для спутникового ТВ железку. Делаю у себя макет. Хочу выслать ему. Он: не, я телемастер, электронику знаю, дай схему, все детали и МК у меня есть. Сам спаяю и сам прошью
пишу прогу, у себя тестирую - всё классно!
отправляю - у него не работает. ХМ!
добавляю защиты, высчитываю чуть-ли не каждый такт... отправляю - не работает!......
Тут меня осеняет: А вышлите-ка мне фото своей платы. Высылает
Смотрю, плачу над телемастером: в цепи светодиодов нет резисторов!
КАК?
а он: А без них ЯРЧЕ светит
Вот не подобляйтесь оному... Учите теорию, посмотрите о режимах работы транзистора, потере напряжения на светодиоде, посчитайте ток в этой цепи...
потом почитайте о внутреннем сопротивлении химических источников тока... Узнаете много интересного, честно :)
Ответить
0
Дмитрий #
Сейчас уже есть библиотеки и просто скопировать практически любой ИК пульт. В 2015г наверное тоже все это было.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Лазерный модуль 650нм 5мВт
Лазерный модуль 650нм 5мВт
Модуль измерения тока на ACS712 (30А) Pickit 2 - USB-программатор PIC-микроконтроллеров
вверх