Hey, ich habe ein Olimex AVR-Board mit Atmega644 und ein 128x64 Grafikdisplay(Displaytech). Ich möchte es wie im Schaltplan abgebildet verschalten, allerdings hält der Olimex Festspannungsregler nur 500mA aus, laut Datenblatt will die Anode aber normal 500mA. Deshalb habe ich überlegt, alles außer der Anode/Kathode mit an den Strom vom AVR-Board zu hängen und die Anode über ein Poti mit 4.5V von einem anderen Netzteil zu betreiben. Da man dafür bestimmt einiges beachten muss (und hier im Forum von vielen zickigen Displays zu lesen ist) wäre es nett wenn ihr mir sagen könntet was ich in der Schaltung ändern oder hinzufügen muss. Danke schonmal! MfG Bastian
Moin Moin! 500 mA klingen recht viel - hast du das aus dem Datenblatt? MfG Matthias
kommt mir auch viel vor, hab selbst eins in den letzten beiden projekten in verwendung, die wollen 200mA (gleiche auflösung, muss aber nicht dein modell sein) nennst du uns die genaue bezeichnung?
Hallo! Also es ist ein Displaytech Ltd 64128A, bei reichelt nur mit "64128A LED" zu finden. Da sind dann drei Datasheets zu sehen, ich habe mich bisher nach dem obersten gerichtet, da steht "Supply current for back light Typ 500 mA". Jetzt habe ich auchmal das dritte angeschaut (das zweite kommt wegen der anderen Firma nicht in Frage) und da ist eine Box wie im Bild angehängt. Daraus werde ich aber nicht so schlau. Hab das Display versuchsweise mal angeschlossen an die Versorgung vom Board, das fand die aber gar nicht lustig ;) Was meint ihr zum Schaltplan? Danke schonmal! MfG Bastian
Hi Welches hast du denn genau? Dort sind 4 Typen angegeben. Vorwiderstand benutzt? MfG Spess
Also das Backlight ist weiß, die Pixel blau ;) Ja, es ist ein 1k Poti dazwischen gewesen. Mein Multimeter hat auch etwas von 600mA behauptet.
Eine 40mA Beleuchtung mit 600mA zu quälen ist schon mutig. Hat wohl das Netzteil nicht mehr hergegeben. Ich nehme an, das Poti war am Anschlag, sonst wären da kaum 600mA geflossen - bei einem 1K Poti in dieser Rolle ist der Spielraum zwischen "viel zu hell" und "ich seh nix" minimal - und wenn du den doch noch strapaziert kriegen solltest leuchtet sehr bald das Poti. Ansonsten ist das Ohm'sche Gesetz dein Freund und Helfer bei der Dimensionierung des Widerstands. Welcher Typ Display es ist sollte sich ja wohl geklärt haben.
Hi
>Ja, es ist ein 1k Poti dazwischen...
Ein Poti ist dafür völlig ungeeignet, da es eine zu geringe
Verlustleistung hat. Wenn da aber wirklich 600mA geflossen sind, stand
das Poti möglicherweise auf 0 Ohm. Hast du ein regelbares Netzteil?
MfG Spess
Hab mich jetzt beim BackLED entschuldigt und jetzt strahlt es wieder ;) Mach die Spannung mit nem AC/DC Adapter für die Steckdose und hol mir den Saft vom Olimex AVR-Board. Habs jetzt 100 Ohm hinter das Poti geschalten und jetzt sieht die Sache schon besser aus. Allerdings erzeugt das Ding an V- gerade -6 V, obwohl da doch -4.2 V raus sollten? Naja, jetzt bau ich erstmal überall fleißig Widerstände statt Potis ein...
Hi >Allerdings erzeugt das Ding an V- gerade -6 V, obwohl da doch -4.2 V raus >sollten? Was misst du da? Und wo? MfG Spess
Danke schonmal für die Hilfe! Ich habe jetzt die erwähnten 100 Ohm vors Poti gelegt und die Helligkeit ist ganz ok. Der Festspannungsregler vom Olimex liefert die 5V. Aber leider gehts jetzt trotzdem nicht: Aus VOUT (V-5V) vom LCD kommen ja normalerweise -5 Volt raus, allerdings sind es manchmal -3 V und manchmal auch 0 V. Als am Anfang -8 V rauskamen habe ich mit den Potis den benötigten Widerstand zwischen V0 und VOUT bestimmen können: 500kOHM! (Datenblatt VDD-V0 8.5V) Dann stimmte das ganze auch kurzzeitig. Aber der Festspannungsregler vom AVRBoard wird echt heiß. Außerdem wollten die zwei Shiftregister SN74AHC595N nicht mehr: Sie haben teilweise undefinierte Pegel wie 1.3 oder 3.4 und das obwohl OE auf Masse und SRCLR an VCC liegen. Die Spannung an ihnen beträgt auch saubere 5V, aber irgendwie scheint das Display die zu ärgern. Ich habe sogar den Code mitgeschickt, das ist aber nur eine von tausend Versionen die alle funktioneren müsste (die Level am Chip stimmen auch). Hoff ihr könnt den Fehler ausmachen, denke das Display müsste anders beschalten werden! Danke nochmal! MfG Bastian
1 | //in init Methode:
|
2 | DDRDISP |= SRCLKD | SERD | RCLKD | ENABD | RESETD; |
3 | |
4 | //in header-file:
|
5 | #define DDRDISP DDRC
|
6 | #define PORTDISP PORTC
|
7 | #define SRCLKD _BV(7)
|
8 | #define SERD _BV(6)
|
9 | #define RCLKD _BV(5)
|
10 | #define ENABD _BV(4)
|
11 | #define RESETD _BV(3)
|
12 | |
13 | |
14 | void writeShiftReg(unsigned int data){ |
15 | unsigned int counter, bitPos = 4096; |
16 | PORTDISP &= ~SRCLKD; //Set CLK low so first value can be taken with first rising clock |
17 | PORTDISP &= ~RCLKD; |
18 | for(counter=0; counter<12; counter++) |
19 | {
|
20 | if(data & bitPos) |
21 | PORTDISP |= SERD; //if bit is set, set DATA high |
22 | else
|
23 | PORTDISP &= ~SERD; |
24 | PORTDISP |= SRCLKD; //rise CLK |
25 | bitPos>>=1; |
26 | PORTDISP &= ~SRCLKD; //drop CLK |
27 | }
|
28 | PORTDISP |= RCLKD; |
29 | }
|
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.