Forum: Mikrocontroller und Digitale Elektronik 44780-Display 2004A mit I2C LCM1602


von Matthias W. (matt007)


Lesenswert?

das 4-Zeilen-LCD soll am Arduino nano3 unter WinAVR in Betrieb genommen 
werden. Hinten sitzt eine IC2Platine YwRobot LCM1602.

Im Gegensatz zu anderen Ausführungen sehe ich keine Lötpunkte für A0-A2. 
Die Pins 1-3 am PCF scheinen fest auf VCC zu liegen und nicht auf Masse 
wie in anderen Schaltplänen.

Auf der Oberseite der I2C-Platine ist nur eine LED zu sehen - kein R 
dazu. Einen Stützkondensator für den PCF sehe ich auch nicht. Es sind 
wohl Teile auf der Rückseite der Platine - wohl auch zur Ansteuerung 
Backlight.

Hat jemand einen Schaltplan dieser I2C-Platine?

Die verwendeten PCF gehen nur bis 100kHz. Hat jemand mal schnellere 
eingebaut? Ggf. welche?

Vielen Dank !

von Matthias W. (matt007)


Lesenswert?

schneller als die PCF8574 sind die PCA8574.

von Atmel (Gast)


Lesenswert?

Matthias W. schrieb:
> Die verwendeten PCF gehen nur bis 100kHz. Hat jemand mal schnellere
> eingebaut? Ggf. welche

Warum? Da hängt nur ein Display dran.

von Matthias W. (matt007)


Lesenswert?

Atmel schrieb:
> Warum? Da hängt nur ein Display dran.

je schneller die Daten weggeschickt sind umso eher kann der Prozessor 
wieder etwas anderes machen.

Daher gibt es ja auch SPI und andere schnelle Busse.

Kennst Du dieses Display? Hast Du dazu einen Plan?

von Atmel (Gast)


Lesenswert?


von Matthias W. (matt007)


Angehängte Dateien:

Lesenswert?

Atmel schrieb:
> https://arduino-info.wikispaces.com/LCD-Blue-I2C

Danke. Dieses Teil habe ich. Dazu fehlt mir der Schaltplan. Ich nehme an 
daß Teile auf der Rückseite sind die ich nicht sehen kann ohne es 
komplett von der Platine abzulöten.

Vermutlich wird da ein Keramik-C sein, ein Transistor, ein 
12k-Widerstand Basis nach VCC, ein 1k Vorwiderstand für die LED.

Seltsam wenn Teile auf 2 Seiten bestückt werden. Normalerweise vermeidet 
man so etwas doch.

von Falk B. (falk)


Lesenswert?

@Matthias W. (matt007)

>> Warum? Da hängt nur ein Display dran.

>je schneller die Daten weggeschickt sind umso eher kann der Prozessor
>wieder etwas anderes machen.

Prinzipiell ja, praktisch nein. Für ein so einfaches LCD ist auch ein 
100kHz I2C Bus mehr als schnell genug, da bekommt man um die 1000 
Zeichen/s durch. Sollte reichen, selbst für einfache Animationen ;-)

Beitrag "Re: I2CLCD Library für HD44780 LCDs"

von Matthias W. (matt007)


Lesenswert?

Falk B. schrieb:
> Beitrag "Re: I2CLCD Library für HD44780 LCDs"

Danke für den Hinweis Falk.

"Hatte ich dennoch mal mit 400kHz betrieben, ging ;-)"

scheinbar gehen die PCF ggf. viel schneller als erwartet. Ich habe nun 
3.9k als Pullup angelötet und einen einfachen Treiber geschrieben. Mal 
sehen was dabei herauskommt.

Es ist schon etwas wie Missbrauch wenn über den recht langsamen Bus erst 
die Adresse des PCF, dann die Daten hi, dann das E-Signal, dann wieder 
weg, dann die Daten lo, dann das E-Signal, dann wieder weg und dazu noch 
Start und Stop gesendet werden muss um ein Zeichen rauszubringen.

Wenn ich das mit einem einfachen Schieberegister vergleiche... das kann 
auch mit 2MHz oder schneller laufen.

von Manfred (Gast)


Lesenswert?

Matthias W. schrieb:
> "Hatte ich dennoch mal mit 400kHz betrieben, ging ;-)"
> scheinbar gehen die PCF ggf. viel schneller als erwartet.
Geht es um eine reale Anwendung oder einfach nur "ich habe den 
Schnellsten"?

Für mein 1602 habe ich mit einer beliebigen, aus dem Internet gezogenen 
Library ca. 20ms pro Zeile. Da ich das Display bzw. Teile davon nur 
beschreibe, wenn sich ein Wert geändert hat, sehe ich kein Zeitproblem.

von aSma>> (Gast)


Angehängte Dateien:

Lesenswert?

Servus,
400khz klappt wunderbar. Anbei ein Bild. Pullup bei 5V 1.6k.

Man braucht auch kein delay von ca. 37µs zu generieren, da 2 bytes 
senden dauert 50µs.

von Matthias W. (matt007)


Lesenswert?

Manfred schrieb:
> sehe ich kein Zeitproblem

Danke Manfred !

von Matthias W. (matt007)


Lesenswert?

aSma>> schrieb:
> 400khz klappt wunderbar. Anbei ein Bild. Pullup bei 5V 1.6k.

Danke ! Sieht gut aus. 3.9kOhm müsste auch gehen. So läuft jedenfalls 
die Maxim Echtzeituhr mit 400kHz. Dabei sehen die Signale zwar oben 
etwas rund aus - aber es klappt einwandfrei.

von Jobst M. (jobstens-de)


Lesenswert?

Matthias W. schrieb:
> je schneller die Daten weggeschickt sind umso eher kann der Prozessor
> wieder etwas anderes machen.

Wieso sollte der Prozessor zwischen den Paketen nichts tun?
Ich schicke bei meinen Projekten jede ms ein Zeichen im IRQ - zusammen 
mit der Tasterabfrage.


Gruß

Jobst

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.