Ergebnis 1 bis 9 von 9

Thema: LCD 162C von Reichelt Init?

  1. #1
    Kabelträger
    Registriert seit
    08.12.2016
    Beiträge
    26

    LCD 162C von Reichelt Init?

    Hallo!

    Mal eine saudumme Frage:
    Das letzte LCD in meiner Bastelkiste ist ein 16x2 von Reichelt:

    http://www.reichelt.de/Hintergrund-g...53&OFFSET=500&

    zuerst habe ich es im 4bit-Modus probiert, bis ich die letzten 4 strippen provisorisch für den 8bit-Modus nachlegte.
    Das Teil (hat laut Datenblatt einen KS0070B) wird von Bascom irgendwie nicht richtig initalisiert.

    Im 4bit-Modus wird mir in beiden Zeilen nur Müll angezeigt nach der Init.
    Im 8bit-Modus wird nach der init die obere Zeile durchwek mit schwarzen Kästchen gefüllt, die untere bleibt leer.

    Wechschmeißen und anderes Display besorgen?
    Oder hat hier jemand soein 162C schon mal zum laufen gebracht?

  2. #2
    Administrator Avatar von DON
    Registriert seit
    19.11.2016
    Ort
    Herford
    Beiträge
    459
    probier mal.
    CHIPSET=KS077
    Ein Mensch mag noch so herausragende Fähigkeiten haben – wenn er arrogant und selbstsüchtig ist, sind sie nichts wert.
    Konfuzius


  3. #3
    Platinenputzer
    Registriert seit
    02.11.2016
    Beiträge
    42
    Hallo Namenloser,
    das hatte ich auch mal , überprüfe mal deine Verdrahtung.
    http://halvar.at/elektronik/kleiner_...d_textanzeige/

    Gruß Thomas

  4. #4
    Kabelträger
    Registriert seit
    08.12.2016
    Beiträge
    26
    Hallo!

    Hmmpf...
    Aber speziell zum KS0070B oder dem Modell 162C weiß hier niemand etwas?

    Das Bascom-Manual habe ich als PDF nun über mehrere Versionen vorliegen, inklusive der aktuellsten.
    Und selbstverständlich habe ich da schon alles zum Thema LCD durch.
    Wie gesagt...fast einen ganzen Tag alleine mit dem dämlichen 162C gekämpft.
    Und über google doch recht viele Themen gefunden die mir zeigten das ich mit diesem Problem nicht alleine bin.

    Es scheint so, als ob der KS0070B eben NICHT kompatibel ist zu den Bordmitteln die Bascom mitbringt.

    Und was die Verdrahtung angeht:
    Drei mal aus verzeifelung die Ports gewechselt...zuerst PortA, dann PortC und abends nochmal alles umgestrickt auf PortD, überall exakt das gleiche verhalten:

    Im 4Bit-Mode führt die Initialisierung zu Datenmüll über beide Displayzeilen, während im 8bit-Mode die obere Zeile mit schwarzen Kästchen aufgefüllt wird, und Zeile 2 leer bleibt.

    Daraufhin habe ich mir das Datenblatt mal genauer angeschaut und zweifel daran ob das 162C überhaupt nur mit vier Datenleitungen initialisierungsfähig ist.
    Denn das Teil bootet generell im 8Bit-Mode und benötigt scheinbar Init-Sequenzen welche die Leitungen DB3 und DB2 verwenden:

    http://cdn-reichelt.de/documents/dat...162C%23DIS.pdf

    Seite 5 unten: Function Set.
    DB3 muss auf 1 gesetzt werden um dem KS0070B mit zu teilen das es ein 2-Zeilen LCD ist.
    DB2 wird gebraucht um die Matrix um zu schalten von 5x7 / 5x10 Pixel.

    Mein Post hier ist eher so zu verstehen:
    Wenn hier irgend jemand das konkrete Problem mit exakt diesem LCD-Modul und dem KS0070B (und nicht einem KS-irgendwas) schonmal hatte und dafür eine Lösung gefunden hat, setze ich mich da gerne noch mal ran.
    Sollte es keine Lösung geben, wird das dämliche Modul entsorgt und für den nächsten LCD-Kauf hab ich dann eben gelernt.

    Jürgen Hüser

  5. #5
    Administrator Avatar von DON
    Registriert seit
    19.11.2016
    Ort
    Herford
    Beiträge
    459
    Hast du den R/W auf masse gelegt.
    Ein Mensch mag noch so herausragende Fähigkeiten haben – wenn er arrogant und selbstsüchtig ist, sind sie nichts wert.
    Konfuzius


  6. #6
    Kabelträger
    Registriert seit
    08.12.2016
    Beiträge
    26
    Hi Don!

    Zitat Zitat von DON Beitrag anzeigen
    Hast du den R/W auf masse gelegt.
    Aber sicher, die vier ungenutzten Datenleitungen DB0-DB4 ebenso bei den 4bit-Versuchen.
    Wie gesagt, das einzige was mir noch als Idee käme, scheue ich in der Praxis.
    Nämlich das Teil im 8Bit-Modus zu betreiben und die gesamte Initialisierung manuell im Code unter zu bringen.

    Die Versuche bis zu dieser Erkentniss haben mir den gesamten letzten Mittwoch geraubt.
    Und das nur für einen Test:
    Wollte verschiedene Uhrenquarze auf ihre Genauigkeit ausmessen, wozu ich einfach am Experimentierboard ein LCD als autonome Anzeige sowie ein DCF77-Modul anschließen und manuell synchronisieren lassen wollte.
    Also ganz simpel:
    Bei Erstinbetriebnahme die eingebaute RTC eines ATmega16 per Tastendruck synchronisieren auf korrekte Zeit, danach Tage oder wochen die RTC frei laufend lassen, gelegentlich die Uhrzeit vergleichen mit anderer Funkuhr.
    Abweichung notieren, neues Uhrenquarz und das selbe in schleife.

    Denn: Irgendwie muss es doch möglich sein auch an einem Atmel eine hinreichend genaue Uhr als RTC zu betreiben. Andere µC schaffen das seit Jahrzehnten.
    Ich rede hier von 2-4ppm Ganggenauigkeit.
    Bisherige Versuche mit 32kHz Uhrenquarzen an Atmels hatte aber schon nach wenigen Wochen abweichungen im Bereich 20-40 Sekunden.
    Für Schaltuhraufgaben die über Jahre hinweg halbwegs Minutengenau sein sollen ist das nicht genau genug.

    Die detailierten Datenblätter zu den ATmega 8/16/32 sind da bezüglich Quarzspezifikationen eher skuriel, denn es sind keine spezifiziert.
    Abgesehen das es verschiedene Uhrenquarze mit Lastkapazitäten von 6-18pF und sehr unterschiedlichen ESR's gibt, die sich dramatisch auf die Frequenz auswirken wenn diese nicht zum Oszillator passen, was die Ungenauigkeit begründen könnten.
    In dem umfangreichen Stapel an Applications Notes von Atmel gibt es auch ein paar zum Thema RTC.
    Die mit Abstand "inspirierenste" ist die AVR4100, welche aber auch klare Aussagen meidet welche konkreten Werte soein uhrenquarz an den einzelnen RTC-Oszillatoren haben sollte.
    Die Tabelle der erfolgreich getesteten und empfohlenen Quarze zeigt aber durchweg Typen mit 12,5pF Lastkapazität und ESR's zwischen 35 und 90kHz.

    Nun habe ich letztens nen Rundumschlag gemacht und knapp 15 unterschiedliche Uhrenquarze bestellt (überwiegend 12,5pF aber sehr unterschiedliche ESR's im genannten Bereich) und wollte die mal durchprobieren.

    Naja, das LCD 162C liegt seit Mittwoch Abend wieder vorrübergehend in der Bastelkiste. War wohl ein Fehlkauf.

    Grüße

    Jürgen

  7. #7
    Kabelträger
    Registriert seit
    10.11.2016
    Alter
    59
    Beiträge
    1
    Hallo Jürgen,

    das LCD162C habe ich mir schon 2011 zum Testen von Reichelt bestellt.

    Es funktioniert im 4 bit Modus problemlos.

    In der Software habe ich auch nicht besonderes angegeben.

    $regfile = "m8def.dat" 'AVR ATMega8
    $crystal = 8000000 '8 Mhz interne Takterzeugung
    $hwstack = 100
    $swstack = 100
    $framesize = 100

    Dim Geraet As Byte , Kommando As Byte

    Config Pinb.0 = Input
    Config Rc5 = Pinb.0
    Enable Interrupts

    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portd.3 , Db5 = Portd.4 , Db6 = Portd.5 , Db7 = Portd.6 , E = Portd.7 , Rs = Portb.1

    Cls
    Cursor Off

    Locate 1 , 1
    Lcd "Infrarot-"
    Locate 2 , 1
    Lcd "Empf{225}nger"
    Wait 2

    Cls
    Lcd "Ger{225}t : "
    Lowerline
    Lcd "kommando : "
    ......
    Könnte höchstens sein, daß die den Controller des LCD mittlerweile geändert haben.

    Glaube ich aber nicht, das Datenblatt ist haargenau das, welches ich schon 2011 runtergeladen habe.

    Gruss Jürgen

  8. #8
    Kabelträger
    Registriert seit
    04.11.2016
    Beiträge
    12
    Zitat Zitat von Zardoz Beitrag anzeigen
    Es funktioniert im 4 bit Modus problemlos.
    Kann ich bestätigen, hatte nie Probleme mit diesem LCD. Ich hab diese auch nur im 4-bit Modus betrieben und Standard-Bascom Ansteuerung, also nichts aufregendes.
    LCD Schrott?, Schaltungsfehler?
    Gruß Chris

  9. #9
    Kabelträger
    Registriert seit
    08.12.2016
    Beiträge
    26
    Hallo Jürgen & Chris!

    Danke euch beiden für eure klaren Aussagen, genau auf sowas hatte ich gehofft.

    Somit habe ich mich eben nochmal rangesetzt und das LCD 162C wieder rausgekramt.

    Und siehe da: geht nun endlich. Der Fehler war zweigleisig:

    Irgendwo vom LCD 162C kommen rechteckige High-Impulse her auf die ungenutzten Pins DB0 bis DB3.
    Nur mit Oszi zu sehen und auf merkwürdige Pegel...waren schwankend zwischen 300mV bis 800mV.

    Kann ja eigentlich nicht sein, schließlich liegen die ja über eine Teststrippe auf GND.
    Und siehe da: Diese Teststrippe ausgetauscht und auf DB0-DB3 war ruhe.
    Seit dem Punkt funktioniert das Display offensichtlich.


    Mein zweiter Fehler letzten Mittwoch der mich dann noch weiter vom Ziel entfernte:
    Aufgrund des ersten Fehlers schlugen Versuche mit "Config LCD 16 * 2" fehl, weswegen ich schnell auf den Gedanken kam das der Industriestandard nicht passt.
    Das modul hat laut Datenblatt den KS0070B verbaut.
    Über eine kompatibilität zu irgendwelchen Standards hab ich keinerlei Aussagen gefunden, weswegen ich aufgrund der Controllerbezeichnung fast nur noch mit der Angabe "Config LCD 16 * 2 , Chipset = KS077" getestet habe.

    Vielen Dank euch beiden!

    Jürgen

Lesezeichen

Lesezeichen

Berechtigungen

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