Forum: Mikrocontroller und Digitale Elektronik Mit PCF 8574AP ein LCD ansteuern


von Peter (Gast)


Lesenswert?

Hallo ich würde gerne ein LCD über I²C ansteuern. Dies wollte ich mit 
einem PCF8574AP machen, weil ich diesen noch Zuhause habe. Jetzt ist ja 
bekannt das die PCF keinen hohen Ströme schalten können. Ich würde jetzt 
mal versuchen den Ausgang des PCF über einen PullUp auf 5V zu ziehen und 
zusätzlich mit dem eingang des LCD verbinden. Gibt es da einen schönere 
Lösung? Bzw geht das überhaupt?

von Sebastian (Gast)


Lesenswert?

Aber wieso denn? Ein LCD braucht keine hohen Ströme.

von Nitram L. (nitram)


Lesenswert?

Peter schrieb:
> Hallo ich würde gerne ein LCD über I²C ansteuern. Dies wollte ich mit
> einem PCF8574AP machen, weil ich diesen noch Zuhause habe. Jetzt ist ja
> bekannt das die PCF keinen hohen Ströme schalten können. Ich würde jetzt
> mal versuchen den Ausgang des PCF über einen PullUp auf 5V zu ziehen und
> zusätzlich mit dem eingang des LCD verbinden. Gibt es da einen schönere
> Lösung? Bzw geht das überhaupt?

Ja geht problemlos...
Spendier den Ports einen passenden Widerstand nach VCC und gut ist...

nitraM

von Tom Z. (tom_z)


Lesenswert?

Hallo,
beschalte das Display so:
http://www.pollin.de/shop/downloads/D810145B.PDF
Seite 4

habs schon so zum laufen gebracht.

MfG Tom

von Cyblord -. (cyblord)


Lesenswert?

LCD mit 8574 geht wunderbar. Ohne irgendwelche Pullups. Wie kommt man 
auf so einen Schmarrn?

von Nitram L. (nitram)


Lesenswert?

cyblord ---- schrieb:
> LCD mit 8574 geht wunderbar. Ohne irgendwelche Pullups. Wie kommt man
> auf so einen Schmarrn?

Weil es durchaus Displays gibt, deren Eingänge mehr wie 100µA ziehen...

von Peter (Gast)


Lesenswert?

Also hab im Datenblatt vom PCF was von HIGH level output current 300uA 
beim LCD können aber bis zu 3mA kommen. Das würde der PCF dann nicht 
packen. Oder hab ich da was falsch verstanden?

von Sunny (Gast)


Lesenswert?

Ein LCD richtig anzusteuern ist nicht immer so einfach besonders im 4 
bit modus.Weil der Code dann unterschielich ist und davon abhängt ob 
mann den LCD am "high nibble" or "low nibble" haben will.Aber im 8 bit 
modus ist schon viel leichter.Also wenn du 8 bit brauchst dann kannst du 
die Datenleitungen mit dem PCF8574 verbinden und die RS, RW und EN 
direkt an den MC, aber braucht man sowieso bischen Erfahrung damit.

von Nitram L. (nitram)


Lesenswert?

Peter schrieb:
> Also hab im Datenblatt vom PCF was von HIGH level output current 300uA
> beim LCD können aber bis zu 3mA kommen. Das würde der PCF dann nicht
> packen. Oder hab ich da was falsch verstanden?

ja, hast du...
Schau dir das DB genau an.
http://www.nxp.com/documents/data_sheet/PCF8574.pdf  Seite 9

Die Ausgänge sind "Open Drain" Ausgänge mit einer 100µA Stromquelle...

Solange dein Displayeingang keine 100µA zieht ist die Welt in Ordnung...

nitraM

von Cyblord -. (cyblord)


Lesenswert?

Jaja graue Theorie. Tatsache ist, es kein LCD zieht soviel Strom dass 
ein PCF8574 dies nicht wuppen kann.

Und die LCDs haben sowieso schon Pullups eingebaut.

von Sunny (Gast)


Lesenswert?

Das heisst nicht 100µA sondern 100mA.Ein PCF8574 kann also maximal 100mA 
ausgeben und kontinuirlich 50mA.Also schaft er 10 LCD's ohne Probleme.

von Εrnst B. (ernst)


Angehängte Dateien:

Lesenswert?

Sunny schrieb:
> Das heisst nicht 100µA sondern 100mA.Ein PCF8574 kann also maximal 100mA
> ausgeben und kontinuirlich 50mA.

Wo hast du das Märchen denn her?

Ich hab dir mal einen Datenblatt-Schnippsel angehängt.


100µA für High.

von Sunny (Gast)


Lesenswert?

Εrnst B✶ schrieb:
> Wo hast du das Märchen denn her?

Aus dem Datenblatt, wo sonst? Was hast du da für ein Bild? Lies den 
Datenblatt richtig.

von Sunny (Gast)


Lesenswert?

Latch-Up Performance Exceeds 100 mA Per
JESD 78, Class II

Continuous current through VCC or GND  ±100 mA
Continuous output low current, IOL (VO = 0 to VCC) 50 mA

von Εrnst B. (ernst)


Lesenswert?

Sunny schrieb:
> Lies den
> Datenblatt richtig.

Ich kann lesen. Du auch?

Zitat Datenblatt:
1
The device features an 8-bit quasi-bidirectional I/O port (P0–P7), including latched outputs with high-current drive
2
capability for directly driving LEDs. Each quasi-bidirectional I/O can be used as an input or output without the use
3
of a data-direction control signal. At power on, the I/Os are high. In this mode, only a current source to VCC is
4
active. An additional strong pullup to VCC allows fast rising edges into heavily loaded outputs.

Also: Der Chip hat effektiv nur Open-Kollektor-Ausgänge mit integriertem 
Pullup.

LOW kann er mehr Strom. Aber darum gehts nicht. Wenn ich ein  LCD nur 
mit LOW ohne HIGH ansteuern könnte, kann ich gleich alle Pins auf GND 
löten.

von Sunny (Gast)


Lesenswert?

Wenn da steht "including latched outputs with high-current drive
capability for directly driving LEDs." dann heisst es wohl, dass er 
genug Strom für enn LCD liefern kann.
Was ist dein Problem also?

von Andreas D. (rackandboneman)


Lesenswert?

Ist denn überhaupt "ein LCD" im Sinne eines mit HD44780 oder 
vergleichbar bestückten Moduls gemeint? Nicht dass hier einer den 
PCF8574 mit dem PCF8577 verwechselt und ein passives LCD mit 
Gleichspannung gar kocht...

von Εrnst B. (ernst)


Angehängte Dateien:

Lesenswert?

Sunny schrieb:
> Wenn da steht "including latched outputs with high-current drive
> capability for directly driving LEDs." dann heisst es wohl, dass er
> genug Strom für enn LCD liefern kann.

Nein. Das heist, dass er genug strom für LEDs liefern kann, wenn du 
die LEDs gegen Vcc schaltest.

Für das LCD reicht es ziemlich sicher zwar auch, aber allein aus dem 
Grund, dass sich das LCD mit ~100µA zufrieden gibt, oder eben selber 
Pullups integriert hat.

Wenn du sowohl HIGH als auch LOW-Pegel mit dem PCF8574 ausgeben willst, 
darfst du nicht nur den IOL betrachten, sondern musst dir auch den IOH 
ansehen.
 Und der ist eben 30 … 300µA laut Datenblatt. Für einen kurzen Moment 
während des ACKs auch 1mA.

von H. P. Bolliger (Gast)


Lesenswert?

Die Symbole "IOL" und "IOH" waren schon vor 40 Jahren bei den ersten 
TTL-Logik-Schaltungen in den Datenblätter üblich - Wer diese 
Terminologie heute noch nicht kennt, sollte sich nicht melden und den 
Fragesteller verunsichern!

von Sunny (Gast)


Lesenswert?

Ich weiss nicht genau, was das wür Angaben sind und was damit gemeint 
ist, aber die sind nicht wichtig.Mann kann sie also  ausser acht lassen.

von Εrnst B. (ernst)


Lesenswert?

Sunny schrieb:
> Mann kann sie also  ausser acht lassen.

Das mag stimmen, trotzdem sollte man aber nicht rummtönen vonwegen

Sunny schrieb:
> Das heisst nicht 100µA sondern 100mA

Wenn das eindeutig eine Falschaussage ist.

Entweder hast du's vorher nicht verstanden/gewusst: Gut, dann hast du 
jetzt was gelernt, freu dich.

Oder dir war es vorher schon klar, und wolltest hier absichtlich etwas 
Falsches schreiben, um andere zu verunsichern und zu trollen: Schäm 
dich.

von Sunny (Gast)


Lesenswert?

Viele Leute haben schon so ein PCF8574 mit dem LCD benutzt und die 
hatten keine Problemme damit.Das schwierigste ist nicht ihn 
anzuschliesen sondern die Software dafür zu schreiben.

von Εrnst B. (ernst)


Lesenswert?

Sunny schrieb:
> Viele Leute haben schon so ein PCF8574 mit dem LCD benutzt und die
> hatten keine Problemme damit

Hat hier jemand etwas anderes behauptet? Nein.
Es wurde nur angesprochen, dass es eben auch Displays geben kann, mit 
denen es nicht so ohne weiteres geht.

Du hast hier mit den Falschaussagen ("100mA") angefangen. Diese sind 
inzwischen wohl ausreichend richtiggestellt, deswegen ist von meiner 
Seite jetzt Schluß.

von Sunny (Gast)


Lesenswert?

Und wieviel Strom kann er, deiner Meinung nach, liefern?

von PCF8574 (Gast)


Lesenswert?

H. P. Bolliger schrieb:
> ie Symbole "IOL" und "IOH" waren schon vor 40 Jahren bei den ersten
> TTL-Logik-Schaltungen in den Datenblätter üblich - Wer diese
> Terminologie heute noch nicht kennt, sollte sich nicht melden und den
> Fragesteller verunsichern!

Jetzt bin ich auch verunsichert ... :-(
Was heist das denn jetzt im Klartext?
IOL -> Strom, wenn Verbraucher gegen VCC geschaltet ist
IOH -> Strom, wenn Verbraucher gegen GND geschaltet ist

von H. P. Bolliger (Gast)


Lesenswert?

IOL -> Portausgangsstrom in den PCF8274 bei logisch "Low": 10mA min
(wird positiv gezählt, da er in den Schaltkreis hinein fliesst)

IOH -> Portausgangsstrom aus dem PCF8274 bei Logisch "High": -30uA min
(wird negativ gezählt, da er aus dem Baustein heraus fliesst)

von Sunny (Gast)


Lesenswert?

Aus dem Datenblatt

recommended operating conditions
IOH High-level output current −1 mA
IOL Low-level output current 25 mA

von Jobst M. (jobstens-de)


Lesenswert?

Sunny schrieb:
> Aus dem Datenblatt
>
> recommended operating conditions
> IOH High-level output current −1 mA
> IOL Low-level output current 25 mA

Abgesehen davon, daß Du hier nun die Maximumwerte, die Dir also nicht 
sicher sind, gewählt hast, denk nochmal darüber nach, in welche Richtung 
der Strom fliesst, wenn bei low (also nahe 0V) am PCF8574 Pin 25 mA 
fliessen.


Gruß

Jobst

von H. P. Bolliger (Gast)


Lesenswert?

Das 1. Kirchhoffsche Gesetz (Knotenregel) gilt auch heute noch bei 
"Hightech-Chips".

von Sunny (Gast)


Lesenswert?

Wenn ihr mir nicht glaubt dann macht doch was ihr wollt.Ich versuche 
euch zu helfen, aber ich sehe schon dass es hoffnugsloss ist.

von Jobst M. (jobstens-de)


Lesenswert?

Sunny schrieb:
> Wenn ihr mir nicht glaubt ...

Natürlich glaubt Dir keiner, denn Deine Aussagen widersprechen
- der Logik.
- den physikalischen Gesetzen.
- 'unserer' Erfahrung mit Datenblättern und mit diesem Chip.
- sich selbst.

Am Anfang machtest Du noch den Eindruck, keine Ahnung zu haben. 
Mittlerweile hast Du es zum Troll geschafft.


Gruß

Jobst

von Cyblord -. (cyblord)


Lesenswert?

Das ist doch eine Diskussion um Kaisers Bart. JA das PCF8574 braucht 
Pullups, schon allein deshalb weil es diese komischen 
Quasi-Bidirektionalen Ausgänge hat, aber eben kein 
Datenrichtungsregister o.ä.

Das sollte doch jetzt mal langsam geklärt sein. Und JA man kann ein 
Standard LCD Modul damit direkt betreiben, auch aber wahrscheinlich 
nicht nur, weil diese Pullups an Bord haben.

gruß cyblord

von H. P. Bolliger (Gast)


Lesenswert?

Nein der PCF8274 und alle andern Bausteine mit quasi-bidirektionalen 
IO-Ports, welche durch C-Mos-Schaltungen, wie sie die LCD-Controller 
darstellen, "getrieben" werden, brauchen selbstverständlich keine 
Pullup-Widerstände. Das geht ganz klar aus dem SCHEMATIC DIAGRAM im 
Datenblatt hervor!

von Falk B. (falk)


Lesenswert?

Auch wenn die Diskussion schon reichlich trollig ist, hier mal was 
substantielles.

http://www.mikrocontroller.net/articles/Port-Expander_PCF8574

a) der PCF8574 hat schon interne Pull-Upss, die mindestens 100µA liefen. 
besser als nix.
b) LCDs kann man damit prima ansteuern, auch ohne extra Pull-Ups

MfG
Falk

von Sunny (Gast)


Lesenswert?

Ja, kann man immer was lernen.Jetzt ist die Frage hoffentlich geklärt.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Falk Brunner schrieb:
> Auch wenn die Diskussion schon reichlich trollig ist, hier mal was
> substantielles.
>
> http://www.mikrocontroller.net/articles/Port-Expander_PCF8574
>

Es gibt noch ne Besonderheit bei diesem Chip:
Man kann ganze Serien von Bytes schicken, er aktualisiert dann bei jedem 
ACK die Ausgänge. Normalerweise haben i2c-Chips ein Adressregister (2. 
Byte in der Adressierungsphase), was als Index auf die interne 
Registerbank benutzt wird.

Und dann kannste ja noch die <teil>-kompatiblen zum 8574 erwähnen und 
die 16-Bit Varianten.

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.