Forum: Mikrocontroller und Digitale Elektronik Widerstand (LCD-Kontrast) per uC einstellen.


von Danilo Reinhardt (Gast)


Lesenswert?

Hi,

ich möchte gern die Kontrastregelung eines GLCD's per Software
ermöglichen. Normal wird ja ein Poti eingebaut, jetzt müsste ich
sozusagen einen per SW einstellbaren Poti haben. Was ist hierfür ne
akzeptable (kostengünstige) Möglichkeit?

Ciao Dan

von Danilo Reinhardt (Gast)


Lesenswert?

Da mach ich mir mal selbst nen Vorschlag: PWM????

von Alex (Gast)


Lesenswert?

Soviel ich weiß gibts Potis die digital angesprochen werden können. Die
Kosten aber glaube ich nicht gerade wenig. Eine andere Möglichkeit die
man irgendwie realisieren könnte, ist über den Analogausgang (wenn er
denn einen hat) vom Controller einen Transistor zu steuern. Fällt mir
jetzt gerade so ein. Habs nicht ausprobiert müßte aber irgendwie
gehen...

von Danilo Reinhardt (Gast)


Lesenswert?

Ähmm, analogausgang? digital->analog is mir bekannt, aber andersrum mit
nem avr? Kann mich mal jemand aufklären, im datenblatt eines mega32
find ich dazu grad nix.

von Alex (Gast)


Lesenswert?

OK, der mega32 hat keinen D/A Wandler. Die haben alle nur A/D
Wandler...
Dann gehts natürlich nicht.
Für mich gibts da eigentlich nur 2 Möglichkeiten:
1. Du änderst den Widerstand über ein digital einstellbares Poti
2. Du benutzt eine Analogspg. um einen Transistor zu steuern (ist ja
auch nur ne Widerstandsänderung )

Wenn dir Möglichkeit 1 zu teuer ist, dann bleibt dir nichts anderes
übrig als dir ne steuerbare Analogspg. zu erzeugen. Da der mega32
keinen D/A Wandler hat, muß man sich da ne andere Lösung überlegen.
z.B. externen D/A Wandler. Was aber vielleicht noch viel besser ist,
wäre ein F/U Wandler. Dann kannst du die Analogspg mit nur einem
Portpin steuern.

Ob man mit PWM etwas erreichen kann ist sehr fraglich... Ich denke ohne
weiteres wird das nicht funktionieren...ich wüßte nicht wie(Kann mich
aber auch irren)

Aber wie gesagt, das sind alles nur Überlegungen. Ich habe noch nichts
davon ausprobiert.

von thkais (Gast)


Lesenswert?

Ein PWM Ausgang ist im Prinzip ein Analogausgang. Man muß nur die
Modulationsfrequenz durch einen Tiefpaß ausfiltern, schon bekommt man
eine steuerbare Analogspannung. Der einfachste Tiefpaß besteht aus
einem Elko, der die PWM-Spannung glättet. Wenn man dann noch einen OP
als Impedanzwandler anhängt, wirds noch besser.

von Daniel Roth (Gast)


Lesenswert?

Hallo,
die Kontrasteinstellung eines alphanummerischen LCDs (die
HD44780-kompatiblen) kann mit PWM ohne zusätzliche Beschaltung
erfolgen. Bei GLCDs weiß ich nicht...

Daniel

von Stephan (Gast)


Lesenswert?

Hallo zusammen

Mich würde auch interessieren, wie ich den Kontrast per PWM ändern
kann. Mein momentanes Problem ist, das ich eine negative Spannung
steuren muß. Wie muß die Schaltung aussehen, bzw was für einen
Transistor nehme ich?

Vielen Dank und noch schöne Feiertage.

MfG Stephan

von Danilo Reinhardt (Gast)


Lesenswert?

Genau das mach ich grade... nur komm ich nich besonders schnell vorran.
Sobald ich ergebnisse habe, poste ich...

von crazy horse (Gast)


Lesenswert?

das ist im Prinzip nicht anders, PWM->Tiefpass->invertierender OP. Die
PWM+Tiefpass stellt eine Gleichspannung von 0...5V, der invertierende
OP macht daraus bei V=-1 0...-5V (oder auch anderen Bereich, falls
erforderlich. Mit Transistoren: geht auch irgendwie, würde ich aber
nicht machen. Ein einfacher LM358 tuts allemal, man kann sogar gleich
noch einen aktiven Tiefpass mit einbauen, ist aber eigentlich nicht
nötig. Ich nehme bei fast allen meinen Schaltungen nur den einfachen
Tiefpass. Ist einfach nur eine Frage der Restwelligkeit und/oder
Einstellzeit. Beides nicht kritisch bei Kontrastregelung.

von Ben Zijlstra (Gast)


Lesenswert?

This is a small program how I got the backlight working with PWM written
in Bascom-AVR

' PWM op OC1B om achtergrondverlichting op te laten lichten
'

'regfile must match the chip you use in your target system
$regfile = "8515def.dat"
'crystal must match too
$crystal = 7372800

Dim X As Word

Config Timer1 = Pwm , Pwm = 10 , Prescale = 1 , Compare A Pwm = Clear
Up , Compare B Pwm = Clear Up
For X = 1023 To 0 Step -1
   Pwm1b = X
   Pwm1a = X
   Waitms 10
Next X

End

Bye
Ben Zijlstra
http://members.home.nl/bzijlstra

von Volker Wunsch (Gast)


Lesenswert?

Hallo alle,

ich mache die negative Hilfsspannug ganz einfach mit 2 Kondensatoren
und 2 Dioden sowie der PWM (Prinzip einer Ladungspumpe). Einfach den
Kondensator C1 (47nF) an den PWM - Ausgang. Eine Schottky - Diode D1
mit der Anode an den Kondensator und die Kathode an die Masse. Zweite
Diode (ebenfalls Schottky) mit der Kathode an die Verbindung C1-D1. Die
Anode geht zum Minusanschluss eines 1 µF Elkos, der gagan Masse
angeschlossen ist. Am elko habt ihr nun eine von der Frequenz Abhängige
Ausgangsspannung. Diese Konstruktion nutze ich für ein 4-Zeilige
Display mit KS066 Kontroller, da ich nur eine betriebsspannung von 3,3
V zur verfügung habe und diese Spannung nicht für das Kristalldisplay
ausreicht. Das Displaymodul selbst lässt sich durch umbestücken des
Widerstandes auf der Rückseite auf 75kOhm 1% auf 3,3 V umstellen, da
die Hersteller meistens aus Kostengründen den KS066-U einsetzen, der
von 2,7 - 5,5 V einsetzbar ist.

von Helmut Lenzen (Gast)


Lesenswert?

Versuchs mal mit dem SCI7661 von Epson das ist ein Converter fuer LC
Displays die eine negative Spannung brauchen
zur ansteuerung des Displays gibt es eine elekronisches poti X9313 von
Xicor, das stellt dann die referenz fuer den Wandler da,
dies poti beinhaltet auch eine EEprom zelle so das sich die letzte
contrast einstellung gemerkt wird, es wird mit einer Up/Down leitung
und einer Inc leitung angesteuert

von Volker Wunsch (Gast)


Lesenswert?

Warum immer so Kompliziert ???? Und zudem auch noch teuer ???

von Sven Müller (Gast)


Lesenswert?

Mit dem OP ist das ja keine schlechte Idee, aber man braucht eine
symmetrische Versorgungsspannung.
Wie wäre es denn dafür einen LTC1144 zu nehmen, an dessen Eingang das
gefilterte PWM Signal anliegt.
Alternativ ist der Vorschlag mit der Ladungspumpe auch sehr gut.

von Chaldäer (Gast)


Lesenswert?

Hi Sven,

Symmetrisch muß die Spannungsquelle nicht sein. Einen OP kannst Du auch
sehr unsymmetrisch betreiben. Der Ausgangs- und
Eingangsspannungsbereich (und die Verzerrung) ändern sich nur dadurch.

Gruß,
Chaldäer.

von Stephan (Gast)


Lesenswert?

Hallo zusammen

@Volker Wunsch
ICh habe dir von dir Beschrieben Schaltung einmal aufgebaut. Wenn ich
jetzt einen Frequenzgenerator ranhänge um mein PWM zu Simulieren bin
ich bei 15kHz immer bei ca -5V. Die 15kHz soll die PWM Frequenz meines
AVR darstellen, ich hoffe ich hab mich jetzt nicht verrechnet.

Mit dem ändern des Puls-Pausen-Verhältnisses, sollte sich die Spannung
doch auch einstellen lassen, oder etwa nicht?

Ich vermute das hierzu für 15kHz der 47 nF Kondensator zu klein ist.
Und jetzt kommt meine eigentlich Frage wie kann ich nochmals die Größe
des Kondensators berechnen? Denn tau = R*C. Jedoch mit was für einem R
soll ich den hier rechnen? Ich hoffe ich leige hiermit nicht ganz
falsch, oder etwa doch?

Vielen Dank
MfG Stephan

von Volker Wunsch (Gast)


Lesenswert?

@Stephan

Du hast recht, das sich die Ausgangsspannung in der Theorie auch über
die Pulsweite einstellen lässt. Dies ist jedoch in diesem Fall sehr
schwierig zu realisieren, da der Ladewiderstand für den Kondensator
(Ausgangswiderstand des AVR) sehr sehr klein ist gegenüber dem
Entladewiderstand (Display-Kontrast-Pin hat einige kOhm).

Daher beschritt ich hier den Weg die Ladungspumpe mit einem sehr
kleinen Kondensator aufzubauen, der nur eine sehr kleine Ladungsmenge
aufnehmen kann. Da der Widerstand des AVR-Pins sehr klein ist, ist tau
auch sehr klein. Dies hat zur Folge, das der Kondensator bei nidrigen
Frequenzen während der High-Phase immer voll aufgeladen wird.

Du kannst nun den Stromfluss des Kontrast-Pins mit hilfe der Frequenz
einstellen. Diese Frequenz kannst du über das OCR Register des Timers
in sehr kleinen Stufen einstellen.


Einstellungen für den Timer:

Wafform generation Mode = CTC,
Compare Match Output Mode =  Toggle on Comparematch,
Prescaler abhängig von deiner MCU-Frequenz,


MfG Volker

von ---- (Gast)


Lesenswert?

@Volker: Klingt ja sehr interessant. Leider weiss ich nicht, ob ich
deine textuelle Beschreibung richtig verstanden habe.

Entspricht dieser Schaltplan deiner Beschreibung?
Wenn nicht, wie muß er verändert werden?

         C1



         ||

AVR-Pin--||--+-----+

         ||  |     |

             |     V  D2

             |     -

             |     |

             |     |----------+

             |     |

             -    ---  C2

          D1 ^    ###

             |     | +        neg.Span.

             |     |

             |     |

             |     |

            -+-   -+-        -+-

created by Andy's ASCII-Circuit v1.22.310103 Beta www.tech-chat.de

Danke,
----, (QuadDash).

von Sven Müller (Gast)


Lesenswert?

@ Chaldäer : Das ist mir schon klar, aber erklär mal wie der OP eine
Negative Spannung ausgeben soll ohne negative Versorgungsspannung??

von Volker Wunsch (Gast)


Angehängte Dateien:

Lesenswert?

Hab jetzt einfach mal einen alten Schaltplan rausgesucht und nen kleinen
Screenshot gemacht

MfG Volker

von Thomas Carlitz (Gast)


Lesenswert?

Hallo,

es gibt noch eine andere Möglichkeit. Sobald das Board mit dem
Controller eine RS-232 Schnittstelle, versorgt durch den üblichen
Spannungsinverter Baustein hat (z.B. MAx-232), kann eine negative
Versorgungsspannung von einem der Ladekondensatoren entnommen werden.

Da liegen so ca. -20 Volt, die man dann per mechanischem oder
elektrischen Poti nutzen kann.

Gruß Thomas

von das dandre (Gast)


Lesenswert?

ich hab mir das wie immer nicht komplett durchgelesen, aber ich hab
glaub ich ne ganz gute lösung.

wir haben in der schule mal nen treppenspannungs generator gebaut, die
treppenspannung wurde uber nen zähler immer höher gesetzt. nun du
könntest den zähler rausschmeißen durch nen multiplexer (dahinter nen
par flip flops) ersetzen. und fertig is. wir haben das für vier bit
aufgebaut auf 8 bit wär auch kein problem (wobei 255 verschieden
kontraste übertrieben sind). dann brauchst du nur einen ausgang zu
opfern. bei intresse frag ich nen lehrer ob ich mir die unterlagen
ausleihen kann, scan es dir und schick es dir zu.

von Marco (Gast)


Lesenswert?

Hallo alle zusammen.

Schau mal auf der Seite von MAXIM nach. Die haben auch digitale Potis
drin und zwei kann man immer kostenlos bekommen. Du bekommst dann nur
regelmäßig Werbung (Papiertonne :-)). wenn Du bekannte hast, die die
Werbung auch nicht stört, bekommst Du sogar zwei pro person ;-).

MfG Marco

von Kersten D. (unbenannt-editor)


Lesenswert?

Hi!
Bin hier gerade drüber gestolpert.
MAX232 als Quelle für negative Spannungen klappt wunderbar.
Ich betreibe ein 4x40 LCD das -17V benötigt, und die erzeuge ich mit
dem MAX232+Widerstand. Eine andere Funktion hat der MAX in dieser
Schaltung nicht ;-)

Kersten

von A.K. (Gast)


Lesenswert?

Wie kriegst Du -17V aus dem MAX232?

von Kersten D. (unbenannt-editor)


Lesenswert?

Ups, hab mich getäuscht, hab grad geschaut, -17V braucht mein grafisches
Display. Die -17V erzeuge ich mit 2x ICL7660.

Der MAX versorgt mein Textdisplay und liefert "nur" -10V (Pin6) und
+10V (Pin2). Die Pins nochmal prüfen, bin mir nicht zu 100% sicher.

Kersten

von Uwe Bonnes (Gast)


Lesenswert?

Digital Potentiomenter
z.B. Reichelt DS 1803 Z-010  Potentiometer IC, DIL-16 8.40

von AxelR. (Gast)


Lesenswert?

Hallo, die Sache mit Timer2 als PWM läuft bei mir wunderbar. Ich erzeuge
mit oben genannter Schaltung (100nF,2xSchottky,100nF am Ausgang) eine
negative Spannung. Diese geht direkt auf den KontrastPin von meinem
Textdisplay (16x2Zeichen). Da die Kontrastspannung gegen VCC gemessen
wird, habe ich hier eine einstellbare Spannung, die den geforderten
Bereich von ca.4Volt locker abdeckt. Dazu ist zu sagen, dass ich mit
dieser Methode mein Display auch mit 3.3V betreiben kann. Das war auch
der eigentliche Grund für meine Schaltungserweiterung. Das man nun auch
noch den Kontrast einstellen kann ist super, war aber anfangs nicht
beabsichtigt.
Erstaunlicherweise gibt es keine Timingprobleme mit dem Display...


 AVR OC2||          neg. V_CONTR.
    o---||--o--|<--o---o
        ||  |      |
            |      |
            V     ---  100nF
            -     ---
            |      |
 GND        |      |     GND
    o-------o------o---o
(created by AACircuit v1.28.5 beta 02/06/05 www.tech-chat.de)

Gruß AxelR

(immernoch nicht von Arbeit aus angemeldet, daher die krumpelige
emailAdresse)

von Marco Beffa (Gast)


Lesenswert?

Wollte nur noch anmerken, dass man schon einen D/A Wandler mit einem AVR
aufbauen kann... vorausgesetzt man hat genug Ports frei... dann kann man
locker mit nem R/2R D/A Wandler etwas machen, denke, das wär einfacher
als mit PMW etc..

Grüsse

von Marko (Gast)


Lesenswert?

> R/2R D/A Wandler etwas machen, denke, das wär einfacher
> als mit PMW

?

Ist in Deinem Universum zufällig Angela Merkel ein Supermodel?

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
Noch kein Account? Hier anmelden.