HD44780 ( LCD Display ) Inhalt auslesen?

OP #1734331
Lesenswert?

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ß
#1734424
Lesenswert?

@  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
#1734489
Lesenswert?

@  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
#1734575
Lesenswert?

@  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 #1734635
Lesenswert?

>> 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
#1734907
Lesenswert?

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 #1734931
Lesenswert?

>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 #1735643
Lesenswert?

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 !!
#1735662
Lesenswert?

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 #1735776
Lesenswert?

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 #1735793
Lesenswert?

> 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 #1735794
Lesenswert?

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 #1736096
Lesenswert?

"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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren