Hi,
ich habe aktuell mein LCD verbaut, daher kann ich nicht so einfach testen.
Ich möchte gerne die Helligkeit vom LCD nachts absenken. Also das Backlight.
Backlight ist bei mir über PIN 15&16 am LCD an 5v und GND angeschlossen. Funktioniert das, wenn ich statt PIN15 an +5v einfach nen PWM Ausgang nutze und damit dimme?
Connect pin 16 to ground and pin 15 to +5V through a series resistor. To calculate the value of the series resistor, look up the maximum backlight current and the typical backlight voltage drop from the data sheet. Subtract the voltage drop from 5 volts, then divide by the maximum current, then round up to the next standard resistor value. For example, if the backlight voltage drop is 3.5v typical and the rated current is 16mA, then the resistor should be (5 - 3.5)/0.016 = 93.75 ohms, or 100 ohms when rounded up to a standard value. If you can't find the data sheet, then it should be safe to use a 220 ohm resistor, although a value this high may make the backlight rather dim.
Ich finde dieses Tutorial bei ladyada zwar nich schlecht, hier geht man aber meines Erachtens zu wenig auf den Vorwiderstand der Hintergrundbeleuchtung ein. In den Bildern konnte ich ihn nicht sehen, textlich wurde er jedoch abgehandelt:
Next we'll connect up the backlight for the LCD. Connect pin 16 to ground and pin 15 to +5V through a series resistor. To calculate the value of the series resistor, look up the maximum backlight current and the typical backlight voltage drop from the data sheet. Subtract the voltage drop from 5 volts, then divide by the maximum current, then round up to the next standard resistor value. For example, if the backlight voltage drop is 3.5v typical and the rated current is 16mA, then the resistor should be (5 - 3.5)/0.016 = 93.75 ohms, or 100 ohms when rounded up to a standard value. If you can't find the data sheet, then it should be safe to use a 220 ohm resistor, although a value this high may make the backlight rather dim.
Auf jeden Fall sollte man einen Blick ins Datenblatt des Displays werfen, ob ein Vorwiderstand eventuell schon vorhanden ist und vor allem wie groß der Strom tatsächlich ist. Die genannten 16 mA finde ich schon etwas zu gering angesetzt. 16mA kann man auch noch an einem Arduino-Pin betreiben, also auch direkt am PWM-Pin. Bei höheren Stromstärken hingegen geht das nicht mehr, hier ist ein Transistor entweder als bipolarer Transistor oder als Mosfet nötig. wenn du sowieso ein paar höher belastbare Ausgänge für dein Projekt brauchst, kannst du auch die Transistorenarrays eines ULN2803 nutzen.
Grundsätzlich werden LEDs über den Strom angesteuert. D.h. man schaut im Datenblatt nach welche Flußspannung man etwa erreichen muß und rechnet dann aus wie groß der Vorwiderstand sein muß damit der gewünschte Strom erreicht wird. Solange man <40mA bleibt kann das ein Arduino Pin direkt treiben. Ggf. kann man den Vorwiderstand auch so groß wählen, dass man unter 40mA bleibt, das Display ist dann eben dunkler.
Um das dann zu dimmen ist PWM genau die richtige Methode. Das macht eigentlich jeder so.
Fragt sich ob Dein Backlight schon einen Vorwiderstand hat oder ob Du die ganze Zeit den Arduino und/oder das Backlight überlastest. Ich würde an Deiner Stelle auf jeden Fall mal das Datenblatt konsultieren.
Wenn im Datenblatt des Displays als Spannung für die Hintergrundbeleuchtung 5V angegeben ist dann braucht es keinen Vorwiderstand da dieser bereits integriert ist. ISt ein niedrigerer Wert angegeben ( zb 4,2V dann Brauchst Du einen Vorwiderstand.
Grüße Uwe
Hallo,
ich habe nie darüber nachgedacht, dass es sich dabei auch um eine LED Beleuchtung handelt und man einen Widerstand benötigt. Wieder was gelernt
Ich check mal das Datenblatt.
Aber: Immerhin läuft das Display jetzt seit über einem Jahr nonstop, d.h. ich würde vermuten, da ist schon ein Vorwiderstand integriert. Ansonsten muss ich sagen: Gut durchgehalten trotz Überlastung
Ich habe an LED- einen BC548b angeschlossen. Den PWM Ausgang vom Arduino habe ich dann über 1.000 Ohm an die Basis geführt. Somit war ich sicher, dass der Ausgang des Arduino unter keinen Umständen überlastet wird.
Für den Kontrast habe ich es ähnlich gemacht, da habe ich den BC548b als Spannungsteiler geschaltet, das heißt ich habe zwischen Emitter und +5V noch einen 1.000 Ohm Widerstand gelegt, und dann die Spannung am Emitter abgenommen.
Die FeinSteuerung habe ich dann von der Software machen lassen. Dass heißt, ich nutze nur einen Teil des Einstellbereiches und tune (mit Map) den entsprechend. Das funktioniert hervorragend.
Wenn Dich das genauer interessiert, kann ich am Wochenende nochmal in die genauen Parameter reingucken. Kann Dir sicher auch einen Schaltplan senden.
ArduStemmi:
Für den Kontrast habe ich es ähnlich gemacht, da habe ich den BC548b als Spannungsteiler geschaltet, das heißt ich habe zwischen Emitter und +5V noch einen 1.000 Ohm Widerstand gelegt, und dann die Spannung am Emitter abgenommen.
Die FeinSteuerung habe ich dann von der Software machen lassen. Dass heißt, ich nutze nur einen Teil des Einstellbereiches und tune (mit Map) den entsprechend. Das funktioniert hervorragend.
Ich verstehe nicht wie Du den Kontrast einstellst. Du brauchst eine Geleichspannung und kein PWM-Signal. Außerdem muß der Emittor auf Masse und der Collektor in Richtung +5V.
Grüße Uwe
Du hast natürlich Recht. Ich habe den Emitter mit Ground verbunden und den Collector über 1 kOhm an +5V. Oberhalb des Collector habe ich die Spannung entnommen und auf V0 des LCD gelegt. Zuerst hatte ich die Absicht, mit einem Kondensator die Spannung zu glätten. Dazu wollte ich fließende Ströme und anliegende Spannungen messen, um den Kondensator zu dimensionieren. (Ist der Kondensator zu klein, fliessen zu viele Ladungsträger ab, die Spannung folgt dem PWM Signal mit vernachlässigbar kleiner Phasenverschiebung, ist der Kondensator viel zu groß, lädt er sich auf 5V auf und bildet die PWM gar nicht als Spannung ab.) Beim Probieren habe ich aber festgestellt, dass es auch mit einem ungeglätten Signal an V0 geht. (Möglicherweise hilft hier irgendein Block-Kondensator, eine parasitäre Kapazität, oder die PWM Frequenz ist ausreichend hoch, um den Kontrast ohne weiteres zu steuern.) Aus diesem Grund habe ich auf den Kondensator verzichtet. Die Feinjustage habe ich dann mit der Software gemacht. Es war nämlich festzustellen, dass der Kontrast dem Duty Cycle des PWM Signal nicht linear (gemessen an seiner subjektiven Wirkung) folgte. Daher habe ich über die MAP-Funktion der ARDUINO Software aus linearen Eingaben eine in der Steigung angepaßte und parallel verschobene (immer noch lineare) Kennlinie realisiert. (Guck Dir die MAP-Funktion an, und stell dir dessen Wirkung mal als mathematische Transfomation im 2-dimensionalen Koordinatenssystem vor, dann wird klar, was ich meine!)
Am Wochenende kann ich Dir mal den Codeschnipsel und den Auszug aus dem Schaltplan schicken. Bis dahin kann ich nur in Prosa beschreiben, was ich gemacht habe.
Die Möglichkeiten auszuloten, wie man die Kontrasteinstellung auch direkt durch einen Mikrocontroller steuern kann, ist durchaus interessant. In der Regel reicht mir jedoch die einmalige Einstellung des Kontrastes, entweder durch einen Trimmer oder durch einen Spannungsteiler aus zwei Festwidersänden. Wenn sowieso die Feinjustierung über den Analogwert erfolgen muss, sehe ich keinen Vorteil gegenüber der Trimmermethode. Oder übersehe ich da einen konkreten Verwendungszweck?
Hey currymütze, mich würde echt mal interssieren wie weit du mit deiner Aquariensteuerung bist. Immerhin bauste da ja schon nen knappes Jahr dran rum und hier haben dir
ja echt viele geduldig geholfen. Es wird sicher den ein oder andern geben den dein Projekt interessiert!
Wirst du es vorstellen? Fänd ich klasse!! ;D
Hi Bytz,
kann ich mal machen. Weswegen ichs noch nicht gemacht habe: Es sind einige FUnktionen halt noch nicht funktionsfähig. Z.B. die Lampensteuerung manuell über Die RotaryEncoder habe ich immer noch nicht zum laufen bekommen.
Aber gerne mal das bisherige Ergebnis, sobald ich Zeit habe, was mit 9Wochen altem Nachwuchs nicht immer ganz so einfach ist