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?
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
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...
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?
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.
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
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.
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.
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
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.
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?
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...
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.
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!
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.
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.
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ß.
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
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)
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
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
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
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!
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
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.