Hallo josua,
du betreibst die Hintergrundbeleuchtung ohne Transistor/FET und ohne Vorwiderstand direkt über den PCF8574. Das wird dieser nicht lange überleben, bzw. hat er wohl nicht überlebt.
Das Display selbst wird wohl noch i.O. sein.
hallo zusammen,
nach deiner beschreibung würde ich es nicht ausschließen, dass das display oder dein ic kaputt sind!
gruß josua
Hallo josua,
du betreibst die Hintergrundbeleuchtung ohne Transistor/FET und ohne Vorwiderstand direkt über den PCF8574. Das wird dieser nicht lange überleben, bzw. hat er wohl nicht überlebt.
Das Display selbst wird wohl noch i.O. sein.
Vielen Dank erstmal an alle, die bereits geantwortet haben und mir helfen wollen! =D>
Wie hättest du das Display bzw. die Beleuchtung denn angeschlossen? Im Datenblatt steht ja, dass an Pin 15 (LED+) +5V und an Pin 16 (LED-) 0V anliegen sollten. Warum kann meine Schaltung dann meinen IC zerstört haben? Ich verändere doch nur den Ausgang P6 am PCF, um die Beleuchtung ein- oder auszuschalten.du betreibst die Hintergrundbeleuchtung ohne Transistor/FET und ohne Vorwiderstand direkt über den PCF8574. Das wird dieser nicht lange überleben, bzw. hat er wohl nicht überlebt.
Inzwischen denke ich selber, dass da was defekt ist bzw. zerstört wurde. Ich möchte nur wissen, was ich evtl. falsch gemacht habe, um beim nächsten Versuch nicht wieder den gleichen Fehler zu machen.
Gruß, olli
Würde ein einfacher NPN-Transistor reichen?
Ich würde ihn dann mit Collector an Pin 16 vom LCD, Basis an P6 vom PCF und Emitter an GND anschließen. Würde das so gehen?
Edit: Sehe ich es richtig, dass der IC (PCF) durch meine Beschaltung zu viel Strom abbekommen hat? Oder wie kann der IC dadurch kaputtgehen?
Ja, aber einen Widerstand 4,7 kOhm dazwischen.Basis an P6 vom PCF
Ja.Sehe ich es richtig, dass der IC (PCF) durch meine Beschaltung zu viel Strom abbekommen hat?
Gruß Dirk
Hallo Josua,
ich habe mir mal das "Datenblatt" von Pollin zu dem LCD Modul angeschaut. Viel schlauer werde ich dadurch allerdings nicht. Dort steht nur etwas von 18..20mA Stromaufnahme mit Backlight, was selbst für den PCF8574 eigentlich kein Problem wäre. Allerdings schweigt sich das Datenblatt gänzlich aus, ob im Display bereits ein Vorwiderstand drin ist oder nicht. Für die Kontrastspannung wird zudem ein Poti von 10..20kOhm empfohlen, nicht 5KOhm. Offen bleibt auch die Frage, wie man die Datenbits 0..3 im 4-Bit Mode beschalten soll. Offen lassen, mit GND verbinden. Bei DOGM Module werden die nicht benutzten Datenpins mit VCC verbunden.
Zum Transistor möchte ich noch folgendes anmerken. Zwar geht das auch mit einem NPN, allerdings leuchtet dann das Backlight nach dem Einschalten solange bis das Display initialisiert wurde. Bei einem PNP Transistor passiert das nicht. Auch mit einem Transistor ist ein Vorwiderstand für das Backlight notwendig.
@Dirk: Vielen Dank!
Das ging mir genauso, hatte allerdings ein anderes Datenblatt (siehe hier). Da ich es nicht besser wusste, hab ich es dann so angeschlossen wie ich es für richtig hielt.ich habe mir mal das "Datenblatt" von Pollin zu dem LCD Modul angeschaut. Viel schlauer werde ich dadurch allerdings nicht.
Hm, also im Datenblatt vom PCF gibts einen Maximalwert für "maximum allowed input current through protection diode" der I/Os. Dort steht als Maximum +/-400 µA! Ist das nicht der entscheidende Wert? Oder hab ich da was übersehen?Dort steht nur etwas von 18..20mA Stromaufnahme mit Backlight, was selbst für den PCF8574 eigentlich kein Problem wäre.
Also in meinem Datasheet steht: "In case of 4 bits instruction [...] D0 - D3 are not used." Das würde ich verstehen wie: werden nicht verbunden?!wie man die Datenbits 0..3 im 4-Bit Mode beschalten soll
Hallo zusammen,
ich tippe auch auf einen 'angeschlagenen' PCF8574.
Die Outputpins schaffen als typichen Wert 25mA. Werden aber mit nur 10mA beim Minimum angegeben. Seite 15 bei "LOW level output current"
http://www.datasheetcatalog.org/data.../PCF8574_4.pdf
Bei LCDs würde ich mich schwer wundern, wenn dort ein Vorwiderstand schon eingebaut wäre. Der würde dann ja die Betriebspannung für die Beleuchtung festlegen.
Aber genau das lese ich aus folgendem Datenblatt:
http://www.jameco.com/Jameco/Product...DS/1585979.pdf
Letzte Seite unter "Electrical Characteristics" und "Block Diagram"
Möglicherweise hatte der verwendete PCF zu wenig Power und konnte nur diese 10mA liefern.
Jetzt stellt sich nur noch die Frage, warum aber genau dieser Pin noch schaltbar ist und ein anderer Pin zur Datensteuerung deshalb kaputt sein soll. Allerdings wäre ein zerstörter 'Nachbar'-Portpin P7 schon zuständig, dass der LCD-Enable-Eingang nicht mehr schaltet.
Gruß Sternthaler
Lieber Asuro programieren als arbeiten gehen.
Also, habe jetzt einen Nachmittag mit dem Teamkollegen verbracht, um das wieder zum Laufen zu kriegen - erfolglos!
Erstmal haben wir die Hintergrundbeleuchtung vom Display gekappt, dann haben wir den PCF ausgetauscht - nichts. Nochmal neu programmiert, sollte nun nacheinander die Buchstaben von "Hallo" ausgeben. Als erstes kommt ein merkwürdiges Sonderzeichen, dann folgen "! , , /".
Ok, haben wir uns ASCII-Tabelle angschaut und Hexcodes - da ist was faul:
'a': 0110 0001 => 0010 0001
'l': 0110 1100 => 0010 1100
'o': 0110 1111 => 0010 1111
Jetzt weiß ich nicht sicher welche Bits bzw. Pins das sind, also von wo man zählt?
Andererseits ist das allein von der Hardware unmöglich, da wir ja eine 4-Bit-Ansteuerung haben?! Dann müssten ja noch weitere Bits fehlerhaft sein.
Ich habe den Code im Programm abgeändert, um zu testen, ob ich das mit der Software beeinflussen kann.
Habe diese Werte verändert - die Anzeige blieb gleich!!!Code:#define LCD_D0 (1 << LD4) #define LCD_D1 (1 << LD5) #define LCD_D2 (1 << LD6) #define LCD_D3 (1 << LD7) #define LCD_D4 (1 << LD4) #define LCD_D5 (1 << LD5) #define LCD_D6 (1 << LD6) #define LCD_D7 (1 << LD7)
Das kann doch nicht sein? Wenn diese Werte doch relevant sind, wie kann ich dann das Display ansteuern?
Bitte helft uns, es muss doch ne Erklärung geben? Ist das Display jetzt doch futsch? Oder warum kommt diese merkwürdige Ausgabe?
Hallo Olli08,
dein Muster könnte man so interpretieren, dass das höchste Bit in der 4´er-Gruppe für das 'falsche' Bit zuständig ist.
Bitsfolge 3210 ... Beim '-' soll es egal sein wie das Bit steht.
Regel 1) 0x-- -> liefert x=0
Regel 2) 1x-- -> liefert x=1
'a': 0110 0001 => 0010 0001
'l': 0110 1100 => 0010 1100
'o': 0110 1111 => 0010 1111
Da ja bei deinen Buchstaben bis jetzt nur das höhere Nibble (die ersten 4 Bit) zu einem Fehler führen, könnte man Buchstaben suchen die auch im unteren Nibble nach meinen "Regeln" den Fehler machen sollten.
Als Testmuster wäre somit folgendes Bitzeug interessant:
000- ---- - Leider keine druckbaren Zeichen. Entfallen
1--- ---- - Können die Displays meistens nicht. Entfallen
0011 0000 "0" => 0011 0000 "0" (Zahl 0)
0011 0100 "4" => 0011 0000 "0"
0011 1000 "8" => 0011 1100 "<"
0011 1001 "9" => 0011 1101 "="
....
Na, ob das wirklich so ist? Aber etwas anderes fällt mir nicht ein.
Gruß Sternthaler
P.S.: Ich hoffe, ihr habt Ostern gut verbracht.
Lieber Asuro programieren als arbeiten gehen.
Lesezeichen