Transistor als Schalter für Hintergrundbeleuchtung eines HD44780

  • Hallo,
    ich habe eine Frage bzgl. der Beschaltung eines Transistors als Schalter für die Hintergrundbeleuchtung eines Displays. Ich nutze allerdings kein RPi, sondern einen ESP8266 (NodeMCU). Das sollte für die gegebene Frage allerdings nicht relevant sein. Das ganze sollte sich 1:1 auf den Pi übertragen lassen.
    Ich verwende für die Ansteuerung einen I2C Adapter wie es hier beschrieben ist.
    Das I2C Board hat an der Seite zwei Pins auf denen ein Jumper steckt. Entfernt man diesen, geht die Hintergrundbeleuchtung aus.
    Ich würde die Hintergrundbeleuchtung nun gerne über einen GPIO Ein-/Ausschalten. Grund ist, dass der ESP via USB an meinem Verstärker angeschlossen ist und somit ausgeht, wenn der Verstärker aus geht. Das Display soll dann mit ausgehen (wird durch externes Netzteil versorgt).


    Ist denn mein genereller Gedanke, das mit einem Transistor zu lösen korrekt?


    Ich hätte jetzt einfach die beiden Pins für die Beleuchtung am I2C-Adapter an den Emitter und den Kollektor angeschlossen und einen GPIO an die Basis.
    Nun hat der Transistor ja auch einen verstärkenden Effekt. Muss ich dabei irgendwas beachten (ich vermute mal ja)?
    Was für einen Transistor muss ich benutzen? Habe ein Sortiment verschiedener NPN Transistoren hier.


    Danke schonmal für Eure Antworten!

  • Deine Angaben sind kaum nachvollziehbar. Poste mal einen Schaltplan.

  • Das sollte ohne Probleme gehen. Die Hintergrundbeleuchtung wird über VCC und Ground des Pegelwandlers per Jumper mit 5V versorgt.
    Wenn du stattdessen einen HGW Transistor dazwischen schaltest, müsste das gehen. Viel Strom kann das Display nicht brauchen. Ein gewöhnlicher BC547C sollte es tun. Den GPIO-Pin zur Sicherheit mit 1KOhm an die Basis. Ggf. noch einen 10-20 KOhm Pulldown-Widerstand.
    PS: Schau dir den Aufbau genauer an - beim NPN-Tranistor legt man normalerweise die zu schaltende Last vor den Collector. Liegt die Displaybeleuchtung hinter dem Jumper (was wahrscheinlich ist), dann solltest du eigentlich einen PNP-Transistor nehmen. Dann musst du aber ggf. noch das GPIO-Signal invertieren.
    Da fällt mir noch was ein: Wenn du keinen gemeinsamen Ground hast, wird das mit dem Transistor möglicherweise nicht klappen. Dann nimm lieber einen Optokoppler.


    Wie versorgst du das Display mit einem externen Netzteil, wenn dein Microcontroller am USB hängt? Hast du nicht beides durch den Pegelwandler verbunden? Wozu brauchst du da überhaupt eine externe Versorgung? Hast du nur die Datenleitungen am Pegelwandler und das Display am externen Netzteil? Wozu das? Häng doch alles zusammen. Microcontroller an Verstärker, Pegelwandler an Microcontroller (incl. VCC/GND), I2C-Display an Pegelwandler. Wenn der Verstärker aus ist, ist auch alles andere aus. Und du sparst dir das Netzteil. Die paar mA von Controller und Display sollten den USB-Anschluss des Verstärkers nicht jucken.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

    Edited once, last by Gnom ().

  • Hier mal ein Bild zur Verdeutlichung. Leider gab es den I2C Adapter nicht in Fritzing deswegen mal wunderschön mit Paint :)


    Ja, warum hab ich ein extra Netzteil? Eigentlich weil das USB Kabel direkt in den ESP geht und ich dort nicht an 5V ran komme. Allerdings kam mir gerade die Idee, den ESP einfach über die GPIOs (Vin und GND) zu versorgen.
    Könnte also einfach eine MicroUSB Buchse hinzufügen und von dort sowohl den BD-LLC als auch den ESP mit 5V versorgen. Damit sollte sich das mit dem Transistor erledigt haben.


    Ansonsten hatte ich mir den Anschluss des Transistors so vorgestellt wie im Bild zu sehen ist (auch wenn jetzt wahrscheinlich nicht mehr relevant).


    [Blocked Image: http://abload.de/img/unbenannt0vu3z.png]


    Edit:
    Hab das eben mal schnell umgesteckt und funktioniert so. Also ich gehe jetzt vom USB des AVR in eine MicroUSB Buchse die auf dem Bradboard steckt und versorge von dort den BD-LLC und den I2C Adapter mit 5V und den ESP über Vin mit 5V. Das mit dem Transistor hat sich also eigentlich erledigt. Trotzdem würde mich interessieren ob das so funktioniert wie aufgemalt bzw. wie es richtig sein müsste.
    Vielen Dank für den Denkanstoß :-)

    Edited once, last by s0nny ().

  • Abgesehen davon, dass es verwirrend ist, einmal rot für GND, dann wieder für 3,3 Volt, blau für Vcc, dann wieder blau für GND zu benutzen, du oben schreibst, dass du 5 Volt für den ESP nimmst, in der Zeichnung der ESP wieder an 3,3 Volt hängt ?
    Der ESP darf doch nur 3,3 Volt, oder ?

  • Prinzipiell müsste es gehen. Die Basis müsstest du noch mit einem 10K Widerstand auf Ground ziehen, damit der Transistor nicht versehentlich durchschaltet wenn kein Signal vom GPIO anliegt, aber die Katze dran vorbeischleicht. (Oder, falls vorhanden, interner Pulldown-Widerstand des ESP.)
    Und wie gesagt, die Last liegt normalerweise vor dem Kollektor. Am Emitter arbeitet der Transistor als Verstärker und weniger als Schalter. Da müsste man den Aufbau der Platine kennen. Vermutlich liegt die Beleuchtung hinter dem Jumper. In dem Fall dürfte das aber kaum ernsthaft relevant sein.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • üblicherweise ist BL beim HD44780 nur A + K


    A muss (ggffs mit Rv) an +V und K an Collector vom Transistor
    Der Emitter vom Transistor muss an GND wenn es nicht etwa schon auf der Platine verdrahtet ist.

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Kann in dem Fall kaum sein, denn wenn er den Jumper steckt, leuchtet es ja... die beiden Pins des Jumpers sind dann wohl kaum Anode und Kathode der Beleuchtung, sondern VCC und Anode (oder weniger wahrscheinlich Kathode und Ground). Wenn man direkt an die beiden Pins (13/14 oder 15/16) in der Reihe geht, stimmt es schon. Der Jumper ist wohl eher dazu gedacht, dass man ein Poti zur Helligkeitsregulierung zwischenschalten kann.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!


  • Kann in dem Fall kaum sein


    ich schrieb ja üblicherweise und ohne den genanuen Plan zu kennen ist alles raten.


    Es ist ja hier nicht üblich mal Fakten zu liefern sondern nur prosa.

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Edited once, last by jar ().

  • Nein, nicht alles nur raten, sondern eine Frage der Logik.
    Die Module haben üblicherweise zwei Pins A+K für die Hintergrundbeleuchtung, da hast du Recht. Aber wenn du A+K kurzschließt, leuchtet nichts. Der Jumper muss also in der Strecke zwischen Vcc und Anode oder zwischen Kathode und Ground liegen. (Komplizierter wirds wohl kaum sein.)


    Evtl. gibt's auch die Möglichkeit, die Beleuchtung über einen entsprechenden Befehl ein-/auszuschalten. Manche I2C-Display-Platinen schalten die Beleuchtung über einen Transistor. Wäre dann eine Frage der Firmware, ob man die Beleuchtung auch softwareseitig schalten kann.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

    Edited once, last by Gnom ().

  • Wenn er das tatsächlich exakt so verkabelt hat wie im Schaltplan aus Beitrag#4 , dann wird er sich bereits etwas zerschossen haben.


    Vom "DC 5V" Gebilde geht eine ROTE Leitung auf den Levelshifter "BLD-LLC" und auf GND des Displays. Auf dem Levelshifter geht der gegenüberliegende Punkt von ROT auf 3V3 des ESP.
    Vom "DC 5V" Gebilde geht eine BLAUE Leitung auf den Levelshifter "BLD-LLC" und auf 5V des Displays. Auf dem Levelshifter geht der gegenüberliegende Punkt von BLAU auf GND des ESP.


    Das wird meiner bescheidenen Meinung nach fürs Display und/oder ESP nicht gesund sein.

  • Stimmt. Anzunehmenderweise ist auf der Zeichnung VCC und Ground am Display vertauscht... hoffen wir mal, dass es nur auf der Zeichnung so ist... :rolleyes:

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!


  • Nein, nicht alles nur raten, sondern eine Frage der Logik.


    ich mag nicht mehr mit dem meisten Gestammel hier mit Logik ranzugehen, ist zu oft schiefgegangen und hat niemanden geholfen.


    Wer so aus dem Kaffeesatz lesen kann sollte Lotto spielen :)



    Edit:
    Hab das eben mal schnell umgesteckt


    klar eben mal falsch stecken und umstecken wird immer DIE Lösung sein.

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Edited once, last by jar ().

  • Jar, auch wenn du mal korrigiert wirst, weil deine Aussage die Fragestellung nicht trifft, musst du nicht gleich beleidigt sein... Hier erwartet keiner, dass du die Weisheit mit Löffeln gefuttert hast. Wenn du aber Logik mit Kaffeesatzlesen gleichsetzt, hast du ein sehr gewöhnungsbedürftiges Wissenschaftsverständnis. Da haben wir von dir schon Konstruktiveres gelesen.
    S0nnys Ansatz ist absolut nachvollziehbar. Die Steckbrücke wirkt wie ein Schalter - warum soll er die nicht durch einen Transistor ersetzen. Die beiden Jumperpins sind definitiv nicht Anode und Kathode der Beleuchtung (womit ich nicht sagen will, dass du das jemals behauptet hättest).
    Und was er umgesteckt hat ist die 5V Stromversorgung über den USB des Verstärkers statt über ein externes Netzteil. Auch da seh ich keinen Anlass, ihm irgendwelche Fahrlässigkeiten zu unterstellen.
    Die Zeichnung ist falsch, das ist klar. Aber ich nehme mal an, dass er clever genug war, in der Realität das "blaue" Kabel an Ground zu pinnen... bzw. ich bin sicher, dass er das so gemacht hat, denn es lief ja bereits vorher so.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Guten Morgen.


    Ihr habt vollkommen recht, die Zeichnung ist falsch. Zu meiner Entschuldigung, es war spät als ich es gezeichnet habe :D Am I2C Adapter sind VCC und GND vertauscht. Aufgebaut habe ich es natürlich richtig, sonst würde es ja auch nicht funktionieren.



    ...du oben schreibst, dass du 5 Volt für den ESP nimmst, in der Zeichnung der ESP wieder an 3,3 Volt hängt ?
    Der ESP darf doch nur 3,3 Volt, oder ?


    Ja richtig, der ESP darf nur 3,3V, es handelt sich aber um einen NodeMCU. Dieser hat einen Spannungsregler verbaut damit man ihn auch direkt über 5V per MicroUSB oder den GPIO für V_in betreiben kann, an den man bis zu 20V anschließen kann.




    Die Module haben üblicherweise zwei Pins A+K für die Hintergrundbeleuchtung, da hast du Recht. Aber wenn du A+K kurzschließt, leuchtet nichts. Der Jumper muss also in der Strecke zwischen Vcc und Anode oder zwischen Kathode und Ground liegen. (Komplizierter wirds wohl kaum sein.)


    Evtl. gibt's auch die Möglichkeit, die Beleuchtung über einen entsprechenden Befehl ein-/auszuschalten. Manche I2C-Display-Platinen schalten die Beleuchtung über einen Transistor. Wäre dann eine Frage der Firmware, ob man die Beleuchtung auch softwareseitig schalten kann.


    Ja richtig, also der Jumper dient halt als Schalter und ist zw. Anode und VCC angeschlossen, habe ich gerade mal durchgemessen. Und Softwareseitig gibt es ebenfalls die Möglichkeit des Ein-/Ausschaltens.



    klar eben mal falsch stecken und umstecken wird immer DIE Lösung sein.


    Woher weißt du denn, dass ich es falsch gesteckt habe? Machst du das anhand des Bildes fest, auf dem ich versehentlich einen Fehler eingezeichnet habe, an einer Stelle, die nach dem Umstecken überhaupt nicht mehr relevant ist?


    Tut mir leid wenn ich durch den Fehlerhaften Plan und mangelnde Informationen Verwirrung gestiftet habe. Auf jeden Fall vielen Dank für Eure Antworten :) :thumbs1:

    Edited once, last by s0nny ().

  • Falls Du so einen I2C LCD Adapter wie bei deinem Link verwendest, brauchst Du keinen Transistor zum Schalten der LCD Beleuchtung. Der Transistor ist bereits auf dem ( u. vielen anderen ) Adapter(n) verbaut u. kann per I2C Befehl, die LED für die Hintergrundbeleuchtung ein- / ausschalten. Den Jumper verwendet man i.d.R. zum deaktivieren der Beleuchtung bzw. zum ändern der Helligkeit, indem man statt des Jumpers noch einen Widerstand ( Rv ) in Reihe für die LED schaltet.


  • Falls Du so einen I2C LCD Adapter wie bei deinem Link verwendest, brauchst Du keinen Transistor zum Schalten der LCD Beleuchtung. Der Transistor ist bereits auf dem ( u. vielen anderen ) Adapter(n) verbaut u. kann per I2C Befehl, die LED für die Hintergrundbeleuchtung ein- / ausschalten. Den Jumper verwendet man i.d.R. zum deaktivieren der Beleuchtung bzw. zum ändern der Helligkeit, indem man statt des Jumpers noch einen Widerstand ( Rv ) in Reihe für die LED schaltet.


    Ja ist richtig. Nutze die Abschaltung per Software auch in meinem Programm.
    Hier ging es allerdings darum, dass der ESP am USB vom Receiver hängt und somit auch keinen Strom mehr kriegt wenn dieser abgeschaltet wird. Da das im Programm nicht vorhersehbar ist, kann auch das Display zuvor nicht mittels backlight() deaktiviert werden, das Display bliebe halt einfach an. Jetzt versorge ich das Display aber auch einfach über den gleichen USB Port und damit hat das Display dann auch keinen Saft mehr und geht einfach mit aus.

  • Mir erschließt sich leider der Sinn dieser Konstruktion nicht ganz. Wenn Du das ESP Modul eh schon am USB Port betreibst, dann könnten die 20mA ( je nach Betriebsart des ESP Moduls ) für die LED Beleuchtung, evtl. auch noch für den USB Port machbar sein. Vermutlich besser wäre es, ESP Modul incl. LED Beleuchtung am externen Netzteil zu betreiben und nur die Spannung vom AVR über einen Spannungsteiler o. Optokoppler o.ä. durch den ESP für Schaltaufgaben auszuwerten.