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

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

Инфракрасный на самом деле нормальный свет с определенным цветом. Мы, люди не можем видеть этот цвет, потому что его длина волны 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.

Конец?

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

Многоканальный автомат управления нагрузками собран на ATtiny2313 и позволяет в автоматическом режиме управлять состояниями 8-ми каналов (Out_0 — Out_7). На каждом из каналов формируется ШИМ-сигнал, скважность которого можно изменять по прописанному Вами алгоритму (программе). В устройстве можно использовать до 8-ми программ каналов. Программу можно зациклить (бесконечное воспроизведение) или можно воспроизвести только один раз. Программу можно…

Раздел: Метки:

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

Раздел: Метки: ,

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

Раздел: Метки: ,

Оглавление: Введение | Keypad_IR_to_UART | UART_to_Pin | SDC_Talking Устройство Keypad_IR_to_UART предназначено для формирования UART сообщений (заглавные буквы латиницы и цифры) по факту нажатий клавиш на кейпаде и/или любом бытовом ИК-пульте (от телевизора, например). Прежде всего, устройство ориентировано на совместную работу с устройствами управляемых по UART (в частности разрабатывалось для интерактивного стенда), но может быть использовано,…

Раздел: Метки:

Устройство этой статьи является, на самом деле, не совсем новым. Оно было сделано и отлажено довольно много времени назад, но я все никак не мог выбраться набрать статью. И вот теперь, когда в разработке новые устройства с применением ZiChip, в перспективе позволяющие более гибко работать с логикой работы, у меня вообще появились сомнения по поводу…

Раздел: Метки:

Сегодняшним устройством будет датчик приближения на инфракрасных лучах. Датчик собран на недорогом микроконтроллере Attiny13, прост в изготовлении и не нуждается в какой либо наладке. Видео работы датчика: Чем отличается такой датчик от, скажем, датчиков движения заводского исполнения (которые, кстати, стали очень доступными и недорогими)? Главное отличие – это область применения. Готовые датчики все-таки…

Раздел: Метки:

Давно хотел себе заиметь небольшой пульт для управления различной бытовой техникой. И вот, наконец, дошли руки, и хватило свободного времени для создания своего универсального пульта! Постарался сделать его поменьше, поудобней, покрасивей… в общем смотрите что получилось!

Раздел: Метки:

1 Сомнения. Я долго сомневался в необходимости написания программы для управления компьютером от IR-пульта. С одной стороны, существует много аналогичных устройств/программ (как платных, так и бесплатных) с хорошей функциональностью и ничего нового в эту область я добавить не смогу. С другой стороны, раз уж аппаратная часть нами собрана (преобразователь IR-to-UART) почему бы не использовать ее…

Раздел:
был сделан модуль управления роботом по ИК каналу. Вот о нём я бы и хотел написать поподробнее. Так как применений этому можно найти очень много.

Собственно, что такое ИК-управление - объяснять, думаю, не нужно. Сейчас более распространено управление по Wi-Fi, Bluetooth, ZigBee. Но если вам требуется простое устройство, которое можно собрать «на коленке» при минимальных затратах, то эта статья для вас. =)


Я не буду привязывать эту статью к определённому микроконтроллеру, а опишу общие принципы работы ИК прёмо-передатчика с AVR МК.

1. Что потребуется
При создании простого ИК-управления, негласным стандартом является использование приёмника от компании Vishay TSOPxxxx и диода TSALxxxx в качестве передатчика.

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

2. Схемки
Чтобы не городить огородов, воспользуемся схемой включения TSOP из его даташита:

Выход TSOPа нужно подключить напрямую к входу (RX) USART МК.

С подключением передатчика ситуация немного другая. Так как приёмник работает только на определённой частоте, то нужно задать эту же частоту на излучателе. Это сделать не сложно запрограммировав таймер. Для ATmega16 это будет выглядить вот так:
TCCR1A=0x40;
TCCR1B=0x09;
OCR1AH=0x00;
OCR1AL=0x84;

Нужную частоту можно выразить из формулы:

OCRn - будет искомое значение, которое нужно перевести в шестнадцатеричный формат и записать в регистр OCR1A (для случая с МК ATmega16).

Теперь TSOP будет принимать наш сигнал. Но чтобы можно было использовать USART, нужно промодулировать наш сигнал. Чтобы это можно было делать - подключим ИК-диод по схеме:

3. Немного кода
Прошивки я писал в CodeVision AVR.

Вот так будет выглядеть код для передатчика:
#include
#include

Void main(void)
{
PORTB=0x00;
DDRB=0x02;

DDRC=0x00;
PORTC=0xFF;

TCCR1A=0x40;
TCCR1B=0x09;
OCR1AH=0x00;
OCR1AL=0x84; // Сюда вписываем значение для вашей частоты

// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Mode: Asynchronous
// USART Baud Rate: 2400
UCSRA=0x00;
UCSRB=0x08;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0xCF;

While (1)
{

If (PINC.4 == 0x00) { putchar("S");}/* В данном случае при нажатии на кнопку, которая висит на PINC.4 МК отсылает символ "S". Который передаётся на другой контроллер через ИК.*/
};
}

Код приёмника не привожу, т.к. занимает много места, а для восприятия общих принципов кода передатчика будет, думаю, достаточно.

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

Желаю удачи! Буду рад любым вопроса\критике\предложениям;)

UPD. Решил выложить фото самого пульта, чтобы было видно, что работает девайс не только как китайские приёмники, которые подключаются к ПК. Возможности гораздо шире и универсальнее.

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

Принцип ИК передачи информации

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

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

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

Пульт ИК управления при нажатии кнопки излучает кодированную посылку, а приемник, установленный в управляемом устройстве, принимает её и выполняет требуемые действия. Для того, чтобы передать логическую последовательность, пульт формирует импульсный пакет ИК лучей, информация в котором модулируется или кодируется длительностью или фазой составляющих пакет импульсов. В первых устройствах управления использовались последовательности коротких импульсов, каждый из которых представлял собою часть полезной информации. Однако в дальнейшем, стали использовать метод модулирования постоянной частоты логической последовательностью, в результате чего в пространство излучаются не одиночные импульсы, а пакеты импульсов определенной частоты. Данные уже передаются закодированными длительностью и положением этих частотных пакетов. ИК приемник принимает такую последовательность и выполняет демодулирование с получением огибающей. Такой метод передачи и приема отличается высокой помехозащищенностью, поскольку приемник, настроенный на частоту передатчика, уже не реагирует на помехи с другой частотой. Сегодня для приема ИК сигнала обычно применяется специальная микросхема, объединяющая фотоприемник, усилитель с полосовым фильтром, настроенным на определенную несущую частоту, усилитель с АРУ и детектор для получения огибающей сигнала. Кроме электрического фильтра, такая микросхема имеет в своем составе оптический фильтр, настроенный на частоту принимаемого ИК излучения, что позволяет в максимальной степени использовать преимущество светодиодного излучателя, спектр излучения которого имеет небольшую ширину. В результате таких технических решений, стало возможным принимать маломощный полезный сигнал на фоне ИК излучения других источников, бытовых приборов, радиаторов отопления и т.д. Работа современных устройств ИК управления достаточно надежна, а дальность составляет от нескольких метров до 40 и более метров, в зависимости от варианта реализации и уровня помех.

Передатчик ИК сигнала

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

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

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

Большинство передатчиков работают на частоте 30 - 50 кГц. Такой диапазон частот был выбран исторически при создании первых подобных устройств. Была выбрана область с наименьшим уровнем помех. Кроме того, принимались в расчет ограничения на элементную базу. В дальнейшем, по мере стандартизации и распространения аппаратуры с таким способом управления, переход на другие частоты стал нецелесообразным.

В целях увеличения импульсной мощности передатчика, а соответственно и его дальности, сигнал основной частоты отличается от меандра и имеет скважность 3 - 6. Таким образом повышается импульсная мощность с сохранением или даже уменьшением средней мощности. Импульсный ток светодиода выбирается исходя из его паспортных значений и может достигать одного и более Ампер. Импульсный ток в большинстве пультов ИК не превышает 100 мА. При этом, поскольку и опорная частота имеет малый коэффициент заполнения и длительность кодированной посылки не превышает 20-30 мс, средний ток при нажатой кнопке не превышает одного миллиампера. Повышение импульсного тока светодиода сопряжено с снижением эффективности и уменьшением срока службы. Современные инфракрасные светодиоды имеют эффективность 100-200 мВт излучаемой энергии при токе 50 мА. Допустимый средний ток не должен превышать 10-20 мА. Питание светодиода должно иметь RC фильтр, который снижает воздействие импульсной помехи на питание микроконтроллера. Спектр применяемых светодиодов для ИК пультов большинства бытовой аппаратуры имеет максимум в области 940 нм.

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

Приемник ИК сигнала

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

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

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

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

Питание приемника излучения должно быть выполнено с RC фильтром для увеличения чувствительности. Микроконтроллер производит помеху широкого спектра на линиях питания, что может повлиять на работу приемника.

Форматы ИК передачи данных

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


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

Собственно, что такое ИК-управление - объяснять, думаю, не нужно. Сейчас более распространено управление по Wi-Fi, Bluetooth, ZigBee. Но если вам требуется простое устройство, которое можно собрать «на коленке» при минимальных затратах, то эта статья для вас. =)


Я не буду привязывать эту статью к определённому микроконтроллеру, а опишу общие принципы работы ИК прёмо-передатчика с AVR МК.

1. Что потребуется
При создании простого ИК-управления, негласным стандартом является использование приёмника от компании Vishay TSOPxxxx и диода TSALxxxx в качестве передатчика.

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

2. Схемки
Чтобы не городить огородов, воспользуемся схемой включения TSOP из его даташита:

Выход TSOPа нужно подключить напрямую к входу (RX) USART МК.

С подключением передатчика ситуация немного другая. Так как приёмник работает только на определённой частоте, то нужно задать эту же частоту на излучателе. Это сделать не сложно запрограммировав таймер. Для ATmega16 это будет выглядить вот так:
TCCR1A=0x40;
TCCR1B=0x09;
OCR1AH=0x00;
OCR1AL=0x84;

Нужную частоту можно выразить из формулы:

OCRn - будет искомое значение, которое нужно перевести в шестнадцатеричный формат и записать в регистр OCR1A (для случая с МК ATmega16).

Теперь TSOP будет принимать наш сигнал. Но чтобы можно было использовать USART, нужно промодулировать наш сигнал. Чтобы это можно было делать - подключим ИК-диод по схеме:

3. Немного кода
Прошивки я писал в CodeVision AVR.

Вот так будет выглядеть код для передатчика:
#include
#include

Void main(void)
{
PORTB=0x00;
DDRB=0x02;

DDRC=0x00;
PORTC=0xFF;

TCCR1A=0x40;
TCCR1B=0x09;
OCR1AH=0x00;
OCR1AL=0x84; // Сюда вписываем значение для вашей частоты

// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Mode: Asynchronous
// USART Baud Rate: 2400
UCSRA=0x00;
UCSRB=0x08;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0xCF;

While (1)
{

If (PINC.4 == 0x00) { putchar("S");}/* В данном случае при нажатии на кнопку, которая висит на PINC.4 МК отсылает символ "S". Который передаётся на другой контроллер через ИК.*/
};
}

Код приёмника не привожу, т.к. занимает много места, а для восприятия общих принципов кода передатчика будет, думаю, достаточно.

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

Желаю удачи! Буду рад любым вопроса\критике\предложениям;)

UPD. Решил выложить фото самого пульта, чтобы было видно, что работает девайс не только как китайские приёмники, которые подключаются к ПК. Возможности гораздо шире и универсальнее.