-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: LCD defekt?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    24.01.2009
    Beiträge
    8

    LCD defekt?

    Anzeige

    Hallo zusammen,

    ich habe mir ein gebrauchtes LCD Display mit Board gekauft, um damit einen DIY Beamer zu steuern.

    Da der Atmega8, mit dem das Board bestückt war, bei Tests kaputt ging, habe ich mir zwei neue bestellt und eingebaut. Und weil das Ansteuern von LCDs unter Bascom recht einfach ist, habe ich folgenden simplen Code verwendet:

    Code:
    $regfile = "m8def.dat"
    $crystal = 1000000
    
    Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.1 , Rs = Portd.0
    Config Lcd = 16 * 2 , Chipset = Ks077
    Config Lcdbus = 4
    
    Config Pinb.1 = Output                                      'Ein Pin wird als Ausgang konfiguriert PC0 (also Pin0 von Port C)
    Bel Alias Portb.1
    
    Bel = 1
    
    Cls
    
    Locate 1 , 1
    Lcd "Hello World"
    
    Do
     nop
    Loop
    Nur das Ergebnis hat mich etwas verwundert:
    [img]
    http://butterflyrobot.bu.funpic.de/Anzeige.JPG
    [/img]

    Jetzt stellt sich mir die Frage: Ist das Teil defekt, oder liegt einfach nur ein Fehler in der Verdrahtung oder im Programmcode vor?

    Greetings,

    iK3

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    Wie sieht die Anzeige aus, wenn das LCD noch nicht initialisiert wurde?

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.11.2008
    Ort
    Kapfenberg
    Beiträge
    628
    Versuchs doch mal mit dem Code:
    Code:
    $regfile = "m8def.dat" 
    $crystal = 1000000
    
    Config Portd = Output 
    
    Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.1 , Rs = Portd.0 
    Config Lcd = 16 * 2 , Chipset = Ks077 
    Config Lcdbus = 4
    Initlcd
    waitms 100 
    
    Config Portb.1 = Output                                      'Ein Pin wird als Ausgang konfiguriert PC0 (also Pin0 von Port C) 
    Bel Alias Portb.1 
    
    Bel = 1
    
    Locate 1 , 1 
    Lcd "Hello World" 
    
    Do 
     nop 
    Loop
    Gruß
    Thomas

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    24.01.2009
    Beiträge
    8
    Zuerst einmal Danke! für die schnellen Antworten.

    Zum einen der Init-Bildschirm:



    Das ist die Anzeige, wenn ich einfach nur die Hintergrundbeleuchtung einschalte, wenn das mit uwegw's post gemeint war.

    Ich habe natürlich sofort auch das Programm von Thomas ausprobiert und weiß nun nicht, ob mich das LCD auf den Arm nehmen will. Ich habe spaßeshalber einige Male den Strom unterbrochen und jedesmal wurde etwas anderes angezeigt:







    Bin schon mal gespannt, was ihr dazu meint, mir fällt kein Kommentar mehr ein.

    Greetings,

    iK3

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.11.2008
    Ort
    Kapfenberg
    Beiträge
    628
    Hallo!

    Poste doch mal den Schaltplan, vielleicht hast du was falsch angeschlossen!?!

    Gruß
    Thomas

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    24.01.2009
    Beiträge
    8
    Es hat mich ein wenig Zeit gekostet mit Eagle vertraut zu werden, darum die etwas späte Antwort.

    Dies ist also der noch unvollständige (und zugleich mein erster) Schaltplan, der zumindest zeigt, wie das LCD angesclossen ist:



    Im übrigen habe ich nachgemessen; das Netzteil liefert saubere 4,95V, daran ändert sich auch über längere Zeit nichts.

    Ich habe sämtliche Kabelverbindungen nochmals nachgelötet, um kalte Lötstellen zu vermeiden. (Das Board ist nicht nur mein erster Schaltplan, sondern auch mein erstes Lötobjekt )

    Falls sich der Fehler nicht beheben lassen sollte, nutze ich halt nur die 8 oberen Zeichen.

    Greetings,

    iK3

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.11.2008
    Ort
    Kapfenberg
    Beiträge
    628
    Hallo!

    Dreh mal dein LCD Display um und lies die Bezeichnungen der dort vorkommenden ICs ab. Es kann nämlich sein, dass ein Controller verwendet wird, der von Bascom nicht unterstützt wird.

    Gruß
    Thomas

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    24.01.2009
    Beiträge
    8
    Also das Display ist ein TC 1602-09, gibt's bei pollin.de für 7,95€ wie ich im Zuge meiner Recherchen herausgefunden habe.

    Ich habe mir auch das dort erhältliche Datenblatt angeschaut, das mir aber leider wenig Neues erzählt hat.

    Ich vermute inzwischen ganz stark, dass ich das Teil zusammen mit dem ursprünglichen Atmega8 in die ewigen Jagdgründe getrieben habe, als ich noch überhaupt keine Ahnung von der Platine hatte und einfach nach gut dünken Strom drauf gegeben habe.

    Aber ich wäre natürlich genauso glücklich, wenn die Anzeige nur an Bascom liegen würde, dann würde ich die Ausgabe mit Assembler machen.

    Greetings,

    iK3

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.11.2008
    Ort
    Kapfenberg
    Beiträge
    628
    Hallo!

    Sry, heute komm ich leider nicht mehr dazu, dem Ganzen nachzuforschen (ein paar Sachen fürs Labor morgen sind noch zu erledigen) - aber morgen werd ich mir die Sache genauer ansehen.

    Gruß
    Thomas

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    06.08.2006
    Ort
    Delitzsch
    Alter
    76
    Beiträge
    54
    Hallo @iK3

    die ersten 8 Zeichen jeder Zeile werden korrekt wiedergegeben.
    die zweiten 8 Zeichen jeder Zeile werden nicht korrekt angesteuert, was vermutlich durch Beschaltung des LCD entstanden ist.
    Nimm bitte mal das Datenblatt.
    Was macht PD5 an 16 schau mal nach?
    Aber Atmega 8 ist korrekt- Programm korrekt.
    LCD fehlen 8 Spalten je Zeile kann nur durch Ansteuerung falsch sein.


    mfG

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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