Например TDA7294

РадиоКот > Схемы > Цифровые устройства > Примочки к ПК

IgorPlugHID или самоопределяющийся ИК приемник для управления компьютером с пульта ДУ

Автор: Volgol_555, Yegorich_555@mail.ru
Опубликовано 01.11.2012.
Создано при помощи КотоРед.

Введение

  Представляю USB инфракрасный (ИК) приемник IgorPlugHID. Данное устройство не требует драйверов (самоопределяется в ОС Windows), совместимо с USB 2.0 и обеспечивает управление компьютером посредством пульта дистанционного управления (ДУ). Оно поддерживает огромный список пультов (от телевизоров до иной различной техники) работающим по наиболее известным протоколам (RC5, NEC,  Panasonic и пр.). Для работы с ним необходим плагин IgorPlugHid и программа (Girder, Перехватъ, SlyControl,  IRlink и пр.).

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

Назначение элементов

    Сердцем является микроконтроллер (МК) Atmel  - Atmega8A (ни в коем случае не Atmega8L). ИК приемник TSOP1736 принимает сигналы и передает на Atmega8, который обрабатывает и отсылает по USB. Резисторы R3, R4 и конденсатор С5 нужны в качестве обвязки TSOP для его стабильной работы. R2 подтягивает ногу Reset Atmega8A для стабильной работы (если не подтянуть, контроллер может периодически перегружаться). Внешний кварц нужен для задания частоты, на которой будет работать Atmega8A. 2 конденсатора С1 и С2 по 22пФ для стабильной работы кварца (если не поставить, кварц может вообще не запуститься). Резистор R11 нужен для того, чтобы «сообщить» компьютеру тип устройства USB (низкоскоростное). R8 и R9 в 68 Ом нужны для защиты шины данных USB от короткого замыкания и высоких токов (можно поставить и R=100 Ом). Электролит С3=10мкФ и керамический конденсатор С4=0.1 мкФ нужны для стабилизации питания всей схемы. 2 выпрямительных диода 1N4007 осуществляют падение напряжение до 3.8 В, которым питается МК. Это необходимо для согласования логических уровней USB 2.0 – на шине данных логическая 1 будет около 3.6В.

    Бывают случаи, когда компьютер выключен и при случайном приеме данных устройство подвисает – т.к. ожидает, когда USB обработает данные (приходилось раньше доставать устройство и обратно вставлять).  Для этого в схему введен транзистор, который открывается при наличии питания +5В на молекс разъеме (разъем ищите на блоке питания персонального компьютера). Есть второй вариант решения – в BIOS выключить опцию “Питание USB при выключенном компьютере “– это отлично подходит для ноутбуков. У меня же устройство отлично работает при наличии постоянного питания на USB и без «проводов от молекса», но я иногда наблюдаю этот глюк из-за софта на компе… тогда я просто перегружаю саму программу и все работает.

    Если у вас USB выключается при выключении компа или вообще не наблюдается «зависания», то провод от молекса +5В и транзистор с резистором можно просто выкинуть из схемы, оставив ногу D3 Atmega8A висящей в воздухе.

Назначение светодиодов:
С0 – Во встроенной таблице найдено совпадение
С1 – Кодировка опознана
С2 – Прием посылки

Я считаю светодиоды излишеством, т.к. в диагностике они мне никогда не помогали. Поэтому я их выкинул вообще. :)

Перечень элементов

-Atmega8A (в SOIC или в DIP корпусе, но ни в коем случае не Atmega8L)
- кварцевый резонатор на 12 МГц (именно на 12!!! и никакой другой)
- USB коннектор типа «папа»
- 5R=68 Ом (или 3, если без светодиодов)
- 2R=10 кОм
- R=100 Ом
- 3R=1.5 кОм (или 1, если не использовать внешний буфер с молекс разъемом)
- R= 1 Мом
- *электролитический конденсатор С=4.7 мкФ 16В (вольтаж любой выше 5В)
-* электролитический конденсатор С=10 мкФ или выше (до 220 мкФ) 16В (вольтаж любой выше 5В)
- 2 керамических конденсатора С= 22пФ (можно 27 пФ)
- 1 керамический конденсатор С= 0.1мкФ
- 2 выпрямительных диода 1N4007 с падением напряжения по 0.6В каждый (можно любой другой тип – важно общее падение напряжения около 1.2В)
- 3 светодиода (я их вообще не использовал)
- предохранитель на 0.25А (к примеру стеклянный)
- любой биполярный транзистор npn типа (к примеру…..BC547-корпус TO92, BC847 – корпус SOT23 –smd вариант)
* можно поставить 2 электролита по 10мкФ >5В (на TSOP больше 10 мкФ не советую)

Прошивка

     Кроме того, как собрать устройство, нужно запрограммировать МК Atmega8A. Есть большое количество программаторов способных на это  (AVR910, STK200, STK500, AVRisp и пр.) и программ (ChipBlaster,PonyProg CodeVisioAVR, AVRstudio и пр.). Советую либо попросить запрограммировать МК у знакомых, если нет под рукой необходимого или, если есть LPT порт, то в интернете найдете простую схему «5 проводков», которая отлично подходит для наших целей. Для программирования нужны определенные выводы МК (Reset, MISO, MOSI, SCK, Gnd – на схеме подписаны фиолетовым).
      Из программ советую ChipBlaster – она проста и в ней нет ничего лишнего (только программирование).
      Скачать прошивку можно здесь.
      Во FLASH память заливаете файл с прошивкой Main.hex, в Eeprom - Main.eep.

Фьюзы

      Также важно правильно запрограммировать фьюз биты. Если программируете через ChipBlaster или CodeVisionAvr, то нужно поставить галочку только в BODEN=0 (и CKOPT=0, если к кварцу не паяли конденсаторов или кварц все равно плохо запускается) и нажать Program>Fuse (cо всех остальных пунктов галочки нужно снять!)

Запуск

     Если вы все сделали правильно, то как только вы вставите устройство в USB оно успешно самоопределиться как HID-устройство. Далее, для работы  с ним нужно установить плагин и программу (Girder, SlyControl, Перехватъ, IRlink). Не смотря на то, что плагин один и тот же и называется IgorPlugHID, к каждой программе нужен свой (можете найти на сайте).  Плагин устанавливается как обычная программа. Описание и плагин смотрите здесь. Программы можно скачать здесь.
     В окне настроек IgorPlugHID можно сразу проверить работу устройства – во вкладке Совместимость можно увидеть код кнопки нажатой на пульте ДУ.
Для работы я использую программу Girder (освоил с давних времен и не могу перейти на другую). Также посоветую SlyControl. Здесь нет настроек – управление через скрипты. Если не умеете с ними работать, то выбирайте другую программу.
   В некоторых программах есть проблема (Girder, SlyControl) – не работает настройка звука в Windows7. Для устранения проблемы нужно в файле программы поставить "совместимость с Windows XP".
    Мне понравилась программа Перехватъ – она проста в настройках и имеет приятный интерфейс.

Диагностика, если что-то не работает

2 прошивки для проверки работоспобности
1)      Hextest – позволяет проверить работоспособность процессора (мигает светодиодом)
2)      Hidtest – позволяет проверить работоспособность USB части.
!!!Фьюзы прошивать, как указано выше.
Если что-то не получается пишите в личку или на форум– разберемся вместе.

 

Источники и полезные ссылки

Данное устройство относиться к HID типа джойстик с необновляемым типом прошивки версия 2.1. На сайте ir-max.ru есть схема с обновляемой версией прошивки, которая позволяет обновлять прошивку через тот же USB разъем (для этого нужен внешний EEPROM AT24C129). Там же есть модификации:
1)      включение компа с пульта ДУ (только для персонального ПК)
2)      управление внешними нагрузками, используя пульт ДУ.
Привожу следующие источники и полезные ссылки:
http://www.ir-max.ru/- плагины, софт, описание, схемы – все для IgorPlugHid. Проги качайте отсюда. Есть полное описание установки и настройки для каждой поддерживаемой программы!!!!
http://www.msevm.com/forums/index.php?showtopic=3268&mode=threaded&pid=36678 - форум с ссылками и общими вопросами (в целом безобразный)
http://www.mindrunway.ru/IgorPlug2.html - все возможные версии данного устройства (первоисточник). Сайт безобразный, но можно много интересного найти по модификациям данного устройства.

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





Файлы:
Мой внешний вид устройства
Прошивка
Тест железа
Тест USB
Весь проект


Все вопросы в Форум.


ID: 1420