Newsgroup: it.hobby.elettronica.digitale
Titolo: Quale IC posso usare sempre che esista?

Salve,
vorrei realizzare il comando di alcuni relč con un PIC, il problema
che pongo č questo: ho a disposizione 3 o 4 linee di output del pic
per pilotare 8 relč.
Esiste un IC bello e fatto che sia tipo multiplexer con uscite
bistabili? cioč, io userei 3 uscite del pic  per indirizzare un'uscita
del componente incognito e la quarta uscita per mettere a 1 o 0 quindi
accendere o spegnere il relč fino al nuovo comando. quindi ad esempio
con un codice a 4 bit sulle 4 uscite tipo 001 1 vorrei che questo
componente indirizzasse il pin numero 2(primi 3 bit) di uscita e lo
mettesse a 1(quarto bit) poi dopo varie operazioni mandando il codice
001 0 il compinente facesse spegnere il rele alla posizione numero 2.
Spero sia chiaro il quesito. Vi assicuro che saprei realizzare una
cose del genere utilizzando le porte logiche e dei flip flp sulle
uscite. ma sarebbe piu comodo anche per ragioni di spazio un
compinente bello e pronto.
grazie

 ha scritto nel messaggio
news:5brom0tegah20v5tg...@4ax.com...


Ciao, per 8 uscite e con tre ingressi potresti usare un HEF4094: è un
registro a scorrimento con ingresso seriale su 3 linee e uscita parallela;
si possono collegare più chip in cascata.
Questo è il sorgente scritto in assembler per micro ST6, te lo devi
convertire.
Gaetà
; QUESTA ROUTINE INVIA IL DATO CONTENUTO IN "DATO" AL 4094
tx
	ldi     x,8                     ; numero bit trasmessi
	res	2,port_a		; store = 0
	ld	a,dato			; legge dato 
tx1     
	ldi     wdog,255                ; carica il watchdog
	rlc     a                       ; ruota A a sinistra
	jrnc    txbit0                  ; salta se bit e' 0
	set     0,port_a                ; PA0 = 1
	jp      txbit1
txbit0  
	res	0,port_a                ; PA0 = 0
txbit1     
	set	1,port_a		; CLOCK = 1
	res	1,port_a		; CLOCK = 0
	dec     x                       ; prossimo bit
	jrz     tx2                	; se finito esci
	jp      tx1      	        ; NO, ricicla
tx2
	set	2,port_a		; IMPULSO DI ST
	res	2,port_a	
        ret 
;********* FINE ROUTINE ****************
 
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

L'IC della serie 4094 si avvicina a quella che è la funzione da me
desiderata. 
Come funziona l'algoritmo che mi hai suggerito? continuamente ha
bisogno di dati in ingresso e aggiorna contnuamente le usciite? oppure
quando c'è un cambiamento da fare fa scorrere tutte le uscite per
rimpiazzarle con i dati nuovi? il clock come glielo dai? utilizzi
un'uscita del microntrollore? 
Vediamo se puo andare questo mio algoritmo.
All'inizio le uscite sono tutte a zero. disabilito l'output enable.Do
otto colpi di clock con il microntrollore e ad ogni colpo di clock
cambio l'ingresso seriale a mio piacimento.1 per accendere e 0 per
spegnere. appena inviati gli 8 bit abilito l'OE e mi dovrebbero
comparire sui piedini i livelli logiciche ho mandato via seriale. a
questo punto devo disabilitare l'OE in modo tale che quando mando
un'latra stringa di bit non ho il lo scorrimento dei registri che
potrebbe causarmi accensioni dei rele errate, ad esempio se il primo
bit è a 1 quando scorre questo bit verso l'ultimo registro mi accende
in sequenza tutti i relè.
Grazie 


 per pilotare 8 relč.
NE590
74LS259
-- 
IBM: Illustrious Busy Mice
News 2000 [v 2.06] / StopDialer / PopDuster - 
http://www.socket2000.com
Akapulce portal: 
http://www.akapulce.net

 stato che viene impostato dalle linee di ingresso.
Lascia perdere decoder, mpx e latch, fai come ti ha detto Gaeta',
e' il sistema migliore per comandare tanti rele' con poche uscite
del micro.

 ha scritto nel messaggio
news:5brom0tegah20v5tg...@4ax.com...

Perchč non usi un I/O espander tipo pcf8574 ?
L'ultima volta che l'ho usato costava sui 2/3 euro,dispone di 8 I/O, lo
comandi con 2 fili (bus i2c) e ne puoi mettere 8 in cascata (16 se usi il
pcf8574a).
Ha pero la stessa corrente disponibile sui pin del pic, quindi non č
possibile collegare direttamente un relč (a meno che non usi dei reed, ma
dipende dalla corrente che devi comandare), ma occorre mettere un buffer.
Ciao, Robby

possibile collegare direttamente un relè (a meno che non usi dei reed, ma


 ha scritto nel messaggio
news:5brom0tegah20v5tg...@4ax.com...


Il tuo ragionamento č esatto Emiliano. Il piedino ST quando gli dai un
impulso non fa altro che "aggiornare" le uscite con gli ultimi bit che gli
hai mandato.
Un consiglio: io quando uso questo integrato, all'accensione del micro la
prima cosa che faccio č mandare in off tutte le uscite del 4094 perchč
alla sua accensione mi pare di ricordare che gli stati delle uscite erano
casuali. Quindi se non vuoi ritrovarti con le uscite attivate appena dai
"corrente", ti vonviene trasmettere subito un bel '00000000b'.
Ciao e buon lavoro.


 per pilotare 8 relč.
Un bel CMOS 4094 seguito da un ULN2803 o transistor discreti per 
comandare i rele'. Io l'ho usato piu' volte e va benissimo
ciao

 l'ultimo registro mi accende in sequenza tutti i relč.
No, nel 4094 i registri per lo scorrimento sono separati dai latch di
uscita, una volta dato l'impulso di strobe sul pin 1 le uscite restano
comunque stabili anche se vengono fatti scorrere altri bit.
Un esempio per l'uso del 4094 lo trovi qui:
http://stor.altervista.org/pic/lmpic03/page3.htm
ciao
Claudio F

[cut]
un 74hc164??

 vorrei valutare le prestazioni di piu apparati per scegliere meglio
Di I/O espander i2c ce ne sono parecchi, digitali, analogici, oltre a
perifriche EEprom, orologi, ram, che possono tutte convivere sullo stesso
bus.
Ti ho parlato del pcf8574 perchè l'ho già usato in passato.
Prova a dare uno sguardo al sito philips, che è uno dei fondatori e maggiori
promotori del bus i2c.
http://www.semiconductors.philips.com/markets/mms/protocols/i2c/products/
Gli ultimi pic hanno praticamente tutti l'hardware i2c, io l'ho utilizzato
sui 16f876A, sia in modalità master che slave.
Comunque è un protocollo implementabile anche via software, utilizzando 2
pin a tuo piacimento (io ho utilizzato eeprom i2c accoppiate ad un 16c745
che avendo l'usb onboard, non ha l'i2c).
Utilizzando il linguaggio CCS, esistono già le primitive per implementare
i2c su praticamente tutti i dispositivi.