- LiFePO4 Speicher Test         
Ergebnis 1 bis 9 von 9

Thema: LCD-Display Problem

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    25.06.2006
    Alter
    30
    Beiträge
    43

    LCD-Display Problem

    Anzeige

    Praxistest und DIY Projekte
    Ich habe ein altes Display (von 1994) in einem alten Karton gefunden und wollte es für mein Bot benutzen. Ich möchte es mit meinem RN-Control (Atmega 32) betreiben. Habe das Display wie im Wiki beschrieben angeschlossen (4-Bit Modus). Nun das Display zeigt nicht das an was es soll. Display sollte ordnungsgemäß funktionieren, da es schon beim zusammenlöten einige male schwarze Kästen angezeigt hat. An allen Anschlüssen die vom AVR kommen liegt ein HIGH Pegel an...was es nicht soll. Kann jemand mein Programm überprüfen? Programm geht ansonsten da Töne ausgegeben werden.

    Code:
    '##########################################################
    'Initalisierung
    '##########################################################
    
    'Declare
    
    Declare Function Tastenabfrage() As Byte
    
    
    'Initalisiere ATMEGA16
    
    $regfile = "m32def.dat"
    $crystal = 16000000
    
    
    'Config
    
    'Für Tastenabfrage
    Config Adc = Single , Prescaler = Auto
    
    'Für Tastenabfrage, Pullup Widerstand ein
    Config Pina.7 = Input
    Porta.7 = 1
    
    'Display
    Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.5 , Db7 = Portc.4 , E = Portd.1 , Rs = Portd.0
    Config Lcd = 20 * 4
    Config Lcdbus = 4
    
    
    'Dim
    
    Dim Taste As Byte
    
    
    '##########################################################
    'Tastenabfrage
    '##########################################################
    
    Cursor Off
    Cls
    Lcd "Willkommen"
    Sound Portd.7 , 400 , 450
    Lowerline
    Lcd "Test OK"
    Sound Portd.7 , 400 , 450
    Wait 2
    Cls
    Lcd "Programm Wählen"
    Sound Portd.7 , 400 , 450
    Do
       Taste = Tastenabfrage()
       If Taste <> 0 Then
          Select Case Taste
             Case 1
               
             Case 2
    
             Case 3
    
             Case 4
    
             Case 5
    
          End Select
       End If
    
       Waitms 100
    Loop
    End
    
    
    Function Tastenabfrage() As Byte
    Local Ws As Word
    
    Tastenabfrage = 0
    Start Adc
    Ws = Getadc(7)
    If Ws < 420 Then
       Select Case Ws
          Case 373 To 413
             Tastenabfrage = 1
             Lcd "Taste 1 gedrückt"
             Sound Portd.7 , 400 , 450
             Waitms 500
          Case 303 To 343
             Tastenabfrage = 2
             Lcd "Taste 2 gedrückt"
             Sound Portd.7 , 400 , 450
             Waitms 500
          Case 230 To 270
             Tastenabfrage = 3
             Lcd "Taste 3 gedrückt"
             Sound Portd.7 , 400 , 450
             Waitms 500
          Case 153 To 193
             Tastenabfrage = 4
             Lcd "Taste 4 gedrückt"
             Sound Portd.7 , 400 , 450
             Waitms 500
          Case 70 To 110
             Tastenabfrage = 5
             Lcd "Taste 5 gedrückt"
             Sound Portd.7 , 400 , 450
             Waitms 500
       End Select
    End If
    End Function

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    54
    Beiträge
    1.258
    Hallo Soeni,

    da es schon beim zusammenlöten einige male schwarze Kästen angezeigt hat.
    Wenn ein elektrisches Bauteil schon bei der Verarbeitung Leben zeigt, dann ist das sehr gefährlich.
    Vermutlich hast du unter Spannung gelötet und damit das Display zerstört.

    Vielleicht hast du aber auch Glück gehabt.

    Als erstes sollte bei Anschluß von Vcc, GND und richtiger Kontrastspannung eine Reihe schwarzer Balken sichtbar werden.
    Bei älteren Displays ist die Kontrastspannung auch negativ.

    Gruß, Michael

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    R/W liegt auf GND?
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    25.06.2006
    Alter
    30
    Beiträge
    43
    alles so angeschlossen wie im Wiki beschrieben also auch alle nicht benötigte Anschlüsse (da 4-Bit modus) auf GND.

    @Michael: habe mich etwas ungeschickt ausgedrückt. Natürlich hat beim direkten Löten nichts geleuchtet oder ähnliches. Das was ich meinte war die von dir angesprochene Kontrastspannung. Also Schwarze Balken, aber nicht immer. Kontrast Funktioniert aber lässt sich nicht wirklich Regelen, aber das liegt warscheinlich an der falschen Spannung werde mal ein anderen Poti nehmen wenn die Ansteuerung funktioniert. http://www.rn-wissen.de/index.php/Bascom_und_LCD%27s hier wird ein 15k Widerstand genommen ich denke der ist zu groß.

    Aber das ist erstmal nicht ganz so wichtig. Viel wichtiger finde ich warum der AVR das Display nicht ansteuert...Alle Pins verändern sich nicht. Habe zwar nur mit einem Voltmeter gemessen aber ich messe es gleich mal mit eine Oszi. Ihrgendetwas muss mit dem Programm, vermutlich mit der Config nicht stimmen...

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    54
    Beiträge
    1.258
    Hallo Soeni,

    die Kontrastspannung sollte schon stabil sein, wenn beim Einschalten keine schwarzen Blöcke in der ersten Zeile zu sehen sind, stimmt die nicht.

    Viel wichtiger finde ich warum der AVR das Display nicht ansteuert.
    möglicherweise hast du das Jtag-Interface noch eingeschaltet, das benutzt nämlich einige Pins von PortC.
    Ausschalten kann man das per Fuse-Bit.
    Die Belegung der einzelnen Pins ist paarweise verdreht, aber ich kenne deine Schaltung ja nicht.

    Huberts Rat bezüglich RW hast du sicher schon befolgt.

    Gruß, Michael

  6. #6
    Erfahrener Benutzer Roboter Experte Avatar von Neutro
    Registriert seit
    28.10.2007
    Ort
    Ostfriesland
    Alter
    44
    Beiträge
    642
    Vielleicht liegt es daran das du das display am C und D Port betreibst. Ich habe schon mal davon gelesen das man ein Display nur über ein Port ansteuern sollte. Vielleicht bezieht sich diese Aussage aber auch nur auf die Datenleitungen, die ja bei dir alle auf einem Port sind.
    Was passiert denn wenn du den Pin für die Kontrastspannung über einen 100R auf auf GND legst, dann solltest du die Kästchen aber schon sehen können.

    Gruß

    Neutro
    Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
    (Mark Twain)

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    25.06.2006
    Alter
    30
    Beiträge
    43
    Fuse-Bit kann vllt sein. Habe bis jetzt nur an den Fuse-Bits die Taktquelle geändert...werde ich gleich überprüfen.

    Nach der Kontrastspannung werde ich jetzt dann mal schaun vllt hat es doch etwas damit zu tun.

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    25.06.2006
    Alter
    30
    Beiträge
    43
    Habe das Jtag-Interface deaktiviert, nochmal alle Anschlüsse kontrolliert. Habe die ausgänge mal gemessen, er ändert sein zustand. Aber anzeigen tut er nur manchmal sporadisch was. Kann es vllt sein das der AVR zuschnell für mein altes Display ist? Kann man das ihrgendwie langsamer machen?

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    54
    Beiträge
    1.258
    Hallo Soeni,

    Also Schwarze Balken, aber nicht immer. Kontrast Funktioniert aber lässt sich nicht wirklich Regelen,
    Aber anzeigen tut er nur manchmal sporadisch was.
    ich tippe auf kalte Lötstellen oder Kabelbruch. Zeig doch mal ein Foto von den Lötverbindungen?

    Kann es vllt sein das der AVR zuschnell für mein altes Display ist?
    das halte ich für sehr unwahrscheinlich.

    @neutro:
    Vielleicht liegt es daran das du das display am C und D Port betreibst.
    nein, daran liegt es sicher nicht.

    Ich habe schon mal davon gelesen das man ein Display nur über ein Port ansteuern sollte.
    das ist eine andere Programmiersprache

    Gruß, Michael

Berechtigungen

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

LiFePO4 Speicher Test