Moin,
ich habe ein LCD Display von Reichelt über einen I2C an einen
MSP430-F2013 von TI angeschlossen.
Das Display zu betreiben war nicht das große Problem, konnte mir die
Texte anzeigen lassen, die ich wollte.
Als ich aber die Hintergrundbeleuchtung angeschlossen hatte, leuchtete
zwar die Beleuchtung, aber das Display reagierte nicht mehr. Mehrmaliges
neu starten brachte auch keinen Erfolg (am Quelltext hatte ich bewusst
nichts geändert).
Das war vor einer Woche, hatte das Projekt zur Seite gelegt und heute
wieder hervorgeholt.
Display komplett neu angeschlossen, Projekt neu geschrieben, siehe da,
das Display funktioniert.
Vorsichtig die Verdrahtung für die Backlight angeschlossen (mehrmaliges
überprüfen der Anschlüsse und des Widerstandes)
Und nun die Enttäuschung: Das Display reagiert nicht mehr.
Vom Prozessor und dem I2C werden die richtigen Initialisierungsbefehle
geschickt, aber das Display zeigt keinerlei Reaktionen.
Diesmal bin ich mir 100%ig sicher, nichts am Quelltext/Software geändert
zu haben.
Meine Frage: Hat einer von euch eine Idee, woran das liegen kann und
was ich falsch mache? Hoffe auf schnelle Antworten
MfG Mojo
Display: http://www.reichelt.de/?ACTION=3;ARTICLE=31652;PROVID=2402
Hast du alles an der selben Versorgung? Evtl. Puffer-ELKOs für die
stromhungrige Beleuchtung. Wenn du sie einschaltest, und damit kurz die
Versorgung für das Display verloren geht, will es vielleicht neu
initialisiert werden.
Wenn es nicht an der Software liegt, kann es ja noch an der Hardware
liegen. Gib uns doch mal etwas mehr Infos über den Schaltplan und die
Spannungsversorgung.
Hast Du den Kontrast richtig eingestellt oder verändert?
Liefert Deine Spannungsquelle ca. 150mA ?
Das ganze ist auf einem Steckboard aufgebaut. Versorgt wird es über ein
externes Labor-Netzteil welches bis zu 2 Ampere liefern kann.
Kontrast hab ich eben nochmal geprüft: Liefert nicht den gewünschten
Effekt. Hinzu kommt, dass beim Initialisieren (als es Funktionierte) die
schwarzen Balken kurz verschwanden, egal wie der Kontrast eingestellt
war. Das passiert jetzt nicht.
Karl heinz Buchegger schrieb:
> Wenn du im Betrieb da Backlight wieder abklemmst, (also nicht neu> initialisieren), ist dann alles wieder da?
Genau dass ist das merkwürdige, wenn ich die Versorgung der Backligth
wieder abbaue, und das Display neu initialisere, tut sich auch nichts,
so als ob das Anschließen der Backlight den Controller des Displays
zerstört hätte.
Dagegen spricht aber, das ich ja vor einer Woche das gleiche Problem
hatte, es heute aber wieder ging, bis zum anschließen der Beleuchtung.
So, sry das es etwas dauerte: stehe mit Eagle noch etwas auf Kriegsfuß.
So, hier einmal einen Schaltplan, wie der Aufbau ist, und ein Foto folgt
sogleich.
Dennis E. schrieb:
> Trotzdem - haste nah beim LCD ein ELKO als> Puffer?
Nein hab ich nicht, wie müsste ich den anschließen und wie groß müsste
der sein?
Stimmt, ist nur zur verdeutlichung, wie ich das Display an den
Controller angeschlossen hab.
Das Backlight ist momentan auch nicht mehr angeschlossen, da ich das
Display erstmal wieder ohne Backlight zum laufen bringen möchte.
Als das Backlight noch angeschlossen war, war es über einen
Vorwiderstand mit pin 15 und pin 16 vom LCD angeschlossen
Ich seh grad deinen Vorwiderstand für die Beleuchtung nicht.
Bei 5V müssten dass ja ungefähr 0.8V / 0.130 A = 6 Ohm sein.
Der muss in Reihe zur LED wie im Schaltplan, auf dem Bild ist am Pin 15
u 16 nix angeschlossen.
Abblockkondensatoren immer(!) an jeden VCC Anschluss ganz nahe(!) an
jedes IC. Hat ein IC 2 VCC Anschlüsse, dann brauchst Du auch 2
Abblockkondensatoren.
Die Kondensatoren beseitigen kleine Spannunsgeinbrüche beim Schalten
(z.B. Pinwechsel Ein/Aus) der ICs und sorgen dafür, dass Deine Schaltung
stabil funktioniert.
http://www.rn-wissen.de/index.php/Abblockkondensator
Mojo schrieb:
> Versorgt wird es über ein> externes Labor-Netzteil welches bis zu 2 Ampere liefern kann.
2A, das ist heftig.
Hat es vielleicht auch ne einstellbare Strombegrenzung, die man auf etwa
300mA runter stellen kann?
Man sollte generell die Strombegrenzung nur leicht über den erwarteten
Wert setzen, damit man nichts schrotet.
Daß LEDs immer nen Vorwiderstand benötigen, weißt Du hoffentlich.
Ansonsten kann es gut sein, daß die Zuleitungen den Vorwiderstand
spielen und der LCD Controller dann negative Logikpegel sieht. Sowas
mögen ICs aber garnicht gerne und geben dann schnell den Löffel ab.
Peter
@ Pete K.: Danke für den Link :-)
habe hier nur Elkos rumfliegen, und auch nur im uF bereich und nicht im
nF, werde mir dann wohl am Montag mal ein paar zulegen.
Ganz klar ist mir aber immer noch nicht, warum das Display vor dem
Versuch mit der Backlight funktionierte und nach dem Anschließen, egal
ob Backlight angeschlossen oder nicht, nichts mehr sagt. Unsaubere
Schaltung hin oder her...
Peter Dannegger schrieb:
> 2A, das ist heftig.> Hat es vielleicht auch ne einstellbare Strombegrenzung, die man auf etwa> 300mA runter stellen kann?
Ja hat es, ist auch ungefähr in diesem Bereich eingestellt.
Mal was ganz blödes:Wozu sind eigentlich die beiden Anschlüsse an der
Schmalseite des Displays (rechts auf dem Bild)? Bei einem meiner
Displays ist dort die Versorgung der Backlight Leds. Die Anschlüsse 15 &
16 sind nicht benutzt.
Hab zwar einen anderen Typ und dort war auch pin 15/16 im Datenblatt
angegeben, was sich aber als Fehler herausstellte.
Hatte bis gestern ein altes Display, da war weder 15/16 noch A/K an der
Seite angeschlossen. Aber Backlight ging!
Weil kaputt (manche Zeilen haben gefehlt), gewechselt => nix Backlight!
10 Ohm vom alten geklaut, direkt an A angelötet und dann noch zwei
Drahtbrücken (andere Seite vom 10 Ohm und von K) rüber nach 1 und 2.
Polarität musst Du jetzt selbst raussuchen, bin zu faul das Ding nochmal
aufzuschrauben ;o)
Jetzt leuchtets wieder!
Aber gefunzt hats immer!
Moin, hab jetzt wie geraten nen 100nF Kondensator an die ICs
angeschlossen, allerdings ändert sich nichts an dem Ergebniss. Vorallem,
es funktionierte ja schon mal.... :(
@ Jörn: Das Backlight funzt bei mir, lediglich geht das Display ansich
seit dem Versuch nicht mehr, egal ob Backlight angeschlossen ist oder
nicht.
Wenn jetzt gar nix mehr geht, dann vergiss erst mal das backlight und
fang mal wieder bei Null an. Schliess nur die Stromversorgung und den
Kontrast über Poti an. Wenn dann nicht die Matrix-blocks sichtbar werden
ist das Display warscheinlich über den Jordan :-(
Gehst Du mit den 5V auch auf den Controller? Der kann doch nur 3,6V,
maximal 4,1V.
Da Du den PCF8574A mit 5V versorgst, kommen auch 5V beim MSP an.
Leg mal den PFC auf 3V3, mal schauen, ob es dann geht (wenn der MSP noch
nicht gegrillt ist)
Der MSP liegt nicht an den 5V die haben zwei verschiedene
Spannungsquellen. Lediglich GND ist verbunden. Und dem MSP gehts noch
gut :)
Vorwiderstand:
Zur LED-Backlightbeleuchtung hab ich einen Widerstand in Reihe gehabt,
um den Strom zu begrenzen. Das Backlight ist momentan garnciht
angeschlossen, da ich erstmal wieder das Display an sich zum laufen
bekommen möchte.
Peter Dannegger schrieb:
> Daß LEDs immer nen Vorwiderstand benötigen, weißt Du hoffentlich.> Ansonsten kann es gut sein, daß die Zuleitungen den Vorwiderstand> spielen und der LCD Controller dann negative Logikpegel sieht. Sowas> mögen ICs aber garnicht gerne und geben dann schnell den Löffel ab.
Was hat der LCD-Controller mit der Backlight zu tun? Die sind doch
getrennt von einander und haben nichts mit einander zu tun, oder nicht?
Oder geht es um einen anderen Vorwiderstand?
Hoffe die Frage ist nicht zu dumm.
Jörn Paschedag schrieb:
> Wenn jetzt gar nix mehr geht, dann vergiss erst mal das backlight und> fang mal wieder bei Null an. Schliess nur die Stromversorgung und den> Kontrast über Poti an. Wenn dann nicht die Matrix-blocks sichtbar werden> ist das Display warscheinlich über den Jordan :-(
Das Backlight hab ich schon mehr oder weniger abgeschrieben, es geht mir
jetzt darum, erstmal wieder Buchstaben aufs Display zu zaubern.
Die Matrix-Blöcke sind noch sichtbar, sobald ich Spannung am LCD anlege.
Und mit dem Poti kann ich deren Kontrast regeln.
Werde morgen nochmal alles neu aufbauen, um Fehler vom Steckbrett
auszuschließen.
Mojo schrieb:
> Die Matrix-Blöcke sind noch sichtbar, sobald ich Spannung am LCD anlege.> Und mit dem Poti kann ich deren Kontrast regeln.
Dann bestehen gute Chancen, das das LCD noch OK ist;-)
Moinsen,
so, habe die Zeit gefunden, die Schaltung nochmal neu Aufzubauen um
eventuelle Wackelkontackte im Board auszuschließen. Zwei Unterschiede
gibts zum vorigen Aufbau:
1. I2C wird jetzt nicht über 5V sondern über die 3,6V des MSP betrieben.
2. Die Pinbelegung am MSP hat sich ein wenig geändert:
Pin 0x02 SDA
Pin 0x04 SCL
Pin 0x08 Enable
Pin 0x10 RW
Pin 0x20 RS
Leider zuckt das Display immer noch nicht.
Da ich das Projekt noch ein paar mal verändert hab im Quellcode, vermute
ich jetzt doch hier den Fehler :-(
Ich hänge deshalb mal die Dateien an, damit vieleicht einer das Problem
findet und ich endlich wieder Buchstaben auf dem LCD sehe.
Als Grundlage für den Quellcode für den I2C und das LCD habe ich den
Quellcode von Mathar.com benutzt, und diesen für den MSP-430 F2013
angepasst.
Der I2C funktioniert, hab den Quelltext trotzdem angehängt, vieleicht
ist ja da doch was falsch.
MfG Mojo
Ps.: Wenn noch Bilder vom jetzigen Aufbau erwünscht sind, lade ich die
gerne hoch.
Moinsen,
hier kamen zwar keine Antworten mehr, aber vieleicht hilft es anderen,
die selber dieses Problem haben:
Ich hab mir jetzt nen neues Display geholt, ist nicht genau das gleiche
von Reichelt, sondern eins von Pollin.
Außerdem hab ich die 8 Datenleitungen vom PCF8574 mit 1kOhm Widerständen
gegen Vcc geschaltet, da ich gelesen hab, dass die Ausgänge vom PCF nur
sehr geringe Ströme treiben, und die Widerstände helfen würden.
Fazit, es läuft :) Mein Display macht, was es soll.
Werde es gleich nochmal ohne die besagten Widerstände probieren, obs
dann immernoch klappt. Das andere Display ist leider bei nem Kumpel, so
dass ich das nicht zur Kontrolle anschließen kann. Denke aber das
Display war kaputt.
Mojo schrieb:> Das andere Display ist leider bei nem Kumpel, so> dass ich das nicht zur Kontrolle anschließen kann. Denke aber das> Display war kaputt.
In der Software fehlen die Wartezeiten vor den Initialisierungsbefehlen.
Vermutlich war das andere Display nur etwas Langsamer oder die
Stromversorgung ist mit Backlight langsamer gestartet.
Die Wartezeiten im Datenblatt sind normalerweise ab erreichen einer
Mindestspannung am LCD erreicht. Ich schalte üblicherweise die Brown-Out
Erkennung im Prozessor ein damit der nicht zu früh losläuft.
Gruß Anja