ИК-пульт

Хотя человек я не ленивый, но постоянно вставать с кровати чтоб перемотать фильм или прибавить громкость меня порядком достало. Было решено сделать управление компом по ИК каналу. Схема приёмника нашлась быстро. Мой выбор пал на USB приёмник IgorPlug. Выбор обусловлен большим количеством софта и простотой схемы. Оригинальную схему я немного доработал. Приёмник работает как надо, но что делать с пультом? Конечно можно заюзать любой пульт от телека например или от еще чего. Но у них у всех был один недостаток — большой размер. Погуглив и не найдя ничего мне подходящего было решено сделать свой ик пульт. В вот что из всего этого вышло:



Сердцем схемы является микроконтроллер tiny45. Почему именно он? да просто валялся под рукой =) Код программы легко переделать под более дешевый tiny13. Придётся пересчитать задержки, изменить таблицу векторов прерываний ну и еще кое чего.  Схема конечно же проста до безобразия:
Ик пульт

Питание на контроллер подается только когда нажимается кнопка пульта.  Оно поступает на него через диод, поэтому диоды нужно выбирать с малым падением напряжения. Я использовал какие то диоды шотки( модель не знаю, просто были под рукой) в корпусе MiniMELF. Вся конструкция питается от литевой батарейки CR2032 (такая же стоит на материнской плате компьютера). Я рекомендую переделать прошивку и использовать в данной конструкции контроллер с пониженным энергопотреблением. Если же планируете собирать так как у меня, то нужно выставить фьюзы таким образом чтоб контроллер тактировался от внутреннего RC генератора на частоте 8 мгц  и так же установить фьюз деления частоты на 8. Т.е. в конечном итоге получим частоту тактирования 1 мгц. Что касается корпуса, то на первой картинке изображен корпус фирмы Gainta. Называется он G1402-4B. Вряд ли кому-то понадобится печатная плата но я всё же выложу.

Дальность работы пульта неплохая. ИК приёмник нормально срабатывает даже от сигнала отраженного от стен.  Разумеется если запитать схему от 5В то будет еще лучше.  На сколько хватает одной батарейки пока не скажу так как сам юзаю недавно :-) Вопросы и предложения — в комментарии.

Файлы:
Прошивка микроконтроллера + исходникик
Печатная плата под корпус  G1402-4B

ИК-пульт: 14 комментариев

  1. А что за светодиод используешь?
    Мой приемник ну никак не хочет реагировать на отраженный свет! Только в прямой видимости, ну и плюс-минус пару градусов. Тут, видимо, и диаграмма направленности ТСОПа берет свое.
    Посмотрел на осциллографе — ток через светодиод протекает порядка 40мА! Неужели мало? Я сопротивление в цепи коллектора вообще коротнул — ток поднялся до 50 с лишним мА. Сейчас ругаю себя за то, что не узнал что за светодиод я беру (марку, чтобы посмотреть даташит). Может дело в нем? Может чтоб его раскачать, ему надо порядка 100мА?!?!?!?

    1. Светодиод у меня TSAL4400 (3 мм в диаметре). Кстати дальность как я недавно выяснил у меня оказалась тоже не такой уж большой. просто я сначала проверял в пределах своей маленькой комнатки где комп. но от стены отражается. От пульта до стены 2 метра и от стены до приёмника 2 метра.
      Я думаю что стоит покрутить частоту ШИМ. Кстати а TSOP у тебя на какую частоту? У меня тут несущая для тсопа 36 кГц.

  2. Мой светодиод 5 мм в диаметре, мощность (что-то порядка не то 500 не то 900 мВт). Это единственное, что я с магазина запомнил…
    Мой приемник также настроен на 36кГц. Но я генерю импульсы для заполнения пачки не ШИМом, а просто ничегонеделанием. Работает — проверено.
    Вот глянул даташит на TSAL4400 — падение напряжения в прямом включении 1,35В (и на моем столько же, значит открывается полностью). Максимальный ток в статике — 100мА. ИМХО, 50мА должны и мой зажечь нормально! Да и диаграмма направленности достаточна узкая у TSAL4400.
    Хмммм… С моими познаниями в электронике остаются несколько пунктов.
    *Хреново написан софт для декодирования принятого сигнала; ибо я пишу всё это, ориентируясь на реакцию своего девайса с (допускаю, что некорректно написано прошивка). Буду проверять просто на ТСОПе. Сразу многое прояснится.
    *TSOP также имеет чувствительность на длину волны! Может мой светодиод из какого-нибудь галлия-арсения-ипрочего, что не очень вписывается в возможность TSOP? Даташита под рукой нет, но думаю, что это маловероятно.
    *В моей посылке постоянно шлются данные, а не как в стандартных протоколах — спецбайт нажатой кнопки или нечто подобное. ИМХО, тоже маловероятно.
    На большее пока ни фантазии, ни серого вещества не хватает.

    1. Хреново написан софт для декодирования принятого сигнала
      Вполне возможно :-) Для того чтоб отлаживать ик пульт я бы порекомендовал собрать вот такую штуку http://www.irlink.ru/products/irlinkSoft/igorplug.jsp
      При помощи этого приёмника и программы irlink можно увидеть что там принял TSOP.
      Если есть цифровой осциллограф то конечно можно им посмотреть.
      TSOP также имеет чувствительность на длину волны
      Совершенно верно. но думаю маловероятно то что это из-за несоответствия длин волн.
      В моей посылке постоянно шлются данные
      Постоянно слать данные нельзя! Тсоп подумает что это какая то постоянная помеха и начнет снижать чувствительность приёмника.

  3. Последний комментарий…ээээ… я немного не так выразился, прости.
    Помнишь, в стандартном RC-5 при нажатой кнопке, шлют DataWord, потом пауза, потом опять DataWord (данне). Т.е. нет стандартной посылки: 2 стартбита, бит триггера, адрес, команда… Вот что я имел под фразой «постоянно шлются данные». Т.е. у меня — стартбиты, данные, пуза; стартбиты, данные, пауза, безо всяких наворотов с долгонажатой кнопкой.

    1. теперь понятно.
      Главное чтоб при посылке, биты слались не очень долго. а то подумает что это помеха как я писал выше. У меня например ик диод когда передает бит светит примерно 889 микросекунд с частотой ~36 кГц.
      Что-то мне сильно подсказывает что дело у тебя именно в частоте несущей. Я сам когда делал этот пульт замучился просто пипец. Не мог понять почему не работает хотя всё было правильно. Потом оказалось дело в просадке питания(контроллер сбрасывался иногда). ограничил ток ик диода резистором и всё заработало

    1. Место в корпусе сильно ограничено. Чуть убрался.
      Да и даже с ограничением тока ик диода, дальность приемлемая для меня (с кровати переключаю треки в проигрывателе)

  4. Сейчас встал из-за паяльника. Мне заказали 2 комплекта: 2 пульта и 2 приемника. Так вот сегодняшний пульт «бьёт» прилично, даже от потолка отражается! Использую: батарея cr2450, 22мкФ фильтр, светодиод noname, сопротивление 5R1, транзистор КТ698 (напряжение К-Э в открытом состоянии ~0,1-0,2В). От стен отражается! Но словил другую помеху! Одна кнопка иногда включает то нужную, то ненужную команду. Т.е. первый раз нажал, то что надо. Отпустил, снова нажал — левая команда всплыла…
    Пульт №2. Транзистор КТ3102 (там на переходе К-Э побольше падает, конечно), и резистор коротнул. Не отражается, но в требования ТЗ чудом уложился.
    В конце концов обнаружил, что кнопки, которые я использую — ээээ… мягко говоря, плохие. Давить надо сильно, иначе — пропадает контакт. Как вполне жизнеспособный вариант — из-за плохого контакта может всплывать левая команда. Кнопки использую те же, что и DiHalt в своей плате, только диаметр нажимающей части чуть меньше и торчит она посильнее.
    А какие кнопки использовал ты? Или в этом прелестном корпусе кнопки организованы по-человечески, как в нормальных пультах — резиновая давилка с проводящим слоем замыкает дорожки на плате? Я бы этот вопрос не задавал, но не смог посмотреть печатку твою (протеус другой версии, видимо)

    1. Кнопки там такие же как в демоплате у Ди. Немножко сточить пришлось их.
      Если у тебя возникают такие странности с командами то видимом это из-за наводок. Ты используешь внутренние подтягивающие резисторы для кнопок? Или внешние как у меня?
      Я в последнее время внутренней подтяжке не доверяю. Слабая она слишком.

  5. Я по-старинке внутренней пользуюсь… Но уже в сотый раз обещаю себе при следующей поделке перейти на внешние резисторы :)
    Но поверь, это не из-за наводок! Ибо: нажал кнопку, есть щелчок, лампа горит. Через какое-то время погасла, потом опять загорится. Усилие не меняю. Давлю сильнее — горит ровно. Отпускаю слегка давить, щелчка еще нет, а лампа гаснет! Начинаю эту кнопку крутить, как рычаг переключения в коробке передач, — появляется контакт! Так что дело не в наводках.
    А можно увидеть внутренности вживую? Или там ситуация «если разберешь, то больше не соберешь». Просто я скачал чертежи этих корпусов, но они не очень-то и информативные. Спасибо за оперативные ответы!

  6. Ага, спасибо, что в jpg перевёл. Я так себе и представлял. В любом случае, я корпус на 2 кнопки уже заказал. Жду теперь.
    А раз резинка, то может там такая же система, как и на обычных пультах — какие-то черные пупырышки токопроводящие, которые замыкают дорожки на плате. Впрочем, все равно буду ждать когда заказ придет.
    Просто получается, что, используя эти кнопки, я, по сути, меняю шило на мыло… Хотя надо будет поискать кнопки более похожие на те, что у вас с Ди. Хотя думаю, хрен редьки не слаще.
    Все равно спасибо за ответы. Задолбал наверное тебя; прости.

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