Простое самодельное ИК-управление переключением ТВ-каналов (555, К561ИЕ9). Простая схема инфракрасного управления Схема приемника инфракрасного излучения для телевизора

Якорев Сергей

Введение

В сети Internet много простых устройств на базе контроллеров семейства PIC16F и PIC18F фирмы Microchip. Я предлагаю вашему вниманию достаточно сложное устройство. Эта статья думаю будет полезна всем, кто пишет программы для PIC18F, так как вы можете взяв исходные тексты программы создать свою систему реального времени. Информации будет предостаточно, начиная от теории и стандартов, заканчивая аппаратной и программной реализацией данного проекта. Исходные тексты на асемблере снабжены полными коментариями. Поэтому не сложно будет разобраться в программе.

Идея

Как всегда все начинается с идеи. Имеем карту Ставропольского края. На карте имеется 26 районов края. Размер карты 2 х 3 м. Необходимо управлять подсветкой выбранных районов. Управление должно осуществляться дистанционно по инфракрасному каналу управления, далее по тексту просто ИК или IR remote control. Одновременно команды управления должны передаваться на сервер управления на базе РС. При выборе района на карте, сервер управления отображает дополнительную инфомацию на мониторе. По командам с сервера можно управлять отображением информации на карте. Задача поставлена. В конечном итоге мы получили, то что вы видите на фото. Но прежде чем все это реализовать пришлось пройти некоторые этапы и решить различные технические задачи.


Вид со стороны монтажа.

Алгоритм работы устройства

С пульта дистанционного управления система управления отображением информации должна управляться не сложнее выбора программы на TV или задания номера трека на CD. Было решено пульт взять готовый от видеомагнитофона Philips. Выбор номера район задается последовательным нажатим кнопок пульта "Р+" далее две цифровые кнопки номера района, заканчиваем ввод "Р-". При первом выборе района осуществляется его выделение, (включается подсветка светодиодами) а при повторном выборе снимается выделение.
Протокол управления картой с РС сервера управления.

1. Исходящие команды, т.е. команды поступающие с устройства в РС:

1.1. При включении питания на устройстве в РС поступает команда: MAP999
1.2. При включении района: MAP(номер района)1
1.3. При выключении района: MAP(номер района)0
1.4. При включении всей карты: MAP001
1.5. При выключении всей карты: MAP000

2. Входящие команды:

2.1. Включить всю карту: MAP001
2.2. Выключить всю карту: MAP000
2.3. Включить район: MAP(номер района)1
2.4. Выключить район: MAP(номер района)0
2.5. Получить информацию о включенных районах: MAP999 В ответ на эту команду передаются данные о всех включенных районах в формате п. 1.2 (как будто все включенные районы заново включаются).
2.6. Получить информацию о выключенных районах: MAP995 В ответ на эту команду передаются данные о всех выключенных районах в формате п. 1.3 (как будто все выключенные районы заново выключаются).

При выключении последнего включенного района также должна поступать команда "выключение всей карты".
При включении последнего невключенного района также должна поступать команда "включение всей карты".
Номер района представляет собой ASCII-символы цифр (0x30-0x39).

От идеи к реализации

Предвидя, что довольно сложной проблемой может оказаться изготовление собственного корпуса для пульта ДУ, было решено взять готовый пульт ДУ от серийного аппарата. За основу системы ИК управления выбрана система команд ИК управления формата RC5. В настоящее время для управления различной аппаратурой очень широко используется дистанционное управление (ДУ) на ИК-лучах. Пожалуй, первым видом бытовой аппаратуры, где использовалось ИК ДУ, были телевизоры. Сейчас ДУ имеется в большинстве видов бытовой аудио- и видеотехники. Даже переносные музыкальные центры в последнее время все чаще оборудуют системой ДУ. Но бытовая техника это не единственная сфера применения ДУ. Довольно широко распространены приборы с ДУ и на производстве, и в научных лабораториях. В мире существует достаточно много не совместимых между собой систем ИК ДУ. Наибольшее распространение получила система RC-5. Эта система используется во многих телевизорах, в том числе и отечественных. В настоящее время разными заводами выпускается несколько модификаций пультов ДУ RC-5, причем, некоторые модели имеют вполне приличный дизайн. Это позволяет с наименьшими затратами получить самодельное устройство с ИК ДУ. Опуская подробности, почему была выбрана именно эта система, расмотрим теорию построения система на базе формата RC5.

Теория

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

Система инфракрасного дистанционного управления RC-5 была разработана фирмой Philips для нужд управления бытовой аппаратурой. Когда мы нажимаем кнопку пульта, микросхема передатчика активизируется и генерирует последовательность импульсов, которые имеют заполнение частотой 36 КГц. Светодиоды преобразуют эти сигналы в ИК-излучение. Излученный сигнал принимается фотодиодом, который снова преобразует ИК-излучение в электрические импульсы. Эти импульсы усиливаются и демодулируются микросхемой приемника. Затем они подаются на декодер. Декодирование обычно осуществляется программно с помощью микроконтроллера. Об этом мы подробно поговорим в разделе посвященному декодированию. Код RC5 поддерживает 2048 команд. Эти команды составляют 32 группы (системы) по 64 команды в каждой. Каждая система используется для управления определенным устройством, таким как телевизор, видеомагнитофон и т.д.

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

Одной из наиболее распространенных микросхем передатчика является микросхема SAA3010 . Кратко рассмотрим ее характеристики.

  • Напряжение питания - 2 .. 7 В
  • Потребляемый ток в ждущем режиме - не более 10 мка
  • Максимальный выходной ток - ±10 мА
  • Максимальная тактовая частота - 450 КГц

Структурная схема микросхемы SAA3010 показана на рисунке 1.

Рисунок 1. Структурная схема ИС SAA3010.

Описание выводов микросхемы SAA3010 приведено в таблице:

Вывод Обозначение Функция
1 X7 Входные линии матрицы кнопок
2 SSM Вход выбора режима работы
3-6 Z0-Z3 Входные линии матрицы кнопок
7 MDATA Модулированные выходные данные, 1/12 частоты резонатора, скважность 25%
8 DATA Выходные данные
9-13 DR7-DR3 Выходы сканирования
14 VSS Земля
15-17 DR2-DR0 Выходы сканирования
18 OSC Вход генератора
19 TP2 Тестовый вход 2
20 TP1 Тестовый вход 1
21-27 X0-X6 Входные линии матрицы кнопок
28 VDD Напряжение питания

Микросхема передатчика является основой пульта дистанционного управления. На практике один и тот же пульт дистанционного управления может использоваться для управления несколькими устройствами. Микросхема передатчика может адресовать 32 системы в двух различных режимах: комбинированном и в режиме одной системы. В комбинированном режиме сначала выбирается система, а затем команда. Номер выбранной системы (адресный код) хранится в специальном регистре и происходит передача команды, относящейся к этой системе. Таким образом, для передачи любой команды требуется последовательное нажатие двух кнопок. Это не совсем удобно и оправдано только при работе одновременно с большим количеством систем. На практике передатчик чаще используется в режиме одной системы. При этом вместо матрицы кнопок выбора системы монтируется перемычка, которая и определяет номер системы. В этом режиме для передачи любой команды требуется нажатие только одной кнопки. Применив переключатель, можно работать с несколькими системами. И в этом случае для передачи команды требуется нажатие только одной кнопки. Передаваемая команда будет относится к той системе, которая в данное время выбрана с помощью переключателя.

Для включения комбинированного режима на вывод передатчика SSM (Single System Mode) нужно подать низкий уровень. В этом режиме микросхема передатчика работает следующим образом: во время покоя X и Z-линии передатчика находятся в состоянии высокого уровня с помощью внутренних p-канальных подтягивающих транзисторов. Когда нажата кнопка в матрице X-DR или Z-DR, запускается цикл подавления дребезга клавиатуры. Если кнопка замкнута на протяжении 18 тактов, фиксируется сигнал "разрешение генератора". В конце цикла подавления дребезга DR-выходы выключаются и запускаются два цикла сканирования, включающие по очереди каждый выход DR. В первом цикле сканирования обнаруживается Z-адрес, во втором - X-адрес. Когда Z-вход (матрица системы) или X-вход (матрица команды) обнаруживается в состоянии нуля, происходит фиксация адреса. При нажатии кнопки в матрице системы передается последняя команда (т.е. все биты команды равны единице) в выбираемой сиcтеме. Эта команда передается до тех пор, пока кнопка выбора системы не будет отпущена. При нажатии кнопки в матрице команды передается команда вместе с адресом системы, хранимом в регистре-фиксаторе. Если кнопка отпущена до начала передачи, происходит сброс. Если же передача началась, то независимо от состояния кнопки, она будет выполнена полностью. Если одновременно нажато более одной Z или X кнопки, то генератор не запускается.

Для включения режима одной системы на выводе SSM должен быть высокий уровень, а адрес системы должен быть задан соответствующей перемычкой или переключателем. В этом режиме во время покоя X-линии передатчика находятся в состоянии высокого уровня. В то же время Z-линии выключены для предотвращения потребления тока. В первом из двух циклов сканирования определяется адрес системы и сохраняется в регистре-фиксаторе. Во втором цикле определяется номер команды. Эта команда передается вместе с адресом системы, хранимом в регистре-фиксаторе. Если нет перемычки Z-DR, то никакие коды не передаются.

Если кнопка была отпущена между посылками кода, то происходит сброс. Если кнопка была отпущена во время процедуры подавления дребезга или во время сканирования матрицы, но до обнаружения нажатия кнопки, то также происходит сброс. Выходы DR0 - DR7 имеют открытый сток, в состоянии покоя транзисторы открыты.

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

Вывод OSC представляет собой вход/выход 1-выводного генератора и предназначен для подключения керамического резонатора на частоту 432 КГц. Последовательно с резонатором рекомендуется включть резистор сопротивлением 6,8 Ком.

Тестовые входы TP1 и TP2 в нормальном режиме работы должны быть соединены с землей. При высоком логическом уровне на TP1 повышается частота сканирования, а при высоком уровне на TP2 - частота работы сдвигового регистра.

В состоянии покоя выходы DATA и MDATA находятся в Z-состоянии. Генерируемая передатчиком на выходе MDATA последовательность импульсов имеет заполнение частотой 36 кГц (1/12 частоты тактового генератора) со скважностью 25%. На выходе DATA генерируется такая же последовательность, но без заполнения. Этот выход используется в том случае, когда микросхема передатчика выполняет функции контроллера встроенной клавиатуры. Сигнал на выходе DATA полностью идентичен сигналу на выходе микросхемы приемника дистанционного управления (но в отличие от приемника он не имеет инверсии). Оба этих сигнала могут обрабатываться одним и тем же декодером. Применение SAA3010 в качестве контроллера встроенной клавиатуры в некоторых случаях очень удобно, так как для опроса матрицы до 64 кнопок у микроконтроллера расходуется только один вход прерывания. Тем более, что микросхема передатчика допускает питание напряжением +5 В.

Передатчик генерирует 14-битное слово данных, формат которого следующий:


Рисунок 2. Формат слова данных кода RC-5.

Стартовые биты предназначены для установки АРУ в IC приемника. Управляющий бит является признаком нового нажатия. Длительность такта составляет 1.778 мс. Пока кнопка остается нажатой, слово данных передается с интервалом 64 такта, т.е. 113.778 мс (рис. 2).

Первые два импульса являются стартовыми, и оба - логические "1". Отметим, что половина бита (пустая) проходит раньше, чем приемник определит реальный старт сообщения.
Расширенный RC5 протокол использует только 1 старт-бит. Бит S2 трансформируется и добавляетсяк 6-му биту команды, образуя в целом 7 битов команды.

Третий бит - управляющий. Этот бит инвертируется всякий раз, когда нажимается клавиша. Таким путем приемник может различать клавишу, которая остается нажатой, или периодически нажимается.
Следующие 5 бит представляют адресс ИК устройства, который посылается с первым LSB. За адресом следуют 6 бит команды.
Сообщение содержит 14 бит, вместе с паузой имеют общую длительность 25.2 мс. Иногда сообщение может оказаться короче из-за того, что первая половина старт-бита S1 остается незаполненной. И если последний бит команды является логическим "0", тогда последняя часть бита сообщения также пустая.
Если клавиша остается нажатой, сообщение будет повторяться каждые 114 мс. Управляющий бит будет оставаться одинаковым во всех сообщениях. Это сигнал для программы приемника интерпретировать это как функцию автоповтора.

Для обеспечения хорошей помехоустойчивости применяется двухфазное кодирование (рис. 3).

Рисунок 3. Кодирование «0» и «1» в коде RC-5.

При использовании кода RC-5 может понадобиться вычислить средний потребляемый ток. Сделать это достаточно просто, если воспользоваться рис. 4, где показана подробная структура посылки.

Рисунок 4. Подробная структура посылки RC-5.

Для обеспечения одинакового реагирования оборудования на команды RC-5, коды распределены вполне определенным образом. Такая стандартизация позволяет конструировать передатчики, позволяющие управлять различными устройствами. С одними и теми же кодами команд для одинаковых функций в разных устройствах передатчик с относительно небольшим числом кнопок может управлять одновременно, например, аудиокомплексом, телевизором и видеомагнитофоном.

Номера систем для некоторых видов бытовой аппаратуры приведены ниже:

0 - Телевизор (TV)
2 - Телетекст
3 - Видеоданные
4 - Видеопроигрыватель (VLP)
5 - Кассетный видеомагнитофон (VCR)
8 - Видео тюнер (Sat.TV)
9 - Видеокамера
16 - Аудио предусилитель
17 - Тюнер
18 - Магнитофон
20 - Компакт-проигрыватель (CD)
21 - Проигрыватель (LP)
29 - Освещение

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

0-9 - Цифровые величины 0-9
12 - Дежурный режим
15 - Дисплей
13 - mute
16 - громкость +
17 - громкость -
30 - поиск вперед
31 - поиск назад
45 - выброс
48 - пауза
50 - перемотка назад
51 - перемотка вперед
53 - воспроизведение
54 - стоп
55 - запись

Для того, чтобы на основе микросхемы передатчика построить законченный пульт ИК ДУ, необходим еще драйвер светодиода, который способен обеспечивать большой импульсный ток. Современные светодиоды работают в пультах ДУ при импульсных токах около 1 А. Драйвер светодиода очень удобно строить на низкопороговом (logic level) МОП-транзисторе, например, КП505А. Пример принципиальной схемы пульта приведен на рис. 5.

Рисунок 5. Принципиальная схема пульта RC-5.

Номер системы задается перемычкой между выводами Zi и DRj. Номер системы при этом будет следующим:

Код команды, который будет передаваться при нажатии кнопки, которая замыкает линию Xi с линией DRj, вычисляется следующим образом:

Приемник ИК ДУ должен восстанавливать данные с двухфазным кодированием, он должен реагировать на большие быстрые изменения уровня сигнала независимо от помех. Ширина импульсов на выходе приемника должна отличаться от номинальной не более чем на 10%. Приемник должен быть нечувствительным к постоянным внешним засветкам. Удовлетворить всем этим требованиям достаточно непросто. Старые реализации приемника ИК ДУ, даже с применением специализированных микросхем, содержали десятки компонентов. Такие приемники часто использовали резонансные контуры, настроенные на частоту 36 КГц. Все это делало конструкцию сложной в изготовлении и настройке, требовало применения хорошего экранирования. В последнее время большое распространение получили трехвыводные интегральные приемники ИК ДУ. В одном корпусе они объединяют фотодиод, предусилитель и формирователь. На выходе формируется обычный ТТЛ сигнал без заполнения 36 КГц, пригодный для дальнейшей обработки микроконтроллером. Такие приемники производятся многими фирмами, это SFH-506 фирмы Siemens, TFMS5360 фирмы Temic, ILM5360 производства ПО «Интеграл» и другие. В настоящее время имеются и более миниатюрные варианты таких микросхем. Поскольку кроме RC-5 существуют и другие стандарты, которые отличаются, в частности, частотой заполнения, существуют интегральные приемники для разных частот. Для работы с кодом RC-5 следует выбирать модели, рассчитанные на частоту заполнения 36 КГц.

В качестве приемника ИК ДУ можно применить и фотодиод с усилителем-формирователем, в качестве которого может служить специализированная микросхема КР1568ХЛ2. Схема такого приемника приведена на рисунке 6.

Рисунок 6. Приемник на микросхеме КР1568ХЛ2.

Для системы управления отображением информации я выбрал интегральный приемник ИК ДУ. В качестве приемника оптического излучения в микросхеме TSOP1736 установлен высокочувствительный PIN фотодиод, сигнал с которого поступает на входной усилитель, преобразующий выходной ток фотодиода в напряжение. Преобразованный сигнал поступает на усилитель с АРУ и далее на полосовой фильтр, который выделяет сигналы с рабочей частотой 36 кГц из шумов и помех. Выделенный сигнал поступает на демодулятор, который состоит из детектора и интегратора. В паузах между импульсами производится калибровка системы АРУ. Управляет этим схема управления. Благодаря такому построению, микросхема не реагирует на непрерывную помеху даже на рабочей частоте. Активный уровень выходного сигнала - низкий. Микросхема не требует для своей работы установки каких-либо внешних элементов. Все ее компоненты, включая фотоприемник, защищены от внешних наводок внутренним электрическим экраном и залиты специальной пластмассой. Эта пластмасса является фильтром, отсекающим оптические помехи в видимом диапазоне света. Благодаря всем этим мерам микросхема отличается весьма высокой чувствительностью и низкой вероятностью появления ложных сигналов. И всеже интегральные приемники весьма чувствительны к помехам по питанию, поэтому всегда рекомендуется применять фильтры, например, RC. Внешний вид интегрального фотоприемника и расположение выводов показаны на рис. 7.

Рисунок 7. Интегральный приемник RC-5.

Декодирование RC-5

Так как основу нашего устройства составляет микроконтроллера PIC18F252 декодирование кода RC-5 будем осуществлять программно. Предлагаемые в сети алгоритмы приема кода RC5 в большинстве своем не подходят для устройств реального времени, каким авляется наше устройство. Большинство предложенных алгоритмов используют программные циклы для формирования временных задержек и интервалов измерения. Для нашего случая это не подходит. Решено использовать прерывания по спаду сигнала на входе INT микроконтроллера PIC18F252, временные параметры измерять при помощи TMR0 микроконтроллера PIC18F252, этот же таймер вырабатывает прерывание когда истекло время ожидания следующего импульса, т.е. когда наступила пауза между двумя посылками. Демодулированный сигнал с выхода микросхемы DA1, поступает на вход INT0 микроконтроллера, в котором происходит его дешифрация и выдача дешифрированной команды на сдвиговые регистры для управления ключами. Алгоритм дешифрации основан на измерении временных интервалов между прерываниями микроконтроллера PIC18F252. Если внимательно посмотреть на рисунок 8, можно заметить некоторые особенности. Так если интервал между прерываниями микроконтроллера PIC18F252 был равен 2Т, где Т это длительность единичного импулься RC5, то принятый бит может быть 0 или 1. Все зависит от того какой бит был перед этим. В приведенной ниже программе с подробными коментариями это очень хорошо видно. Полностью весь проект доступен для скачивания и использования в личных целях. При перепечатывании ссылка обязательна.

Ниже приведены принципиальные схемы и статьи по тематике "ИК лучи" на сайте по радиоэлектронике и радиохобби сайт .

Что такое "ИК лучи" и где это применяется, принципиальные схемы самодельных устройств которые касаются термина "ИК лучи".

Принципиальная схема. Как и предыдущий вариант, этот передатчик обеспечивает небольшую дальность действия (до 10 м). Кроме того, свето-диоды, используемые в качестве излучателей, обладают направленностью, что позволяет управлять моделью лишь в пределах зоны облучения... Модулированные командным сигналом импульсы ИК-излучения поступают на фотодиод VD1. Изменяющийся ток фотодиода через эмитгерный повторитель VT2 подается на вход трехкаскадного усилителя VT3—VT5. На транзисторе VT1 собран узел компенсации помех от... В этом тире стреляют импульсами инфракрасного излучения. В пистолете находится источник питания и преобразователь постоянного напряжения в прямоугольные импульсы, длительность и амплитуда которых определяется емкостью конденсаторов С2—С5. Пакет импульсов поступает на излучатель инфракрасного... Беспроводные наушники позволяют осуществлять прием звукового сопровождения телевизора, сигнала радиоприемника, магнитофона в пределах одного помещения средней величины. Устройство работает на основе передачи частотно-модулированного светового сигнала инфракрасного диапазона. В состав комплекта... Благодаря использованию специализированных кодирующихся интегральных схем это устройство можно использовать для управления центральным замком в автомобиле, включения сигнализации в автомобиле, гаражными дверями, воротами, освещением и т. д. Комплект состоит из двух частей: передатчика и... Схема инфракрасного приемника спроектирована таким образом, чтобы он мог работать с любым пультом дистанционного управления: от приемника ТВ, спутникового тюнера, видеомагнитофона. Устройство работает с большинством кнопок пультов. Приемник действует следующим образом: сигнал с приемного диода... Оптоэлектронный барьер служит для охраны объектов. Благодаря ему можно включить сигнализацию при приближении к объекту постороннего лица. В барьере использовано инфракрасное излучение, луч которого передается из передатчика в приемник. Прерывание луча вызывает изменение выходного состояния... Стандартные системы дистанционного управления применяемые в видеотехнике выполнены на специализированных микросхемах и обеспечивают очень большой набор команд. Но, для управления простыми приборами такого большого числа команд не требуется. В принципе, даже для оперативного управления телевизором... Микросхема TRC1300N представляет собой кодер / декодер для систем дистанционного управления, работающих черезканал связи на инфракрасных лучах или через радиоканал. В зависимости от логического уровня на выводе 2 микросхемы она работает либо как кодер, формирующий импульсные посылки, либо как... В качестве среды передачи информации может использоваться свет. Это может быть обычный (видимый) свет или инфракрасное излучение - инфракрасные лучи. Рассмотерны схемы простых оптических передатчиков для светотелефонов (фототелефонов) с использованием простых ламп накаливания, а также... Отечественные полупроводниковые телевизоры линейки УСЦТ уже окончательно вышли из эксплуатации, многиевыброшены, разобраны на детали. Но у кого-то остались и вполне рабочие экземпляры, эксплуатируемые исключительно на даче. Действительно, наши дачи обычно охраняются очень плохо (если вообще... Устройство предназначено для сигнализации о проходе человека впомещение через входную дверь или проход. Схема работает на принципе пересечения инфракрасного луча. При его пересечении включается музыкальный сигнализатор, предупреждающий персонал о том, что пришел посетитель или клиент... Схема простого самодельного фото датчика для контроля за предметами на конвейере. Это устройство предназначено для включения нагрузки, когда ящик иликоробка поступает в определенную зону конвейера или транспортерной ленты, и выключения нагрузки, когда ящик выходит из этой зоны. Устройство очень... Самодельный датчик пересечения или отражения ИК луча на микросхеме К561ЛП2. Во многих радиолюбительских схемах автоматики используются инфракрасные датчики на отражение или пересечение луча, построенные на основе элементной базы системдистанционного управления бытовой радиоэлектронной... Схема простой самодельной приставки, подключаемой к COM-порту для управления компьютером при помощи пульта дистанционного управления. Современный персональный компьютер, при наличиинеобходимой периферии и программного обеспечения в состоянии заменить домашний аудио-видео центр. Необходимо иметь... Схема простого самодельного сигнализатора пересечения границы или входа в помещение с использованием инфракрасных лучей. В некоторых случаях требуется сигнализировать о проходе человека в помещение, проезде автомобиля на территорию, перемещении или попадании какого-либо предмета в ящик, бокс... Ниже приводится описание несложной системы двухкомандного дистанционногоуправления на ИК-лучах, которую можно использовать для управления различными устройствами, а так же, охранной сигнализацией, электронным замком с дистанционным управлением. Основой схемы послужили три микросхемы LM567 и один... Система предназначена для независимого управления четырьмя объектами. На пульте есть четыре кнопки, а на приемнике есть четыре выхода. Каждая кнопка пульта отвечает за свой выход приемника, каждое нажатие кнопки меняет состояние соответствующего выхода приемника. На выходах приемника установлены... Все знают для чего существует микрокалькулятор,но оказывается кроме математических вычислений он способен и на многое другое. Обратите внимание, если нажать кнопку «1», затем «+» и далее нажимать «=», то с каждым нажатием на кнопку «=» число на дисплее будет... Устройство предназначено для включения или переключения чего-либо при поднесении к датчику руки или другой отражающей поверхности. Чувствительность можно регулировать в широких пределах, при этом дальность срабатывания изменяется от нескольких метров до нескольких сантиметров. Идея, в общем-то...

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

Обычно, микросборка ИК-приемника имеет от трех выводов. Один является общим и подсоединяется к минусу питания GND , другой к плюсу V s , а третий является выходом принимаемого сигнала Out .

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

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


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

Затем сигнал с усилителя следует на полосовой фильтр, защищающий от помех в ИК диапазоне. Полосовой фильтр настроен на строго фиксированную частоту. Обычно применяются фильтры, настроенные на частоту 30; 33; 36; 36,7; 38; 40; 56 и 455 килогерц. Для того, чтобы излучаемый ПДУ сигнал принимался ИК -приемником, он должен быть модулирован той же частотой, на которую настроен фильтр.

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

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

Ниже рассмотрим работу схемы ИК приемника, которую можно использовать во многих радиолюбительских разработках.

Существуют различные виды и схемы ИК приемников в зависимости от длины волны длины волны, напряжения, пакета передаваемых данных и т.п.

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

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

Проверка ИК-Приемника

Так как приемник ИК-сигналов является специализированной микросборкой, то для того, чтобы убедиться в ее работоспособности требуется подать на микросхему напряжение питания, обычно это 5 вольт. Потребляемый ток при этом будет около 0,4 – 1,5 мА.

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

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

Проведем проверку на микросхеме TSOP31236 ее распиновка соответствует рисунку выше. Плюсовой вывод от самодельного блока питания подключаем к плюсовому выводу ИК-модуля (Vs), минус – к выводу GND. А третий вывод OUT подсоединяем к плюсовому щупу мультиметра. Минусовой щуп подсоединяем к общему проводу GND. Мультиметр переключаем в режим напряжения DC на 20 V.


Как только на фотодиод ИК-микросборки начнут поступать пачки инфракрасных импульсов от , то напряжение на его выходе будет падат на несколько сотен милливольт. При этом будет хорошо заметно, как на экране мультиметра значение снизиться с 5,03 вольт до 4,57. Если отпустим кнопку ПДУ, то на экране вновь отобразиться 5 вольт.

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

ИК-приемник представляет собой стандартное устройство, подключаемое к COM (RS-232) порту, и служащее для дистанционного управления роботом.

Одна из возможных схем ИК-приемника. Для ИК-приемника подойдет любой 5-вольтовый инфракрасный приемник, используемый в бытовой аппаратуре (телевизорах). Например: TSOP1836, IS1U60L, GP1U52X, SFH506-36 или наш отечественный TK1833. Стабилизатор напряжения КРЕН5А необходим для питания ИК-приемника 5 вольтовым напряжением, т.к. с 7го контакта COM-порта поступает напряжение 12 вольт. Резистор можно выбрать из диапазона 3-5 кОм, конденсатор 4.7-10 МкФ. Любой маломощный диод.

В приведенной схеме выходной сигнал подается на 1 контакт COM порта (DCD). Этот контакт не используется стандартной мышью для COM порта, поэтому если у Вас не хватает свободного COM порта, данную схему можно использовать параллельно с мышью (но не с модемом)! Выходной сигнал можно подавать не только на DCD, но и на другие контакты, например CTS или DSR. Все эти параметры можно выставить в программе, которая работает в ИК приемником. Вариантов программы несколько, наиболее распростанена программа WinLIRC. Также могу посоветовать использовать программу Girder.

Распиновка и внешний вид основных элементов схемы

Слева на право - две разновидности 5-ти вольтовых ИК-приемников, и микросхема стабилизатора напряжения КРЕН5А.

Распиновка COM-порта

Распиновка и описание контактов COM порта (25 pin).

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

Что такое ИК-приёмник и как он работает

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

В основе этой микросхемы лежит pin фотодиод, особенный элемент, с p-n переходом и i областью между ними, аналог базы транзистора, как в бутерброде, вот вам и аббревиатура pin, в своём роде, уникальный элемент.

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


Следующие ступени, интегрирующий фильтр, амплитудный детектор и на финише их ждут выходные транзисторы.

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


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

У него три вывода, один GND, на второй подаётся плюс 5 вольт, а с третьего выходит сигнал out. Подключаем питания соответственно первой и второй ноге, и снимем напряжение с третей.


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

Если он рабочий, то напряжение будет проседать, примерно на 0,5- 1 вольта. Если всё происходит, как написано здесь, по прибор рабочий, в противном случае, элемент не исправен.

Как определить цоколевку инфракрасного приёмника

Для примера я взял совершенно неизвестную мне микросхему, которая лежал в коробке с элементами, «минус», был определён, по точке, которая имеется на обратной стороне элемента, «плюс», опытным путём через резистор. Я ни чем, не рисковал, в то, что он изначально рабочий, надежды не было.

Для определения цоколёвки ик-приемника, если он впаян в плату, смотрите на ней, возможно, есть маркировка выводов. Если там ни чего не написано, осмотрите сам элемент, ищите его название, а затем в интернете поищите характеристики и данные, такое ведение дела, весьма грамотное. Следуя инструкции, ик-приемник как проверить самому.

схема из журнала "Юный Техник".

Интересное направление радиоэлектроники, которая дополнила эту электронику новыми преимуществами "невидимого" света (инфракрасный свет). Вот я и предлагаю схему простого (для примера) приемника и передатчика основанного на инфракрасных лучах. Основа: операционный усилитель к140уд7 (у меня тут уд708), излучающий и принамющие ИК-фотодиоды, УНЧ (к548ун1а(б,в - индексами)- на два канала)(правда куда второй канал усилителя "включите" решать вам - схема предатчика рассчитана на один канал, т.е. моно). Питание устройства: вообще рекомендую с приличной стабилизацией токов (а так "дендюшный" адаптер раздражает фоном "сети"). Способ: амплитудно-модулированный сигнал передатчика усиливается приемником в 1000 раз.

Как работает устройство. Предлагаю Вам просмотреть небольшой видеоролик тестирование ИК-пульта "на слух". Можно быстро проверить работоспособность и мощность сигнала по звуку.

Схема ИК-приемника и ИК-передатчика

При сборке конденсаторы С1 и С2 должны быть как можно ближе к усилителю! К выходу можно подключить высокоомные наушники (для низкоомных нужен отдельный УНЧ). Фотодиод ФД7(у меня ФД5.. какой-то: "таблетка" такая с фокусирующей линзой - не помню точно наименование); 0.125Вт резисторы: R1 с R4 задают коэффициент услиния сигнала в 1000 раз. Приемник налаживается просто: фотодиод направляется на источник ИК-излучения, например, лампу 220в-50Гц: нить накала будет фонит с частотой 50Гц или пульт ДУ от телевизора (видео и т.д.).Чувствителность приемника большая: нормально принимает сигналы отражённые от стен.

На передатчике ИК светодиоды АЛ107а: подойдёт любой. R2 2 кОм, С1 1000мкФх25в, С2 200мкФх25В, трансформатор тоже любой. Хотя вполне можно обойтись без трансфорсматора - подать усиленный аудиосигнал на конденсатор С2.

Схема устройств

Недавно по необходимости собрал ИК приемник для проверки ИК пультов (телевизоров и DVD). После доработки схемы - установил моно УНЧ TDA7056. Данный усилитель имеет хорошие харакетеристики усиления около 42 дБ; работает в диапазоне напряжении от 3В до 18В, что позволило ИК приемнику работать даже при напряжении 3В; диапазон усиления TDA от 20 Гц до 20кГц (УД708 проспукает до 800 кГц) вполне достаточно для использования приемника в качетсве аудио сопровождения; имеет защиту от короткого замыкания на всех "ножках"; защиту от "перегрева"; слабый коэффициент собственных помех. В целом мне понравился этот компактный и надежный УНЧ (у нас он стоит 90р.).
Есть к нему с . На рис.1 отображен пример использования усилителя.


Фото TDA7056



Рис.1. Схема усилителя с TDA7056

В итоге получился ИК приемник рис.2, который работает в диапазоне напряжении от 3В до 12В. Рекомендую применять для питания приемника батареи, либо аккумуляторы. При использованиии блока питания необходим стабилизированный источник, иначе будет слышен фон сети 50Гц, который усиливает УД708. Если устройство находится вблизи источника сетевого напряжения или радиоизлучения, то могут возникнуть наводки. Для уменьшения помех в схему необходимо включить конденсатор С5. TDA7056 рассчитан на выходной динамик в 16 Ом, к сожалению у меня такого нет. Пришлось использовать 4-омный динамик на 3 Вт, который был подключен через одноваттный резистор 50 Ом. Слишком низкое сопротивление катушки динамика вызывает избыток мощности и перегревает усилитель. В целом из-за дополнительного резистора УНЧ не греется, но обеспечивает вполне приемлемое усиление.



Рис.2. Схема ИК приемника с УНЧ



Фото ИК приемника

Рассмотрим на этом занятии подключение ИК приемника к Ардуино. Расскажем какую библиотеку следует использовать для IR приемника, продемонстрируем скетч для тестирования работы инфракрасного приемника от пульта дистанционного управления и разберем команды в языке C++ для получения управляющего сигнала.

Устройство ИК приемника. Принцип работы

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

Принцип работы IR ресивера. Обработка сигнала от пульта ДУ

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

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

Полосовой фильтр настроен на фиксированную частоту: 30; 33; 36; 38; 40 и 56 килогерц. Чтобы сигнал от пульта ДУ принимался ИК приемником Ардуино, пульт должен быть с той же частотой, на которую настроен фильтр в IR приемнике. После фильтра сигнал поступает на амплитудный детектор, интегрирующий фильтр и выходной транзистор.

Как подключить ИК приемник к Ардуино

Корпуса инфракрасных приемников содержат оптический фильтр для защиты прибора от внешних электромагнитных полей, изготавливаются они специальной формы для фокусировки принимаемого излучения на фотодиоде. Для подключения IR приемника к Arduino UNO используют три ножки, которые соединяют с портами - GND, 5V и A0.

Для занятия нам понадобятся следующие детали:

  • Плата Arduino Uno;
  • Макетная плата;
  • USB-кабель;
  • IR приемник;
  • Пульт ДУ;
  • 1 светодиод;
  • 1 резистор 220 Ом;
  • Провода «папка-папка» и «папка-мамка».

Схема подключения ИК приемника к аналоговому порту Ардуино

Подключите IR приемник по схеме и светодиоды к 12 и 13 пину и загрузите скетч.

#include // подключаем библиотеку для IR приемника IRrecv irrecv(A0); // указываем пин, к которому подключен IR приемник decode_results results; void setup () // процедура setup { irrecv.enableIRIn (); // запускаем прием инфракрасного сигнала pinMode (13, OUTPUT); // пин 13 будет выходом (англ. «output») pinMode (12, OUTPUT); // пин 12 будет выходом (англ. «output») pinMode (A0, INPUT); // пин A0 будет входом (англ. «intput») Serial .begin (9600); // подключаем монитор порта } void loop () // процедура loop { if (irrecv.decode (&results)) // если данные пришли выполняем команды { Serial .println (results.value); // отправляем полученные данные на порт // включаем и выключаем светодиоды, в зависимости от полученного сигнала if (results.value == 16754775) { digitalWrite (13, HIGH); } if (results.value == 16769055) { digitalWrite (13, LOW); } if (results.value == 16718055) { digitalWrite (12, HIGH); } if (results.value == 16724175) { digitalWrite (12, LOW); } irrecv.resume (); // принимаем следующий сигнал на ИК приемнике } }

Пояснения к коду:

  1. Библиотека IRremote.h содержит набор команд и позволяет упростить скетч;
  2. Оператор decode_results присваивает получаемым сигналам от пульта дистанционного управления имя переменной results .

На что обратить внимание:

  1. Чтобы можно было управлять включением светодиода необходимо включить монитор порта и узнать какой сигнал отправляет та или иная кнопка на пульте ДУ;
  2. Полученные данные следует внести в скетч. Измените восьмизначный код в скетче после знака двойного равенства if (results.value == 16769055) на свой.

ИК-приемник устройство, работа и проверка

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


работа и структурная схема ИК приемника

Обычно, микросборка ИК-приемника имеет от трех выводов. Один является общим и подсоединяется к минусу питания GND , другой к плюсу V s , а третий является выходом принимаемого сигнала Out .

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

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

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

Затем сигнал с усилителя следует на полосовой фильтр, защищающий от помех в ИК диапазоне. Полосовой фильтр настроен на строго фиксированную частоту. Обычно применяются фильтры, настроенные на частоту 30; 33; 36; 36,7; 38; 40; 56 и 455 килогерц. Для того, чтобы излучаемый ПДУ сигнал принимался ИК -приемником, он должен быть модулирован той же частотой, на которую настроен фильтр.

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

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

Проверка ИК-Приемника

Так как приемник ИК-сигналов является специализированной микросборкой, то для того, чтобы убедиться в ее работоспособности требуется подать на микросхему напряжение питания, обычно это 5 вольт. Потребляемый ток при этом будет около 0,4 – 1,5 мА.

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

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

Проведем проверку на микросхеме TSOP31236 ее распиновка соответствует рисунку выше. Плюсовой вывод от самодельного блока питания подключаем к плюсовому выводу ИК-модуля (Vs), минус – к выводу GND. А третий вывод OUT подсоединяем к плюсовому щупу мультиметра. Минусовой щуп подсоединяем к общему проводу GND. Мультиметр переключаем в режим напряжения DC на 20 V.

Как только на фотодиод ИК-микросборки начнут поступать пачки инфракрасных импульсов от, то напряжение на его выходе будет падат на несколько сотен милливольт. При этом будет хорошо заметно, как на экране мультиметра значение снизиться с 5,03 вольт до 4,57. Если отпустим кнопку ПДУ, то на экране вновь отобразиться 5 вольт.

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

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

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

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

Ловить сигнал будем с помощью фотоприёмника . Причем не каждый приёмник подойдёт – несущая частота должна совпадать с частотой пульта. Несущая частота приёмника указана в его маркировке: 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) Снимаем джамперы. Перезагружаем устройство. Готово!

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

Поделиться