• 24.04.2024, 20:10
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Kontrastspannung am LCD?

Samstag, 26. Dezember 2009, 14:12

Hallo,

normalerweise wird die Kontrastspannung an diesen alphanumerischen (Dotmatrix ?) -Displays ja mittels eines Spannungsteilers (zwischen Vcc und Gnd) abgegriffen - verwendet man ein Potentiometer (10kOhm ?), ist der Kontrast einstellbar. Bei meinem soll die Kontrastspannung aber erst nach der Versorgungsspannung angelegt werden (Datenblatt S.12 Fig.5). Muß ich da jetzt noch 'ne Kapazität zwischen dem Kontrast-Pin und dem Poti-Mittelabgriff gegen Masse einfügen? Und wie groß?

Achso, wenn ich grad am Fragen bin: Wenn man das Display im 4bit-Mode betreibt, müssen die nicht verwendeten Datenpins dann irgendwie auf ein festes Potential gelegt werden? (Masse?)

Danke

Samstag, 26. Dezember 2009, 23:43

Ich rechne zwar nicht damit das ein falsches timing das display killen würd aber
für nen Delay von 50ms brauchst du bei einem 10k Poti und 4.5V Zielspannung für Displayspannung etwa 50µF.
Ist nur rasch überschlagen sollte aber hinhauen.

und für 4 bit mode alle anderen auf Masse.

Sonntag, 27. Dezember 2009, 13:33

Wie hast'n das berechnet? VLCD=4,5V (+/- 0,3V) Vdd=5V (+/- 0,25V) V0 (also der Abgriff des Spannungsteilers)=Vdd-VLCD, also ca 0,5V, oder?

Ansonsten, 50µF - Hui... ich hätte max 1µF 1206er SMD-Kerkos hier. Aber hab grad gesehen, daß Reichelt jetzt auch welche mit 47µF anbietet (sogar 100µF) - zwar nur spannungsfest bis 6V, aber hier reichts ja.

Wofür braucht man eigentlich den R/W Pin? (Also welchen Sinn macht das Auslesen der Daten? iA weiß ich (der µC) doch, was in welcher Adresse stehen sollte). Sollte doch eigentlich immer auf lo reichen.

Ich würde jetzt eine Platine designen, auf die das Display wie's ist drauf gesteckt werden kann - auf der Platine dann die Kontrastspannungs-Einstellung, das lo-Nibble der Datenleitungen und R/W über einen 10k-R nach Masse gezogen und die BL-LED-Versorgung (Vorwiderstand + Ausschaltmöglichkeit über einen Transistor (Basis pulled up, über µC auf dann abschaltbar)). Als "Eingänge" der Platine dann die Spannungsversorgung, die Daten-/Steuerleitungen des LCD und das "Licht-Signal", wobei das lo-Daten-Nibble, R/W und "Licht" auch "offen" gelassen werden können. Ggf dann noch ein paar Kurzhubtaster.

Einwände/Bedenken?

Achso, Danke ;)

Montag, 28. Dezember 2009, 01:37

Kerko??? absoluter overkill!!!!
Nimm nen 47µF Elko mit 6-16V und Fertig.
Ich hab den oberen widerstand ausgerechnet und in die zeitkonstanten-formel eingesetzt.
Dazu noch Zeitkonstante auf 50mS gewählt und schon hat man einen richt Wert für den Kondensator.
Damit hat das LCD nach 50mS 2.8V.
Durch den Fusswiderstand des teilers und stromverbrauch des displays eher weniger.

Den R/W pin KANN man nutzen den braucht man um das busy flag auszulesen.
Damit wird die lcd Kommunikation etwas schneller weil man viele
Timing-Warteschleifen (die auf nummer sicher gehen)
durch eine abfrage nach busy ersetzen kann.
Kommt aber auf deine Library an vlt braucht die den pin.
Wenn du den Code auf dein Display optimierst ist es etwa gleich schnell.
Hier ist das nochmal genau beschrieben.

Montag, 28. Dezember 2009, 21:29

mit der kontrastspannung beschäftige ich mich grad auch, allerdings versuch ich die per PWM einzustellen. meine ersten halbherzigen versuche haben dabei ergeben, dass ich irgendwie den pin richtung masse ziehen muss. pixel sieht man, sobald man den pin auf unter 1 Volt gezogen hat ... ist eventuell bei deiner RC Lösung zu berücksichtigen ...

Pins offen lassen ist eigentlich immer doof, aber ich glaub bei den hd44780 displays ist das egal ... sonst würd man wohl mehr von problemen lesen :)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Dragonclaw« (28. Dezember 2009, 21:31)

Verwende keine sinnlose Gewalt. Hol einen größeren Hammer.

Montag, 28. Dezember 2009, 21:45

mit der kontrastspannung beschäftige ich mich grad auch, allerdings versuch ich die per PWM einzustellen. meine ersten halbherzigen versuche haben dabei ergeben, dass ich irgendwie den pin richtung masse ziehen muss. pixel sieht man, sobald man den pin auf unter 1 Volt gezogen hat ... ist eventuell bei deiner RC Lösung zu berücksichtigen ...

Pins offen lassen ist eigentlich immer doof, aber ich glaub bei den hd44780 displays ist das egal ... sonst würd man wohl mehr von problemen lesen :)
Ist recht einfach. einfach einen Port Pin als Ausgang nehmen, 10K dahinter + 100n. Nun kannst du die PWM so einstellen das am Hinter dem RC Glied (Kontrast) irgendetwas zwischen 0-1V ankommt. Alternativ zum feiner einstellen ein Spannungsteiler + 100n.
Das ist recht einfach so lange man mit einer Kontrastspannung >= 0V auskommt.
Etwas aufwendiger aber auch machbar ist eine Regelung einer Negativen Spannungsquelle wenn man nur +3 oder 5V VCC hat.

Dienstag, 29. Dezember 2009, 00:37

Etwas aufwendiger aber auch machbar ist eine Regelung einer Negativen Spannungsquelle wenn man nur +3 oder 5V VCC hat.


Wenn zB bereits 'n Pegelwandler auf RS232 eingeplan ist, sollte man doch dessen +/- 10V (ca) ... äh ... parasitieren können, oder?
Kerko??? absoluter overkill!!!!


??? verarbeitungstechnisch sind mir die 1206er Kerkos lieber als Löcherbohren bzw das SMD-Äquivalent zu den Radial-Elkos. Kosten tun die ja auch quasi nichts (also die kleinen <=1µF) - bei den großen KApazitäten allerdings... - ok

so, bin Deinen Hinweisen mal nachgegangen: Tau=R*C nach C umgestellt (1) und U(t)=Umax*(1-(e^(-t/Tau))) nach Tau (2) und dann (2) in (1) eingesetzt:

C=((-t)/(ln(1-(U(t)/Umax))))/R. R halt der "obere Widerstand" des Poti (=9000 Ohm), Umax=5V, U(t)=0,5V, t=50ms

korrekt?

Hab hier aber keinen 10k-Poti gefunden - dafür einen 20k. Das wären nach der Formel (R=18000 Ohm) dann ca 26µF, mit 'nem 22µF-Elko nach 50ms ca 0,6V oder halt die 0,5V schon nach gut 40ms.

richtig?

Fragt sich jetzt nur, ob die 18k jetzt den Strom nicht zu stark begrenzen (also für das LCD) (Table5, S.9)

abgesehen davon erreiche ich damit eh nicht die Timings aus dem DB, sondern nur, daß die Kontrastspannung langsamer ihren Wert erreicht als die Logikspannung - starten tun die Spannungs-Anstiege jedoch zeitgleich.

Werd das wohl mal so testen. Wegen R/W bzw den Timings ohne busy: das Display zeigt ja seinen Speicherinhalt statisch an - gegenüber dem menschlichen Auge sollte die Differenz vernachlässigbar sein, flüssige Animationen wollte ich nicht darstellen... aber Danke für die Aufklärung :) .

Hmm... Kontrast über PWM+Tiefpaß einstellen...hätte was, aber das würde mich dann immer einen Pin kosten (am einfachsten den OutputCompare eines Timers, und außerdem den Timer gleich mit einschränken...)... och nöö... jetzt geht das langsam in Richtung: Display bekommt seinen eigenen µC mit Kontrastregelung (PWM+Tiefpaß) und Helligkeit (warum nicht auch PWM), meinetwegen mit 8 Datenleitungen, µC kann wiederum irgendwie seriell instruiert werden, Tasten (ggf auch ADC) zurücksenden ... hach, ich verzettel mich schon wieder...

Dienstag, 29. Dezember 2009, 09:50

30k + 100n als Tiefpass reichen leider nicht, mal sehn ob ich noch irgendwo 10k rumfliegen hab ....

update: 10k sind anscheinend noch zuviel, um den contrast-pin in richtung masse zu ziehen, da muss ich noch weiter probiere. leider sagt das datenblatt vom display nichts über die interne pinbeschaltung aus

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Dragonclaw« (29. Dezember 2009, 12:17)

Verwende keine sinnlose Gewalt. Hol einen größeren Hammer.

Dienstag, 29. Dezember 2009, 12:19


update: 10k sind anscheinend noch zuviel, um den contrast-pin in richtung masse zu ziehen, da muss ich noch weiter probiere. leider sagt das datenblatt vom display nichts über die interne pinbeschaltung aus
dann direkt 100R + 100n oder 1µF an den Portpin.

Mittwoch, 30. Dezember 2009, 11:42

jepp, so gehts. auch wenn die resultierende spannung noch mehr einem sägezahl gleicht, aber das krieg ich noch in den griff :)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Dragonclaw« (30. Dezember 2009, 11:53)

Verwende keine sinnlose Gewalt. Hol einen größeren Hammer.

Mittwoch, 30. Dezember 2009, 13:31

das mit dem sägeuahl sollte recht egal sein, da das LCD recht träge ist.
Alternativ PWM frequenz etwas erhöhen.

Mittwoch, 30. Dezember 2009, 14:39

jepp, so gehts




wie jetzt? 100R+100nF oder 1µF (ohne R?)?

welche PWM-Frequenz?

wieviel Duty? (und welche Spannung kommt dann ungefähr raus? (wenn ich das auch mit 'nem Kontroller angehe, muß ich mit dem Experimentieren nicht ganz von vorn anfangen...)



Edit: macht so'n Kontrollerpin das überhaupt mit? Wenn beim Anschalten der C leer ist, brauch ich doch'n Widerstand, der den (kurzen) Ladestrom auf das zulässige Maximum des Pin's begrenzt, oder? Bei 5V (gegen 0V) und 20mA sollten das doch dann mindestens 250 Ohm sein, oder darf's so kurz auch mal mehr Strom sein?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »LotadaC« (30. Dezember 2009, 14:45)

Mittwoch, 30. Dezember 2009, 18:12

Das sind imho Angaben für Dauerlast, und da schafft der Mega8 sogar 40mA, solang die anderen rahmenbedingungen passen :)
250 Ohm gehen bei meinem display aber auch, hab zum experimentieren einfach ein 5k Poti als widerstand genommen. Man bekommt damit eben eine obere schranke für den maximal einstellbaren kontrast. Wär sicher auch bessser, falls man den ausgang auf dauer-high oder 100% duty cycle setzten sollte :whistling: im normalen betrieb sehe ich bei 30% on-time jedoch keine pixel mehr. spannung ist wie gesagt ein hässlicher sägezahl :)

Afaik sollte die PWM Frequenz größer als 1/RC sein. Bei 100R und 100n also 100kHz - die 8 Bit fast PWM kommt bei 8MHz leider nur bis 30kHz, von daher machs einfach so schnell wie geht :)
Verwende keine sinnlose Gewalt. Hol einen größeren Hammer.

Freitag, 1. Januar 2010, 23:00

Da gibts doch auch AVRs mit 'ner höheren PWM-Frequenz, der Tiny26 kann AFAIK 250kHz. Ansonsten sollte doch eine höhere Kapazität die Zähne verkleinern. Und was ist mit einem Tiefpaß hinter dem Tiefpaß?

Anderes Thema: da die Tinies ja irgendwie alle kein UART on Board zu haben scheinen, und es die Megas (als SMD) nur als TQFP (oder noch kleiner?) zu geben scheint, hab ich mal ein wenig geübt:



(ist mein erster gewesen - kann btw mal wer sagen, was das eigentlich für'n Chip war?)

werd den mal noch durchklingeln - das mit den beiden Pins rechts unten hab ich inzwischen gesehen...

Freitag, 1. Januar 2010, 23:12

Ordentlich Flussmittel draufpanschen (Kolophonium in Spiritus) und einen Zinntropfen drüberwandern lassen, damit kann man sowohl löten als auch solche Brücken aufknacken. Geht aber nur mit wirklich satt Flussmittel.

Ansonsten sehen die Lötstellen doch ganz nett aus!

Freitag, 1. Januar 2010, 23:25

Spiritus hab ich nicht, aber 100er Alkohol - wenn man sich die braunen Flecken links oben und rechts in der mitte ansieht ;) . Da waren ja vorher noch ein paar mehr Brücken, kA warum ich diese übersehen habe. Problem ist eher das richtige positionieren am Anfang, insbes. wenn die Pins nicht alle gerade sind (der war mit 'ner Heißluftpistole ausgelötet). Aber die Frage, ob man (also ich) das überhaupt kann, ist beantwortet. Als nächstes kommt wegen der Lightning-LED noch'n Test mit 'nem 0805er, aber das sollte jetzt wohl auch klappen.

Samstag, 2. Januar 2010, 10:03

ich belasse es jetzt bei dem einfachen TP. kapazität vieleicht etwas höher ansetzten, aber sonst reicht es aus.
Ein doppelter Tiefpass bringt laut LTSpice hier nicht besonders viel

TQFP ist noch ganz gut zu löten. QFN ist da schon schwieriger ;)
Bei Lötbrücken hilft auch Entlötlitze + flussmittel
Verwende keine sinnlose Gewalt. Hol einen größeren Hammer.

Ähnliche Themen