- Akku Tests und Balkonkraftwerk Speicher         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

Thema: LCD Display spinnt - Leer oder Sonderzeichen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    20.02.2007
    Ort
    Frankfurt
    Beiträge
    7

    LCD Display spinnt - Leer oder Sonderzeichen

    Anzeige

    Powerstation Test
    Mittlerweil bin ich am Verzweifeln.
    Wollte eigentlich nur ein LCD an meinen ATmega8-16PU auf Pollin v2-Board anschließen. Das LCD ist ein 2x16 Standarddisplay. Als Anschlussvariante habe ich 4bit ohne Busy gewählt.

    Habe zuerst die Pins 7-10 nicht an GND gelegt und das Beispielprogramm hier unter /wissen/ benutzt (natürlich mit angepassten PINs):
    Code:
    $regfile = "m8def.dat"
    $crystal = 16000000
    
    Config Lcd = 16 * 2                                         'wir verwenden ein 16 x 2 Zeichen Display
    ' Im I/O Mode wird jeder Prozessor Pin einzeln angegeben
    Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0
    
    Config Portc = Output
    
    Cls                                                         'loesche das LCD Display
    Locate 1 , 1                                                'Cursor auf 1 Zeile, 1 Spalte
    Lcd "Hello world."                                          'String auf Display anzeigen
    Zuerst zeigt das Display brav eine Zeile weiß an (ich nenn es mal Testbild), nach 2 Sekunden wird es farblos und zuckt manchmal. Als ich mal zufällig an die Stromversorgung gekommen bin, war plötzlich Text zu sehen, viele Sonderzeichen und Fragmente von Hello world. Also stimmen die DataPINs und der Kontrast schonmal. Der Text verändert sich aber alle paar Sekunden.
    Nach einem END Befehl im Programm zuckt das Display nicht mehr. Dafür geht das mit den Sonderzeichen auch nicht mehr, einfach nur leer ist es, wobei der Kontrast beim Testbild besser ist.

    Hab mal ein wenig im Forum gelesen und Try&Error gemacht. Die Spannungsquelle gewechselt und die Spannung verändert bringt nix. Seit ich die PINs 7-10 auf GND gelegt hab, kommt nur noch das Testbild, CLS geht nicht mehr. Diagnose-LEDs zeigen, dass das Programm an sich aber noch läuft. "Config Lcdbus = 4" hab ich auch mal hinzugefügt. Beim Quarz bin ich mir ziemlich sicher, dass es ein 16MHz ist, hab aber 8 auch mal ausprobiert.

    Hat jemand noch ne Idee was da faul sein könnte?
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken bild022.jpg  

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Andree-HB
    Registriert seit
    10.12.2004
    Ort
    Bremen
    Alter
    53
    Beiträge
    2.803
    Als ich mal zufällig an die Stromversorgung gekommen bin, war plötzlich Text zu sehen
    ...da wird wohl der Hase im Pfeffer liegen.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.01.2007
    Ort
    Deutschland [Bayern]
    Alter
    41
    Beiträge
    125
    Klingt nach zufälligen Dateneingaben. Prüfe, ob alle anschlüsse koreckt verlötet sind, und es keine Kalten lötstellen gibt. Eventuel, wenn du ein Oszi besitzt, dann miss mal an der Enabled-Leitung, ob du unverältnissmäsige Takte bekommst. Diese lassen das Display nömlich Daten lesen, was bei chaotischer Spannungsbelegung an den Datenleitungen zu chaotischen Ausgaben, und Steuerungen führt.


    JimJim
    XUN

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    20.02.2007
    Ort
    Frankfurt
    Beiträge
    7
    Die Anschlüsse habe ich visuell überprüft und für gut befunden.
    Ein Test am Oszi (gemessen direkt am LCD) zeigt, dass auf allen Pins der Pegel sauber zwischen 0 und 5V springt, auch wenns manchmal sehr schnell geht (µs-Sprünge dürfte das Auge wohl kaum wahrnehmen).
    Damit entfällt auch die Möglichkeit, dass ich auf dem Board Anschlüsse per Jumper fehlgeleitet habe (was ich natürlich bereits im Vorfeld überprüft hatte).

    Hab da mal ein leicht abgewandeltes Testprogramm geschrieben; es führt regelmäßig CLS+Textausgabe+einen Shift aus, was an sich eigentlich Käse ist, da ja der Puffer jedesmal neu beschrieben wird und der Shift daher nicht funktioniert. Und jetzt das erstaunliche: Je nach Einschaltzeitpunkt des Displays geht nur die (fehlerhafte Textausgabe) oder der Shift bei leerem Display (sieht man am Cursor). Für mich sieht es aus, als würden entweder nur Kommandos ohne Daten oder Daten, aber keine Kommandos verarbeitet. Könnte man jetzt natürlich genaustens mit einem Speicheroszi analysieren, aber sowas hab ich nicht und das sprengt hier den Rahmen.

    Ich hoffe halt darauf, dass jemand hier schonmal ein ähnliches Problem gehabt hat und mir nen kleinen Tip geben kann
    Z.B. KS statt HD Controller oder sowas...

    Seltsam ist, dass wirklich nix mehr geht wenn PINs 7-10 auf Masse liegen...

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.01.2007
    Ort
    Deutschland [Bayern]
    Alter
    41
    Beiträge
    125
    Ich würde dir jetzt nur noch vorschlagen, den Takt der Datenbertragung runter zu schrauben.

    Wenn du diese Taktrate am Controler nicht einstellen kansnt, dann verdrahte das Display einmal mit dem PC, und nutze ein ... z.B. VB Programm, mit dem du das Display ansteuerst. Dann kannst du dort z.B. ein 1Sek. Takt einstellen, udn genau nachvolziehen, ob die SIgnale sauber und mit passnder Flankensteilheit übertragen werden.

    Wenn die Enabled-Leitung eine unsaubere Steilheithat, oder sogar Flattert, beim aufsteigen, kan dies zu fehlinformationen führen.
    Gleiches Gilt für die Ausführungszeitpunkte. Nicht alle Display haben die selben Zeiten für ein Kommando. Eventuell gibt es damit Probleme. (Zu schnelle Kommandos)


    JimJim
    XUN

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    29.01.2005
    Alter
    52
    Beiträge
    294
    Hi,

    der Takt ist egal, muß man nur Bascom mitteilen und der Compiler macht dann den Rest. Ich arbeite gerade an einer Schaltung mit 14,7irgendwas MHz, null Probleme.

    Die Datenleitungen D0-D3 haben eigentlich im Controller interne Pull Ups. (Laut Datenblatt) Also einfach frei lassen sollte gehen. Ich mache das Grundsätzlich so und hatte noch nie Probleme.

    Das Portc = Output kannst Du Dir sparen.
    Bascom macht das mit "Config Lcdpin = ..." selber.

    Untersuch nochmal Deine Lötverbindungen gründlich und stell sicher das der Takt von 16MHz auch wirklich im Chip ankommt. (Fuses)

    Der Code den Du eingestellt hast sollte tun. (Hinten noch ein End ran)

    Das nach END der Spuk ein Ende hat läßt vermuten das irgendetwas sonst noch auf Portc passiert.

    Ist das oben Dein einziges Programmteilchen oder ist da noch mehr was auf Portc irgend etwas ausgibt?

    Welcher Controller ist eigentlich genau drauf? Wirklich ein 44780 oder ein KS00066? Oder sonst was? Da gibt es feine aber entscheidende Unterschiede.

    OK, mein eigenes Projekt ruft und das Weizen im Kühlschrank will auf´m Balkon noch was von der warmen Sonne haben!

    Gruß Dnerb
    Das Gegenteil von "gut" ist "gut gemeint"!

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    20.02.2007
    Ort
    Frankfurt
    Beiträge
    7
    Danke erstmal für die vielen Tipps.

    Der Takt von 16 MHz war falsch (kein FUSE gesetzt = interner Taktgeber), das habe ich aber gestern noch selbst rausgefunden und durch $Crystal=1000000 behoben. Leider immer noch das gleiche Resultat.

    Config Portc hab ich auch mal weggelassen - keine Änderung
    Das gepostete Testprogramm ist wirklich das einzige Programmteilchen!

    Der Controller ist mir nicht explizit bekannt, habe das Display von Pollin (BestNr 120422) unter dem Stichwort "Industriestandard-konformer Controller" erworben. Wenn jemand bei kleinen Dotmatrix-Displays von Standard spricht, kann er ja eigentlich nur den HD44780-Controller meinen.

    Ich möchte nochmal betonen, dass ohne Spielerein an der Stromversorgung bei definiertem Betriebszustand das Display lediglich vom Testbild auf einen leeren Bildschirm wechselt, wobei die leeren 32 Kästchen im Gegensatz zum Testbild klar erkennbar sind (ca. 20% Resthelligkeit). Sieht für mich nicht nach einem ordentlichen CLS aus.

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.01.2007
    Ort
    Deutschland [Bayern]
    Alter
    41
    Beiträge
    125
    Löte mal die ganzen Kontakte nach. vieleicht hast du einen nicht sichtbaren Schaden.


    JimJim
    XUN

  9. #9
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    29.01.2005
    Alter
    52
    Beiträge
    294
    Zitat Zitat von omegazx
    Der Controller ist mir nicht explizit bekannt, habe das Display von Pollin (BestNr 120422) unter dem Stichwort "Industriestandard-konformer Controller" erworben. Wenn jemand bei kleinen Dotmatrix-Displays von Standard spricht, kann er ja eigentlich nur den HD44780-Controller meinen.
    "Industriestandard-konformer Controller" hm meiner Meinung nach gar nicht mal so vielsagend. Muß ich mir mal bei Pollin anschauen.

    ...

    Das Datenblatt bei Pollin gibt nichts her...

    Falls sich keine Lösung findet, könnte ich Dir zum Vergleich ein 1x16 schicken für 2€+Porto. (Selbstkosten, mal bei Ebay ein paar im komplettangebot ersteigert) Ist halt schwarz auf grau ohne Beleuchtung, aber es tut.

    Das funktioniert 100% mit Bascom. Ich teste es dann auch nochmal bevor ich es versende um sicher zu gehen.

    Gruß Dnerb
    Das Gegenteil von "gut" ist "gut gemeint"!

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    20.02.2007
    Ort
    Frankfurt
    Beiträge
    7
    Das Datenblatt ist echt ohne Informationsgehalt...
    Hab recherchiert und *tada* es ist von Tinsharp (100% sicher) und benutzt den Controller SPLC780D-001B-C (aus Sekundärquelle). Da es für den auch ein ordentliches Manual gibt (http://www.lcdproduct.com/Tech/Contr...PLC780D_DS.pdf) und es mit den Bascom-Standardroutinen eh nicht funzt, werde ich dadrin mal selbst ein wenig schmökern.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen