Go Down

Topic: Collegamento PCF8574AP 74HC540N ULN2803 (Read 2253 times) previous topic - next topic

pespes

Quote

@Pespes: riciweb dice che il problema si verifica quando attiva TUTTE le uscite del PCF e quindi dell'ULN2803, fai la prova e poi prova ad aggiungere, come dice bigj, una R da 1K tra ogni ingresso dell'ULN e 5V e vedi se noti qualcosa.


Ok, appena riesco faccio la prova; se ho capito bene metto a "HIGH" tutte le 8 uscite del PCF e le mando all'ULN e in teoria i relè non dovrebbero eccitarsi, giusto?
Poi faccio la stessa prova ma mettendo le resistenze.

Non ho però capito cosa vuoi dire con l'ultima frase
Quote

SOlo che bisognerebbe capire se applicare queste pull-up alle uscite del PCF, cosa provoca quando sono in LOW.

devo fare qualche prova per verifiacre questa cosa?

5/1000 = 0,005
5/500 = 0,01
il pcf può accettare fino a 0,025 mA in ingresso sulla porta quando è low per cui non ci sono problemi.
L'unico dubbio mi viene sull'uln aggiungendo una resistenza da 1k? o 500? sull'ingresso commuta comunque?
Penso di si ma bisogna provare, dipende poi da cosa ci piloti con l'uln se è un relè da 100 mA non ci sono problemi.


Non ci dovrebbero essere problemi, comunque la prova da fare è vedere se ci sono grandi differenze di tensione tra il collettore e l'emettitore dell'uln pilotato direttamente con 5V e con la resistenza da 1k? o 500?, volendo fare le cose pignolescamente si possono usare gli ULN2801 che non hanno la resistenza da 2,7K? sulla base e metterci una pull-up da 1K? con una resistenza di base da 1,7K? o il valore normalizzato più vicino.
Comunque per me va bene anche l'ULN2803, non penso cambi molto.

Brunello

Vi spiego perche' nel progetto di Riciweb c'e' un 74HC540.

Come gia' detto, il PCF8574 ha dei problemi ad erogare corrente in condizione HIGH, quindi nel suo progetto ( Ardu Acquariun Controller ) usava per pilotare la scheda rele' autocostruita ( con ULN2803 ) dei fotoaccopiatori. I quali avevano il solo scopo di invertire il segnale.
PCF8574 in LOW ( per accendere il rele' ).... fotoaccoppiatore che inverte - ULN2803 che vuole un segnale HIGH in ingresso.
Chiaramente conviene usare un IC-Buffer invertente invece di 8 fotoaccoppiatori, sia per praticita' che per consumi.
Ecco il motivo per cui e' stato inserito un 74HC540.

Ora, collegare un PCF8574 direttamente all' ULN2803 ( come gia' spiegato da UWE ) proprio per le basse correnti erogate, non e' consigliabile.
Quindi converrebbe interporre un IC-Buffer NON INVERTENTE.. ad esempio un 74HC541.
Oppure lasciare tutto cosi' e inviare un LOW per accendere il rele'
Ad esempio con la libreria che usi ( IOexp ), inviare un " variabile.write( Pin, false); " per accendere

PS. Come suggeriva anche UWE, puo' pure essere che il PCF8574 ce la faccia a pilotare l'ULN2803... ma puo' anche morire dopo due gg

pespes


Vi spiego perche' nel progetto di Riciweb c'e' un 74HC540.

Come gia' detto, il PCF8574 ha dei problemi ad erogare corrente in condizione HIGH, quindi nel suo progetto ( Ardu Acquariun Controller ) usava per pilotare la scheda rele' autocostruita ( con ULN2803 ) dei fotoaccopiatori. I quali avevano il solo scopo di invertire il segnale.
PCF8574 in LOW ( per accendere il rele' ).... fotoaccoppiatore che inverte - ULN2803 che vuole un segnale HIGH in ingresso.
Chiaramente conviene usare un IC-Buffer invertente invece di 8 fotoaccoppiatori, sia per praticita' che per consumi.
Ecco il motivo per cui e' stato inserito un 74HC540.

Ora, collegare un PCF8574 direttamente all' ULN2803 ( come gia' spiegato da UWE ) proprio per le basse correnti erogate, non e' consigliabile.
Quindi converrebbe interporre un IC-Buffer NON INVERTENTE.. ad esempio un 74HC541.
Oppure lasciare tutto cosi' e inviare un LOW per accendere il rele'
Ad esempio con la libreria che usi ( IOexp ), inviare un " variabile.write( Pin, false); " per accendere

PS. Come suggeriva anche UWE, puo' pure essere che il PCF8574 ce la faccia a pilotare l'ULN2803... ma puo' anche morire dopo due gg



Ok Brunello ma rimane il fatto che con il 74HC540 non mi funziona. Potresti verificare anche tu lo schema che ho allegato per vedere se ci sono degli errori? (a parte che mi sono dimenticato di disegnare il GND per il PCF). Altrimenti vuole dire che l'integrato è guasto.

Brunello

puo' essere di tutto.
prima verificare direttamente sui pin del 74HC540 ( GND 10 e Vcc 20 ) se c'e' la tensione giusta.
Ci sono in giro un sacco di breadboard "schifose"

Poi per vedere se il chip funziona , lo puoi provare da solo.
Metti un ingresso HIGH o LOW e controlli se il livello di tensione sull' uscita e' invertita

Puo' pure essere che nello sketch che usi, il PCF8574 sia impostato come INPUT


pespes

Porca miseria, ho fatto un po' di prove e direi di esserci saltato fuori con il 74HC540; come suggerito da Brunello la breadbord fa schifo e c'erano dei contatti farlocchi.

Ho poi verificato che il PCF collegato all'ULN senza niente non sempre riesce a far partire tutti i relè. Ho provato anche la soluzione della resistenza ma non cambia molto, il problema che alcuni relè non partono rimane.
Più tardi farò ulteriori prove con tutti e tre gli integrati e poi vi so dire.
Per il momento ringrazio tutti

Michele Menniti

quello delle R pull-up era solo un esperimento, se non va non insistere.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

maxxmaxim

ciao ragazzi...

mi potreste postare uno sketch di esempio per questa configurazione, non riesco a capire come scrivere il codice per pilotare i relè via I2C...

grazie

Go Up