Hallo SlyD,
beide Stecker sind sauber, die Lötstellen an der M32- und an der LCD-Platine sind optisch in Ordnung. Kann ich mit einem Messgerät prüfen wo der Fehler liegt? Wenn ja, wie?
Grüsse, Jordi
Hallo SlyD,
beide Stecker sind sauber, die Lötstellen an der M32- und an der LCD-Platine sind optisch in Ordnung. Kann ich mit einem Messgerät prüfen wo der Fehler liegt? Wenn ja, wie?
Grüsse, Jordi
Hast Du denn ein Multimeter oder kannst Dir eins leihen?
Falls ja, dann mal das M32 Modul vom RP6 abmontieren, LCD anschließen und daneben legen - alles so hinlegen das Du gut an die Lötstellen auf der Unterseite vom M32 Modul und die auf dem LCD rankommst.
Multimeter auf Druchgangsprüfer stellen. Dann jeweils schauen ob alle Pins vom 14 Poligen Stecker mit einem auf dem LCD Kontakt haben.
Der Fehler muss natürlich nicht da liegen kann auch ganz was anderes sei.
(irgendwo anders ne schlechte Lötstelle. Oder der Controller auf dem Display ist defekt. Oder ... schwer zu sagen)
Wenn man sich vor der Montage nicht geerdet hast (= entladen s. Sicherheitshinweise in der RP6 Anleitung) bzw die Platinen nur am Rand angefasst hat kann man die Teile auch durch elektrostatische Entladungen beim Zusammenbau durch bloßes berühren beschädigt haben...
MfG,
SlyD
Werde mir ein Multimeter leihen müssen. Melde mich sobald ich die Messungen gemacht habe. Danke erstmal.
Grüsse, Jordi
Schau mal auf die Pinbelegung.
Ich kenne das Bauteil zwar nicht aber ich gehe mal davon aus das es ein Display welches HD44780 oder zumindestens Kompatibel ist.
Ich hatte das gleiche Problem bei einem anderen Projekt.
Die beiden Zeilen weisen darauf hin das dein Display korrekt initalisiert wird aber keine weiteren Daten ankommen.
Leider erinnere ich mich nicht mehr genau woran es bei mir lag. Aber Fehlerbeschreibung war gleich.
Ich hatte später die Pin-Belegung am AVR verändert. Ich hatte zu erst die Steuerpins und dann die Datenpins am Port C und hab dann zu erst Data und dann Steuerpins an Port C gelegt. Danach lief es nach einigen Versuchen.
Hallo
Diese Initialisierung verwende ich bei meinem Display für mein I2C-LCD am arm64. Der Code ist aus den Libraries des m32 kopiert:
Der rote Bereich ist das CLS-Kommando. Dieses braucht zur Ausführung laut Datenblatt meines LCD aber bis zu 1,64ms! Alle anderen Befehle brauchen maximal 40µs. Das ist letztlich der Grund warum meine eigenen LCD-Ansteuerungen bisher nicht sauber liefen. Hier mein aktuelles Setup, die zweiten Werte sind die Wartezeiten in µs laut Datenblatt, sieht deshalb (seit heute;) so aus:Code:// Initialize the LCD. Always call this before using the LCD! void initLCD(void) { //delayCycles(34000); No need for Power ON delay as usually the // Bootloader should have been executed before... setLCDD(0b0011); delayCycles(18000); setLCDD(0b0011); delayCycles(5500); setLCDD(0b0011); delayCycles(5500); setLCDD(0b0010); delayCycles(5500); writeLCDCommand(0b00101000); delayCycles(5500); writeLCDCommand(0b00001000); delayCycles(5500); writeLCDCommand(0b00000001); delayCycles(5500); writeLCDCommand(0b00000010); delayCycles(5500); writeLCDCommand(0b00001100); delayCycles(5500); }
Lange Rede, kurzer Sinn: Vielleicht stimmt die Initialisierung in der m32-Lib nicht:Code:rsl; _delay_ms(20); // Initialisieren >15ms nach dem Einschalten lcd_write8(0b00110000,5000); // >4,1ms lcd_write8(0b00110000,150); // lcd_write8(0b00110000,150); // lcd_write8(0b00110000,150); // lcd_write8(0b00100000,150); // Function Set: 4bit-Modus starten lcd_write4(0b00101000,40); // Function Set: 2 Zeilen, Font 0 (0010NFxx) lcd_write4(0b00000001,1640); // Display Clear (dauert ewige 1,64ms!!!) lcd_write4(0b00000110,40); // Entry Mode Set: inc, no shift lcd_write4(0b00001100,40); // Display On and Cursor (00001DCB) rsh;
// writeLCDCommand(0b00000001);
Gruß
mic
Geändert von radbruch (18.06.2011 um 17:06 Uhr)
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Vielleicht habe ich das missverstanden, aber: Die dunkle und die helle Zeile weisen meines Wissens genau darauf hin, daß das Display nach dem internen Einschalt-Prozedere eben keine Konfigurierungsbefehle kriegt.
Wenn so wenig geht, würde ich zu allererst eine penible Sichtprüfung auf Lötbrücken, Zinnkleckse und schlechte Lötstellen machen. Dann die Enable-, Command/Data- und R/W-Leitungen auf eindeutige Funktion testen. Danach kann man in der Software nach dem Fehler fahnden, ohne sich am Ende "in den H...." beißen zu wollen, wenn doch ein Lötklecks schuld war ...
Kann man bei der fraglichen Hardware Vertauschungen von Leitungen ausschließen? Ist das Display definitiv pinkompatibel zum Standard? Ich hatte schon mal eines, da war die Pinbelegung nur beim ersten flüchtigen Blick OK.
Hallo,
danke für die Hinweise.
Das LCD ist dieses hier. Aufgrund der Beschreibung gehe ich davon aus dass die Pin-Belegung passen müsste.
Ich habe mir nochmal die Lötstellen angeschaut. Ich kann wirklich keine lockeren Lötstellen oder Lötbrücken erkennen. Ein Messgerät habe ich noch nicht zur Verfügung...aber bald.
Grüsse, Jordi
Dann prüf sie noch mal
Ich hab sie bei meinem gefühlte 20x getestet.
Wenn du die Möglichkeit hast sortiere die Pin-Belegung am AVR mal um.
Sprich erst oder Data Pins und dann die Steuer Pins bzw andersrum.
Dreh doch mal am potis vielleicht liegt es daran
hey,
ich habe auch ein problem,das in diesen thread wohl gut hineinpasst.
ich habe nämlich folgendes display bei mir gefunden: http://www.farnell.com/datasheets/66206.pdf
da die pins die gleiche reihenfolge hatten, wie bei den für die m32 spezifischen displays, wollte ich es auch gleich ausprobieren und hab mir aus einem alten computer ein flachbandkabel genommen und mir daraus ein kabel für das display gebastelt.
was mir schon einwenig komisch vorkam ist, dass bei meinem display die letzten beiden pins für das hintergrundlicht waren. dies sollte man mit 115 volt betreiben.
doch da ich das sowieso nicht wollte, habe ich mir da auch nichts weiter bei gedacht.
allerdings tat es nicht, als ich das kabel dann fertig hatte. also als ich den roboter dann anmachte reagiert das display gar nicht!
liegt es vielleicht an den letzten beiden pins? denn die anderen waren ja genau identisch zu den anschlussbelegungen des display-ports...
Ich hoffe ihr könnt mir bei meinem Problem weiterhelfen. Bei fehlenden Details, bitte melden!
vielen dank schonmal im vorraus!
LG Marcel
Lesezeichen