Forum: Mikrocontroller und Digitale Elektronik PCA9535 IOExpander - kein ordentlicher HIGH-Pegel.


von LeFish (Gast)


Lesenswert?

Hallo allerseits,

ich versuche mit einem PCA9535 einen NPN-Transistor zu schalten und eine 
LED anzuschalten.

Das ist der relevante Auszug aus der Schaltung:

https://i.paste.pics/f396cf9fe76ee8cab617a87fccfcfdd9.png

Die LED leuchtet nicht und der Transistor schaltet nicht durch.
Am Ausgang P0.0 habe ich 90 mV anliegen, wenn ich P0.0 auf HIGH schalte. 
Auf LOW liegen 0 V an.

Dass das Programm läuft überprüfe ich mittels einer separaten Heartbeat 
LED.

Der i2C-Busmaster ist ein ESP32 und ich nutze die Bibliothek Wire.h mit 
SDA=GPIO5, SCL=GPIO6. Für die Frequenzen habe ich bereits 100 kHz und 
400 kHz probiert.

Ein testweise aufgespieltes Programm 
(https://raw.githubusercontent.com/RuiSantosdotme/Random-Nerd-Tutorials/master/Projects/LCD_I2C/I2C_Scanner.ino)
findet alle insgesamt 4 am Bus befindlichen PCA9535 mit den 
entsprechenden Adressen (32dec, 33dec, 34dec, 35dec).

Ich habe es mit diesem beiden Bibliotheken versucht:

https://github.com/chrissbarr/PCAL9535A-Arduino-Library
https://github.com/hideakitai/PCA95x5

Bei beiden Libs das selbe Ergebnis.

chrissbarrs Lib habe ich bereits mit OpenDrain vs. PushPull versucht und 
auch mit den DriveStrength Werte gespielt. Immer dasselbe Ergebnis...

Weiß jemand Rat?

Vielen Dank!

Beste Grüße
LeFish

von Chris K. (kathe)


Lesenswert?

Salamitaktik.
90 mV ???? Offene Leitung ...
Viele Marketing Benennungen ...
Don't feed the fish.

: Bearbeitet durch User
von Jochen (Gast)


Lesenswert?

LeFish schrieb:
> Ein testweise aufgespieltes Programm
> 
(https://raw.githubusercontent.com/RuiSantosdotme/Random-Nerd-Tutorials/master/Projects/LCD_I2C/I2C_Scanner.ino)

Wat nen Unsinn, der I2C-Scanner ist als Beispiel bei der Wire-Bibliothek 
dabei.

Wie sieht die Initialisierung aus? Vorallem: Was wird in Register 6 und 
7 geschrieben?

von Bauform B. (bauformb)


Lesenswert?

Welcher PCA9535 ist das genau? Manche Typen (z.B. NXP PCA9535C, onsemi 
PCA9535EC) haben nur Open Drain Ausgänge, die können keinen Transistor 
treiben.

von LeFish (Gast)


Lesenswert?

Bauform B. schrieb:
> Welcher PCA9535 ist das genau? Manche Typen (z.B. NXP PCA9535C

DAS ist es! Es ist ein NXP 9535C verbaut.

Vielen Dank für den Hinweis!

Sollte ich den PCA9535 von TI verwenden?

Beste Grüße
LeFish

von Forist (Gast)


Lesenswert?

LeFish schrieb:
> https://i.paste.pics/f396cf9fe76ee8cab617a87fccfcfdd9.png

Gesehen?
Es gibt hier im Forum die Möglichkeit, Bilder als Dateianhang 
hochzuladen.

Wie ist die Life Span von deinem Link?
Angepasst auf die des Threads hier im Forum?

von Wolfgang (Gast)


Lesenswert?

LeFish schrieb:
> Sollte ich den PCA9535 von TI verwenden?

Du könntest an Stelle des Pull-Downs besser einen Pull-up Widerstand 
verwenden.
Damit bist du sowieso etwas sparsam. Beim I2C (SDA, SCL) ist auch keiner 
eingezeichnet.

von Bauform B. (bauformb)


Lesenswert?

LeFish schrieb:
> Sollte ich den PCA9535 von TI verwenden?

Oder NXP, oder onsemi oder... - nur eben einen ohne das C.

Ich finde, bei TI muss man die Datenblätter besonders sorgfältig lesen. 
Gelegentlich sind deren Chips doch ein wenig anders als andere. Ja, ok, 
das gilt eigentlich für jeden Hersteller. Speziell bei I2C hat NXP 
allerdings den Vorteil, dass sie die direkten Erben der Erfinder von I2C 
sind.

Forist schrieb:
> Wie ist die Life Span von deinem Link?
> Angepasst auf die des Threads hier im Forum?

Also 20+ Jahre? Was ist der Rekord für die späteste Antwort?
Überhaupt, wie alt ist das Forum eigentlich? Geburtstagsparty?

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Bauform B. schrieb:
> Ich finde, bei TI muss man die Datenblätter besonders sorgfältig lesen.
> Gelegentlich sind deren Chips doch ein wenig anders als andere. Ja, ok,
> das gilt eigentlich für jeden Hersteller.

Was hat das jetzt damit zu tun, dass es von NXP einen PCA9535 und einen 
PCA9535C mit anderer Ausgangsstufe gibt (Fig. 7 im Datenblatt)
https://www.nxp.com/docs/en/data-sheet/PCA9535_PCA9535C.pdf

Auch bei NXP kommt man nicht umhin, zumindest die erste Seite des 
Datenblatts zu lesen: "The PCA9535C is identical to the PCA9535 except 
that all the I/O pins are high-impedance open-drain outputs".

von Bauform B. (bauformb)


Lesenswert?

Naja, ich wollte nicht direkt "RTFM" schreiben und ich weiß nicht, ob es 
von TI nicht auch beide Varianten gibt.

Der Hintergrund ist die 74LV Familie von TI. Im Unterschied zu NXP haben 
die Chips keine Eingangsschutzdioden gegen VDD. Das trage ich ihnen 
nach.

von Clemens L. (c_l)


Lesenswert?

Bauform B. schrieb:
> Der Hintergrund ist die 74LV Familie von TI. Im Unterschied zu NXP haben
> die Chips keine Eingangsschutzdioden gegen VDD.

Deswegen nennt TI sie auch nicht "74LV", sondern "LV-A" oder "SN74LV-A". 
(Soweit ich sehe, macht nur DigiKey diesen Fehler.)

von Bauform B. (bauformb)


Lesenswert?

Clemens L. schrieb:
> Bauform B. schrieb:
>> Der Hintergrund ist die 74LV Familie von TI. Im Unterschied zu NXP haben
>> die Chips keine Eingangsschutzdioden gegen VDD.
>
> Deswegen nennt TI sie auch nicht "74LV", sondern "LV-A" oder "SN74LV-A".
> (Soweit ich sehe, macht nur DigiKey diesen Fehler.)

Das ist mir in den Datenblättern nicht aufgefallen. Man kann wirklich 
nicht misstrauisch genug sein, danke!

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.