IRMP auf STM32 - ein USB IR Empfänger/Sender/Einschalter mit Wakeup-Timer

  • [quote='jrie','index.php?page=Thread&postID=1248143#post1248143']
    Ich würde für ein universelles Projekt, welches überall funktionieren soll, ein Reedrelais als Schaltkontakt verwenden.


    Wir sind ja ein freies Land... :)


    Ich habe das schon gemacht. Hat auch gut funktioniert. Trotzdem werden ich es vermutlich nie wieder machen.
    [Blockierte Grafik: http://www.neuby.de/wp/wp-content/uploads/2014/04/Foto.jpg]
    [Blockierte Grafik: http://www.neuby.de/wp/wp-content/uploads/2014/04/Foto-3.jpg]
    Siehe: http://www.neuby.de/wp/?page_id=132


    Begründung:
    -brauchr viel zu viel Platz. Kostet und brachte keinerlei Mehrwert.
    -xx Exemplare mit Optkoppler funktionieren genauso gut. (Außer dass das Schaltgeräusch des Relais bei der Diagnose helfen kann)


    PS: Trotzdem bin ich Fan von Widerständen und Kondensatoren an der rechten Stelle. Gerade bei TSOP gibt es dazu ausreichend Erfahrungen.

  • -brauchr viel zu viel Platz.


    15x4mm ?


    Zitat

    Kostet und brachte keinerlei Mehrwert.


    75 Cent sind auch nicht viel teurer als ordentliche Optokoppler. Mehrwert wäre meiner Meinung nach, das man mögliche Fehlerquellen oder auch das evtl. Nichtfunktionieren ausschließen kann und sich um die Kompatiblität auf Kundenseite keine Gedanken machen müsste.


    Ich will auch keinen bekehren, war nur mal so ein Gedanke von mir.


  • Ich will auch keinen bekehren, war nur mal so ein Gedanke von mir.


    Das schöne an so einem Projekt ist ja gerade, dass es von jedem etwas anders aufgebaut werden kann.


    Rein von der Firmware her kann man auch Relais ansteuern. An der Stelle ist keine Anpassung nötig.


    Zitat

    Bei einem Optokoppler fallen bei dem Fototransistor am Ausgang einige hundert Millivolt ab, die manchmal hinderlich sind. Ich musste auch schon mal einen Doppel Optokoppler nehmen, um den R-Out geringer zu bekommen, damit sicher eingeschaltet wurde.


    Interessante Aussage und das bestärkt mich in meiner Annahme, dass man den Widerstand beim "SimpleCircuit"-Aufbau nicht unnötig groß machen sollte.

  • Ich würde für ein universelles Projekt, welches überall funktionieren soll, ein Reedrelais als Schaltkontakt verwenden.
    ...
    Mit so einem Reedrelais würde die Polarisationsabhängigkeit entfallen, und jeder erdenkliche Einschaltfall mit Taster könnte damit abgedeckt werden.
    ...
    Mehrwert wäre meiner Meinung nach, das man ... sich um die Kompatiblität auf Kundenseite keine Gedanken machen müsste.


    Danke für den Input. Klingt einleuchtend. :)

  • Hi,


    ich wollte mal wieder kompilieren. Das Build-System ist neu und hat den ARM-Kompiler bekommen:

    Zitat

    sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded
    sudo apt-get update
    sudo apt-get install gcc-arm-none-eabi


    Kann das am Compiler liegen ? Hier wird ein anderer empfohlen.



    Hier der Abbruch. (GIT neu gecloned, und dann "make prepare" und ein reines "make":


    Eigentlich sollten die header doch im installierten Paket enthalten sein. Falls jetzt kein Tipp kommt würde ich morgen mal das Kompiler-Paket aus dem Wiki probieren.

  • Hi Martin,


    Eigentlich sollten die header doch im installierten Paket enthalten sein


    hier der gleiche Fehler -> https://github.com/thaletterb/…7735-LCD-Library/issues/1

    Code
    sudo apt-get install libnewlib-arm-none-eabi


    Gruss
    Wolfgang

    TT S2-6400 - saa716x kompilieren unter 20.04(Focal)

  • Danke Wolfgang,


    das war leider gar nicht gesund wegen Überschneidung von Paketen.


    Nun habe ich dieses und erfolgreich damit kompiliert:

    Zitat

    martin@martin-ws ~/src/IRMP_STM32/STM32F103 $ dpkg -l|grep arm-none
    ii gcc-arm-none-eabi 4.9.3.2015q3-1trusty1 amd64 A GNU-based tool chain for arm embedded processors


    Quelle: https://launchpad.net/~terry.g…cc-arm-embedded/+packages


    Somit kann ich eingentlich gar nicht so richtig sagen wo die Ursache lag. (Habe das libnewlib-arm-none-eabi und sowie arm-binutils deinstalliert)
    => Fehler beim Eingrenzen verschwunden.

  • Anlässlich dessen, dass sich hier mal wieder was tut, habe ich ein paar neue Protokolle zu supported_protocols[] hinzugefügt, siehe github.
    Bei mir läuft jetzt auch gcc-arm-none-eabi-4_9-2015q3-20150921.

  • Danke, das mit dem Ruwido Protokoll muss ich rasch mal testen...


    Ich hatte jetzt seit langem mal wieder Zeit und habe mich für den Simple Circuit begeistert.


    Das ganze sieht mit der vorhandenen Platine dann so aus:
    [Blockierte Grafik: http://wiki.easy-vdr.de/images/thumb/7/7c/STM32-USB-Simple1.jpg/300px-STM32-USB-Simple1.jpg]
    [Blockierte Grafik: http://wiki.easy-vdr.de/images/thumb/a/a2/STM32-USB-Simple2.jpg/300px-STM32-USB-Simple2.jpg]
    [Blockierte Grafik: http://wiki.easy-vdr.de/images/thumb/2/25/STM32-USB-2.jpg/300px-STM32-USB-2.jpg]
    Ein 220Ohm Widerstand schräg wo es nie vorgesehen war und man hat eine sehr zuverlässige Lösung.



    PS: Nächster Step ist die Produktion von Platinen mit Anschlüssen im 2,54 mm Raster. Daher und um das Projekt zu fördern gibt es die bisherigen Platinen weiterhin gegen'aufgerundete Versandkosten bei mir.
    Fertige IR-Receiver gibt es auf Anfrage.
    PPS: Und ich habe herausgefunden warum teilweise eine Masseverbindung gefehlt hat. Immer die beiden unten Platinen eines Nutzens sind defekt, trotz Test beim Hersteller, Macht nix. Ich habe eh zu viele.

  • Es gibt immer viele Wege zum Ziel, aber meiner Meinung nach ist doch gerade der Reiz vom "SimpleCircuit", dass man eben keine zusätzliche Platine braucht. Eigentlich reichen die Steckbrücken die mit den ST-Link-Platinen kommen und zusätzlich der 220 Ohm Widersand und ein Stift aus einer Stiftleiste. Das ganze wird dann an der vorhandenen Buchse auf dem ST-Link angeschlossen. Der ST-Link wird entweder eingeschrumpft oder mit Isolierband isoliert und dann einfach "ins Gehäuse geworfen".


    Sehe aber schon: Es wird Zeit das ich mal meine Schritt-Für-Schritt-Anleitung mache. Gleich mal bei ebay neue Platinen bestellen. Da ich mittlerweile auch Webspace habe spricht nichts mehr dagegen das endlich mal anzugehen.

  • "Eigentlich reichen die Steckbrücken die mit den ST-Link-Platinen kommen und zusätzlich der 220 Ohm Widersand und ein Stift aus einer Stiftleiste."


    Da können wir gerne verschiedene Meinungen haben... Linux4Media hatte z.B. extra den Widerstand und Kondensator beim TSOP nachgerüstet auf Ihren Displays weil massig Leute Probleme mit dem IR Empfang hatten.Das war auch im easyVDR Forum deutlich zu sehen...
    Somit geht ohne diese beiden gar nichts. Denn: Welches Gerät/Baugruppe die TSOPs stört kann keiner vorhersagen. Was heute läuft muss morgen nicht mehr. Dann gibts noch das Thema das ganze ohne Gebastel sauber zum Mainboard zu bringen..


    Wer weiss was er tut kann ja Deinen Weg gehen. Ansonsten sehe ich keinen Grund auf schützende Bauteile zu verzichten.
    Deswegen ist gut dass wir ein freies Land sind...



    Einen hätte ich noch an Jörg;
    Wie wärs in die Firmware eine "Version" mit einzukompilieren die abfragbar ist ? (z.B. 20151031-blue-bl-simple-compiledby_mail@mail.com; bis auf das Ende gibt es alle Infos schon...)
    Wenn an der Firmware aktiv gebastelt wird könnte sonst schnell der Überblick verloren gehen...

  • Ich hatte jetzt seit langem mal wieder Zeit und habe mich für den Simple Circuit begeistert.
    Das ganze sieht mit der vorhandenen Platine dann so aus:

    Hi Martin, die Idee gefällt mir!


    Sehe aber schon: Es wird Zeit das ich mal meine Schritt-Für-Schritt-Anleitung mache.

    Ja, bitte! ;)


    Wie wärs in die Firmware eine "Version" mit einzukompilieren die abfragbar ist ?

    Gute Idee.
    Ole, das war mal deine Baustelle, hast du dazu Lust?


    Widerstand und Kondensator beim TSOP

    Bei meinem produktiven Simple Circuit habe ich auch Widerstand und Kondensator verbaut.
    Allerdings nicht auf einer Platine am STM32, sondern auf einer Platine, auf der auch der TSOP ist.
    Soweit ich weiß, ist es besser (insbesondere bei langen Kabeln) Widerstand und Kondensator möglichst nahe am TSOP zu haben.
    Der zweite Grund dafür ist, dass die Platine in einen Spalt in der Gehäuse-Blende geklemmt ist (der TSOP „guckt“ durch ein Loch aus der Blende heraus).
    Die Platine sieht etwa so aus, wie auf dem linken Bild im ersten Beitrag.


    Widerstand und Kondensator auf der Platine am STM32 ist natürlich besser als gar nicht.

  • Zitat

    Allerdings nicht auf einer Platine am STM32, sondern auf einer Platine, auf der auch der TSOP ist.
    Soweit ich weiß, ist es besser (insbesondere bei langen Kabeln) Widerstand und Kondensator möglichst nahe am TSOP zu haben.


    Das macht Sinn. Bei mehr als 10 (oder 15)cm löte ich meist noch direkt nen SMD Kondensator an den TSOP.

  • Wie wärs in die Firmware eine "Version" mit einzukompilieren die abfragbar ist ?


    Das wäre wohl am einfachsten über den USB Deskriptor zu erledigen. In Anlehnung an https://github.com/j1rie/IRMP_…atches/usb_hid.patch#L345 z.B. "STM32 IRMP HID-Device v1.0"

  • Kondensatoren zum Buffern der Betriebsspannung schaden nie. Am Besten natürlich direkt am TSOP. Aber wohin setzt du noch einen Widerstand?


    Guggst Du hier auf Seite 2: Der Hersteller bietet ein Datenblatt zu seinen Produkten. :wow
    Oder noch das Thema Tiefpass .


    Normalerweise bekommst du die IR-Geistersignale gar nicht mit. Bei dem Display von oben war aber der Randbereich dafür reserviert bei IR Empfang rot zu leuchten. Und zummindest bei deren genutztem Ruwido Protokoll sind da auch immer wieder mal Tastendrücke rausgepurzelt.
    Ich konnte das selbst so gut wie nie beobachten (Land). In der Stadt im Mehrfamilenhaus mit Billig-Elektronik sieht das sicher anders aus.


    PS: Ein Entwickler von Aufzug-Lichtschranken hat mir das Thema aus seiner Praxis bestätigt...

  • Ich habe den Firmware-String eingebaut.
    Allerdings nicht im USB Deskriptor, sondern in den Capabilities, die mit CMD_CAPS ausgelesen werden.
    Siehe github.


    Das sieht dann in der GUI so aus:

  • Danke für den Hinweis mit dem Datenblatt.


    Bei zwei VDRs, die ich mit einem "SimpleCircuit" IRMP ausgestattet habe, funktioniert der TSOP wunderbar ohne die Teile. Ich stimme dir aber zu 100% zu, dass man, wenn man schon hobbymäßig bastelt und es auf ein paar Cent für Teile, die der Hersteller empfiehlt, nicht ankommt, diese auch verbauen sollte.


    Da ich die TSOPs meist außen am Gehäuse verbaue (mit einem Tropfen Heißkleber unter das Gehäuse geklebt) werde ich das in meiner Anleitung mit einem SMD-Kondensator beschreiben. Den sollte man einfach zwischen die beiden Beine am TSOP klemmen können. Der Widerstand kommt in bedrahteter Bauform in die Zuleitung und wird eingeschrumpft.


    Die Platine, deren Umbau ich mit Fotos dokumentieren will, habe ich schon bestellt. Mal sehen ob ich genügend Kleinkram zusammenbekomme, dass auch die nötige Reichelt-Bestellung losgeschickt werden kann.

Jetzt mitmachen!

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