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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Matthias W. (matt007)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
schneller als die PCF8574 sind die PCA8574.

von Atmel (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert

von Matthias W. (matt007)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Manfred schrieb:
> sehe ich kein Zeitproblem

Danke Manfred !

von Matthias W. (matt007)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.