hallo,

ik heb iets vreemds aan de hand met een PCF8574,
als ik de pin niet aan de controller (raspberry pico) hang, dan meet ik keurig 5V op de interrupt pin. wanneer ik dat wel doe, dan zakt de spanning naar ca. 2V.
je zou zeggen dat ik de interrupt pin dan te zwaar belast, maar dat verwacht ik toch niet.
wat ik in dat plaatje doe moet toch gewoon kunnen, of niet ?

3 x diode om van 5V naar 3,3V te gaan.

Nee.

Zelfs als het zou kloppen dan klopt het nog niet want 3x0,7=2,1 dus dan blijft er 5-2,1 = 3,9 2,9 volt over. (met dank aan @paulp voor de bijsturing verderop. Zijn rekenkunde is universeel genoeg om ook hier in Portugal geldig te zijn, en wellicht op nog wel meer plaatsen. Maar 3,3 komt er alsnog niet uit)

Maar het klopt om te beginnen al niet want die 0,7 volt over een diode is er alleen als er voldoende stroom vloeit.

Ik zou dan eerder het IRQ-signaal van de PCF naar de nano sturen met een serieweerstand, en afknijpen met een diode naar de 3,3V. Een tweede knijpdiode naar de nul kan nooit kwaad, maar is wellicht overbodig. Die knijpdiodes kunnen dan misschien best Schottky's zijn,voor een kleinere drempel.

Is die pin van je microcontroller wel als input geconfigureerd? Van 5V naar 3V3 zou ik via twee weerstandjes doen (spanningsdeler). Dat geeft een voorspelbaar gedrag, in tegenstelling tot 3 diodes waar een heel klein stroompje door loopt. De spanningsval hangt maar net af van de exemplaren die je kiest en van temperatuur en dergelijke.

@paulinha_B in Nederland is 5-2.1=2.9

OK, die diodes heb ik op "de gok" geplaatst en er ik hield in dit geval een acceptabele spanning over (dus goed voor de test).
dat moet dus beter,........maar zou dit er ook voor kunnen zorgen dat de spanning "in kakt" naar 2V ?

Vraag u dat niet af! Een slecht idee is een slecht idee en dient dus afgevoerd. Of zou Eva zich nog steeds afvragen of die appel nu echt zo lekker was als hij er uitzag?

Dus vanaf de pin 100 Ohm en dan vanaf de ground 200 Ohm, dan hou je op het knooppunt 3,3333V over, lijkt me te voldoen.

ga ik morgen eens testen,....maar zou dit er ook voor kunnen zorgen dat de spanning "in kakt" naar 2V ?

Helaas, niemand gaat er door voor de koelkast.

Die led + diode hoort er niet zo (load te zwaar) en mocht je die toch willen gebruiken zit die zowiezo verkeerdom.

De INT pin trekt zijn output omlaag! Is een open drain output. Helaas is de max current niet echt gespecificeerd. Waarschijnlijk maar net boven de 1.6 mA.

Dus aan de !INT pin moet een pullup naar de VCC, gebruik dan meteen de 3V3 en heb je alleen een weerstandje nodig en geen gerommel met diodes.
Het level is dan meteen goed.

Zelf vind ik dit nog een van de meest betrouwbare level-shifter ontwerpen. Behalve 2 weerstanden kost het je 1 torretje, BSS138 oid.
https://www.eeweb.com/level-shifting-techniques-in-i2c-bus-design/

De PCF8574 interrupt pin is OD, dus led naar Gnd is sowieso 'not-done' ...
Alle pinnen zijn quasi-bidirectioneel en kunnen dus maar héél weinig sourcen (400µA); alleen sinken...

Op vrijdag 21 maart 2025 21:27:14 schreef henri62:
Helaas, niemand gaat er door voor de koelkast.

Die led + diode hoort er niet zo (load te zwaar) en mocht je die toch willen gebruiken zit die zowiezo verkeerdom.

De INT pin trekt zijn output omlaag! Is een open drain output. Helaas is de max current niet echt gespecificeerd. Waarschijnlijk maar net boven de 1.6 mA.

Dus aan de !INT pin moet een pullup naar de VCC, gebruik dan meteen de 3V3 en heb je alleen een weerstandje nodig en geen gerommel met diodes.
Het level is dan meteen goed.

inderdaad dit is dus te simpel gedacht van mij, ga dit zo testen....bedankt.

1,6 mA is wel erg weinig. stond wel een schema in de datasheet waar ze de INT pin direct op de input van een controller zetten, maar die had geen LED.

Op vrijdag 21 maart 2025 21:27:14 schreef henri62:
Dus aan de !INT pin moet een pullup naar de VCC, gebruik dan meteen de 3V3 en heb je alleen een weerstandje nodig en geen gerommel met diodes.
Het level is dan meteen goed.

maar die INT pin hangt al aan de 5V zoals ook de SDA & SCL (afsluit weerstanden).
dan geven de SDA & SCL pinnen ook 5V op de inputs v/d raspberry pico ?
heb ik daar dus ook een level switcher nodig.

De PCF8574 kan volgens de datasheet van TI gewoon draaien op 3.3V...

[edit]
En hedendaagse LEDs hebben aan 1.5mA al meer dan genoeg...

[Bericht gewijzigd door fatbeard op (22%)]

dat had ik ook al gezien, dan zou ik een 3V3 voeding nodig hebben.

maar de PCF8574 PCB's zijn al gemaakt, en die werken op 5V. dus ik heb liever een level switcher 5V -> 3V3.

de SCA en SCL heb ik trouwens al werkend zonder level switcher, blijkbaar gaat dat net goed (maar moet en kan beter).

Op zaterdag 22 maart 2025 08:25:03 schreef Arco:
Alle pinnen zijn quasi-bidirectioneel en kunnen dus maar héél weinig sourcen (400µA); alleen sinken...
[bijlage]

Dat gaat alleen op voor de I/O pinnen niet voor de INT pin.

Op zaterdag 22 maart 2025 11:46:46 schreef trix:
maar de PCF8574 PCB's zijn al gemaakt, en die werken op 5V. dus ik heb liever een level switcher 5V -> 3V3.

Tsja, das niet zo handig.

[Bericht gewijzigd door henri62 op (30%)]

De interupt uitgang is zoals altijd een "open drain" output.

Als je nu twee van die PCF chipjes hebt, dan kan je ze op 1 interrupt pootje van je CPU aansluiten door 1 pullup te gebruiken en de interrupt lijnen aan mekaar te doen.

Een ander voordeel is dat je geen levelshifter nodig hebt als je CPU op een andere spanning draait.

In jou situatie moet je dus je pullup naar de 3.3V doen, en that's it!

Zit die pullup al op de gemaakte printjes, dan moet je die even er af knippen en op de patch-print naar de pico ontwerpen.

De PICO heeft een RP2040 processor. De RP2040 heeft "standaard aan" een pulldown op iedere pin. Dat scheelt "lastige vragen" als mensen verwachten dat een niet aangesloten pin "0" zal zijn. In werkelijkheid, zonder pulldown, zal je daar soms ook "1" zien.

Op zaterdag 22 maart 2025 19:45:44 schreef henri62:
[...] Tsja, das niet zo handig.

dat kan ik in de 2.0 versie nog wel wijzigen.
voor nu om verder te kunnen heb ik een level switcher besteld.

Oh, wacht. Jij leest reacties niet, en bedenkt zowiezo zelf een oplossing ondanks dat werkende oplossingen worden aangedragen. Excuseer mijn eerdere reactie. Ik had niet gezien dat jij het was.

nee,..dat kwam mischien verkeerd over :/ (excuses voor dat) maar die level switchers van mij, zijn voor de tijdelijke snelle oplossing om verder te kunnen met testen. ondertussen kijk ik verder naar een meer defenitiefe oplossing, waar die optie van jou zeker een optie is, maar ook b.v. een nieuwe PCB met de PCF8575 op 3V3 voeding.

Als je "interrupt: Met een weerstand naar VCC aansluiten" hebt geinterpreteerd als: moet aan de VCC van de PCF8375, en dat op dat tweede printje zo hebt gedaan, dan hoef je daar alleen de VCC kant van de weerstand los te halen en aan een 3.3V signaal te hangen. Klaar. Niks level shifters kopen en zien aan te sluiten op je pico.

dat is denk ik nog makkelijker om verder te kunnen testen. vanavond eens kijken.

Kan werken als de 5v slave genoegen neemt met 3.3v als '1'...
(volgens de specs is het net te weinig...)

TS zegt dat het op I2C gewoon werkt.

Voor de interrrupt lijn is alles gewoon volgens spec: de pullup naar 3.3V geeft een prima 3.3V voor de pico en ook een nette 0V als ie actief is.

Dat je 5V chips met 3.3V over I2C kan aansturen ss in mijn ervaring ook zo. In mijn geval met 5V AVRs. De lol is dat de "hoog" dan ook met een pullup naar 5V geregeld wordt en je dus ongeveer 3.3+0.5V als signaalniveau gaat zien.

Het switching punt tussen waar "0" en waar "1" gezien wordt ligt bij CMOS in princiepe vrij dicht bij de VCC/2. Maar de fabrikant neemt graag wat slag-om-de-arm en specificeert 0.7VCC en 0.3VCC. Er zijn uitzonderingen, bijvoorbeeld de WS2812 (of was het een compatible chip/led?)

0.7Vcc is 3.5v...

Een print nieuw ontwerpen vanuit de gedachte: zal in de meeste gevallen waarschijnlijk wel werken vind ik een verkeerde gedachte.
(Murphy komt toch wel langs; je hoeft 'm niet expres zelf op de koffie uit te nodigen... :) )

de wet van behoud van ellende :)