Hallo liebe Community, ich arbeite aktuell an einem Projekt, bei dem ich mithilfe eines Raspberry Pi Zero die Tasten einer Fernbedienung ansteuern möchte. Dies wollte ich gerne mit Optokopplern realisieren, da diese recht einfach ansteuerbar sind und als Schalter dienen können. Im Internet habe ich dann nach etwas Recherche die angehängte Schaltung gefunden und prompt alle notwendigen Teile bestellt (exakt die gleichen, die dort verwendet wurden). Für mich relevant ist nur die linke Seite der Schaltung und der Optokoppler selbst, da ich keine LED ansteuere, sondern die Tasten einer Fernbedienung. Die Schaltung an sich funktioniert auch genau wie gewünscht, das habe ich getestet, nachdem ich diese nachgebaut habe. Das Problem an der Sache - und die Stelle an der ich Hilfe benötige - ist jedoch, dass die Schaltung nicht mehr funktioniert, sobald ein weiterer Optokoppler (+ Transistor zum Ansteuern) hinzukommt. Ab diesem Moment funktioniert die Schaltung nicht mehr korrekt. Sobald ich einen Gpio Ausgang aktiviere, wird immer der eine und selbe Optokoppler angesteuert, nicht jedoch der, dessen Transistor ich eigentlich ansteuere. Hat hier jemand eine Idee, woran das liegen könnte? Ich kenne mich damit leider nicht gut genau aus und weiß nicht, ob die Transistoren, die ja alle am gleichen Ground hängen das Problem sind, oder ob die 5V vom Raspberry nicht an alle optokoppler gleichzeitig angeschlossen werden können. Ich bin über jede Hilfe dankbar und würde es begrüßen, wenn ich die Bauteile nicht großartig austauschen müsste, sondern nur beispielsweise anders verbinden müsste. Die Optokoppler direkt an einen Gpio anschließen, funktioniert meines Wissens nach nicht, da diese 20ma benötigen, die ein Gpio nicht liefern kann. Falls ich hier falsch liege, lasse ich mich gerne korrigieren :) Vielen Dank im Voraus!
Mach mal ein Bild von deiner Verdrahtung. Zeig den Code wie du die GPIO ansteuerst.
Hallo :) Masse vom Raspi, von der extra Stromversorgung und Masse der Fernbedienung müssen galvanisch getrennt sein, weil da sonst ein Kurzschluß entstehen kann und deshalb nur der Optokoppler schaltet, der als erstes an war. Ich habe ein ähnliches Problem. Versuche mal, jedem Optokoppler eine Stromgegenkopplung zu verpassen am MPS2222A ... so 10 Ohm. Du mußt erreichen, daß der Raspi am Ausgang einen höheren Pegel erzeugen kann, als die externe Versorgung am Steuertransistor aufbringt. Praktisch läuft dein Steuersignal über Masse kurzgeschlossen durch den Raspi hin zum ersten, geschaltetem Pin. Signalkreis und Lastkreis müssen galvanisch getrennt sein. Da aber der Basistrom das gleiche Bezugspotential wie die 5 Volt ext. hat, ist keine galvanische Trennung gegeben.
Michel W. schrieb: > Hat hier jemand eine Idee, woran das liegen könnte? Vielleicht sind die Tasten deiner Fernbedienung als Matrix verschaltet. In deinem Screenshot ist keine Fernbedienung zu sehen. Was hast du wirklich aufgebaut?
Ingo S. schrieb: ... eine Menge Unfug. > Stromgegenkopplung > über Masse kurzgeschlossen > einen höheren Pegel erzeugen kann, als die externe Versorgung am Steuertransistor
einfache IR FB? Da könnte der Controller doch gleich das IR Protokoll funken, siehe IRMP Projekt. Die Protokolle der meisten IR FB sind bekannt und könnnen generiert werden.
Im Anhang befindet sich die Platine, die ich gelötet habe (ja, meine Lötkünste sind fragwürdig..) und der Code den ich zum Testen verwendet habe. Die Pins zum Ansteuern habe ich dabei nach Bedarf ersetzt.
Ich habe aktuell die Fernbedienung noch nicht angeschlossen, sondern an den Ausgängen der Oktokoppler lediglich per Multimeter auf Durchgang geprüft wenn der entsprechende Transistor angesteuert wurde.
Wenn du die GND Anschlüsse der Eingänge mit den GND Anschlüssen der Ausgänge verbindest, hast du keine galvanische Trennung mehr. Dann sind Optokoppler völlig sinnfrei geworden. Wenn du die GND Anschlüsse aller Ausgänge mit einander verbindest, aber die Fernbedienung ganz anders ausgebaut ist. Wird sie nicht funktionieren. Meistens sind die Tasten nämlich als Matrix angeordnet (siehe http://stefanfrings.de/mikrocontroller_buch/Einstieg%20in%20die%20Elektronik%20mit%20Mikrocontrollern%20-%20Band%202.pdf#page=79, Kapitel "Tasten-Matrix"). Wozu sind die Transistoren gut? Der Raspberry Pi kann genug Strom Strom liefern, um die Optokoppler direkt anzusteuern. 3mA reichen locker aus. Mache das so:
1 | 680Ω LED vom Optokoppler |
2 | |
3 | GPIO 1 o----[===]----|>|----| GND |
4 | |
5 | GPIO 2 o----[===]----|>|----| GND |
6 | |
7 | GPIO 3 o----[===]----|>|----| GND |
8 | |
9 | GPIO 4 o----[===]----|>|----| GND |
Die Ausgänge der Optokoppler lötest du an die Tasten-Kontakte an. Also jeweils einen Kollektor und einen Emitter an die Kontakte der Tasten. Die Ausgänge der Optkoppler sollen nicht mit GND verbunden verden.
Die Fernbedienung besitzt kein IR, sondern arbeitet über eine Radio Frequenz, die mir leider nicht bekannt ist. Daher wollte ich den Weg via Optokoppler einschlagen und die Fernbedienung direkt ansteuern. Die Masse des Raspberry und der Fernbedienung sind nicht miteinander verbunden. Die Tasten der Fernbedienung werden nur über die Ausgänge der Optokoppler geschaltet, ansonsten ist die Fernbedienung nicht mit dem Raspberry verbunden. Die beiden Stromkreise sind also getrennt. Die 5V an die Optokoppler kommen über den 5V Ausgang des Raspberry.
Michel W. schrieb: > Die Masse des Raspberry und der Fernbedienung > sind nicht miteinander verbunden. Dann müsste es ja gehen. Ich vermisse in deinen Fotos die Vorwiderstände für die LEDs der Optokoppler. Ich sehen nur Vorwiderstände an den Basen der Transistoren. Außerdem sind die Transistoren eventuell alle falsch herum gedreht. Bei meinen ist (wenn man auf die Beschriftung guckt) rechts der Emitter. Der gehört an GND, nicht an die LED.
Ich habe die 5V vom Raspberry direkt abgegriffen und zwei 100 Ohm Widerstände in Reihe dahinter angeschlossen, um auf 200 Ohm zu kommen. Dahinter sind dann alle Eingänge der LED der Optokoppler an dem Ende des zweiten 100 Ohm Widerstand angeschlossen. Liegt hier vielleicht der Fehler? Muss jeder Optokoppler für sich alleine die 200 Ohm Widerstand erhalten?
Michel W. schrieb: > Liegt hier vielleicht der Fehler? Ja Michel W. schrieb: > Muss jeder Optokoppler für sich alleine die 200 Ohm Widerstand erhalten? Ja
du musst eben auf der linken Seite die 5V und GND vom Raspberry nehmen und rechts 9V und GND von der 9V Blockbatterie der Fernbedienung, so besteht keine galvanische Verbindung zw. den beiden Schaltungsteilen. Du könntest aber auch einen IR-LED mittels Transistor an den RPI klemmen und die Signale direkt verschicken.
Stefan ⛄ F. schrieb: > Der Raspberry Pi kann genug Strom Strom > liefern, um die Optokoppler direkt anzusteuern. ja genug ist relativ, mit 3mA Rv um 680 Ohm bist du dabei und sicher für den PI Stefan ⛄ F. schrieb: > Wenn du die GND Anschlüsse aller Ausgänge mit einander verbindest, aber > die Fernbedienung ganz anders ausgebaut ist. Wird sie nicht > funktionieren. Meistens sind die Tasten nämlich als Matrix angeordnet stimmt! Wenn Optokoppler DANN jeder Ausgang nur ein Taster und nicht alle GND zusammen, dann klappts auch mit einer Matrix, man muss nur schauen wo + C(ollector) und - E(mitter) liegt für den OptoTransistor! Bessere helfen CNY17-F4 CTR min 100% reicht also für 3mA sekundär Eine reine Transistorlösung klappt nur WENN es keine Matrix ist, aber dann die GND links und rechts verbinden sonst offen lassen
:
Bearbeitet durch User
Michel W. schrieb: > Ich habe die 5V vom Raspberry direkt abgegriffen und zwei 100 Ohm > Widerstände in Reihe dahinter angeschlossen, um auf 200 Ohm zu kommen. > Dahinter sind dann alle Eingänge der LED der Optokoppler an dem Ende des > zweiten 100 Ohm Widerstand angeschlossen. Ah, das habe ich nicht gesehen. Ja das kann man machen, wenn immer nur ein Optokoppler gleichzeitig angesteuert wird. > Dahinter ... Liegt hier vielleicht der Fehler? Glaube nicht. Wenn die Transistoren auch richtig herum gedreht sind, sehe ich im Aufbau keinen Fehler. Am besten zeichnest du mal einen kompletten Schaltplan wo auch die geplanten Verbindungen zur Fernbedienung sichtbar sind. Die Fernbedienung selbst kannst du als Blackbox darstellen. Welche Transistoren verwendest du konkret?
Thomas O. schrieb: > > Du könntest aber auch einen IR-LED > mittels Transistor an den RPI klemmen > und die Signale direkt verschicken. DAS wäre wohl zu einfach? Ok, das Protokoll der Fernbedienung (z.B. "NEC"-IR-Code) und den Code jeder einzelnen Taste müsste man herausfinden. Gruss
Bei mir tut es seit Jahr und Tag ein CD4066 anstelle der Optokoppler um eine Fernbedienung anzusteuern.
Michel W. schrieb: > Screenshot_20211212-164433.png Schräger geht's wohl nicht. Quellcode als unscharfes PNG Brrrr...
Oliver S. schrieb: > Bei mir tut es seit Jahr und Tag ein CD4066 anstelle der Optokoppler um > eine Fernbedienung anzusteuern. Sollen viele Tasten ersetzt werden, gehen auch 2 Stück CD4051 für bis zu 64 Tasten (8*8 Matrix).
Forist schrieb: > Schräger geht's wohl nicht. > Quellcode als unscharfes PNG > > Brrrr... wieviel man wohl in 141 KB png als Code einstellen könnte?
Stefan ⛄ F. schrieb: > Am besten zeichnest du mal einen kompletten Schaltplan wo auch die > geplanten Verbindungen zur Fernbedienung sichtbar sind. Im Anhang ist die Schaltung, so wie sie aktuell aufgebaut ist. Beispielhaft für zwei Optokoppler jeweils mit einem Transistor zum Schalten an einem Gpio (3.3V). Die angesteuerten LEDs sind dabei als Optokoppler zu verstehen. Hierbei wäre jeweils nur ein 3.3V Eingang aktiv. Die Fernbedienung kann erstmal außen vorgelassen werden, Ziel ist es jeden Optokoppler einzeln aktivieren zu können, so dass dessen Ausgang Durchgang geschaltet bekommt. Liegt hier ein Fehler vor?
Michel W. schrieb: > Liegt hier ein Fehler vor? Nö. Teste mal ob die Ausgänge des Raspi funktionieren, ganz unabhängig von deiner Schaltung und mit einem anderen Testprogramm (bzw. Kommandozeile).
Vielen Dank für die rege Anteilnahme an alle Beteiligten! Nachdem ich durch eure Antworten sicherstellen konnte, dass die Schaltung grundsätzlich funktionieren muss, habe ich noch einmal akribisch alle Kontakte geprüft und festgestellt, dass die 5V Zuleitung einen "Wackler" hatte. Nachdem ich diese neu verdrahtet habe, funktioniert die Schaltung jetzt korrekt!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.