Comandare grande quantità di solenoidi

Ciao a tutti!
Per un progetto mi è stato chiescto di comandare una 20na di solenoidi o più con la possibilità addirittura di aumentarli (modulare).
Per questo motivo ho subito pensato ai TLC5940 che avrei anche a disposizione in accoppiata al ULN2803.
inoltre se non sbaglio dovrei aggiungere un diodo di protezione perche si vengono a creare delle cariche di tensione molto alta e potrebbero danneggiare il circuito.
Considerando a livello progettuale che i solenoidi saranno da 12V 1A circa come diodo puo andare bene il 1N5404? non avendo molto conoscenza in queste cose non sarebbe meglio un diodo "Fast Recovery" es. 1N4936 ?

Devo aggiungere altri componenti di protezione? ULN2803 può andare bene? magari qualcos'altro che mi eviti di mettere delle resistenze di pull-up?

Allego lo schema.

Grazie per l'attenzione!

EDIT: aggiunto schema corretto

i solenoidi verranno azionati uno alla volta e solo per un istante.

Uno dei motivi per preferire la soluzione ULN2803 è quello che al suo interno sono già presenti i diodi per eliminare le extra tensioni derivanti dal carico induttivo.

Perciò, nel tuo schema puoi eliminare tranquillamente la batteria dei diodi di protezione (tra l'altro non dovevano essere collegati a massa) semplicemente collegando il pin 10 a Vcc (12V).

non capisco perche' vuoi usare un TLC5940

e poi un ULN2803 regge al massimo 500mA.. e i solenoidi sono da 1A

i TLC li volevo usare per la possimilità di usarli a cascata, che direi che è una ottima qualità

gli ULN ora che cyberhs mi ha detto che hanno pure il diodo integrato penso che siano veramente perfetto, per quei 500mA non saprei, non conoscerei delle alternative.. vedo che alcuni usano gli l293

Mi correggo... ha perfettamente ragione Brunello (credevo fossero dei relè e non avevo letto la corrente assorbita)

Con correnti di 1A non puoi assolutamente usare ULN2803.

Non puoi usatre i TLC5940 perché sono dei Integrati che pilotano dei LED in PWM e hannoun uscita che impartise una corrente costante verso massa.
Non puoi usare i ULN2803 perché non reggono la correrente della bobbina.

Se Ti servono tante uscite usa un MCP23017. e dei TIP120 o dei MOSFET TTL level.

Ciao Uwe

o al posto degli MCP23017 ( gestito in I2C) dei normalissimi Shift Register ( es. 74HC595 ) che li puoi collegare in cascata

Grazie mille per i consigli!
Adesso devo valutare cosa mi conviene tra l'expander i2c e lo shift register in termini di reattività e consumo risorse di Arduino.

Cavolo i tip120 son proprio dei mostri! ma usare tipo il MPSA13 son troppo risicato? comunque con questa soluzione devo aggiungere il diodo giusto?

Ho ripreso mando ad Eagle e ho buttato giu la versione con lo shift register in quanto l'expander i2c ho visto costare una vagonata.

Lo schema può essere giusto? devo mettere una resistenza tra il 74hc595 e il TIP120 ?

Quanti shift register posso comandare in cascata?

La R ti serve sempre per limitare la corrente in uscita dai pin. Controlla sul datasheet ma a memoria il 595 non può fornire più di 80 mA su tutti gli 8 pin, per cui hai max 10 mA per pin.

In cascata io ne ho messi 5, Uwe mi ricordo che disse di essere arrivato ad 8. Di più non so quanti ne puoi agganciare.

devo mettere una resistenza tra il 74hc595 e il TIP120 ?

Assolutamente si.
Il tip 120 e' un darlington, quindi puoi usare anche valori alti per ridurre il passaggio di corrente
4,7K va' benissimo. E non dimenticare anche una resistenza di PullDown sulla base del Tip120, serve a tenerlo a livello Low in assenza di segnale (33k)

Quanti shift register posso comandare in cascata?

In cascata io ne ho messi 5, Uwe mi ricordo che disse di essere arrivato ad 8.

Io sono arrivato a collegarne 10. Ma serve aggiungere un condensatore da qualche centinaio di nF sula linea Latch, altrimenti danno i numeri

ciao
mi stavo domandando se puo' avere senso comandare con lo shiftregister dei fotoaccoppiatori per pilotare i rele per separare i due circuiti, invece di usare i transistor?

stefano

Dipende sempre tutto dal tipo di utilizzo, ma lo scopo degli opto in genere non e' quello di eliminare i transistor ... se ci si deve comandare carichi a tensioni piu alte, o diverse, o che possono generare disturbi, gli opto sono sempre una buona idea ... separi galvanicamente i comandi dagli attuatori, non hai neppure la necessita' di una massa in comune, eviti scariche e disturbi di ritorno (e costano pure poco) ,,, a fronte di un minimo svantaggio nella complicazione del circuito, i vantaggi sono molto di piu.

Ma devi comunque sempre usare transistor esterni, in genere gli opto non reggono correnti altissime ... per pilotarci rele da segnali possono andare, ma se ci devipilotare grossi rele o elettrovalvole o solenoidi, il transistor esterno ci vuole ...

ciao
si hai ragione, mi sono espresso male, lo scopo della osservazione era appunto quella di ridurre al minimo i possibili disturbi e la protezione di arduino

stefano