HD44780 ( LCD Display ) Inhalt auslesen?

OP #1734331
Guten Tag :)

Ich habe zwar schon die Forensuche bemüht, allerdings nichts gefunden 
bzw. ich weiß auch nicht genau wonach ich suchen "muss".

Ich möchte den Inhalt eines "vermutlich" mit dem HD44780 gesteuerten 
Displays auslesen.
Bzw. die Daten welche vom Prozessor zum Display gesendet werden 
"anzapfen" und auf einem anderen vorzugsweise Atmel darstellen und / 
oder als Char Array / String speichern.

Kennt ihr da eine fertige Routine ?

Es geht im Prinzip darum den Display Inhalt eines "fertigen" Ladegerätes 
welches über ein 2x40 Zeichen LCD verfügt auszulesen und im eigenen µ zu 
verarbeiten.

Vielleicht könnt ihr mir einen Tipp geben.

Mir sind zwei Lösungsansätze eingefallen..

1. Mit Hilfe eines Bustreibers.. entsprechend schnell das Display vom 
original Controller trennen und mit meinem Atmel verbinden und über die 
Standart HD44780 Routine den Inhalt auslesen und verarbeiten.

2. Den Datenstrom mitloggen und mit Hilfe des Datenblattes die Adressen 
in Buchstaben / Ziffern umwandeln und in einem Array ablegen.

Wäre super wenn ihr da schon implementierte Ansätze finden würdet :)

Danke und einen schönen Feiertag wünsche ich :)

Gruß
@  Dennis Henning (somebuddy)

>Kennt ihr da eine fertige Routine ?

Nö.

>2. Den Datenstrom mitloggen und mit Hilfe des Datenblattes die Adressen
>in Buchstaben / Ziffern umwandeln und in einem Array ablegen.

Genau so muss man das machen. Sinnvollerweise mit einem Logikanalysator.

MfG
Falk
@  Dennis Henning (somebuddy)

>wieso ein Logik analysator ?

Zum Aufzeichnen der Signale D0-D7, RW, RS und E.

>Wenn ich die 8 Bits direkt an einen µ hänge ?

Kann man machen, man braucht aber noch wenigstens RS und E. Und es 
könnte eng werden, denn schliesslich brauchen die LCDs nur ca. 0,5µS 
breite Pulse an E, was meistens auch so gemacht wird. Darauf kann der uC 
nur schwer in Software reagieren. Besser ist es, ein Latch ala 
74HC373 dazwischenzuschalten, dann hat der uC VIIIEL Zeit, die Daten zu 
lesen und auszuwerten. Das ist dann ein Logikanalysator für Arme ;-)

MFG
Falk
@  Dennis Henning (somebuddy)

>Naja.. Das Display ändert nicht wirklich schnell den "Inhalt"..

Ja und? Das sagt doch aber nichts darüber aus, wie schnell einzelene 
Zeichen nacheinander geschrieben werden.

Selbst wenn ich nur 1x pro Sekunde 10 Zeichen schreibe, wird man das 
meist zügig hintereinanderweg machen, macht 400µs.

>Also sollte es doch theoretisch einfach über die Auslese funktion

Welche Auslesefunktion? Die HD44780 kann man nicht rücklesen.

> und einen Bustreiber gehen oder sehe ich das falsch ?

Ja ;-)

MFG
Falk
Gast
>> Also sollte es doch theoretisch einfach über die Auslese funktion
> Welche Auslesefunktion? Die HD44780 kann man nicht rücklesen.

Laut Speck [1] schon. CG-/DDRAM-Adresse setzen, anschließend RS und R/W 
auf 1, dann bekommt man an D* die Daten, die an jener Adresse stehen.

Würd ich aber trotzdem nicht machen, weil man da potenziell in Probleme 
läuft, wenn man im Betrieb am Display rumfingert (und was verstellt oder 
unterschlägt). Latch dranhängen und mitloggen dürfte einfacher und 
zuverlässiger sein.

[1] 
http://www.datasheetarchive.com/pdf-datasheets/Datasheets-13/DSA-247674.pdf
Dennis Henning schrieb:
> Naja.. Das Display ändert nicht wirklich schnell den "Inhalt"..

Ein Dart Spieler schiesst seine 3 Pfeile auch nicht wirklich schnell auf 
die Scheibe. Ich würde mal schätzen er braucht so um die 10 bis 15 
Sekunden dazu.
Wenn du allerdings einen einzelnen Pfeil vom Verlassen der Hand bis zum 
Einschlag in der Scheibe verfolgen willst, musst du schnell sein.
Gast
>Naja.. Das Display ändert nicht wirklich schnell den "Inhalt"..
>Also sollte es doch theoretisch einfach über die Auslese funktion und
>einen Bustreiber gehen oder sehe ich das falsch ?

Sicher geht das, aber woher weisst du ob das Display schon komplett
beschrieben wurde? Vorher stand da vieleicht 1.234. Jetzt liest du
2.534. Und ein klein wenig später steht auf dem Display 2.567.
Gast
Ich bin echt ein wenig doof..  -.-
Es geht "noch einfacher"
Ich habe gerade gesehen,dass auf der Platine ( wenn auch nicht nach 
aussen geführ ) ein Serieller Anschluss vorhanden ist.. z.B. für Logview 
!

Diese Daten sollten sich über die Uart doch recht "einfach" verarbeiten 
lassen. Wenn ich Anfang und Ende "erkenne"...

Jetzt brauche ich nur noch einen µ  mit 4 Hardware Uarts..

Oder meint ihr das funktioniert auch mit 2 Hard & 2 Software Uarts ?

Ich habe bis jetzt 2 Atmegas gefunden mit 4 HW Uarts. Allerdings sind 
das gleich 100Füßler ;) Wäre "etwas" übertrieben..

Grüße und danke nochmal für die Mühe !!
Dennis Henning schrieb:

> Diese Daten sollten sich über die Uart doch recht "einfach" verarbeiten
> lassen. Wenn ich Anfang und Ende "erkenne"...
>
> Jetzt brauche ich nur noch einen µ  mit 4 Hardware Uarts..

<Unverständnis>

Wozu 4 Stück?

Da ist doch nur 1 UART im Ladegerät.

Ehe du den Weg weiterverfolgst: Häng erst mal deinen PC mit 
Hyperterminal oder HTerm an die UART und sieh nach was da rauskommt.
OP
Weil es im verlauf des weiteren Projektes um 4 Ladegeräte geht welche 
parallel betrieben werden.

Klar.. den weg über das Hyperterminal werde ich natürlich einschlagen.
Im Groben weiß ich ja welche Werte ankommen "Müssen". Dies gilt es dann 
"nur" zu entschlüsseln.
Aber das ist die nächste Baustelle.

Erstmal einen passenden µ suchen.
Gast
> Weil es im verlauf des weiteren Projektes um 4 Ladegeräte geht welche
> parallel betrieben werden.

Zeitmultiplexen. Das geht aber nur, wenn die Daten 'regelmäßig' (aka 
Dauerbetrieb) ankommen oder wenn die Geräte auf ein Status-Query eine 
Response schicken. Deswegen..

> Klar.. den weg über das Hyperterminal werde ich natürlich einschlagen.
> Im Groben weiß ich ja welche Werte ankommen "Müssen". Dies gilt es dann
> "nur" zu entschlüsseln.
> Aber das ist die nächste Baustelle.

..mach erst mal das, bevor Du irgendwas anderes anfängst. Noch besser du 
hängst erst mal ein Oszi dran um zu sehen, ob da überhaupt was rauskommt 
ohne Doku.

HTH und HF
Gast
Hallo

Erstmal schauen, was denn über die serielle überhaupt rauskommt.
Hatte mal was ähnliches auf der Prüfmaschine. Sollten bestimmte
Sachen reinprogrammiert werden. Konnte mich mit dem Teil auch seriell
unterhalten. Aber erst nach einloggen mit Passwort und allem drum und
dran. Schau also erstmal nach, ob was gescheites rauskommt.

Gruß
OP
Ich hab die Geräte noch nicht hier.. aber es kommt "ein Datenstrom" raus 
der mittlels Pegelwandler mit Logview kommunizieren kann.

Soviel weiß ich bisher.. "Wie" die Daten ankommen und übertragen werden 
,kann ich so noch nicht testen.
OP
"Datenstrom" aus einem anderen Ladegerät ( ähnlich )..

$1;1;;11960;8078;79;4000;4004;0;0;0;0;335;232;5;30
$1;1;;11960;8069;79;4001;4008;0;0;0;0;335;233;5;18
$1;1;;11960;8070;79;4001;4006;0;0;0;0;337;232;5;23
$1;1;;11973;8073;79;4004;4008;0;0;0;0;337;232;6;30
$1;1;;11973;8078;79;4005;4008;0;0;0;0;337;232;6;20
$1;1;;11966;8077;79;4005;4008;0;0;0;0;339;232;7;16
$1;1;;11966;8078;79;4005;4008;0;0;0;0;347;232;7;22
$1;1;;11966;8077;80;4005;4008;0;0;0;0;344;232;8;19
$1;1;;11966;8078;79;4005;4009;0;0;0;0;347;231;8;27
$1;1;;11966;8078;79;4005;4010;0;0;0;0;347;231;9;18
$1;1;;11973;8078;79;4008;4011;0;0;0;0;347;232;9;25
$1;1;;11960;8078;79;4008;4011;0;0;0;0;347;232;9;27
$1;1;;11973;8078;79;4006;4012;0;0;0;0;347;232;10;44
$1;1;;11973;8078;79;4009;4012;0;0;0;0;347;232;10;35
$1;1;;11966;8078;79;4009;4012;0;0;0;0;347;231;11;37
$1;1;;11966;8078;79;4010;4012;0;0;0;0;347;231;11;45
$1;1;;11960;8086;79;4010;4012;0;0;0;0;347;232;12;42
$1;1;;11966;8078;79;4010;4014;0;0;0;0;347;232;12;43
$1;1;;11966;8081;79;4010;4014;0;0;0;0;347;232;13;44
$1;1;;11966;8079;79;4010;4012;0;0;0;0;347;232;13;45
$1;1;;11966;8080;79;4010;4014;0;0;0;0;347;232;14;42
$1;1;;11973;8079;79;4010;4015;0;0;0;0;349;232;14;39
$1;1;;11973;8079;79;4010;4015;0;0;0;0;347;232;14;41

bezogen auf die Letzte Zeile sind:
11973 = die Eingangsspannung ( 11,97 V )
8079  evtl. die Ladespannung !?
79 Ladestrom ( 790mA)
4010 Spannung erste Zelle
4015 SPannung zweite Zelle
347 und 232 Innen Temperatur und Akku Fühler Temp.
14 und 41   "keine Ahnung"

in der Art werden wohl alle 1-2 Sekunden Daten über die Serielle kommen 
( auch bei dem neuen Lader ) Die Chinesen kopieren alle untereinander 
ich denke nicht,dass dort einer das Rad neu erfunden hat.

Grüße

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.