Как узнать протокол пульта ду
Перейти к содержимому

Как узнать протокол пульта ду

  • автор:

Описание протокола Nec

Данные передаются младшим битом вперед. Каждый бит начинается с пачки импульсов несущей частоты. Длительность пачки равна 560 мкс. Путем изменением временного интервала между пачками импульсов осуществляется кодирование нулей и единиц. При передаче логической единицы интервал от начала текущей до начала следующей пачки импульсов составляет 2.25 мс, а при передаче логического нуля – 1.12 мс.

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


Существует расширенная версия протокола Nec, в которой используется 16-ти разрядные адреса.

Алгоритм декодирования сигналов ПДУ

Файлы

Ссылки

Related items

  • Модуль приемника ИК сигналов на ATtiny
  • Учебный курс AVR. Работа с SPI модулем. Ч1
  • Знакомство с замкнутой системой управления
  • Робот своими руками. ИК бампер
  • Миниатюрный универсальный ИК пульт дистанционного управления
Comments

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

Мультиметр видит сигнал, если он присутствует около 0,5сек. А длительности команд пульста — несколько милисекунд! Конечно мультиметр не увидит!

попробовал повторить прибор, но не пошло.

вопрос: какие Fuse mega8535, т.к. программатор USBASP AVRDUDE из хекса брать не умеет.

Мне тут подсказали, что в схеме ошибка. Чтобы проект заработал, нужно подправить файл lcd_lib.h
Code:
//порт, к которому подключена шина данных
#define PORT_DATA PORTC
#define PIN_DATA PINC
#define DDRX_DATA DDRC

//порт, к которому подключены управляющие выводы
#define PORT_SIG PORTC
#define PIN_SIG PINC
#define DDRX_SIG DDRC

//управляющие выводы
#define RS 0
#define RW 1
#define EN 2

Микроконтроллер работает от внешнего кварца на 16 МГц. Нужно выставить фуз биты соответствующие этому режиму..

Схему я скоро поправлю.

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

Code:
//прерывание по событию захват
interrupt [TIM1_CAPT] void Timer1Capt(void)
<
#asm("cli")
if (flag==1) <
interval = TCNT1;
>
else
<
interval=0;
TCNT1=0;
flag=1;
#asm("sei")
LED=OFF;
return;
>

switch (state) <
//ждем стартовый импульс
case WAIT:
TCNT1=0;
if (interval < START_BIT_INT) <
if (interval > REPEAT_BIT_INT) <
data = 0;
countBit = 0;
countByte = 0;
buffer[NUM_REPEAT] = 0;
state = RECEIVE;
LED=ON;
>
else <
LED=ON;
buffer[NUM_REPEAT]++;
flag=0;
delay_ms(10);
LED=OFF;
>
>
interval=0;
break;

//прием посылки
case RECEIVE:
TCNT1=0;
if (interval < HIGH_BIT_INT) <
if (interval > LOW_BIT_INT) <
SetBit(data, countBit);
>
countBit++;
if (countBit == 8) <
buffer[countByte] = data;
countBit = 0;
data = 0;
countByte++;
if (countByte == (MAX_SIZE — 1)) <
flag=0;
state = WAIT;
LED=OFF;
break;
>
>
>
else
<
flag=0;
state=WAIT;
LED=OFF;
>
interval=0;
break;

В проекте для CodeVision ошибка. У меня руки не доходят исправить ее. Чтобы код заработал, нужно в файле timer.c кое чего подправить.
Code:
icr1 = icr2;
icr2 = ((unsigned int)ICR1H<<8)|ICR1L;

чтобы было вот так
Code:
icr1 = icr2;
icr2 = ICR1L;
icr2 |= ((unsigned int)ICR1H<<8);

Попробуй, должно заработать.

PS. первый раз неправильно написал. не выспался.

Весь код не лезет в размер. Вот объявление переменных и констант.

Code:
#include <mega32.h>
#include <alcd.h>
#include <delay.h>
#include <stdio.h>
#include <bits_macros.h>
#include <alcd.h>
#define LED PORTD.4
#define START_BIT_INT 3500
#define REPEAT_BIT_INT 3000
#define LOW_BIT_INT 300
#define HIGH_BIT_INT 600
#define RECEIVE 1
#define WAIT 0
#define ON 1
#define OFF 0
#define NUM_REPEAT 4
#define MAX_SIZE 5
unsigned char state;
unsigned char flag = 0;
unsigned char buffer[MAX_SIZE];
unsigned char lcd_buffer[20];
static unsigned int interval;
static unsigned char data;
static unsigned char countBit, countByte;

Функция main выглядит так .
Code:
void main(void)
<
PORTA=0xFF;
DDRA=0x00;
PORTB=0xFF;
DDRB=0x00;

// Alphanumeric LCD initialization
// Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS — PORTA Bit 4
// RD — PORTA Bit 5
// EN — PORTA Bit 6
// D4 — PORTB Bit 4
// D5 — PORTB Bit 5
// D6 — PORTB Bit 6
// D7 — PORTB Bit 7
// Characters/line: 20
lcd_init(20);
lcd_puts("READY");

while (1)
<
// Place your code here
if ((flag==0)&&(state==WAIT))

Это функция вывода результата.
Code:
void ShowResult()
<
lcd_gotoxy(0,1);
sprintf(lcd_buffer,"%u %u %u %u \n",buffer[0],buffer[1],buffer[2],buffer[3]);
lcd_puts(lcd_buffer);
sprintf(lcd_buffer,"%u ",buffer[4]);
lcd_puts(lcd_buffer);
>

Вот и весь кодю 😉 Да, у меня атмега32, для других надо соответсвенно менять инициализацию оборудования в майн функции.

Всем доброго дня.Есть проблема.Вот тоже занимаюсь декодированием сигналов пульта,только протокол RC5.TSOP подключен так-же как в статье выше к выводу ICP микроконтролера.
Библиотека RC5 использована — kibermaster.net/priem-komand-s-pulta-distantsionnogo-upravleniya/.После инициализации таймера и разрешения прерываний включается захват, и микроконтроллер начинает обрабатывать данные, принятые с пульта. Если получен пакет данных, то активируется флаг rc5.dataOK, а принятая команда записывается с переменную структуры rc5.command.
Сам код который я юзаю являет собой вкл/отключение четырех каналов клавишами 1-4 пульта
Сам код здесь radiomanoff.at.ua/index/distancionnoe_upravlenie_na_atmega8_protokol_rc_5/0-27

Все бы хорошо,но вот если нажатую кнопку пульта «передержать» соответствующий канал включается/выкл ючается.А хотелось чтобы канал включился,и контролер ждал отпускания кнопки пульта,а уже потом обрабатывал следующее нажатие.
Пробовал вставлять
Code: .
_delay_ms(700); //задержка 700 мс
rc5.dataOK = 0; // сбрасываем флаг

while (rc5.dataOK) //ждем отпускания кнопки
<
_delay_ms(200); //задержка 70 мс
rc5.dataOK = 0; // сбрасываем флаг
кнопки
Как бы проверка отпускания кнопки.Тестирую на реальном «железе»не идет

Cпасибо за ответ,но Вы знаете у меня все получилось с циклом while,просто вставил задержку
Code: _delay_ms(200); //задержка 700 мс

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

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

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

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

Детектор протокола ПДУ построен на микроконтроллере ATtiny85, инфракрасном приемнике и OLED-дисплее с разрешением 128×32 и шиной I2C.

Протоколы

Устройство поддерживает следующие протоколы:

  • NEC
  • Samsung
  • Sony SIRC
  • RC-5

Протоколы NEC и Samsung

Протокол NEC был изначально разработан производителем бытовой электроники NEC. Данный протокол используют многие японские и китайские производители, а также фирма Samsung.

Данные кодируются с использованием импульсного кодирования расстояния. Каждый бит начинается с 562,5 мкс несущей. Ноль имеет общую ширину 1,125 мс перед началом следующего бита, а единица имеет общую ширину 2,25 мс перед следующим битом:

Несущий импульс состоит из 21 цикла на частоте 38 кГц. Импульсы обычно имеют соотношение mark/space 1:4, чтобы уменьшить потребление тока:

Каждая кодовая последовательность начинается с длинного импульса, известного как импульс АРУ, за которым следует пауза. В протоколе NEC длина импульса составляет 9 мс, а промежутка — 4,5 мс:

В версии Samsung длительность импульса и паузы составляет 5 мс. Далее идут данные, которые состоят из 32 бит (16-битный адреса, за которым следует 16-битная команда):

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

Если кнопка удерживается, то код не повторяется. Вместо этого повторный код передается каждые 110 мс, состоящий из импульса АРУ длительностью 9 мс, за которым следует интервал 2,25 мс и пакетный сигнал длительностью 560 мкс.

В исходной версии протокола NEC старшие 8 бит адреса были просто инвертированной версией младших 8 бит, и то же самое для команды (как в приведенном выше примере).

Протокол Sony SIRC

Протокол Sony SIRC использует 12-, 15- или 20-битный код, состоящий из 7-битной команды, за которой следуют 5, 8 или 13 бит адреса.

Данные кодируются с использованием кодирования ширины импульса. Ноль состоит из импульса длительностью 600 мкс, а единица состоит из импульса длительностью 1,2 мс. В каждом случае за ними следует пауза в 600 мкс:

Нулевой импульс состоит из 24 циклов на частоте 40 кГц:

Один импульс в два раза длиннее этого. Импульсы обычно имеют отношение mark/space 1:4, чтобы уменьшить потребление тока.

Каждая кодовая последовательность начинается с начального импульса длительностью 2,4 мс, за которым следует пауза в 600 мкс, а затем данные:

Вот пример 20-битной версии, показанной в порядке передачи битов (слева направо):

В приведенном выше примере показана команда 0x2D и адрес 0x1E3A.

Если кнопка удерживается нажатой, то код повторяется с интервалом в 45 мс (от начала до начала), независимо от количества бит в коде. Протестированные пульты Sony посылают как минимум два повторения кода даже при коротком нажатии клавиши.

Протокол RC-5

Протокол RC-5 был первоначально разработан производителем бытовой электроники Philips и широко используется разными производителями, особенно в Великобритании и Европе.

Данные кодируются с использованием двухфазного кодирования, также известного как манчестерское кодирование. Все биты имеют длину 1,778 мс. Ноль представляется как половина бита несущей, за которой следует половина бита тишины, а единица — это половина бита тишины, за которой следует половина бита несущей:

Полубит несущей состоит из 32 циклов на частоте 36 кГц. Импульсы обычно имеют соотношение mark/space 1:4, чтобы уменьшить потребление тока:

Каждая кодовая последовательность состоит из 14 бит: сначала 2 стартовых бита, за которыми следует 1 бит переключения, за которым следует 5-битный адрес и 6-битная команда. Например:

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

Расширение протокола с обратной совместимостью, называемое Extended RC-5, удваивает количество доступных команд, используя только один стартовый бит. Второй стартовый бит используется как 7-й командный бит. Его значение инвертируется, гарантируя, что первые 64 команды останутся совместимыми с исходным протоколом RC-5. Данный декодер поддерживает расширенный RC-5 протокол.

Принципиальная схема детектора

Детектор протокола инфракрасного ПДУ. Схема

Для декодирования сигнала ПДУ использован фотоприемник Vishay TSOP38238 38 кГц. Он имеет достаточно широкую полосу пропускания для работы с несущей частотой 36 кГц, используемой протоколом RC-5, или с частотой 40 кГц, используемой протоколом Sony.

Обратите внимание, что инфракрасный приемник дает инвертированный выходной сигнал (при наличии несущей выход низкий, а при отсутствии несущей высокий).

В качестве дисплея использован OLED-дисплей 128×32 с шиной I2C. Резистор 33 кОм и конденсатор 0,1 мкФ обеспечивают правильный сброс дисплея при первом включении питания.

Программа

OLED-дисплей

  • N для NEC
  • M для Samsung
  • R для RC-5
  • S12, S15 или S20 для трех вариантов Sony

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

Синхронизация импульсов

Инфракрасные коды интерпретируются с помощью прерывания смены контакта, установленного на входе инфракрасного приемника:

Синхронизация импульсов выполняется с помощью Timer/Counter1 в качестве простого 8-битного счетчика, настроенного с предварительным делителем 1/64:

Чтобы получить данные, мы читаем регистр TCNT1, в котором 1 единица равна 64 мкс. Максимальная длительность, которую мы можем измерить, составляет 256×64 мкс или 16 мс, что достаточно, поскольку самый длинный импульс в любом из протоколов составляет 9 мс.

Процедура обслуживания прерывания

Все декодирование протокола выполняется подпрограммой обслуживания прерывания смены контакта, которая вызывается при каждом переходе от инфракрасного приемника:

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

Идентификация протокола

Следующим этапом является определение длинны стартового импульса. Длина стартового импульса используется для идентификации протокола: это либо 9 мс для протокола NEC, 5 мс для протокола Samsung или 2,4 мс для протокола Sony. С протоколом RC-5 немного сложнее, потому что первый импульс может быть либо 0,889 мс, если первые два бита равны «11», либо 1,778 мс, если первые два бита равны «10». Переменная IRtype имеет значение «N», «M», «S» или «R» соответственно.

Компиляция программы

Выберите опцию ATtiny25/45/85 под заголовком ATtinyCore в меню Board. Затем выберите Timer 1 Clock: CPU, BOD Disabled, ATtiny85, 1 MHz (internal) из последующих меню.

Выберите «Записать загрузчик», чтобы правильно установить фьюзы. Затем загрузите программу с помощью ISP (внутрисистемное программирование).

Простой универсальный декодер ИК ДУ


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

В сети опубликовано большое количество различных программных декодеров для приема команд с пультов ДУ, большинство заточены под какой-то определенный протокол, например, RC-5, RC-6, Sony, Nec и т.д., но есть и универсальные. Со специализированными декодерами всё понятно, они хорошо работают (только) со своими пультами, но по этой-же причине их применение ограниченно. Универсальные алгоритмы, как правило, либо сравнивают длительности импульсов и пауз между ними по таблице, либо производят выборку по таблице контрольных точек. Это требует относительно большого объёма памяти для хранения кодов кнопок.
А нужно-ли для уверенного детектирования определенной команды ее в точности разбирать по определенному протоколу, или точно сопоставлять длительности всех импульсов/пауз? В общем-то не нужно. Минимальная длительность импульсов ограниченна используемой несущей частотой. Например, для ИК приёмников серий TSOP17xx (где xx — шесущая частота КГц) минимально детектируемый импульс — 15 периодов тактовой частоты

0.42 мс. Минимальная длительность импульсов в посылках пультов примерно вдвое больше и составляет около 0.85 мс. Увеличивать длительность импульсов больше этой величины не имеет смысла, так как на отправку команды будет уходить слишком много времени. Тоже самое касается пауз между импульсами. На практике, разница между длинами импульсов разных пультов ДУ меньше чем в в два раза, это позволяет отказаться от точного измерения длительности импульсов и пауз и характеризовать их только как «короткие» и «длинные» (стартовые импульсы нас не интересуют). То есть нам нужно запоминать один бит на фронт и спад.

Демонстрационное устройство


Схема демонстрационного устройства очень проста — контроллер AtTiny26 с минимальной обвязкой, приёмник TSOP1736 и знакосинтезирующий дисплей. Оно принимает от пулта и отображает полученный код на ЖК дисплее. На диодах vd1, vd2 и конденсаторах С1, С2 собрана схема накачки заряда (charge pump) для получения отрицательного напряжения контраста ЖК дисплея — мне попался экземпляр для работы при низких температурах, и ему нужно где-то минус 1.5 вольта на выводе CONTR относительно земли.

Для замера длительностей импульсов используется таймер и внешнее прерывание, но стем-же успехом можно использовать таймер с модулем захвата.

Декодер предельно прост, компактен и эффективен, но тем не менее работает с большинством протоколов ИК пультов.

Принцип работы ИК пульта управления

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

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

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

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

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

Форматы RC-5 и NEC используются многими производителями электроники. Некоторые производители разработали свой стандарт, но в основном используют его сами. Менее распространенные форматы пультов управления:

  • JVC
  • Mitsubishi
  • Philips RECS80
  • RCA Protocol
  • X-Sat Protocol

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

Инфракрасные передатчики служат для синхронизации активных 3D очков затворного типа с телевизором.

Двунаправленная передача информации используется в некоторых мобильных устройствах: ноутбуках, телефонах, смартфонах, плеерах и т.д. Передача информации по протоколу IrDA основана на форматах асинхронной передачи данных, реализованных в COM портах компьютера.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *