Expander PCF8574

Raspberry, Arduino, Mini-PC a další

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
lesana87
Příspěvky: 3296
Registrován: 20 zář 2014, 02:00

#16 Příspěvek od lesana87 »

Ale on z té specifikace nijak nevybočuje ani s tím ULN2803. Ty porty jsou obousměrné, takže trvale snášejí i zkrat. Naopak tím 10k odporem může snížit proud do báze toho darlingtonu a dostat se do stavu, kdy mu to relé nesepne. Co mu pak bude platé, že z portu přečte log. 1?

Uživatelský avatar
Zaky
Příspěvky: 6129
Registrován: 30 říj 2010, 02:00
Bydliště: Praha

#17 Příspěvek od Zaky »

To se samozřejmě může stát. Je třeba to vyzkoušet a měřit úbytek v sepnutém stavu na ULN pro posouzení, jak dobře je sepnutý. Problém je prostě ten, že to celé není moc dobré řešení, ten výstupní proud expandéru je trapně malý a do nějakého seriózně řešeného projektu bych si takové obvodové řešení vůbec nedovolil použít.
Krátce před tím, než se to rozbilo, tak to ještě fungovalo...

Uživatelský avatar
BigSandy
Příspěvky: 745
Registrován: 28 črc 2015, 02:00

#18 Příspěvek od BigSandy »

Zaky píše:Problém je prostě ten, že to celé není moc dobré řešení, ten výstupní proud expandéru je trapně malý a do nějakého seriózně řešeného projektu bych si takové obvodové řešení vůbec nedovolil použít.
A jak bys to řešil?

Uživatelský avatar
Zaky
Příspěvky: 6129
Registrován: 30 říj 2010, 02:00
Bydliště: Praha

#19 Příspěvek od Zaky »

Můžeš mezi expandér a ULN přidat buffer, můžeš použít jiný expandér, třeba PCA9654, který dá z výstupu 10mA, můžeš použít procesor, který bude mít dostatek GPIO a uřídíš to tak rovnou s ním, možností je spoustu.
Krátce před tím, než se to rozbilo, tak to ještě fungovalo...

Uživatelský avatar
PotPalo
Příspěvky: 4565
Registrován: 13 kvě 2009, 02:00
Bydliště: BA-Petržalka :(
Kontaktovat uživatele:

#20 Příspěvek od PotPalo »

Pre PCF8574:
Stačí pridať poriadne pull-up odpory (alebo nejaký 74HC.. invertor). Oni sú to totiž vstupo-výstupy. Vstup je vlastne keď na výstup dáme log.1, a túto hodnotu potom čítame. Zaťažením tohoto výstupu do GND to klesne a teda máme inú načítanú hodnotu, takto sa to používa ako vstup.

Pri použití ako výstup to má slabé pull-up, ale do GND to spína podľa datasheetu aj 10 mA. Takže vhodné tranzistoré pole je z PNP tranzistorov. Aktivovať sa potom bude s log.0.
Naposledy upravil(a) PotPalo dne 13 bře 2021, 14:35, celkem upraveno 2 x.
Zlu sa neustupuje, proti zlu sa bojuje.

Uživatelský avatar
BigSandy
Příspěvky: 745
Registrován: 28 črc 2015, 02:00

#21 Příspěvek od BigSandy »

Takže když tu ULN2803 připojim k arduinu, tak to bude ok?

Uživatelský avatar
Zaky
Příspěvky: 6129
Registrován: 30 říj 2010, 02:00
Bydliště: Praha

#22 Příspěvek od Zaky »

Jestli na to máš dostatek volných GPIO, tak je to úplně nejsnazší cesta, i programově. Expandér se používá, když je málo GPIO a nechce se použít jiný MCU s více GPIO.
Krátce před tím, než se to rozbilo, tak to ještě fungovalo...

Uživatelský avatar
BigSandy
Příspěvky: 745
Registrován: 28 črc 2015, 02:00

#23 Příspěvek od BigSandy »

No nemam, ale mužu popřehazovat na ten expander.
Dik.

Uživatelský avatar
PotPalo
Příspěvky: 4565
Registrován: 13 kvě 2009, 02:00
Bydliště: BA-Petržalka :(
Kontaktovat uživatele:

#24 Příspěvek od PotPalo »

ULN2803 je NPN tranzistorové pole, čiže spínané s log.1. Chcelo by to PNP pole, PCF8574 má silnú log.0.

Alebo medzi PCF8574 a ULN2803 zaradiť invertor 74HC04.

Pozn.: pokiaľ používame port ako výstup, nemusí nás predsa zaujímať čo na ňom načítame ako vstup.

Pozn.2: k arduinu pripoj 74HC04 a naň ULN2803, to by išlo.
Zlu sa neustupuje, proti zlu sa bojuje.

Uživatelský avatar
Zaky
Příspěvky: 6129
Registrován: 30 říj 2010, 02:00
Bydliště: Praha

#25 Příspěvek od Zaky »

Jestli už to máš celé hotové, dej na expandér nebo ULN ty pullupy. Pokud máš ULN v DIL, tak roztečí souhlasí rezistorové pole https://www.gme.cz/rra-8x1k-2 , nabastlíš to zespodu pod ULN a máš vyřešeno s minimálním úsilím.
Krátce před tím, než se to rozbilo, tak to ještě fungovalo...

Uživatelský avatar
BigSandy
Příspěvky: 745
Registrován: 28 črc 2015, 02:00

#26 Příspěvek od BigSandy »

Mam to na univerzální DPS a vleze to i nahoru. Dik zkusim.

Uživatelský avatar
Cowley
Příspěvky: 3087
Registrován: 04 úno 2005, 01:00

#27 Příspěvek od Cowley »

Tenhle expander používá přímé propojení mezi PCF8574AP a TD62083, což je de facto ULN2803.
Přílohy
expander.jpg

Uživatelský avatar
BigSandy
Příspěvky: 745
Registrován: 28 črc 2015, 02:00

#28 Příspěvek od BigSandy »

JJ. Už to mam poskladane a odzkoušene a funguje.
I ty 1k pullup odpory pomohly :D
Děkují všem :D

Jen čekam až to tu Babiš pootvira.
Učtovat si 30 kaček za vyzvednutí je dost velka prasarna.
Pochopil bych, kdyby je museli posilat z nějakeho centralního skladu, ale když je maji na prodejně, kde si je chci vyzvednout.

TME zasila zboži za 40 kč a až domu.

Uživatelský avatar
BigSandy
Příspěvky: 745
Registrován: 28 črc 2015, 02:00

#29 Příspěvek od BigSandy »

Zdravím.
Někde v tom mám kopanec. Ne v programovaní, ale po elektro stránce.
Je to tak jednou za 14 dni. Všechny relé mám seple.
Nemohu zjistit čím to je, ale vše funguje Nic nemusím restartovat.
Jen prostě tlačítky nebo přes net ty relátka povypínám.
expander.toggle(0);
Možná nějaké rušení v tom 12V napájení.

Rozhod jsem se to překopat.
Nebude expandérů vadit, když každým průchodem loop, budu do něj tlačit data?
expander.write(value);

Uživatelský avatar
Zaky
Příspěvky: 6129
Registrován: 30 říj 2010, 02:00
Bydliště: Praha

#30 Příspěvek od Zaky »

Klidně zapisuj pořád dokola, ničemu to nevadí.
Krátce před tím, než se to rozbilo, tak to ještě fungovalo...

Odpovědět

Zpět na „Miniaturní počítače (Arduino, Raspberry a další)“