lirc не пашет, помогите

  • Привет,


    есть ИК датчик, подключенный к последовательному порту на DCD линию (верхний ряд, крайний-левый штырек). Питание на датчик поданно отдельно. Яяя проверял датчик подключая его к паралельному порту и опрашивая его. В нормальном состоянии на выходе датчика +5V, а при облучении напряжение падает до нуля.


    Скомпилировал в ядре поддержку lirc и драйвер lirc-serial в качестве модуля.


    При загрузке модуля в логах вижу


    Sep 9 09:29:22 linux kernel: lirc_serial: : in init_timing_params, freq=38000, duty_cycle=50, clk/jiffy=987136, pulse=12988, space=12989, conv_us_to_clocks=987
    Sep 9 09:29:23 linux kernel: lirc_serial: auto-detected active high receiver
    Sep 9 09:29:23 linux kernel: lirc_dev: lirc_register_plugin:sample_rate: 0


    Потом запускаю irrecord -f test и начинаю облучать пультом датчик, после чего в логах добовляется запись.


    Sep 9 09:30:06 linux kernel: lirc_serial: : Interrupt 4, port 03f8 obtained
    Sep 9 09:30:20 linux kernel: lirc_serial: : freed IRQ 4


    Что вроде бы значит, что драйвер реагирует на изменения на линии DCD. Но вот irrecord после 10 секунд пишет, что не найден gap и выходит.


    Пробовал найти подходящий конфиг для lircd и настроить всю цепочку до xxms для проверки - не работает.


    Чего еще можно зделать? Как еще проверить и настроить пульт?


    Спасибо

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

  • Ой спешишь, ой!
    У тебя даже приёмник не проинициализировался или не найден.
    ----------------------------------------------------------------------------------
    Sep 9 09:29:23 linux kernel: lirc_serial: auto-detected active high receiver
    ----------------------------------------------------------------------------------
    Схема есть здесь на форуме и опробована уже много раз. Собери её и будет тебе счастье

  • Немного не понял, почему ты решил, что не найден? А как выглядит нормальный лог? Нет ни укого? Я даже не знаю к чему конкретно надо стремится.


    А насчет схемы я не знаю, нужна ли она вообще. У меня корпус от DVD проигрователя и на передней панели припаян ИК датчик. Питание и земля подцепленны от блока питаня от которого же и материнка запитанна. У меня только один конец на котором либо +5В либо 0В, в зависимости от того освещен датчик или нет. (неосвещенный датчик выдает 5вольт, что в принципе согласуется с "auto-detected active high receiver") Я схему с lirc homepage глянул, там тот же хер только вид с лева. Вся схемка нужна только, что бы питание 5В для датчика с порта получить.


    Или я не правый?

  • Цитата

    По словам пользователя the_moon ...
    ... неосвещенный датчик выдает 5вольт, что в принципе согласуется с "auto-detected active high receiver")



    Точно согласуется? Или может надо всё-таки active low?

  • А фиг его знает. Это мое первое подключение потому я еще толком сам ничего не знаю. Я пробовал коротить этот штырек на землю и стартовать модуль, что бы посмотреть меняет это что либо или нет. Результат тот же "auto-detected active high receiver" . Пробовал я так же параметром указать, что низкое напряжение это нормально. Один черт ничего не происходит если я свечу пультом в датчик. Я уже всякие пульты перепробовал и даже многофункциональный от сони. Причем я пробовал подключать выход с датчика к вольтметру и смотрел чего там происходит. Вроде бы при освещении датчика пультом, напряжение несколько падало. То есть вроде бы датчик еще живой.

  • Если lirc при инициализации скажет "autodetect low receiver" то тогда всё в порядке. До тех пор пока этого не произойдёт, паяльник из рук не выпускай ;)
    ----------------------------------
    Don't blame me, it's a hardware problem

  • +5V в спокйном состоянии у всех, но для уверенности у всех ещё DATA через резистор на питание положена. Тогда точно получается active low. Попробуй.

  • Короче замкнул я для пробы 7ой и 1ый пины порта (на седьмом драйвер выставляет 1 для питания схемы ИК приемника). И получил "active low receiver", померил напряжения - с выхода датчика у меня 4.5В, а на 7ом пине 5.5В. Получается одного вольта не хватает.


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


    Спасибо

  • Цитата

    По словам пользователя the_moon ...
    Немного не понял, почему ты решил, что не найден? А как выглядит нормальный лог? Нет ни укого? Я даже не знаю к чему конкретно надо стремится.


    А насчет схемы я не знаю, нужна ли она вообще. У меня корпус от DVD проигрователя и на передней панели припаян ИК датчик. Питание и земля подцепленны от блока питаня от которого же и материнка запитанна. У меня только один конец на котором либо +5В либо 0В, в зависимости от того освещен датчик или нет. (неосвещенный датчик выдает 5вольт, что в принципе согласуется с "auto-detected active high receiver") Я схему с lirc homepage глянул, там тот же хер только вид с лева. Вся схемка нужна только, что бы питание 5В для датчика с порта получить.


    Или я не правый?


    Стремится нужно к тому чтобы приёмник правильно инициализировался, должно быть :
    auto-detected active low receiver
    когда это произойдёт, всё пойдёт как по маслу.
    покажи свою схемку, мне кажется что проблема в подаче неправильного вольтажа. Я не специалист, но например я уже сталкивался с тем, что у некоторых в стандартной схеме сборки неправильно был пдсоединён преобразователь неапряжения, в результате чего подавалось неправильное напряжение и была такая вот ерунда :
    auto-detected active high receiver
    Проверь подключения. Или проверь датчик под виндой если имеется. Возьми стандартное питание 5 вольт с блока питания компа и запусти WinLirc. По крайней мере будешь знать что приёмник работает или нет.
    И никакой irrecord не будет работать, пока приёмник правильно не проинициализируется.


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


    полная схема:
    Пожалуйста зарегистрируйся для просмотра данного изображения.
    Пожалуйста зарегистрируйся для просмотра данного изображения.
    Пожалуйста зарегистрируйся для просмотра данного изображения.


    выводы контактов IC2 в зависимости от производителя как я убедился, смотри описание, когда покупаешь.

  • Йуууууууууууу-хуууууууууууу!


    Я отковырял на старой графической карточке резистор на 9кОм и припаял между седьмым и первым пином и все заработало!


    Спасибо товарищу ispovala-у!


    Я тебя потом поцелую... если захочешь. :D

  • Сейчас вот побаловался и сижу вот репу чешу. Не полчается ведь компьютер включать таким макаром. Я имею ввиду с пульта включать и выключать. Можно конечно если посторатся по wake up on events включать, но тогда компик реагирует на все пульты ДУ. Вот думаю, может собрать, что то на микроконтроллере.


    Никто не встречал простенькой схемки декодера сигалов ДУ на микроконтроллере?

  • И я заглядывался на ссылочку, что с верху, но потом отложил это дело в сторону по одной простой причине:
    Его(VDR)просто оказалось ненужным выключать! Он круглые сутки пашщет, если не пишет, так конвертирует, не мне, так сыночку....так что кнопки "ВКЛ" и "ВЫКЛ" просто лишние оказались. Когда начинал это дело, недумал, что так полюбиться домашним.

  • Да мне микроконтроллер пригодился бы не только для обработки сигналов от ДУ, но и для управления передней панелью на корпусе (рисовать на дисплейчике и считывать состояние кнопк на перелней панели) А то существующий драйверок, что я написал сильно много процессорного времени отъедает, до 10 процентов. Да и чисто в позновательных целях.


    Кстати мне нужен кварц на 40МГц, я глянул а в конраде их аж три разновидности. какие то EMPFENGER c SENDERом дешевые да еще DOPPELSUPERQUARTZ для которого не написанна какая частота и стоит он в два раза больше чем те другие.


    Никто не знает, что мне надо брать? Мне надо для стабилизации тактовой частоты микроконтроллера PIC16F84