generatore di corrente comandato da Arduino

devo realizzare una serie di generatori di corrente comandati da Arduino, per eseguire delle misure su carichi resistivi. il carico resistivo ha un lato a massa, e la massa e' in comune con il circuito di comando, ossia Arduino.

il primo generatore (che ho gia' studiato su carta), deve erogare 2 correnti

75mA e 37,5mA piu' lo zero. la RX puo' avere valore massimo 100 ohm. lo schema che ho pensato e' quello allegato, in cui se una sola uscita di Arduino va bassa, eroga 37,5mA, con entrambe basse eroga 75mA, entrambe alte 0mA.

devo realizzare anche un altro generatore di corrente che deve erogare 4 valori di corrente +300mA +150mA -150mA -300mA piu' lo zero. la RX puo' avere valore massimo di 10 ohm.

ho a disposizione una alimentazione a -15V come lo realizzo il secondo generatore di corrente ? help me :)

[FIDOCAD] MC 215 265 0 0 310 MC 230 235 0 0 115 MC 215 265 1 0 115 MC 180 270 2 1 580 LI 180 260 180 250 LI 180 250 230 250 LI 230 245 230 255 LI 230 235 230 230 MC 230 230 3 0 010 SA 230 250 TY 230 220 5 3 0 0 0 * +15V MC 155 235 0 0 115 LI 155 285 155 275 LI 155 265 155 245 LI 155 235 155 230 LI 155 265 150 265 MC 175 285 1 0 115 LI 175 285 180 285 LI 180 285 180 270 LI 155 290 155 285 MC 155 230 3 0 010 TY 155 220 5 3 0 0 0 * +15V TY 160 235 5 3 0 0 0 * 50k TY 140 260 5 3 0 0 0 * 100k TY 165 280 5 3 0 0 0 * 100k TY 160 295 5 3 0 0 0 * 100k MC 155 290 0 0 115 LI 155 300 155 305 MC 155 305 1 0 010 LI 165 285 155 285 TY 155 310 5 3 0 0 0 * +5V MC 150 265 1 0 115 MC 150 255 1 0 115 TY 140 250 5 3 0 0 0 * 100k LI 150 255 155 255 SA 155 255 SA 155 265 SA 155 285 SA 180 270 MC 230 275 0 0 000 MC 220 235 0 0 115 MC 210 235 0 0 115 LI 210 245 210 250 LI 220 250 220 245 LI 210 235 210 230 LI 210 230 230 230 LI 220 230 220 235 SA 210 250 SA 220 250 SA 220 230 SA 230 230 TY 235 240 5 3 0 0 0 * 200 TY 235 260 5 3 0 0 0 * BC327 MC 135 270 0 0 115 MC 125 270 0 0 115 MC 135 280 0 0 045 MC 125 280 0 0 045 LI 135 270 135 265 LI 125 270 125 255 SA 125 255 SA 135 265 TY 115 275 5 3 0 0 0 * 10k TY 140 275 5 3 0 0 0 * 10k MC 230 285 0 0 045 MC 230 285 0 0 000 MC 155 265 0 0 580 MC 255 275 0 0 115 LI 250 275 255 275 LI 255 285 250 285 TY 260 275 5 3 0 0 0 * Rx LI 170 230 170 265 MC 170 230 3 0 010 TY 170 220 5 3 0 0 0 * +15V LI 195 270 195 280 MC 195 280 0 0 045 TY 105 260 5 3 0 0 0 * 37.5mA TY 105 250 5 3 0 0 0 * 37.5mA LI 140 255 100 255 LI 100 265 140 265 TY 95 250 5 3 0 0 0 * D4 TY 95 260 5 3 0 0 0 * D3 TY 75 240 5 3 0 0 0 * Arduino MC 85 280 0 0 045 RV 70 240 100 270 MC 85 230 3 0 010 LI 85 230 85 240 LI 85 270 85 280 TY 85 220 5 3 0 0 0 * +5V TY 195 255 5 3 0 0 0 * LM324
Reply to
alfio
Loading thread data ...

Il giorno domenica 30 giugno 2013 13:31:24 UTC+2, alfio ha scritto:

...

Il Fidocad(j) a seguire dovrebbe funzionare. Si tratta di un circuito differenziale a più ingressi in modo da operare sia come somma (V3 e V4) che differenza (V1 e V2) potendo così ottenere v alori anche negativi della corrente. La differenza di tensione viene mantenuta costante sullo shunt ottenendo di conseguenza una corrente costante. Gli ingressi dovranno assumere stati elettrici precisi e non lasciati flott anti per cui allo "0" deve corrispondere la massa e non la semplice sconnes sione (niente diodi in serie agli ingressi, quindi). L'operazionale va alimentato come i BJT. Se vuoi qualcosa di professionale, puoi usare un OPA547 al posto dell'OpAmp e dei BJT: costicchia ma presenta caratteristiche davvero eccezionali. Lascio a te la gioia del dimensionamento delle resistenze... :P

[FIDOCAD] MC 255 95 0 0 280 MC 255 115 0 0 290 MC 290 120 1 0 080 LI 255 95 255 100 LI 255 100 255 115 LI 255 105 245 105 MC 220 110 2 1 580 LI 270 105 290 105 LI 290 105 290 120 LI 290 105 290 80 LI 290 80 245 80 MC 235 80 0 0 080 MC 235 140 0 0 080 MC 200 140 0 0 080 LI 210 140 235 140 LI 245 140 250 140 LI 250 140 290 140 LI 290 130 290 135 LI 290 135 290 155 LI 200 140 185 140 MC 200 150 0 0 080 LI 200 150 185 150 LI 210 150 215 150 LI 215 150 215 110 LI 215 110 220 110 LI 220 100 215 100 LI 270 85 270 65 LI 270 125 270 145 SA 290 105 SA 255 105 SA 215 140 SA 290 140 MC 270 65 3 0 010 MC 270 145 1 0 020 MC 175 140 0 0 073 MC 175 150 0 0 073 MC 290 155 1 0 000 MC 290 175 3 0 000 MC 290 175 0 0 040 MC 200 70 0 0 080 LI 200 70 185 70 MC 200 80 0 0 080 LI 200 80 185 80 MC 175 70 0 0 073 MC 175 80 0 0 073 LI 210 80 235 80 LI 215 100 215 70 LI 210 70 215 70 SA 215 80 TY 255 55 5 3 0 0 0 * +15V TY 255 150 5 3 0 0 0 * -15V TY 167 67 5 3 0 0 0 * V1 TY 167 77 5 3 0 0 0 * V2 TY 167 137 5 3 0 0 0 * V3 TY 167 147 5 3 0 0 0 * V4 TY 135 110 5 3 0 0 0 * V1..V4: 0V | 5V TY 295 120 5 3 0 0 0 * SHUNT TY 295 160 5 3 0 0 0 * Carico Icost

Piccio.

Reply to
Piccio

"Piccio" ha scritto nel messaggio news: snipped-for-privacy@googlegroups.com...

Graaaande! :) un solo opamp, io ero gia' partito duplicando il circuito precedente, ora me lo studio. i 2 transistor possono essere anche darlington, non vedo particolari controindicazioni, giusto ?

Reply to
alfio

"Piccio" ha scritto nel messaggio news: snipped-for-privacy@googlegroups.com...

mi sa che uso il tuo circuito anche per il generatore da 75mA :)

Reply to
alfio

Il giorno lunedì 1 luglio 2013 21:17:44 UTC+2, alfio ha scritto:

Infatti volevo indicarti la variante nel caso di corrente unidirezionale. Queste configurazioni le sto usando anche io per un generatore da 1.5A. Lo shunt che sto usando è a lamella da 0.2 ohm e la corrente è incredib ilmente stabile. Sto usando un OPA548 (3A continui, 5A di picco). Se noti instabilità a causa dei cavi del carico, prova a parallelizzare u n condensatore da pochi nF.

[FIDOCAD] MC 220 110 2 1 580 MC 235 80 0 0 080 MC 235 140 0 0 080 MC 200 140 0 0 080 LI 210 140 235 140 LI 245 140 250 140 LI 250 140 290 140 LI 290 130 290 135 LI 290 135 290 155 LI 200 140 185 140 MC 200 150 0 0 080 LI 200 150 185 150 LI 210 150 215 150 LI 215 150 215 110 LI 215 110 220 110 LI 220 100 215 100 SA 215 140 SA 290 140 MC 175 140 0 0 073 MC 175 150 0 0 073 MC 290 155 1 0 000 MC 290 175 3 0 000 MC 290 175 0 0 040 MC 200 80 0 0 080 LI 210 80 235 80 SA 215 80 TY 167 137 5 3 0 0 0 * V1 TY 167 147 5 3 0 0 0 * V2 TY 295 160 5 3 0 0 0 * Carico Icost MC 290 120 1 0 080 LI 290 95 290 75 MC 290 75 3 0 010 TY 285 60 5 3 0 0 0 * +15V MC 275 105 0 0 280 LI 290 120 290 115 LI 245 105 250 105 LI 250 105 275 105 LI 305 80 245 80 LI 305 80 305 115 LI 305 115 290 115 SA 290 115 LI 215 100 215 80 LI 200 80 195 80 MC 195 80 0 0 040 TY 295 125 5 3 0 0 0 * SHUNT

Piccio.

Reply to
Piccio

nel caso del duale, una resistenza tra uscita opamp e unione delle basi dei

2 transistor, puo' servire per stabilizzare eventuali oscillazioni quando si comanda corrente zero ?

io ho previsto resistenze uguali sul comando, cosi' se entrambe sono a +5V sia ha la massima corrente, entrambe a 0V corrente nulla, una delle 2 a +5V meta' corrente. se volessi realizzare un DAC che valori dovrei mettere ? basta che siano rapportate tra loro con potenze di 2 ( 1,2,4,8,16,etc) ? e la resistenza verso lo shunt sia il parallelo di tutte ?

Reply to
alfio

Il giorno lunedì 1 luglio 2013 23:54:50 UTC+2, alfio ha scritto:

ei

si

Credo sia peggio, io non metterei nulla tra uscita OpAmp e basi. L'uscita dell'Amp è già protetta dal corto ed una resistenza, unitament e alle capacità di base dei BJT, non può che innescare oscillazioni.

V
5V

Ok.

Sì, se le tensioni di pilotaggio sono uguali. In ogni caso, i contributi dei singoli ingressi sono rapportati ai contribu ti in corrente degli stessi (V_ingresso / resistenza_ingresso). Le correnti poi si sommano.

No, questa va calcolata in base allo shunt...

Comunque puoi realizzare un DAC soddisfacente fino a 6 bit con resistenze a ll'1%. Però credo che un DAC in grado di fornire correnti negative non sia ben e spresso dal primo schema che ti ho inviato: non sono sicuro del manteniment o degli offset. Domani mentre gioco col mio generatore faccio qualche verifica utile. E deve funzionare perchè va a pilotare una turbina grande come un garage! :(

Piccio.

Reply to
Piccio

"Piccio" ha scritto nel messaggio news: snipped-for-privacy@googlegroups.com...

in che senso ? indenti dire che va calcolata in base alla tensione che vuoi far cadere sullo shunt ? allora ok

supponendo che la tensione massima sullo shunt sia 5V, ossia la tensione delle uscite digitali, secondo i miei calcoli quella resistenza deve essere pari al parallelo delle resistenza sulle uscite digitali se si vuole 5V sullo shunt quando le n uscite sono tutte alte. oppure deve essere uguale alla meta' della resistenza piu' piccola, se si vuole 5*(2^n-1)/(2^n) volt quando le n uscite sono tutte alte. o sbaglio i conti ?

Reply to
alfio

Il giorno martedì 2 luglio 2013 19:56:14 UTC+2, alfio ha scritto:

Premetto che qualche post fa ho detto delle incompletezze riguardo alla fat tibilità del DAC con un solo operazionale. Riguardo allo shunt vanno fatte alcune considerazioni:

1) deve essere di tipo non induttivo per non introdurre instabilità nel c ircuito di retroazione, quindi meglio non usare resistenze a filo bensì l amellari (valori molto bassi però, minori di 0.1 ohm di solito) o a carbo ne (poco costose) 2) deve dissipare poca potenza per scaldare poco onde evitare derive termic he che farebbero variare troppo il valore della corrente costante. 3) deve essere di valore sufficiente ad ottenere una caduta di potenziale a lcuni ordini di grandezza superiore all'offset tra gli ingressi a meno di n on utilizzare un OpAmp pregiato.

Nella prima situazione di corrente 37.5..75mA supponiamo di lavorare con cd t sull'ordine delle centinaia di mV (già provato con buoni risultati), ad esmpio 375mV per i 37.5mA e quindi 750mV per i 75mA. La resistenza sarà quindi di 0.75V / 0.075A = 10 ohm e la potenza dissi pata max sarà di W=R*I^2 = 10*0.075^2 = 56.25mW. Utilizziamo tranquillamente una resistenza a carbone da 1W (18 volte) che c i garantirà stabilità termica (almeno 10 volte per resistenze corazzate a filo).

[FIDOCAD] MC 220 110 2 1 580 MC 235 80 0 0 080 MC 235 140 0 0 080 LI 210 140 235 140 LI 245 140 250 140 LI 250 140 290 140 LI 290 130 290 135 LI 290 135 290 155 LI 200 140 185 140 LI 215 110 220 110 LI 220 100 215 100 SA 215 140 SA 290 140 MC 175 140 0 0 073 MC 290 155 1 0 000 MC 290 175 3 0 000 MC 290 175 0 0 040 MC 200 80 0 0 080 LI 210 80 235 80 SA 215 80 TY 295 160 5 3 0 0 0 * Carico Icost MC 290 120 1 0 080 LI 290 95 290 75 MC 290 75 3 0 010 TY 285 60 5 3 0 0 0 * +15V MC 275 105 0 0 280 LI 290 120 290 115 LI 245 105 250 105 LI 250 105 275 105 LI 305 80 245 80 LI 305 80 305 115 LI 305 115 290 115 SA 290 115 LI 215 100 215 80 LI 200 80 195 80 MC 195 80 0 0 040 LI 215 140 215 110 TY 200 70 5 3 0 0 0 * R1 TY 235 130 5 3 0 0 0 * k*R2 TY 235 70 5 3 0 0 0 * k*R1 TY 200 130 5 3 0 0 0 * R2 MC 200 140 0 0 080 TY 285 133 5 3 0 0 0 * b TY 284 113 5 3 0 0 0 * a MC 175 160 0 0 073 MC 190 175 0 0 040 LI 190 175 190 160 LI 190 160 185 160 TY 172 147 5 3 0 0 0 * Ve TY 220 190 5 3 0 0 0 * Vab = k*Ve MC 295 145 1 0 074 TY 296 142 5 3 0 0 0 * Is TY 293 122 5 3 0 0 0 * Rs TY 306 123 5 3 0 0 0 * (SHUNT)

Il rapporto tra Vab (ai capi dello shunt) e la Ve (output 0..5V da Arduino) è: Vab = k*Ve da cui k = Vab/Ve = 0.75/5 = 0.15 perciò R1 ed R

2 dovranno essere 6.66 volte le resitenze di retroazione (puoi usare 10k e 68k, shunt da 10 ohm). Questo è il circuito fondamentale ad un ingresso. Per ottenere altri ingressi (altre resistenze tra Arduino ed il nodo di R2, ingresso non-invertente dell'OpAmp) bisogna ricalcolare i rapporti sul ram o k*R2. Ad occhio, credo che se raddoppi il valore di R2 10k => 20k) dovresti ott enere esattamente metà corrente (37.5mA) per cui con due ingressi ottieni il risultato voluto.

Il DAC, invece, credo sia meglio ottenerlo con un sommatore tradizionale in modo da poter controllare anche la direzione della corrente. Mumble... devo riflettere. :)

Piccio.

Reply to
Piccio

Il giorno mercoledì 3 luglio 2013 00:18:08 UTC+2, Piccio ha scritto:

ERRATA CORRIGE:

ttenere esattamente metà corrente (37.5mA) per cui con due ingressi ottie ni il risultato voluto.

Il valore da raddoppiare è della 68k, quella in serie all'ingresso. Da 10k sono le k*R1 e k*R2.

Reply to
Piccio

fin qui tutto chiaro.

io ero intenzionato a usare una caduta sullo shunt di 5V per il generatore da 75mA che farebbe 0,35W dici che il calore falserebbe molto la misura ? e' un banco di prova, la corrente sara' sempre a 0 tranne quando si deve testare quel particolare componente, per cui lavorera' per 15-30 minuti continuativi al massimo.

vabbe' tanto che mi costa, abbasso la tensione di shunt, e W la figa :)

Reply to
alfio

fin qui tutto chiaro.

io ero intenzionato a usare una caduta sullo shunt di 5V per il generatore da 75mA che farebbe 0,35W dici che il calore falserebbe molto la misura ? e' un banco di prova, la corrente sara' sempre a 0 tranne quando si deve testare quel particolare componente, per cui lavorera' per 15-30 minuti continuativi al massimo.

vabbe' tanto che mi costa, abbasso la tensione di shunt, e W la figa :)

Reply to
alfio

fin qui tutto chiaro.

io ero intenzionato a usare una caduta sullo shunt di 5V per il generatore da 75mA che farebbe 0,35W dici che il calore falserebbe molto la misura ? e' un banco di prova, la corrente sara' sempre a 0 tranne quando si deve testare quel particolare componente, per cui lavorera' per 15-30 minuti continuativi al massimo.

vabbe' tanto che mi costa, abbasso la tensione di shunt, e W la figa :)

Reply to
alfio

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.