- LiFePO4 Speicher Test         
Ergebnis 1 bis 6 von 6

Thema: [gelöst] LCD funktioniert plötzlich nicht mehr

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    37
    Beiträge
    270

    [gelöst] LCD funktioniert plötzlich nicht mehr

    Anzeige

    Powerstation Test
    Hallo Leute,

    Ich komm hier momentan auf keinen grünen Zweig mehr und hoffe das ihr vielleicht einen Rat wisst. Ich selbst bin mit meinen Ideen am Ende.

    Folgendes: Ich habe eine Schaltung Mit einem LCD 16x2 Dotmatrix-Display an einem ATMega32.
    Diese Schaltung hat auch über mehrere Monate hinweg super gute Dienste geleistet. In den letzten Tagen habe ich dann nun an der Software im Controller noch einige änderungen vor genommen (Die aber nichts mit dem LCD zu tun hatten) und dann plötzlich funktionierte das LCD nicht mehr. Bzw. es wird nur noch die erste Zeile vollständig angezeigt (Alle Dots an).

    Zur Hardwareverbindung:
    RS -> PA4
    R/W -> PA5
    E -> PA6
    D0-3 -> GND
    D4 -> PC7
    D5 -> PC6
    D6 -> PC5
    D7 -> PC4

    Um einen Fehler im großen Programm zu vermeiden habe ich ein kleines Test-Programm geschrieben, was einfach nur etwas auf dem LCD anzeigen soll:

    Code:
    $regfile = "m32def.dat"
    $crystal = 8000000
    
    Config Lcdpin = Pin , Db4 = Portc.7 , Db5 = Portc.6 , Db6 = Portc.5 , Db7 = Portc.4 , E = Porta.6 , Rs = Porta.4
    Config Lcd = 16 * 2
    Config Lcdbus = 4
    
    Config Porta.5 = Output
    Porta.5 = 0
    
    Initlcd
    
    Waitms 10
    
    Cls
    Locate 1 , 1
    Lcd "Hallo Welt"
    
    Do
    Loop
    
    End
    Mit diesem Programm sollte ja auf dem Display definitiv text erscheinen.

    Nun habe ich folgende Dinge getan:
    - Einen anderen ATMega32 verwendet -> gleiches Verhalten
    - Das Diplay gegen ein anderes Display (auch 16x2 nur in grün, statt in blau) ausgetauscht -> Exakt gleiches Verhalten
    - Die Leiterbahnen auch fehlverbingungen überprüft -> keine gefunden.

    Ich bin echt am Ende. Es wird mir immer die obere Zeile am LCD komplett angezeigt. Was ja irgendwie darauf hin deutet, das schon die Initialisierung irgendwie nicht richtig funktioniert.

    Ich weiß leider keine Möglichkeit mehr woran es liegen könnte.
    Hoffe ihr könnt mir noch irgend einen Tipp geben.
    Nochmal zum Hinweis: Die Schaltung funktionierte über Monate hinweg einwandfrei. Also bitte keine Aussagen dass das Display vielleicht falsch angeschlossen sei oder so.

    Danke schonmal für jeden hilfreichen Tipp

    Gruß Robodriver
    Wer aufhört besser zu werden, hat aufgehört gut zu sein

    Jeder I/O Port kennt drei Zustände: Input, Output, Kaputt

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2007
    Ort
    Kornwestheim (kWh)
    Beiträge
    1.118
    hast du überprüft, ob die Fusebits für den Takt richtig sind?
    Sind die JTAG-Anschlüsse auf Port C? dann: ist JTAG disabled? (auch Fusebits...)
    Gruß, AlKi

    Jeder Mensch lebt wie ein Uhrwerk, wie ein Computer programmiert...
    ==> UMPROGRAMMIEREN!

    Kubuntu

  3. #3
    Erfahrener Benutzer Roboter Experte Avatar von marvin42x
    Registriert seit
    02.08.2005
    Ort
    Berlin
    Alter
    75
    Beiträge
    703
    Also wenn ich mal chr-mt aus diesem Thread zitieren darf:
    https://www.roboternetz.de/phpBB2/vi...=371284#371284
    Zitat:
    Hi,
    ich würde trotz Tabs nicht auf die 1.11.9.1 updaten.
    Da sind noch einige Bugs drin.
    Unter anderem sind einige def-Files wohl fehlerhaft,
    und die Befehle CLS Text und CLS Graph für Grafikdisplays funktionieren nicht mehr.
    Ich hoffe, daß es bald eine neue Version gibt,
    in der die Fehler beseitigt sind.
    Ich bin jedenfalls wieder zurück zur 1.11.9.0

    Gruß
    Christopher
    Zitat Ende.

    Könnte es sein das Du gerade ein Update gemacht hast?

    Netter Gruß
    Die ersten zehn Millionen Jahre waren die schlimmsten. Und die zweiten Zehn Millionen Jahre, die waren auch die schlimmsten.url

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    37
    Beiträge
    270
    Also: Ich nutze noch die 1.11.9.0 Version. Dann werde ich die auch mal nicht Updaten.

    @A|KI:
    JTAG war enabled. Hab es jetzt desabled und schon hats funktioniert!
    Tausend Dank für deinen Hinweis. Du glaubst gar nicht wie dankbar ich bin.
    War schon total verzweifelt.

    So wie es scheint muss dann aber mal beim Brennen oder so was schief gegangen sein. An den Fuses an sich habe ich nichts geändert. Aber offensichtlich muss sich dieses eine Bit ja bei irgendeinem flashen mal geändert haben.
    Oder kann sowas auch während der Laufzeit passieren?
    Weil ich hatte Probleme, das der Controller manchmal nicht hoch läuft. Ausgänge irgendwo bei 2,5 Volt rum hängen und teils erst nach 3-4 Sekunden das Programm los lief. Keine Ahnung was ihn da zum hängen gebracht hat. Aber vielleicht wurde durch diesen Zustand irgendwann dieses Bit gesetzt...

    Oder was meint ihr? Vielleicht kann man das noch aufklären, damit mir das nicht nochmal passiert (oder anderen)

    Trotzdem noch tausend mal Danke.
    Wer aufhört besser zu werden, hat aufgehört gut zu sein

    Jeder I/O Port kennt drei Zustände: Input, Output, Kaputt

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2007
    Ort
    Kornwestheim (kWh)
    Beiträge
    1.118
    irgendwo bei 2,5 Volt rum hängen
    Wenn das die Betriebsspannung war, dann kanns schon sein, dass der MC in nen undefinierten Zustand fällt (steht zumindest auch in anderen Datenblättern drin). Dabei besteht die Möglichkeit, dass Bits unkontrolliert verändert werden.
    Darum gibts bei manchen AVRs ne Brown-out detection, damit sowas net passiert.
    Gruß, AlKi

    Jeder Mensch lebt wie ein Uhrwerk, wie ein Computer programmiert...
    ==> UMPROGRAMMIEREN!

    Kubuntu

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    37
    Beiträge
    270
    Nee, also die Versorgungsspannung kommt bei mir von nem Akku, Und der hat 12V und hinter dem 7805er dann 5V. Also die Spannung ist stabil.

    Was ich mir jetzt gerade überlegt habe, weils mir aufgefallen ist:
    Mein Programm auf dem Controller ist schon sehr groß. In Basic sind das über 1000 Programmzeilen. Beim Kompilieren zeigt er mir 43% Flashused.
    Wenn ich mir aber die HEX-File ansehe, dann ist die 40KB groß.
    Aber der M32 hat doch nur 32KB Flash.
    Gut, in der HEX sind noch die Adressen mit drin die ja nicht als Daten im Flash landen. Aber dennoch. wenn das 43% sein sollen, dann müssten von den 40KB nur 17,2KB effektiv Daten sein. Und das es so wenig ist glaub ich nicht.
    Kann es sein, das mir das da irgendwie Probleme bringt?
    Wer aufhört besser zu werden, hat aufgehört gut zu sein

    Jeder I/O Port kennt drei Zustände: Input, Output, Kaputt

Berechtigungen

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

12V Akku bauen