Схема дистанционного управления на ик лучах. Ик дистанционное управление. Устройство пульта дистанционного управления

15:45 20.03.2002

Три способа управления компьютером через любой ИК пультДанный материал содержит в основном теоретическую информацию относительно использования инфракрасных пультов от телевизоров и прочей бытовой техники для управления компьютером. Найти реальное применение такой возможности не так уж и сложно. Можно управлять запуском программ; движением курсора мыши и имитировать нажатие ее кнопок; имитировать нажатие клавиш клавиатуры; управлять WinAmp-ом; выключать и перезагружать компьютер.

Будет рассмотрено три способа. Все они предполагают наличие ИК-приемника подключенного к компьютеру. Последние два способа содержат примитивные схемы, спаять самостоятельно которые не составит большого труда.

Начнем с самого простого варианта - работы через обычные инфракрасные адаптеры, которые продаются во многих магазинах по цене от 15 до 40 долларов. Подключаются они посредством шины USB или последовательного порта RS-232 (обычный COM-порт). Последний вариант для нашей затеи выглядит предпочтительнее, т.к. рассмотренный софт скорее всего не будет работать с USB версиями адаптеров. Кроме того, они стоят дешевле. В нашем случае мы использовали адаптер TEKRAM IRmate IR-210B, подключенный через COM-порт. Сразу нужно предупредить о том, что найденные и описанные нами программы не требуют установки драйверов для каких-либо адаптеров. Программы сами напрямую работают с COM-портом. Установленные драйвера будут мешать нормальной работе. Если использовать USB версии адаптеров, то тут ситуация обратная - драйвера необходимы но, как уже упоминалось ранее, в настройках всех программ не значилась поддержка устройств такого рода.

Программа распространяется на условиях Shareware. В демонстрационном режиме возможно использование только четырех команд с пульта. Поддерживает различные адаптеры, в том числе и работающие через WinLirc (об этом будет рассказано отдельно). Поддерживаются напрямую пульты AVerMedia TV-tuner. Полный список поддерживаемых устройств можно найти на сайте разработчиков.

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

Они располагаются в меню "Файл". Изначально, нужно указать к какому порту подключен адаптер. Для нашего IRMate 210 была ремарка в описании программы: работает только на скорости порта 2400 бит/с. Подчиняемся указаниям, в остальном, все настройки вполне оптимальны. Логика работы с этой программой, впрочем, и с остальными тоже, подразумевает, что Вы должны завести в программе сначала источник - пульт управления. В нашем примере мы назвали его "Samsung". Затем к источнику добавляются команды, они располагаются под именем пульта. При их добавлении программа присваивает их значениям сигналы с пульта ДУ. Что бы назначить кнопке ПДУ действие, достаточно перетащить мышкой нужную команду в окошко "Срабатываемые команды" и в закладке "Список действий" указать все, что необходимо. Не зарегистрированная версия программы не даст создать более четырех действий на одной схеме.

Описание работы с этой программой начнем с ее настройки. При первом запуске программы Вы попадаете в раздел основного меню "General Config". В нем необходимо выбрать тип используемого адаптера. В нашем случае это Generic Serial IR Receiver. Далее перемещаемся в пункт "Hardware Setup".

Аналогично предыдущей программе, щелкаем в пустом поле правой кнопкой мыши и выбираем из меню пункт "New Remote Control". Мы назвали его Samsung. Далее с помощью правой кнопки мыши начинаем добавлять клавиши с ИК пульта ("New remote Button"). В процессе определения кнопок пульта возникла проблема - программе все коды кнопок казались одинаковыми. Код кнопки отображается справа в окошке "Signature" и является простым набором данных, прочитанных из COM-порта. Решилось все просто: на скриншоте рядом с указанием порта есть кнопочка "Setup". Она вызывает окно настроек, где нужно выбрать вторую закладку с названием "Device Settings". В нем в значении параметра "IR code length" поставить большее значение, например, 32 байта.
Для назначения уже определенным кнопкам пульта действий нужно перейти в третий раздел "Actions". Добавить наш пульт и добавить кнопки, которые мы определили в предыдущем разделе, только теперь выбор будет из ниспадающего меню, вызываемого правой кнопкой мыши. Действия к командам добавляются в правом окошке.

Выставив галочку в пункте "Disable OSD" Вы избавитесь от окна, которое будет выскакивать на экран при нажатии этой кнопки на пульте.

Субъективно, uICE пришлась мне по вкусу больше, чем PCRemote. Но лучше попробовать обе, т.к. у них есть несколько отличий. Кроме того, если Вы собираетесь пользоваться незарегистрированными версиями, то uICE через 30 дней полностью потеряет свою работоспособность, в то время как PCRemote будет работать с вышеупомянутыми ограничениями.

Работа с самодельными ИК-приемниками

Рассмотренный выше способ подойдет тем, у кого уже есть ИК-адаптер или приобретение такового не вызывает каких либо затруднений. В ином случае простейший ИК-приемник, подключаемый через стандартный RS-232 порт, соорудить самому совсем не сложно. Более того, существует намного больше программ, работающих именно с самодельными ИК-приемниками. Самой популярной такой программой является WinLirc. Правильнее ее будет назвать не программой, а интерфейсом работы с COM-портом. Этим интерфейсом пользуются все остальные программы, которые будут описаны далее.

Это интерфейс для устройств, описанных выше. Работает он под управлением Windows 95/98/ME/NT/2000. Изначально создавался для Unix, так что поклонники этой операционной системы найдут все, что им нужно на этом сайте www.lirc.org . Сама по себе эта программа способна только принимать и обрабатывать сигналы, принятые из COM-порта от нашего устройства. Для того, что бы с помощью пульта ДУ совершать какие либо действия на компьютере необходимы другие программы, которые в свою очередь будут получать все данные от WinLIRC. Все уже вышеописанные программы способны работать с WinLIRC.

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

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

Среди устройств, предназначенных для дистанционного управления и контроля, устройства, использующие инфракрасное (ИК) излучение, занимают давнее и почетное место.

Например, первые пульты дистанционного управления на инфракрасных лучах появились в 1974 году благодаря фирмам Grundig и Magnavox, которые выпустили первый телевизор, оснащенный таким управлением. Датчики, использующие ИК-излучение, широко используются в автоматике.

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

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

Даже на заре своего возникновения устройства на ИК лучах были весьма просты в разработке и применении, в настоящее же время при использовании современной электронной базы такие устройства стали еще проще и надежнее. Как нетрудно заметить, даже мобильные телефоны и смартфоны оснащаются ИК-портом для связи и управления бытовой техникой по ИК-каналу, несмотря на широкое применение беспроводных технологий, таких как Bluetooth и Wi-Fi.

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

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

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

Устройство состоит из двух модулей – передатчика и приемника. Передатчик собран на сдвоенном интегральном таймере NE556 и формирует прямоугольные импульсы с заполнением частотой 36 кГц. Таймер имеет достаточно мощный токовый выход для того, чтобы непосредственно управлять подключенными к нему инфракрасными светодиодами.

Одиночным аналогом NE556 является знаменитый интегральный таймер NE555, который вот уже много десятков лет верой и правдой служит целой армии радиолюбителей для разработки электронных устройств. Изучить таймер на примерах 20 электронных схем, разработанных на основе этого таймера, можно с помощью набора-конструктора «Классика схемотехники» их серии Азбука электронщика. При сборке схем даже не потребуется паяльник; все они собираются на беспаечной макетной плате.

Излученный сигнал принимается приемником, основой которого является специализированная микросхема, детектируется пиковым детектором и поступает на усилитель тока на транзисторе, к которому подключено реле, позволяющее коммутировать ток до 10А.

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

Пример применения инфракрасного барьера совместно с набором «Цифровая лаборатория» из уже упомянутой серии Азбука электронщика можно посмотреть .

  1. – это выключатель освещения с управлением от любого пульта дистанционного управления на инфракрасных лучах.

Модуль позволяет управлять освещением или другими электроприборами, используя любую кнопку пульта ДУ.

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

При подаче питания модуль в течение 10 секунд «ждет» получения сигнала, соответствующего выбранной кнопке пульта, и по истечению этого времени «запоминает» нажатую кнопку. После этого для срабатывания реле модуля достаточно один раз нажать эту кнопку, при повторном нажатии реле выключится. Таким образом, реализуется режим управления типа «триггер». Модуль остается запрограммированным даже при отключении его питания.

Следует отметить, что модуль «помнит» свое последнее состояние при отключении питания.

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

Реле модуля может коммутировать мощность до 1500 Вт.

  1. Комплект беспроводного управления по ИК-каналу имеет собственный пульт ДУ с 4-мя кнопками и 4 канала управления по 2000 Вт каждый.

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

С помощью модуля можно организовать реверсивное управление двумя коллекторными электродвигателями, поскольку каждое реле имеет один нормально замкнутый (NC) и один нормально разомкнутый (NO) контакты с общим проводом.

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

Пульт комплекта питается от элемента CR2032.

Управление нагрузкой с большей мощностью для всех рассмотренных устройств можно осуществить с помощью модулей расширения:

До 4000 Вт: подойдет модуль расширения ;

До 8000 Вт: подойдет модуль расширения .

Модули с инфракрасным управлением

Артикул

Название

Напряжение питания

Число каналов управления

Максимальная мощность нагрузки одного канала, Вт

Примеры применения

Инфракрасный барьер

12В постоянный

Охранные устройства; спортивные соревнования; робототехника; устройства автоматики

Выключатель освещения

12В постоянный;

220В переменный

Управление освещением, вентиляцией, отоплением

Комплект беспроводного управления

12В постоянный

Реверсивное управление коллекторными двигателями; 4-х канальное управление бытовыми приборами

Помните, как в мультфильме «трое из Простоквашино», мама дяди Федора сказала: «Я так устаю на работе, что даже телевизор смотреть не могу!» Видимо, эта фраза и является ответом на вопрос, почему вся современная бытовая аппаратура имеет инфракрасные пульты дистанционного управления (ПДУ) . Но, если разобраться, то все началось намного раньше.

ПДУ с проводами

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

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

Ультразвуковые ПДУ

Первый беспроводной пульт дистанционного управления обязан своим появлением на свет американцу Хассо Платтнеру. В 1972 году после ухода из IBM он организовал свою фирму и в целях налаживания деловых контактов и связей часто и много ездил по всему миру. На одной из встреч с руководством компании JVC произошел конфузный случай.

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

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

Дальнейшее развитие электроники, в частности появление микросхем фирмы INTEL, позволило отказаться от подобного многочастотного кодирования. На одной ультразвуковой частоте за счет различных способов модуляции стало возможным передавать намного больше команд, чем при много частотном кодировании. Одним из первых аппаратов оснащенных ультразвуковым ПДУ был телевизор фирмы RCA. Кодирование команд осуществлялось при помощи широтно-импульсной модуляции (ШИМ).

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

Рис. 1. Первые пульты дистанционного управления

Специализированные микросхемы для ПДУ

Дело пошло лучше после того, как фирма INTEL разработала свой первый микропроцессор 8080. Эту новую разработку взяли за основу фирмы GRUNDIG и MAGNAVOX, которые сделали первый специализированный микропроцессор. В этом случае процессором генерируется нужный код цифровой команды под воздействием нажатой кнопки. Таким образом специализированная микросхема для ПДУ есть не что иное, как с уже прошитой программой. Такие ПДУ назывались TELEPILOT.

ПДУ на ИК-лучах

Первый цветной телевизор с микропроцессорным управлением и пультом дистанционного управления (ПДУ) на ИК лучах был выпущен совместно фирмами GRUNDIG и MAGNAVOX уже в 1974 году. Уже в этой модели в углу экрана показывался номер переключающегося канала (система OSD). Эта система команд получила название ITT. Это был первенец фирмы GRUNDIG.

В дальнейшем исследованиями в области ПДУ занялась фирма PHILIPS, которая разработала систему команд RC-5. Новая система позволяла кодировать 2048 команд, что в 4 раза превысило количество команд в системе ITT. Несущая частота была выбрана 36КГц, что не мешало передачам европейских радиовещательных станций и работе пультов с ультразвуковыми передатчиками с частотой 30 и 40КГц, а также обеспечивала достаточную дальность приема.

Но электронная техника не стояла на месте, а как говорил один киногерой, - шла вперед семимильными шагами. Совершенствовались телевизоры, появились видеомагнитофоны и музыкальные центры, спутниковые тюнеры, проигрыватели CD и DVD и многое другое.

Для управления новой техникой потребовались и новые ПДУ, а соответственно пришлось разрабатывать новые микросхемы. Такие микросхемы разработали фирмы SIEMENS и THOMSON. Несущая частота новых ПДУ была тоже 36КГц, но использовался другой метод модуляции сигнала, - двухфазная модуляция. При такой модуляции несущая частота была более стабильна, что обеспечило повышение дальности, увеличение помехозащищенности и надежности работы.

Дальнейший вклад в дело развития систем ПДУ снова внесла фирма PHILIPS. В начале 90 годов прошлого века она объединила все лучшее, что было в системах RC-5 и SIEMENS. Получившийся продукт получил название «Объединенная система команд». Суть ее в следующем. ПДУ такой системы имеют функции «MENU 1» и «MENU 2». В каждой из этих функций одна и та же кнопка выполняет разные команды, и получается, что меньшим количеством кнопок можно выполнить большее число команд.

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

При всем многообразии пультов и управляемых ими устройств, все они работают практически одинаково: инфракрасный светодиод ПДУ при нажатии кнопок излучает пачки инфракрасных импульсов (вспышек), которые принимаются фотоприемником («глазом») телевизора или другого устройства. Современный интегральный фотоприемник представляет собой устройство достаточно сложное, хотя по внешнему его виду этого не скажешь. Внешний вид фотоприемника показан на рисунке 2.

Рисунок 2. Фотоприемник

Приемник настроен на прием импульсов с несущей частотой 36КГц, что соответствует протоколу RC-5. Если вблизи фотоприемника просто включить, например, от батарейки, ИК светодиод, то его немигающее свечение на «глаз» никакого воздействия не окажет, даже если этот светодиод поднести вплотную к фотоприемнику. Также не оказывает воздействия дневной и искусственный свет. Такая избирательность обусловлена тем, что в цепи усиления сигнала фотоприемника имеется полосовой фильтр. Структурная схема фотоприемника показана на рисунке 3.

Рисунок 3. Структурная схема фотоприемника

Здесь не будет объясняться подробно протокол RC-5, поскольку на дальнейший рассказ, да собственно и на ремонт ПДУ, это незнание никак не повлияет. Желающие познакомиться с протоколом RC-5 более подробно могут найти его описание в интернете. Это уже тема для отдельной статьи.

Устройство ПДУ

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

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

Основой всего устройства является микросхема U1типа SAA3010P. Хотя буквы могут быть и другими, что говорит о другой фирме производителе микросхемы. Но цифры все равно остаются 3010.

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

В нижнем правом углу схемы показана матрица клавиш (KEY MATRIX). Ее строки подсоединены к выводам DR0…DR7, а столбцы, соответственно, к выводам X0…X7. При нажатии на любую кнопку замыкается одна пара столбец - строка, и на выходе микросхемы возникает импульсная последовательность соответствующая нажатой кнопке. Каждая кнопка выдает свою последовательность и никакую другую! Всего возможно подключить 8*8=64 кнопки, хотя практически может быть и меньше.

Выходной сигнал в виде импульсов напряжения поступает на затвор полевого транзистора VT1, который в свою очередь управляет работой ИК светодиода VD1. Алгоритм управления в данном случае очень простой: открылся транзистор - засветился светодиод, транзистор закрыт, - светодиод погас. В таком случае говорят, что транзистор работает в ключевом режиме. В результате таких вспышек формируются пакеты импульсов, соответствующие протоколу управления RC-5.

Питание схемы производится от двух гальванических элементов типа AA, энергии которых хватает не менее чем на год. Параллельно батарейкам стоит электролитический конденсатор C1, который шунтируя внутренне сопротивление батареек, продлевает срок их службы и обеспечивает нормальную работу ПДУ при несколько «подсевших» батарейках. Светодиод в импульсном режиме может потреблять ток до 1А.

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

Завязка или «Как начинался девайс»

…Когда я пришёл, Виктория сидела на диване, уставившись в телевизор. День выдался тяжёлый, поэтому ей не хотелось ничего делать. Несколько минут мы смотрели какой-то попсовый сериал, потом он закончился, и Вика выключила телевизор. В комнате стало темно. На улице шумел дождь, и от этого казалось, что дома тоже холодно.
Вика поднялась с дивана и принялась, на ощупь, искать выключатель от светильника. Настенный светильник висел, почему-то, не у дивана, а на другой стене и приходилось топать через всю комнату, чтобы зажечь свет. Когда она, наконец, включила его, комната наполнилась тёплым светом лампочки накаливания.
Около меня, на помятой простыне, лежал пульт от телевизора. Нижние кнопки без опознавательных знаков и, скорее всего, не использовались. И тут у меня возникла интересная мысль…
— Вик, а хочешь, я сделаю так, что твой светильник можно будет пультом от ящика включить? Там даже кнопки лишние есть…

Концепция
Наше устройство должно уметь принимать сигнал с ИК-пульта, отличать «свою» кнопку от других, и управлять нагрузкой. Первый и последний пункты простые, как топор. А вот со вторым немного интереснее. Я решил не ограничиваться каким-то конкретным пультом (Почему? – «Не интересно так!»), а сделать систему, которая может работать с разными моделями пультов от разной техники. Лишь бы ИК-приёмник не спасовал, и уверенно ловил сигнал.

Ловить сигнал будем с помощью фотоприёмника . Причем не каждый приёмник подойдёт – несущая частота должна совпадать с частотой пульта. Несущая частота приёмника указана в его маркировке: TSOP17xx – 17 это модель приёмника, а хх – частота в килогерцах. А несущую частоту пульта можно найти в документации или в инете. В принципе, сигнал будет приниматься, даже если частоты не совпадают, но чувствительность будет фиговой – придётся тыкать пультом прямо в приёмник.

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

В памяти устройства хранятся контрольные точки. Для каждой такой точки нужно записать время и состояние выхода с ИК-приёмника – 0 или 1.
При получении сигнала с пульта, МК будет последовательно проверять каждую точку. Если все точки совпали – то это была та самая кнопка, на которую устройство запрограммировали. А если выход с приёмника хотя-бы в одной точке не совпал с шаблоном, то устройство никак не отреагирует.

Впрочем, баги никто не отменял! Возможно, что, сигнал будет отличаться от шаблона, но
в контрольных точках значения будут одинаковые. Получится ложное срабатывание. Казалось-бы – редкостное западло, и бороться с ним пипец сложно! Но на самом деле не всё так плохо (а местами даже хорошо).

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

Во-вторых мелкий шум (обычно выглядит, как редкие короткие импульсы) в большинстве случаев идёт лесом – ибо если он не попадёт прямо на контрольную точку, то нифига не повлияет на систему. Значит у нас есть естественная защита от шума.

Второй тип ошибок (aka «Пропуск команды») бывает из-за того, что точка расположена слишком близко к фронту импульса (к тому месту, где сигнал на выходе приёмника меняет свой уровень).
Представь себе, что через несколько микросекунд после контрольной точки сигнал должен меняться с HIGH на LOW. А теперь представь, что пульт выдал команду чуть быстрее, чем обычно (довольно часто случается). Фронт импульса сдвинулся во времени, и теперь он происходит ДО контрольной точки! Выход с приёмника не совпадёт с шаблоном и система сбросится.
Чтобы этого не происходило, нужно размещать контрольные точки подальше от фронтов.

«Всё круто» — скажешь ты – «Но откуда мне взять контрольные точки?». Вот и я над этим долго тупил. В результате решил доверить расстановку точек тебе.
На устройстве есть джампер J1. Если при включении он замкнут – устройство будет тупо передавать через UART всё, что выдаёт ИК-приёмник. На другой стороне провода эти данные принимает моя программа, которая выдаёт на экран компа импульсы с TSOP’а. Тебе остаётся только мышкой раскидать по этому графику контрольные точки, и прошить их в EEPROM. Если возможности использовать UART нету, то на помощь приходит джампер J2. Когда он замкнут – устройство не выдаёт данные по UART, а складывает их в EEPROM.


Схема
Простая до безобразия. В качестве контроллера я взял ATTiny2313. Частота 4 мегагерца, от кварца, или внутренней RC цепочки.
На отдельный разъём выведены линии RX и TX для связи, и питание. Туда – же выведен RESET для того чтобы можно было перепрошивать МК, не вынимая из устройства.
Выход фотоприёмника подключается к INT0, он подтянут к питанию через резистор в 33к. Если будут сильные помехи, то можно поставить туда резистор поменьше, например, 10к.
На пинах D4 и D5 висят джамперы. Jumper1 на D5 и Jumper2 на D4.

К пину D6 подцеплен силовой модуль. Причём симистор я взял самый мелкий из тех, что у меня были – BT131. Ток у него 1А – не круто, но зато корпус не слишком большой — ТО92. Для мелкой нагрузки самое то. Опторазвязку я сделал на MOC3023 – у неё нет датчика пересечения нуля, а значит она подходит для плавного управления нагрузкой (здесь я это так и не реализовал).

Порт B почти полностью выведен на разъём – туда можно прицепить индикатор или ещё что-нибудь. Этим-же разъёмом я пользуюсь при прошивке девайса. Пин B0 занят светодиодом.

Питается всё это дело через LM70L05 и диодный мост. То есть на вход можно подавать переменное напряжение, например, с трансформатора. Главное, чтобы оно не превышало 25 Вольт, а то умрёт либо стабилизатор, либо кондер.

Плата получилась вот такая:


Да, она немного отличается от той платы, которая лежит в архиве. Но это не значит, что я сделал себе убер-продвинутую плату, а вам подсунул демо версию:). Напротив, моя плата имеет пару недостатков, которых нет в конечной версии: у меня не выведена на штырёк ножка RESET, и светодиод висит на PB7. А это не очень способствует внутрисхемному программированию.

Прошивка
Устройство может работать в двух режимах. В первом – когда J2 замкнут – оно просто передаёт импульсы с фотоприёмника в UART. С него и начнём:

UART работает на скорости 9600, т.е, при частоте 4МГц в регистр UBRR записываем 25.

…ждём, пока не дёрнется ножка фотоприёмника. Как только она опустилась (изначально-то она болтается на pull-up резисторе) мы запускаем таймер (TIMER/COUNTER1, тот, что на 16 бит) и врубаем прерывание INT0 на любое изменение входа – any logical change (ICS00 = 1). Таймер тикает… ждём.

Импульс с пульта кончился – выход с фотоприёмника взметнулся вверх, прерывание сработало. Теперь записываем в память значение таймера и сбрасываем таймер. Ещё нужно инкрементировать указатель записи, чтобы в следующем прерывании записать в другую ячейку памяти.

Ещё импульс… выход дёргается… прерывание… запись значения таймера в память… сброс таймера… указатель + 2 (мы пишем два байта за раз)…

И так будет продолжаться до тех пор, пока не станет ясно, что конец (оперативки) близок. Или, пока сигнал не кончится. В любом случае, мы стопорим таймер и отключаем прерывания. Потом, не спеша выкидываем всё, что насобирали, в UART. Или, если J2 замкнут – в EEPROM.

В конце можно затупить в бесконечный цикл и ждать ресета – миссия выполнена.
А на выходе получится последовательность чисел. Каждое из них – время между изменениями состояния выхода TSOP’a. Зная, с чего началась эта последовательность (А мы знаем! Это перепад с HIGH на LOW), мы можем восстановить всю картину:

После инициализации сидим и ждём, пока TSOP дёрнется. Как только это случилось – читаем из EEPROM первую точку, и в простом цикле тупим столько, сколько там написано. При этом время считаем пачками по 32us. Выйдя из ступора, проверяем – что-там на выходе приёмника.

Если выход не совпал с тем, что мы ожидали – это не наша команда. Можно спокойно дожидаться конца сигнала и начинать всё сначала.

Если выход соответствует нашим ожиданиям – загружаем следующюю точку и проверяем её. Так до тех пор, пока не наткнёмся на точку, время которой = 0. Это значит, что точек больше нет. Значит вся команда совпала, и можно дёргать нагрузку.

Вот так, получается, простенький алгоритм. Но ведь чем проще, тем надёжнее!

Софтина
Сначала я думал сделать автоматическое запоминание шаблона. То есть ты замыкаешь джампер, тыкаешь пультом в TSOP, а МК сам расставляет контрольные точки и складывает их в EEPROM. Потом стало ясно, что идея бредовая: более-менее адекватный алгоритм получится чересчур сложным. Или не будет универсальным.

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


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

1) Замыкаем перемычку J1.

2) Подключаем UART. Если возможности его подключить нету, то замыкаем джампер J2. Тогда устройство будет скидывать данные в EEPROM.

3) Врубаем питание.

4) Если мы решили юзать UART, то запускаем софт и смотрим на строку состояния (внизу окошка). Там должно быть написано “COM порт открыт”. Если не написано, то ищем косяк в подключении и тыкаем кнопу «Подключить».

5) Берём пульт и тыкаем нужной кнопкой в TSOP. Как только девайс почует, что сигнал пошёл – загорится светодиод. Сразу после этого устройство начнёт передавать по UART (или писать в EEPROM) данные. Когда передача закончилась, светодиод гаснет.

6.1) Если работаем по UART, то жмём кнопу «Загрузить по UART». И радуемся надписи «Загрузил график…» в строке состояния.

6.2) Если работаем через EEPROM, то читаем программатором EEPROM память и сохраняем в *.bin файл. (Именно bin!). Потом нажимаем в программе кнопку «Загрузить.bin» и выбираем файл с EEPROM.

7) Смотрим на загрузившийся график – это сигнал с TSOP’a. На боковой панели есть ползунок – им можно менять масштаб. Теперь тыкаем мышкой по графику – ставим контрольные точки. Правой кнопкой точки удаляются. Только не нужно их ставить слишком близко к фронтам. Получается примерно так:


8) Нажимаем «Сохранить.bin» и сохраняем точки. Потом прошиваем этот файл в EEPROM. Так-как мы запихиваем время между двумя точками в 7 бит, то оно ограничено 4мс. Если время между двумя точками превысит это значение – программа откажется запихивать точки в файл.

9) Снимаем джамперы. Перезагружаем устройство. Готово!

Видео с испытаний

(перевод с английского)

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

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

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

Модуляции

Модуляция необходима для того, чтобы наш сигнал выделялся на фоне шума. С модуляцией сигнал ИК мигает с определенной частотой. ИК-приемник будет настроен на эту частоту, поэтому он может игнорировать все остальное.

На картинке вы можете видеть слева передатчик модулирующий сигнал с помощью ИК-светодиода. Сигнал регистрируется в приемнике на другой стороне. В последовательной коммуникации мы обычно говорим о "маркерах" и "пространстве". "Пространство" - период при отсутствии сигналов с передатчика. Никакой свет не излучается в это время. После простоя "маркеры" ИК импульсов идут в определенном частотном диапазоне. Частоты между 30 кГц и 60 кГц обычно используются в бытовой электронике. На выходе приемника "пространство" представлено высоким логическим уровнем. "Маркер" представляет низкий уровень. Пожалуйста, отметьте, что "маркеры" и "пространство" не 1-ы и 0-и, которые необходимо передать. Реальные отношения между "маркерами" и "пространства" и единиц и нулей зависят от используемого протокола. Больше информации об этом может быть найдено на страницах, которые описывают протоколы.

Передатчик

Передатчики это обычно пульты с батареями. Он должен потреблять мало энергии, как это возможно, и ИК-сигнал должен быть как можно более надежным, чтобы достичь приемлемой дистанцний управления. Предпочтительно она должна быть ударопрочной.
Многие чипы предназначены для использования в качестве ИК-передатчиков. Старые чипы были предназначены для лишь одного из нескольких ныне используемых протоколов. В нынешнее время очень низкое потребление у микроконтроллеров, позволяет использовать в ИК-передатчиках, а также они являются более гибкими в использовании. Если не нажата кнопка они находятся в режиме сна, в котором низкий ток потребления. Процессор "просыпается" для того чтобы передать соответствующую команду ИК только при нажатии клавиши.
Кварцевые кристаллы редко используются в таких пультах. Они очень хрупкие и, как правило, легко ломаются, когда пульт падает. Керамические резонаторы гораздо более подходящие, потому что они могут выдерживать большие физические перегрузки. Тот факт, что они менее точны, совсем не важен.
Ток через светодиод (или светодиодов) может варьироваться от 100 мА и до более 1А! Для того чтобы получить приемлемую дистанцию управления светодиодный ток должен быть как можно выше. Тут выбирается компромисс между параметром светодиода, срок службы батареи и максимальной дистанции. Светодиодные токи могут быть высокими, потому что управляющие импульсы светодиодов очень короткие. Средняя мощность излучения светодиода не должна превышать максимального значения. Вы также должны добиться того, чтобы максимально быстрый взгляд тока для светодиодных не был превышен. Все эти параметры можно найти в спецификации светодиодов.

Простая транзисторная схема, которая может быть использована для светодиодов. Транзистор с подходящим hFE и скорость переключения должны быть подобраны для этой схемы.
Значение резистора может быть рассчитана с использованием закона Ома. Помните, что номинальное падение напряжения на ИК-светодиод около 1,1В.
Стандартный драйвер, описанный выше, имеет один недостаток. Утечка напряжения батареи, при котором ток через светодиод будет уменьшаться, а это приведет к сокращению дистанции управления.

Чтобы избежать этого в цепи эмиттера последовательно ставят 2 диода. При серии импульсов на базе транзистора напряжение будет ограничено до 1,2В. База-эмиттер транзистора вычитает 0,6В, что, в результате амплитуда составит 0,6В на эмиттере. Расчет тока через светодиод прост - снова применяя закона Ома.

Приемник

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

На картинке выше вы можете видеть типичный блок-схема такого ИК-приемник. Не беспокойтесь, если вы не понимаете частей, все построено в одном электронном компоненте. Полученный ИК-сигнал с фотодиода обнаружения (на левой стороне диаграммы). Этот сигнал усиливается и ограничивается в первых 2-х этапах. Ограничителем выступает АРУ, чтобы получить постоянный уровень импульса, независимо от расстояния до пульта. Далее с AРУ сигнал поступает на полосовой фильтр (BPF). Полосовой фильтр настроен на частоту модуляции пульта. Общий диапазон частот от 30 кГц до 60 кГц для потребительской электроники. Следующий этап: детектор, интегратор и компаратор. Цель этих трех блоков для обнаружения присутствия частоты модуляции. Эта частота модуляции представляет выход компаратора как низкий сигнал.
Как я уже говорил ранее, все эти блоки интегрированы в единый электронный компонент. Есть много различных производителей этих компонентов на рынке. Устройства доступны в нескольких версиях, каждая из которых настроены на определенную частоту модуляции.
Обратите внимание, что усилитель установлен на очень высокий коэффициент усиления. Поэтому система считывает очень легко. Подключение большого конденсатора, по крайней мере 22мФ, к питанию приемника является обязательным. Некоторые даташиты рекомендуют ставить сопротивление 330 Ом последовательно с источником питания для дальнейшего отделить питания от остальной части схемы.

Есть несколько производителей ИК-приемников на рынке. Siemens, Vishay Telefunken и являются основными поставщиками в Европе. Siemens имеет свой SFH506-хх серии, где хх обозначает частоту модуляции 30, 33, 36, 38, 40 или 56кГц. Telefunken производили свои TFMS5xx0 и TK18xx серии, где хх еще раз указывает на частоту модуляции устройства. Похоже, что эти компаненты уже устарели. Они заменяются Vishay TSOP12xx, TSOP48xx и TSOP62xx.
Sharp, Xiamen Hualian и Japanese Electric - 3 ведущих азиатских компаний в сфере ИК устройств. Sharp производит устройства с очень загадочными именами, как: GP1UD26xK, GP1UD27xK и GP1UD28xK, где х, связанные с частотной модуляцией. Hualian имеет свои HRMxx00 серии, как и HRM3700 HRM3800. Japanese Electric имеет ряд устройств, которые не включают частоту модуляции в наименовании детали. PIC12043LM настроен на 36.7kHz, и PIC12043LM настроен на 37.9kHz.

Конец?

На этом мы завершаем теории операции для ИК систем дистанционного управления, предназначенный для использования в бытовой электронике. Я понимаю, что существуют другие способы для реализации ИК-контроля, но я ограничусь лишь описанием выше. Один из вопросов, не освещенных здесь является безопасность. Безопасность не имеет никакого значения, если мне надо управлять только своими видеомагнитофоном или телевизором. Но когда дело доходит до открытия двери или автомобиля, то ключевой сигнал должен быть уникальным! Может быть, я расскажу этому вопросу позже, но не сейчас.
Я также понимаю, что мой небольшой перечень производителей далек от завершения. Вряд ли возможно перечислить всех производителей здесь. Вы можете отправить мне по электронной почте, если у вас есть сведения о других протоколов, которые вы считаете необходимо добавить на страницы.
Эта страница только описание основных теории работы ИК-пультов дистанционного управления. Он не описывает протоколы, которые участвуют в общении между передатчиком и приемником. Существуют разные протоколы, разработаные разными производителями.