pcf8591 aan RaspBerry

Stomme vraag maar ik vind het niet op het www:

Ik wil een Chinees moduletje met PCF8591 aansluiten aan een Raspberry. Moduletje noemt zich YL-40, zal wel een clone zijn.

Duidelijk genoeg waar ik de gnd aansluit, en de SCD en SCL (resp. data en klok van de I2C) red ik ook nog wel ;)
Maar waar moet de Vcc? 5V of 3.3V?

Volgens de webstek van de leverancier zou het allemaal moeten kunnen maar dat vind ik niet te betrouwen...

VCC power supply interface external 3.3v-5v

[Bericht gewijzigd door big_fat_mama op 31 mei 2019 17:48:35 (21%)]

hoe beter de vraag geschreven, zoveel te meer kans op goed antwoord
Sine

Moderator

Het is I2C, dus ik zie niet meteen voedingsproblemen.

Angaben sind wie immer ohne Gewähr.

Na enig nadenken zie ik een gevaar: als de Raspi de I2C-bus met 3,3V bedrijft, en ik voed de PCF8591 met 5V, ga ik dan geen raspi-ingangen opblazen?
En omgekeerd: als de Raspi de I2C met 5V bedrijft, dan ga ik toch de pcf8591 ook met 5V moeten voeden?

Dus ik denk dat mijn vraag erop neer komt: met welke spanning doet de Raspberry PI aan I2C? Ik moet dan de PCF8591 hetzelfde voeden. Misschien is het niet nodig toe te voegen dat ik van I2C zeer weinig kaas heb gegeten :)

[Bericht gewijzigd door big_fat_mama op 31 mei 2019 18:10:30 (10%)]

hoe beter de vraag geschreven, zoveel te meer kans op goed antwoord
Sine

Moderator

Het enige wat kan voeden zijn zijn je pull-up weerstanden, i2c leden zetten zelf geen spanning op de bus.

Angaben sind wie immer ohne Gewähr.

Ah, dat is al nieuw voor me.

Nu ik mijn eigen vraag wat verfijnd heb vond ik wel een antwoord:
https://www.raspberrypi.org/forums/viewtopic.php?t=139356
daar lees ik dat 5V een "slow killer" zou zijn voor GPIO-pennen.

Dus: eerst maar eens 3,3 V= aanhangen en kijken wat dat geeft, denk ik zo.

hoe beter de vraag geschreven, zoveel te meer kans op goed antwoord

Als die Rpi 5v tolerante inputs heeft, kun je de pull-ups aan 5v hangen. Anders zal er een level-translator tussen moeten.

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com
Shiptronic

Golden Member

Is een paar keer klikken op de site ,

1 open de site; https://www.raspberrypi.org/
2 kies help :)https://www.raspberrypi.org/help/
3 kies documenten https://www.raspberrypi.org/documentation/
4 kies hardware https://www.raspberrypi.org/documentation/hardware/
5 kies Raspberry Pihttps://www.raspberrypi.org/documentation/hardware/raspber.../README.md
6 kies GPIO https://www.raspberrypi.org/documentation/hardware/raspberry.../README.md

zie dik gedrukt:

Each of the three banks has its own VDD input pin. On Raspberry Pi, all GPIO banks are supplied from 3.3V. Connection of a GPIO to a voltage higher than 3.3V will likely destroy the GPIO block within the SoC.

altijd leuk om de rest ook eens door te lezen >:)

(begrijp nooit dat mensen vage antwoorden willen van een Forum, terwijl je een duidelijk antwoord bij de fabrikant kan halen :) )

Wie de vraag stelt, zal met het antwoord moeten leren leven.

Intussen voed ik hem met 3,3V=, en heb het voorbeeldprogramma'tje ingetikt van onderaan de pagina https://raspberrypi.stackexchange.com/questions/36983/how-to...on-pcf8591
En dat werkte van de eerste keer, netjes zoals bedoeld.
Allen bedankt - ook voor de (zogezegd) vage antwoorden :)

hoe beter de vraag geschreven, zoveel te meer kans op goed antwoord

Het *kan* werken, maar niet betrouwbaar. Het '1' level bij 5V is maximaal 0.7VCC = 3.5v. Met 3.3V kom je daar niet aan.
Ik zou me niet prettig voelen met zo'n 'oplossing'...

Waarom voed je die pcf8591 niet gewoon ook met 3.3V? Dat is wel zo handig...

[Bericht gewijzigd door Arco op 31 mei 2019 19:15:22 (19%)]

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Nog maar een keertje, dan...

Intussen voed ik hem met 3,3V=

[Bericht gewijzigd door big_fat_mama op 31 mei 2019 19:32:02 (10%)]

hoe beter de vraag geschreven, zoveel te meer kans op goed antwoord

Ja, alle i/o van RPi is 3v3, en niet 5V tolerant. Dus 3v3 moet, anders level translator gebruiken. Mooi dat het werkt nu (stond toch ook 3v3..5V?).

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein

Rustig maar... ;)
'Hem' was niet erg duidelijk. Ik nam aan dat je daar de i2c bus mee bedoelde...

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Ok, sorry. En ik die zelf altijd zo lastig doe over duidelijk en eenduidig verwoorden... Maar het is dus wel degelijk het YL-40bordje dat ik voed uit de 3,3V= vanuit de Raspi.

Later zag ik dat het zo ook netjes staat aangegeven in de commentaar van het voorbeeldprogrammaatje waar ik naar verwees...

hoe beter de vraag geschreven, zoveel te meer kans op goed antwoord

Ik heb er een level converter tussen de rpi en het i2c netwerk gezet. Mijn i2c netwerk is vijf volt. Ik voed ook alle i2c nodes met vijf volt. Alleen de rpi is 3,3 volt. Het werkt opzich goed.

Om de I2C bus echt goed te scheiden van de rest, gebruik ik regelmatig de ISO1540. Zowel de databussen als VCC en GND zijn volledig gescheiden.

http://www.ti.com/lit/ds/symlink/iso1541.pdf

Een WOK is ook maar een vergiet zonder gaatjes

Waarom zou je ze "echt goed" willen scheiden? Om welke reden? I2C is bedoeld voor "op het board" communicatie, en dan heb je bijna altijd een gemeenschappelijke gnd. Van scheiding is dan geen sprake en ook niet nodig.

[Bericht gewijzigd door flipflop op 1 juni 2019 14:02:01 (56%)]

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
bprosman

Golden Member

De jongere generatie loopt veel te vaak zijn PIC achterna.

In dit concrete geval komt het er inderdaad helemaal niet op aan. De enige bedoeling is om aan de Raspi een A/D conversie toe te voegen, zodat hij de eigen batterij in het oog kan houden zodat hij zichzelf tijdig kan uitschakelen.

Als er iets op langere afstand moet gebeuren zal ik me wel inwerken in RS-422 of zo.

hoe beter de vraag geschreven, zoveel te meer kans op goed antwoord

Op 1 juni 2019 14:01:04 schreef flipflop:
Waarom zou je ze "echt goed" willen scheiden? Om welke reden? I2C is bedoeld voor "op het board" communicatie, en dan heb je bijna altijd een gemeenschappelijke gnd. Van scheiding is dan geen sprake en ook niet nodig.

Bijvoorbeeld met een aantal INA226 's metingen doen. Door elke INA226 een eigen ISO1540 te geven kun je op elke plek in één of meerdere schakelingen tegelijk metingen doen, ongeacht de VCC en GND. En dan kan alles nog steeds op 1 board zitten.

Een WOK is ook maar een vergiet zonder gaatjes

Of de ACS71020 nemen, is al geisoleerd... ;)

Een Rpi zal toch wel zelf een A/D converter aan boord hebben?
(of een comparator, kun je daar ook voor gebruiken)

[Bericht gewijzigd door Arco op 1 juni 2019 15:42:48 (57%)]

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Nee, heeft ie niet.

Marco, da's wel een vrij specifiek voorbeeld. Dat valt onder die 1 op de 1000 keer :-) Wat je eigenlijk doet is een instrumentatieversterker maken door de voeding te laten zweven tov de rest. Hmm.

[Bericht gewijzigd door flipflop op 1 juni 2019 17:02:16 (34%)]

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein

Een Rpi zal toch wel zelf een A/D converter aan boord hebben?

Assumption is .... (dient de rest nog gesteld? :) )

Nee, zelfs geen dubbele comparator (of een enkele, met instelbare hysteresis) want daarmee was ik inderdaad ook gesteld geweest.

hoe beter de vraag geschreven, zoveel te meer kans op goed antwoord

Op 1 juni 2019 17:00:36 schreef flipflop:
Nee, heeft ie niet.

Marco, da's wel een vrij specifiek voorbeeld. Dat valt onder die 1 op de 1000 keer :-) Wat je eigenlijk doet is een instrumentatieversterker maken door de voeding te laten zweven tov de rest. Hmm.

FlipFlop: het is ook maar één voorbeeld wat ik zo kan verzinnen dat je zoiets nodig bent :P;)

Een WOK is ook maar een vergiet zonder gaatjes