Displaybeleuchtung faden ohne Analog I/O

OP #223800
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
Angehängte Dateien:
OP #223803
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
Angehängte Dateien:
Gast #223804
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...
Gast #223807
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.
OP #223808
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.
Gast #223809
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.
OP #223810
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
Gast #223811
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 ?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren