Forum: Mikrocontroller und Digitale Elektronik Displaybeleuchtung faden ohne Analog I/O


von Sebastian B. (lufti)


Angehängte Dateien:

Lesenswert?

Hallo,

Controller
- AT89C51ed2.
- kein Analog I/O

Display
- Typ: Hyundai HP12542R-DYO
- Displaybeleuchtung: 5V, 65mA, Vorwiderstand im Display eingebaut

Vor habe ich, eine Displaybeleuchtung vom Controller steuern zu lassen.
Dabei will ich nicht nur AN und AUS, sondern auch Zwischenwerte. Ich
möchte die Displaybeleuchtung einstellen können.

Ein Beispiel zur Verwendung:
Der Raum und das Display sind dunkel. Plötzlich springt die
Displaybeleuchtung an. Von 0 Auf ganz hell. Man erschrickt, und das
will ich nicht. Ich will die Beleuchtung langsam ein- und langsam
ausfaden können.

Das Problem ist, dass ich nur noch einen Pin am Controller frei habe
und dieser (P3.2-INT0) kein Analogausgang ist.

Was könnte ich tun? / Kann ich überhaupt was machen?
Es sollte so einfach wie möglich sein.

Notfalls muss ich mich mit einem EIN/AUS begnügen. In diesem Fall
möchte ich euch bitten, mir eine Schaltung zu beschreiben, mit der ich
die 5V/65mA der Displaybeleuchtung schalten kann.


Ich hoffe ihr könnt mir helfen ...


Danke .. Sebastian

von Sssssss (Gast)


Lesenswert?

such mal nach pwm ;)

von Joseph (Gast)


Lesenswert?

Dazu hab ich auch ne frage. Kann man eine Display beleuchtung einfach
und ohne bedenken an ein PMW ausgang anschliessen ?

von Sebastian B. (lufti)


Angehängte Dateien:

Lesenswert?

Bin auch grad auf PWM gestoßen.

Hab mich ein wenig schlau gemacht und bin zu dem Entschluss gekommen,
dass das für mich das richtige ist. :D

Naja, .. da gibt es nur ein Problem:
Ich benutze parallel zur Displayfunktion noch einen 1-wire Bus an P1.7,
an dem 5 DS18B20-Sklaven hängen (Digital Thermometer).
Als Anhang bei

Ich kann es mir nur so vorstellen, dass ich das PWM Signal über ein
Polling-Verfahren machen würde. Also eine Programmumfassende Schleife.
Das Problem ist, dass mein anderes Programm ab und zu länger dauern
könnte und so das PWM Signal unregelmäßig wäre.
Auch, und besonders meine 5 Thermo-Sklaven machen da Probleme. Ich
möchte die Temperatur alle 10Sek erneuern. Das wäre ja OK, nur kann
diese Kommunikation mit dem Sklaven auch mal *eine ganze Sekunde
dauern*.

Habt ihr eine Idee, wie ich das umgehen kann?

Ich möchte doch schon ein Display haben, dass nicht flackert!
Mein µC bekommt 12Mhz, hat also einen Maschinenzyklus von 1µs.
Notfalls könnte ich den Ausgang für mein PWM-Signal mit P1.7, P3.3,
P3.4 oder P3.5 tauschen.


Hoffe das geht irgendwie.

Danke im Voraus .. Sebastian

von Ralf (Gast)


Lesenswert?

@Joseph:

Nur wenn der PWM-Ausgang genügend Strom liefern kann... grins
Ansonsten über Transistor. Und ob es bei Röhrenbeleuchtung geht weiss
ich nicht, aber bei LED-Beleuchtung spricht m.E. nix dagegen.
Aber falls ich damit falsch liegen sollte, bitte ich natürlich um
Belehrung eines besseren...

von Hubert (Gast)


Lesenswert?

Das geht sogar sehr gut mit PWM!

von Sebastian B. (lufti)


Lesenswert?

Hab immernoch das Problem, keinen regelmäßgen Takt zu bekommen.
Gibt es da irgend eine andere Methode, .. sonst bringt mir PWM nix.

Dass die Displaybeleuchtung bei der Temperaturabfrage plötzlich für ne
Sekunde ausfällt oder ganz hell aufblitzt, wäre inakzeptabel.

von Benedikt (Gast)


Lesenswert?

@Sebastian Barth

Kannst du mal bitte an dem LCD nachmessen, was für ein Raster das
Anschlusskabel hat (Mess am besten die Breite von Mitte äußerster
Leiter einer Seite bis Mitte äußerster Leiter andere Seite) ?

Zu deinem Problem:
Entweder schaffst du es einen Pin vom PCA frei zu machen, oder du musst
die die PWM selber schreiben, und zwar in ein Interrupt:
In jedem Interrupt erhöhst du einen Zähler. Ist dieser größer als die
Helligkeit, setzt du den Ausgang auf 0, ansonsten auf 1. fertig

Vor dem Lesen/Schreiben eines Bytes vom DS1820 musst du die Interrupts
abschalten und am Ende wieder an, sonst haut das Timing nicht hin.

von Sebastian B. (lufti)


Lesenswert?

Das mit dem selbst gebastelten Interrupt-PWM ist nicht sichergenug für
mich zu realisieren.

Habe jetzt auch im Datenblatt nach dem Stichwort "PCA" gesucht und
viel gelesen. Leider aber nichts kapiert.
Kannst du mir kurz und grob erklären, was PCA ist und wie mir das
hilft?

Das Display habe ich leider noch nicht. Ich kann dir aber morgen, wenn
ich wieder in der Arbeit bin die Daten nennen, da ich ein
Vorgängermodell oder so etwas in der Art habe. .. Wenn ich mich recht
entsinne.

von Benedikt (Gast)


Lesenswert?

PCA ist im Prinzip nichts anderes als ein Zähler, der mit einem
festgelegten Takt hochzählt, und der Zählerstand weiterverarbeitet
wird.
Für den PWM Modus muss du also den Counter des PCAs einstellen, dass er
z.B. mit fclk/6 getaktet wird.
Nun musst du nur noch in einem der CCAPMn Register das PWM und ECOM Bit
setzen, und das entsprechende CCAPnH Register mit dem Helligkeits Wert
(0-255) beschreiben.
Der Rest läuft dann von ganz alleine ab. An Pins stehen P1.3 bis P1.7
zur Verfügung.

Ich habe mir heute auch so ein LCD bestellt, da dieses sehr wenig Strom
verbraucht wenn man die Hintergrundbeleuchtung abschaltet. Bei einem
HD44780 kam ich auch etwa 5mA bei 3,3V, bei diesem ist es ein zehntel.
Daher wollte ich mir schonmal einen passenden Stecker dafür besorgen,
denn aus dem Datenblatt habe ich einen Wert von 0,8mm errechnet, was
ich mir aber nicht so ganz vorstellen kann, da übliche Werte für den
Pinabstand 0,5mm, 1,0mm und 1,27mm sind.

von Sebastian B. (lufti)


Lesenswert?

Ich habe auch schon nach einem Stecker ausschaugehalten.
Konnte aber auch keinen finden.
Ich arbeite in einer Firma, die Kombigeräte für Autos entwickelt.

Wir haben sehr, sehr viele Samples von allen möglichen Steckern und
anderen Bauteilen. Wenn ein 1*26 Displaystecker dabei ist, kann ich dir
einen schicken. Aber das steht noch in den Wolken.

Warscheinlich bekommst du dein Display früher als ich (bei mir ne
Geldfrage :P ). Falls dies so ist, bitte ich dich mir die Pad-Daten
auch zu nennen.

Ansonsten ... Danke für die Hilfe!
Ich werden mir den 1.7er Pin freimachen und es darüber probieren.

Warscheinlich habe ich schon morgen das erste Problem damit :D

von Benedikt (Gast)


Lesenswert?

An einen Stecker zu kommen, solle für mich auch kein Problem sein (ich
arbeite ab und zu in einer Firma die sich mit LCDs beschäftigt, da
sollte auch alles mögliche an Steckern vorhanden sein.)

Entweder sind die Angaben/das Foto von Pollin falsch, oder es ist
wirklich ein komisches Rastermaß von etwa 0,75-0,85mm.

Ich habe für das Foto aus dem Datenblatt eine Gesamtbreite von 64,1mm
angenommen, und auf die Kontakte runtergerechnet.

Wie heißen diese Buchsen für die Folienleiter eigentlich richtig ? Gibt
es dafür irgendein fertiges Eagle Library ?

von Sebastian B. (lufti)


Lesenswert?

Weiter geht es hier:

Displaybeleuchtung mit PWM dimmen
http://www.mikrocontroller.net/forum/read-1-231015.html#new

von Benedikt (Gast)


Lesenswert?

Hab die Displays heute bekommen:
Der Anschluss auf der Rückseite geht zum Folienkabel, das schnell
schmäler wird. Die Pins haben dann 0,5mm, also Standartabmessung.

von Sebastian B. (lufti)


Lesenswert?

0.5mm .. was bin ich froh :D

von Benedikt (Gast)


Lesenswert?

1mm wäre mir lieber (denn davon hätte ich Buchsen da, und das lässt sich
auch besser ätzen und löten als 0,5mm), aber es ist viel besser als
0,8mm oder sonst was krummes.

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.