selbstgebauter LIRC-Empfänger über USB

  • Zitat

    Original von vdr_rossi
    Bzw. anfangs war es mit 5V geplant. USB liefert ja 5V, das wäre für das Projekt super.
    Ich nehme es einfach so hin und hole mir von einem Molex/Floppy Stecker 12V.
    Munter bleiben, Rossi


    sicher, Power vom USB ist limitiert, bis USB 2.0 auf 100mA bzw. 500mA (aber auch nur für High Power). Mit USB 3.0 könnte man statt 100mA dann 150mA ziehen (mit High Power 900mA).


    Gruß Fr@nk

  • So, die Empfänger- und Senderschaltung ist jetzt komplett, nur hab ich leider das Kabel vergessen und kann das ganze erst morgen teste... Schaltplan habe ich von Albert Huitsings Homepage, wobei ich drei SFH484 IR Dioden genommen habe. Der Empfänger sitzt direkt auf dem RXD Pin. Mal sehen ob das so funktioniert. Ich werde auf jeden Fall berichten.


    Gruß Darkstar.

    Hardware: Seagate Dockstar@1500MHz, GSS Box DSI 400 SAT>IP Server, VDR 2.1.6 mit Streamdev-Server
    Videoausgabe: RaspberryPi mit MLD-4.0.1-RPi an LG 42LM660

  • ... und wenn man dann die Dioden noch richtig herum einbaut, funktioniert es sogar! Naja ein bischen hüpfen tut der Heli schon, aber es wird wahrscheinlich noch ein wenig dauern, bis ich auch wirklich fliegen kann. Ganz richtig scheinen die Timings noch nicht zu sein.


    Ich hab mal Bilder vom SMD gelöte (nicht zu nah dran gehen, es könnte anstecken...) und von der Sender- / Empfängerplatine angehängt.


    Gruß Darkstar.

  • abenteuerlich :D.


    Hattest du irgendwelche Verbindungen auf der Platinen gekappt, oder so belassen und verdrahtet?

    oldVDR: 1.7.14-2yavdr1 | SkyStar HD2 | AMD XP 1700+ @1100Mhz & 1,1V | Geforce 4MX onboard NVIDIA CS Treiber (jemand Interesse an diesem stromsparenden SD VDR?)
    newVDR: yavdr 0.5a | TBS 6981 | Intel E5300 underclocked | Zotac 9300 | TBS RC + Harmoy 895 | Pearl LCD | 37W bei HD


    Panasonic TX-P50S20E & Onkyo NR-509 & Jamo S606 HCS 3

  • Naja, eigentlich wollte ich keine Verbindung kappen... hab ich dann aber mit Fädeldraht wieder "repariert" (sieht man gottseidank nicht...). Um genau zu sein, habe ich ein komplette Beinchen abgebrochen und die Leiterbahn gleich mit abgerissen, so dass ich da ziemlich rumbraten musste.


    Gruß Darkstar.


    PS: Kann es sein, dass Senden und Empfangen gleichzeitig nicht geht????

    Hardware: Seagate Dockstar@1500MHz, GSS Box DSI 400 SAT>IP Server, VDR 2.1.6 mit Streamdev-Server
    Videoausgabe: RaspberryPi mit MLD-4.0.1-RPi an LG 42LM660

  • Hat jetzt schon mal jemand so einen transmitter nachgebaut? Ich habe hier ein kleines Problem mit den timings und mit der Erkennung der Signale auf der anderen Epfängerseite: Sehr kurze Impulse kommen nicht immer durch. Ich hab jetzt nochmal im Datenblatt des TSOP1738 nachgelesen, dass Bursts mit mindestens 10 Zyklen möglich sein sollten, dass wären dann so etwa 270µs carrier. Wenn ich mir aber die Signale auf dem Oszilloskop ansehe, geht da immer mal wieder ein Bit verloren. Das dumme ist, dass das Protokoll das ich bentze eine Checksumme einsetzt...


    Der Empfang geht übrigens fast gar nicht. Scheinbar ist mein Laptop für den LIRC Betrieb nicht richtig konfiguriert. Mal sehen ob es da Empfehlungen bezüglich der Kernelkonfiguration gibt.


    Gruß Darkstar.

    Hardware: Seagate Dockstar@1500MHz, GSS Box DSI 400 SAT>IP Server, VDR 2.1.6 mit Streamdev-Server
    Videoausgabe: RaspberryPi mit MLD-4.0.1-RPi an LG 42LM660

  • Hab den Receiver nachgebaut - wenn man da von nachbauen spechen kann.
    Es ist nur der 5. Pin des ft232rl an Pin 3 des IR Empfängers.


    Pin 5 war zuvor unbelegt, hab ihn also nach außen geführt, GND und VCC kann man vom USB Anschluss nehmen, an Pin 1 und Pin 2 des IRs.
    In Lirc habe ich FTDI FT232 bases IR Receiver ausgewählt und ttyUSB0 als Device gewählt UND...es kam nix an.


    Der standard homebrew hingengen läuft, am com port - lircd.conf passt.

    oldVDR: 1.7.14-2yavdr1 | SkyStar HD2 | AMD XP 1700+ @1100Mhz & 1,1V | Geforce 4MX onboard NVIDIA CS Treiber (jemand Interesse an diesem stromsparenden SD VDR?)
    newVDR: yavdr 0.5a | TBS 6981 | Intel E5300 underclocked | Zotac 9300 | TBS RC + Harmoy 895 | Pearl LCD | 37W bei HD


    Panasonic TX-P50S20E & Onkyo NR-509 & Jamo S606 HCS 3

  • Zitat

    Original von the_freestyler
    Hab den Receiver nachgebaut - wenn man da von nachbauen spechen kann.
    Es ist nur der 5. Pin des ft232rl an Pin 3 des IR Empfängers.


    Verstehe ich nicht ganz: Pin 5 des chips? Also richtig mit Fädeldraht usw? Und Pin 3 des (TSOP1738) IR Empfängers? Laut Datenblatt ist das RXD, also schon mal richtig.

    Zitat

    Original von the_freestyler
    Pin 5 war zuvor unbelegt, hab ihn also nach außen geführt, GND und VCC kann man vom USB Anschluss nehmen, an Pin 1 und Pin 2 des IRs.


    Gleiche Frage: Pin 5 des chips? Unbelegt ist der nämlich nicht, nur vermutlich unter dem chip durchkontaktiert.

    Zitat

    Original von the_freestyler
    In Lirc habe ich FTDI FT232 bases IR Receiver ausgewählt und ttyUSB0 als Device gewählt UND...es kam nix an.


    Was sagt denn mode2 oder xmode2? Welche lirc Version nutzt Du denn? Im Zweifelsfall mal mit

    Code
    udevadm info -q all -n /dev/ttyUSB0

    die Seriennummer herausfinden (ID_SERIAL_SHORT) und dann mode2/xmode2 so starten:

    Code
    -d mode2 -H ftdi -d serial=<ID_SERIAL_SHORT>,input=1


    Am besten das ganze erstmal mit der auf Albert Huitsings Seite beschriebenen CVS Version probieren. Damit geht es bei mir einwandfrei.


    Gruß Darkstar.

    Hardware: Seagate Dockstar@1500MHz, GSS Box DSI 400 SAT>IP Server, VDR 2.1.6 mit Streamdev-Server
    Videoausgabe: RaspberryPi mit MLD-4.0.1-RPi an LG 42LM660

  • Hallo


    Es ist mindestens noch einer (ich) hier, der eigentlich das Selbe vor hat. Ich hab mir nur einen FTMM232R
    besorgt. Ich komme nur erst die nächsten Tage dazu, weiter zu bauen bzw. testen. Mir ist nur noch nicht
    ganz klar was dann später in die hardware.conf rein muß. Wenns mir keiner vorsagt , dann ...!
    Aber vielleicht doch?


    Ein Ehefrauennerver

    VDR aktuell: MSI C847MS-E33 Mystique SaTiX-S2 V3, 2Gb DDR3, PicoPsu 120, SNT 5000 12V von Reichelt, yavdr0.5

  • genau, Pin 5 des ft232rl Chips, ist laut Datenblatt RxD.


    Hab mal das Foto vergrößert, glaub nicht, dass der genutzt wird; so wie 3, 6 und 8. Durchgemessen und nichts zu sehn. Mehrschichtig ist die Platine auch nicht?!


    Hab die CVS gebaut, yavdr's lirc gestoppt, den frisch gebauten lircd gestartet:


    mode2 sagt:


    Code
    mode2 -H ftdi -d serial=FTO5O0KT,input=1
    mode2: Initializing FTDI: serial=FTO5O0KT,input=1
    mode2: opened FTDI device 'serial=FTO5O0KT,input=1' OK
    pulse 13


    Beim Drücken der Fernbedienung aber keine Reaktion.
    Irw dito.

    Code
    daemons/lircd -n
    lircd: lircd(ftdi) ready, using /var/run/lirc/lircd
    lircd: accepted new client on /var/run/lirc/lircd
    lircd: Initializing FTDI:
    lircd: unsupported ioctl - 26913
    lircd: unsupported ioctl - 26914
    lircd: opened FTDI device '' OK
    lircd: removed client


    Spannung liegt an am TSOP1738.
    Muss der FT232RL vllt doch vollkommen getrennt sein?

    Bilder

    oldVDR: 1.7.14-2yavdr1 | SkyStar HD2 | AMD XP 1700+ @1100Mhz & 1,1V | Geforce 4MX onboard NVIDIA CS Treiber (jemand Interesse an diesem stromsparenden SD VDR?)
    newVDR: yavdr 0.5a | TBS 6981 | Intel E5300 underclocked | Zotac 9300 | TBS RC + Harmoy 895 | Pearl LCD | 37W bei HD


    Panasonic TX-P50S20E & Onkyo NR-509 & Jamo S606 HCS 3

  • Hi,
    "pulse 13" ist eigentlich schon mal gut, das heißt, dass eigentlich was kommen müßte. Hast Du schonmal den Datenpin des TSOP gemessen? Im Ruhezustand müßten da ungefähr +5V anliegen. Bei einem Signal geht die Spannung dann runter (active low). Allerdings sollte auch Deine Fernbedienung 38kHz senden...


    Gruß Darkstar.

    Hardware: Seagate Dockstar@1500MHz, GSS Box DSI 400 SAT>IP Server, VDR 2.1.6 mit Streamdev-Server
    Videoausgabe: RaspberryPi mit MLD-4.0.1-RPi an LG 42LM660

  • 5,5V Spannung liegt an am Datenpin.


    38kHz - der TSOP seriell angeschlossen funktioniert ja mit der Fernbedienung.
    Hab auch andere FBs probiert, aber leider keine Reaktion.


    Gruß,
    Micha

    oldVDR: 1.7.14-2yavdr1 | SkyStar HD2 | AMD XP 1700+ @1100Mhz & 1,1V | Geforce 4MX onboard NVIDIA CS Treiber (jemand Interesse an diesem stromsparenden SD VDR?)
    newVDR: yavdr 0.5a | TBS 6981 | Intel E5300 underclocked | Zotac 9300 | TBS RC + Harmoy 895 | Pearl LCD | 37W bei HD


    Panasonic TX-P50S20E & Onkyo NR-509 & Jamo S606 HCS 3

  • Zitat

    Original von the_freestyler
    5,5V Spannung liegt an am Datenpin.


    Und die kommen auch am Datenpin an? Schon mal durchgemessen? Für mich sieht das nämlich aus, als würde alle funktionieren, nur halt ohne Verbindung. Wenn ich meinen Empfänger abziehe, bekomme ich auch den Einschaltpulse aber sonst natürlich nix... Schließ die Datenleitung des TSOP doch mal an Pin3 des 25-poligen Steckers an. Dann geht das Signal zwar duch den Pegelwandler, das sollte aber kein Problem sein.


    Gruß Darkstar.



    BTW: Pin 9 des HIN213 Pegelwandlers sollte mit Pin 3 des Steckers verbunden sein und Pin 8 mit Pin 5 des FTDI chips.

    Hardware: Seagate Dockstar@1500MHz, GSS Box DSI 400 SAT>IP Server, VDR 2.1.6 mit Streamdev-Server
    Videoausgabe: RaspberryPi mit MLD-4.0.1-RPi an LG 42LM660

  • Bin auch schon wieder stundenlang am basteln und komme nicht weiter :(


    Hardware ist zusammengelötet, allerdings mit dem MM232R Modul nicht das ebay Kabel.


    Auf einer Lochrasterplatine habe ich habichthugo´s transmitter Schaltung aufgebaut, jetzt erstmal ohne Stromversorgung.


    Im ersten Schritt möchte ich nur den ir receiver testen.


    Angeklemmt wie auf Alberts Seite beschreiben.


    Dann unter Windoof mit dem MPROG die 'invert RTS' Option angehackt und zurückgeschrieben.


    easyvdr 06.10 Testsystem aufgesetzt


    Lirc cvs Version geladen wie auf Alberts Seite beschrieben.


    Leider scheitere ich beim make :(


    easyVDR:/home/lircftdi/lirc# make
    make all-recursive
    make[1]: Entering directory `/home/lircftdi/lirc'
    Making all in drivers
    make[2]: Entering directory `/home/lircftdi/lirc/drivers'
    make[3]: Entering directory `/home/lircftdi/lirc/drivers'
    make[3]: F?r das Ziel ?all-am? ist nichts zu tun.
    make[3]: Leaving directory `/home/lircftdi/lirc/drivers'
    make[2]: Leaving directory `/home/lircftdi/lirc/drivers'
    Making all in daemons
    make[2]: Entering directory `/home/lircftdi/lirc/daemons'
    ./input_map.sh >input_map.inc
    make all-am
    make[3]: Entering directory `/home/lircftdi/lirc/daemons'
    if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -O2 -g -Wall -MT hw-types.o -MD -MP -MF ".deps/hw-types.Tpo" -c -o hw-types.o hw-types.c; \
    then mv -f ".deps/hw-types.Tpo" ".deps/hw-types.Po"; else rm -f ".deps/hw-types.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -O2 -g -Wall -MT ir_remote.o -MD -MP -MF ".deps/ir_remote.Tpo" -c -o ir_remote.o ir_remote.c; \
    then mv -f ".deps/ir_remote.Tpo" ".deps/ir_remote.Po"; else rm -f ".deps/ir_remote.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -O2 -g -Wall -MT release.o -MD -MP -MF ".deps/release.Tpo" -c -o release.o release.c; \
    then mv -f ".deps/release.Tpo" ".deps/release.Po"; else rm -f ".deps/release.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -O2 -g -Wall -MT hw_ftdi.o -MD -MP -MF ".deps/hw_ftdi.Tpo" -c -o hw_ftdi.o hw_ftdi.c; \
    then mv -f ".deps/hw_ftdi.Tpo" ".deps/hw_ftdi.Po"; else rm -f ".deps/hw_ftdi.Tpo"; exit 1; fi
    hw_ftdi.c: In function 'child_process':
    hw_ftdi.c:188: warning: implicit declaration of function 'ftdi_usb_purge_tx_buffer'
    if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -O2 -g -Wall -MT receive.o -MD -MP -MF ".deps/receive.Tpo" -c -o receive.o receive.c; \
    then mv -f ".deps/receive.Tpo" ".deps/receive.Po"; else rm -f ".deps/receive.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -O2 -g -Wall -MT transmit.o -MD -MP -MF ".deps/transmit.Tpo" -c -o transmit.o transmit.c; \
    then mv -f ".deps/transmit.Tpo" ".deps/transmit.Po"; else rm -f ".deps/transmit.Tpo"; exit 1; fi
    rm -f libhw_module.a
    ar cru libhw_module.a hw-types.o ir_remote.o release.o hw_ftdi.o receive.o transmit.o
    ranlib libhw_module.a
    if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -O2 -g -Wall -MT irrecord.o -MD -MP -MF ".deps/irrecord.Tpo" -c -o irrecord.o irrecord.c; \
    then mv -f ".deps/irrecord.Tpo" ".deps/irrecord.Po"; else rm -f ".deps/irrecord.Tpo"; exit 1; fi
    config_file.h:26: warning: 'all_flags' defined but not used
    if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -O2 -g -Wall -MT config_file.o -MD -MP -MF ".deps/config_file.Tpo" -c -o config_file.o config_file.c; \
    then mv -f ".deps/config_file.Tpo" ".deps/config_file.Po"; else rm -f ".deps/config_file.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -O2 -g -Wall -MT dump_config.o -MD -MP -MF ".deps/dump_config.Tpo" -c -o dump_config.o dump_config.c; \
    then mv -f ".deps/dump_config.Tpo" ".deps/dump_config.Po"; else rm -f ".deps/dump_config.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -O2 -g -Wall -MT input_map.o -MD -MP -MF ".deps/input_map.Tpo" -c -o input_map.o input_map.c; \
    then mv -f ".deps/input_map.Tpo" ".deps/input_map.Po"; else rm -f ".deps/input_map.Tpo"; exit 1; fi
    /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -g -Wall -o irrecord irrecord.o config_file.o dump_config.o input_map.o transmit.o libhw_module.a -lftdi
    mkdir .libs
    gcc -O2 -g -Wall -o irrecord irrecord.o config_file.o dump_config.o input_map.o transmit.o libhw_module.a /usr/lib/libftdi.so
    libhw_module.a(hw_ftdi.o): In function `child_process':
    /home/lircftdi/lirc/daemons/hw_ftdi.c:188: undefined reference to `ftdi_usb_purge_tx_buffer'
    collect2: ld returned 1 exit status
    make[3]: *** [irrecord] Fehler 1
    make[3]: Leaving directory `/home/lircftdi/lirc/daemons'
    make[2]: *** [all] Fehler 2
    make[2]: Leaving directory `/home/lircftdi/lirc/daemons'
    make[1]: *** [all-recursive] Fehler 1
    make[1]: Leaving directory `/home/lircftdi/lirc'
    make: *** [all] Fehler 2
    easyVDR:/home/lircftdi/lirc#


    konnte mit google´s Hilfe nicht wirklich was finden...


    Achja, wie Albert es beschreibt - habe ich auch die bleeding edge version: hw_ftdi.c probiert
    gleicher Fehler.


    Was kann ich das Problem lösen ?


    Munter bleiben, Rossi

  • Zitat

    Original von slime
    ich würde auf eine (zu diesem source nicht passende) /usr/lib/libftdi.so tippen


    Danke für den Tip :)


    Nachdem ich:


    mkdir ~/libfti
    wget http://www.intra2net.com/en/de…nload/libftdi-0.17.tar.gz
    tar xvfj libftdi-0.17.tar.gz
    cd libftdi-0.17
    ./configure
    make
    make install
    cp /usr/local/lib/lib* /usr/lib


    jetzt läuft make im lirc Verzeichniss auch durch :)


    im Lirc Pfad noch: make install


    Neustart


    In der Testumgebung läuft der Empfang schonmal :)


    Morgen wird die Schaltung nochmal geprüft und dann mit Strom versorgt.
    Dann gehts weiter mit IR Kommandos senden...


    Gute Nacht, Rossi

  • Hi,
    nach längerem probieren habe ich mich entschlossen meine Sendeschaltung etwas umzubauen und den 38kHz Träger mit einem Timerbaustein zu generieren. Eigentlich sollte das zwar mit dem FTDI im Bitbang Modus gehen, aber der Demodulator im TSOP ist leider etwas empfindlich wenn mal ein Trägerpuls fehlt... Ich hoffe die zusätzlichen Teile passen noch auf meine Platine.


    Gruß Darkstar.

    Hardware: Seagate Dockstar@1500MHz, GSS Box DSI 400 SAT>IP Server, VDR 2.1.6 mit Streamdev-Server
    Videoausgabe: RaspberryPi mit MLD-4.0.1-RPi an LG 42LM660

  • Ich hab doch tatsächlich eine Schaltung gefunden, die mit 5 Bauteilen auskommt und noch auf meine Platine passt! Wie es aussieht werde ich das Trägersignal mit einem LMC555 (CMOS Variante des NE555), drei Kondensatoren und einem Trimmer (zur Frequenzeinstellung) aufbauen. Vorsichtshalber baue ich die Schaltung morgen erstmal auf einer Steckplatine auf bevor ich was festlöte. Aber bisher sieht es ganz vielversprechend aus.


    Gruß Darkstar.

    Hardware: Seagate Dockstar@1500MHz, GSS Box DSI 400 SAT>IP Server, VDR 2.1.6 mit Streamdev-Server
    Videoausgabe: RaspberryPi mit MLD-4.0.1-RPi an LG 42LM660

  • Hi,
    die Hardware ist jetzt komplett fertig und funktioniert sogar! Sieht zwar nicht besonders schön aus, aber eigentlich waren die zusätzlichen Teile auch nicht vorgesehen.... Das Trägersignal aus dem LCM555 und das Nutzsignal vom FTDI chip werden über zwei in Reihe geschaltete FETs UND verknüpft, was der Helikopter auch 1a versteht. Ich bin mir nicht sicher, bei den Fernbedienungen ist vor der Sendediode immer noch ein Rotfilter davor. Brauche ich den oder wird das Signal irgendwie besser wenn ich den Filter verwende oder kann ich den auch einfach weglassen?


    Gruß Darkstar

  • Zitat

    Original von Darkstar
    Brauche ich den oder wird das Signal irgendwie besser wenn ich den Filter verwende
    Gruß Darkstar


    Eigentlich nur, wenn Dich das schwache glimmen der IR- Dioden stört ( Sozusagen den sichtbaren Teil des Sendelichtspektrums herausfiltern)


    Gruß Fr@nk

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!