Hallo, Ich habe mir aus der Bucht ein Arduino LCD-Keypad shield [0] gekauft. Im großen und ganzen ist es ein LC-Display und ein paar Taster die über eine Widerstandskaskade mit einem AD-Pin verbunden sind. Die Hintergundbeleuchtung des LCD sollte über ein Transistor zwischen der Kathode und GND dimmbar sein. Nach längerer Recherche nach dem genauen Schaltplan habe ich herausgefunden, dass die lieben Hersteller an der Basis dieses Transistors einen Widerstand vergessen haben. Siehe Schaltplan im Anhang. (Bei der Beschriftung D10 ist der PWM Pin angeschlossen) Wegen dem vergessenen Widerstand wird der Mikrocontroller Pin wenn er auf High ist über die Basis-Emitter Diode des Transistors kurz geschlossen. Das hab ich festgestellt indem ich den Pin des µC als Ausgang auf high gesetzt habe und dann wieder zurück eingelesen habe. Wenn hier nicht high anliegt, ist der interne Spannungsabfall zu hoch -> Pin ist kurzgeschlossen. Hier [1] ist alles noch mal beschrieben, das ganze ist mir nicht selbst eingefallen. Das Testprogramm finden man auf Seite 4, letzter Post. (LCDKeypadCheck.pde.zip) Die beste Lösung für dieses Problem wäre,an der Basis des Transistors einen Widerstand an zu bringen, das geht aber nicht, weil über der betreffenden Leiterbahn das LCD liegt und ich es nicht schaffe es aus zu löten. Anderer Lösungsvorschlag, eine Diode (mit U_f kleiner als U_f der BE-Diode des Transtors) zwischen dem µC Pin und der Basis des Transistors anbringen. Ich hab nur leider keine Schottky oder Germaniumdiode herumliegen. (Ich kann an dieser Stelle auftrennen.) Dritte Lösung: An der Betreffenden stelle eine Basis-Schaltung einbauen, wie im zweitem Anhang skizziert. (Einen BC47 hab ich ich gefunden.) Jetzt das eigentliche Problem: Die Methode um nach zu schauen ob der Pin kurzgeschlossen ist oder nicht, gibt mir noch immer an, dass der Pin kurzgeschlossen ist. Jedoch müsste die Basisschaltung ja bei High am Pin sperren, und damit dürft kein Strom fließen, oder hab ich hier einen Denkfehler? lg Ulrich [0] http://www.ebay.com/itm/1602-LCD-Board-Keypad-Shield-Blue-Backlight-For-Arduino-LCD-Duemilanove-Robot-/170928504704 [1] http://forum.arduino.cc/index.php?topic=96747.0
Wenn du den R7 nicht an VCC legst sondern an D10 und in die Kollektorleitung noch einen 47 Ohm Widerstand einfügst, dann ist alles OK.
Danke Hubert, war deine Antwort auf das erste Schaltbild bezogen? Ich kann die Verbindung zwischen R7 und der Basis von Q1 leider nicht auftrennen, weil mechanisch nicht erreichbar. :( Ansonsten wäre das natürlich die logischste Lösung gewesen. Das einzige, das ich machen kann ist zwischen dem µC Pin und der Basis des Transistors noch etwas einfügen. Da wär mein Vorschlag das gewesen, was man im zweiten Bild sieht. lg Ulrich
Ulrich schrieb: > Das einzige, das ich machen kann ist zwischen > dem µC Pin und der Basis des Transistors noch etwas einfügen. Dann hier einen 1k Widerstand einfügen, ein Transistor ist sicher nicht notwendig.
Danke, werde ich ausprobieren. 1k ist wsl zu viel (5V *1kOhm/5.7kOhm = 0.88 > 0.7) aber mit 470 Ohm müsste es funktionieren. Hast du vl noch eine Idee wieso die Basischaltung nicht funktioniert?
Du kannst in deiner Basisschaltung Q1 nie ganz aufmachen und auch nie ganz sperren.
Danke nochmal! Ich glaube ich habe Basischaltungen noch immer nicht ganz verstanden. Ich werde mir das ganze nochmal ansehen. lg Ulrich
Du hast am Kollektor der Basisschaltung kaum mehr als 0,7V. Wenn du den Emitter auf high legst, dann betreibst du den Transistor invers. Das heisst der Kollektor ist negativer als der Emitter. Das Problem hat also nicht direkt mit der Basisschaltung zu tun sondern mit dem nachfolgenden Transistor.
Danke, an die inverse Betriebsweise hab ich irgendwie nicht gedacht. Irgendwie bin ich davon ausgegangen, dass der Zusatz transistor sperrt, wenn der pin high ist. Ich glaub jetzt hab ichs verstanden.
Warnung an Benutzer einiger Hersteller LCD-Tastatur Schild http://forum.arduino.cc/index.php?topic=96747.0 Das verwirrt mich mehr als ich da schlau draus werde !? was ist denn nun die beste Lösung ?
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.