Эмуляция сигнала ИК ПДУ с помощью компьютера

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Аватара пользователя
vasilii kot
Открыл глаза
Сообщения: 77
Зарегистрирован: Пт ноя 19, 2010 23:16:26
Контактная информация:

Эмуляция сигнала ИК ПДУ с помощью компьютера

Сообщение vasilii kot »

Есть необходимость управлять некоторыми приборами (приносимыми в ремонт) с помощью компьютера по ИК каналу, но вот часы поиска в интернете не дали ни чего кроме описания самих протоколов пультов. Помогите
Реклама
Аватара пользователя
Maykill
Друг Кота
Сообщения: 73964
Зарегистрирован: Вт дек 20, 2011 12:46:51
Откуда: Петроград
Контактная информация:

Re: Эмуляция сигнала ИК ПДУ с помощью компьютера

Сообщение Maykill »

а вы думали- в сказку попали?
протоколы это и есть самое главное...
далее пишется программка которая при нажатии скажем клавиш компутера генерит нужную последовательность .
Та подаётся на ИК передатчик...и всё
http://chipenable.ru/index.php/how-conn ... eniya.html
впрочем по научному это называется " чесание за левым ухом правой ногой"
https://www.int-s.spb.ru
" Можно я лягу?"(C)
Реклама
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Эмуляция сигнала ИК ПДУ с помощью компьютера

Сообщение YS »

Напрямую эмулировать невозможно - многозадачность не даст выдерживать тайминги. Нужно навешивать МК. А так вполне можно. Я бы поставил преобразователь USB-UART, а дальше что-нибудь из серии ATTINY или MSP430G совместно с ИК-диодом.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Maykill
Друг Кота
Сообщения: 73964
Зарегистрирован: Вт дек 20, 2011 12:46:51
Откуда: Петроград
Контактная информация:

Re: Эмуляция сигнала ИК ПДУ с помощью компьютера

Сообщение Maykill »

как вариант- хранить сами последовательности команд в виде отдельных файлов ( скажем в .avi)
:)) и выдавать их на передатчик по мере надобности
https://www.int-s.spb.ru
" Можно я лягу?"(C)
Реклама
phenomen
Потрогал лапой паяльник
Сообщения: 310
Зарегистрирован: Пт дек 17, 2010 14:41:25

Re: Эмуляция сигнала ИК ПДУ с помощью компьютера

Сообщение phenomen »

Или mp3 и выдавать на звуковую карту...
Реклама
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Эмуляция сигнала ИК ПДУ с помощью компьютера

Сообщение YS »

Или mp3


Любое сжатие с потерями скорее всего не прокатит.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
phenomen
Потрогал лапой паяльник
Сообщения: 310
Зарегистрирован: Пт дек 17, 2010 14:41:25

Re: Эмуляция сигнала ИК ПДУ с помощью компьютера

Сообщение phenomen »

Не уверен вообще что прокатит. Нужная частота модуляции сигнала, если не ошибаюсь, лежит в пределах 32..38кГц (в зависимости от приемника, который пока неизвестен). Wav файлы также не подойдут, так, как частота дискретизации должна быть одна из 11 025, 22050, 44100. Есть вариант - VOC-файл (частота в диапазоне от 5000 до 44100 Гц). Но тут другая проблема - для каждого приемника свой файл.
Плюс ко всему нужна хорошая звуковая карта.

Как по мне - нужен МК:
    С помощью таймеров конфигурируется и выводится несущая (ШИМ).
    На любой другой пин выводим информацию в соотв. формате.
    Как их объеденить? С помощью елемента И ну или транзистора.
    Связь с ПК с помощью UARTа. Разделяются управляющие команды (настройка частоты) и данные.
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Эмуляция сигнала ИК ПДУ с помощью компьютера

Сообщение YS »

Как их объеденить? С помощью елемента И ну или транзистора.


Проще программно сделать битовый буфер с нужным типом модуляции. Сигнал-то чисто цифровой.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
phenomen
Потрогал лапой паяльник
Сообщения: 310
Зарегистрирован: Пт дек 17, 2010 14:41:25

Re: Эмуляция сигнала ИК ПДУ с помощью компьютера

Сообщение phenomen »

Ну тогда уж таймер в режиме CTC и прерывание в котором дергаем ногу МК.
lock2007
Родился
Сообщения: 15
Зарегистрирован: Пн мар 16, 2009 04:56:23

Re: Эмуляция сигнала ИК ПДУ с помощью компьютера

Сообщение lock2007 »

Управление ик светодиодом :
через сом порт - Lirc , Winlirc , Manybutt(Furby...WINSAMP...)...
через звуковую карту - ledrem , RemCol Pocket - Программы для ББ (RemColStudioAlfa(запись сигнала пульта,свой формат),RDF (кодировка и база пультов rdf), IRplay(кодировка и база пультов lirc))...
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Эмуляция сигнала ИК ПДУ с помощью компьютера

Сообщение Alexeyslav »

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

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

Как это было устроено? IRDA работает короткими импульсами и работает как обычный UART т.е. посылаем какой-то байт, IRDA начинает мигать короткими вспышками в зависимости от передаваемых данных, хоть эти вспышки и не лежат в области частот пультов но их кратная частота совпадает. Правда, эфективность такого метода очень низка - такой пульт работает дай бог сантиметров с десяти. Но речь не об этом.
COM-порт можно использовать для генерации ИК-вспышек на строго заданной частоте, независимо от софта т.к. реализация его аппаратная. Нужно только подобрать скорость передачи(обычно это 115200) и последовательность байт для передачи которая даст нужный спектр для детектирования ИК-приемником.
Что самое интересное, с СОМ-портом можно работать даже из ДОСа, настроив при помощи команды "MODE" и передавая в него предварительно заготовленные последовательности из файлов - никаких программ для работы кроме 16-ричного редактора для создания файлов не нужно.
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

Re: Эмуляция сигнала ИК ПДУ с помощью компьютера

Сообщение aleksandr-zh »

Alexeyslav
подтверждаю - сам так делал генератор )))
Аватара пользователя
vasilii kot
Открыл глаза
Сообщения: 77
Зарегистрирован: Пт ноя 19, 2010 23:16:26
Контактная информация:

Re: Эмуляция сигнала ИК ПДУ с помощью компьютера

Сообщение vasilii kot »

Alexeyslav писал(а):Не нужен для этих целей контроллер, совсем не нужен. В принципе, даже и программировать для этого не нужно!

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

Как это было устроено? IRDA работает короткими импульсами и работает как обычный UART т.е. посылаем какой-то байт, IRDA начинает мигать короткими вспышками в зависимости от передаваемых данных, хоть эти вспышки и не лежат в области частот пультов но их кратная частота совпадает. Правда, эфективность такого метода очень низка - такой пульт работает дай бог сантиметров с десяти. Но речь не об этом.
COM-порт можно использовать для генерации ИК-вспышек на строго заданной частоте, независимо от софта т.к. реализация его аппаратная. Нужно только подобрать скорость передачи(обычно это 115200) и последовательность байт для передачи которая даст нужный спектр для детектирования ИК-приемником.
Что самое интересное, с СОМ-портом можно работать даже из ДОСа, настроив при помощи команды "MODE" и передавая в него предварительно заготовленные последовательности из файлов - никаких программ для работы кроме 16-ричного редактора для создания файлов не нужно.

Вот об этом же и думал, но как это реализовать в железе и ПО? Я и сам разберусь, но может поделитесь опытом.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Эмуляция сигнала ИК ПДУ с помощью компьютера

Сообщение Alexeyslav »

ПО тут совсем не причем - главное что нам надо, это возможность послать непрерывный поток байт через порт. От того какие данные будем передавать зависит форма сигнала на пине TX СОМ-порта, путем подбора или точного рассчета подбираем передаваемые данные таким образом чтобы сформировать на выходе нужную осциллограмму. начинаем с простого формирования нужной нам частоты и формирования паузы, затем комбинацией этих участков создается три набора - стартовый сигнал, передача лог.0 и лог.1 компонуя их вместе реализуем нужный протокол передачи.

Железо простое - есть активный сигнал на TX, включаем светодиод, нет сигнала - выключаем. Тот жалкий стартовый импульс который присутствует при передаче каждого байта данных мешать не будет, он находится вне частотного диапазона приемника - если передавать "0x00" приемник будет это рассматривать как отсутствие сигнала.

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


немного подробностей:

передача по UART происходит последовательной передачей бит с выбранной скороcтью:
Например передача без контроля четности с одним стоповым битом:
1dddddddd0
1 - стартовый бит, d - 8 бит данных, 0 - стоповый бит.

Передача происходит на скорости 115200 - значит длительность каждого бита равна 1/115200 = 8.68мкс
Допустим, нам надо получить частоту 38кГц, с периодом T = 1/38000 = 26.3мкс это примерно по 3 бита передаваемых данных. т.е. каждые 3 бита должен быть повтор(скважность нам не важна, удобно использовать 1:2).

Примерно так:

Код: Выделить всё

100100100100100100100100100100100100100100100100100100100100100100100100
1dddddddd01dddddddd01dddddddd01dddddddd01dddddddd01dddddddd01dddddddd01dddddddd0


Накладываем на эту последовательность передачу по UART и получаем значения байт которые надо передать чтобы сформировать последовательность очень близкую к 38кГц. точно получить не получится - мешать будут стартовые и стоповые биты.

Стоит отметить, что по стандарту RS-232 лог.1 соответствует уровень -12В, а если брать преобразователи USB-UART там уровню лог.1 соответствует +5В или +3.3В, но в виду малого буфера таких устройств может выйти обломс - при переполнении аппаратного буфера в устройстве возникнет пауза в передаче данных пока не подгрузится очередная порция, которая прийдет со следующей транзакцией на USB-шине а это может произойти через 1...10мс. ИК-приемник зафиксирует паузу в передаче и команда будет проигнорирована.
Так что я не уверен что такой "финт" получится с USB-переходниками, с аппаратным портом вероятность переполнения буфера стремится к нулю а вот через USB с этим довольно плохо.
Если применить простой расчет... то для непрерывной передаче по USB необходим аппаратный буфер в переходнике не меньше чем 1000мкс/(8.68мкс*11бит) = 10 байт. Это чисто теоретически, на практике все может оказаться по-другому.
Ответить

Вернуться в «Интеграция с ПК»