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
Dazu hab ich auch ne frage. Kann man eine Display beleuchtung einfach und ohne bedenken an ein PMW ausgang anschliessen ?
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
@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...
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.
@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.
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.
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.
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
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 ?
Weiter geht es hier: Displaybeleuchtung mit PWM dimmen http://www.mikrocontroller.net/forum/read-1-231015.html#new
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.