Alimentatore basato su Arduino ...

Mi "intrufolo" con una domanda non troppo OT ... tempo fa si era parlato di un progetto "alimentatore da laboratorio" con Arduino, poi caduto nel vuoto per vari motivi, uno dei quali era l'adc interno senza troppa precisione ... ma dato appunto che, in fondo, per un'alimentatore da laboratorio per hobbysti, andare oltre il decimo di volt di precisione non ha molto senso (mica dobbiamo costruire un clone del Tektronik a 6 canali con risoluzione di 1 mV per canale, in fondo :P :D), non si potrebbe "riesumare" il progetto, o almeno un progetto simile ? ... preregolazione switching, regolatori finali lineari, un paio di canali da 36V piu i soliti "fissi" da 5 e 12, positivi e negativi, che vengono sempre buoni prima o poi ... non dovrebbe uscirne una cosa cosi malvagia, in fondo ... o no ?

--- ho divisio io dall'altro thread e creato questo nuovo, specificatamente dedicato all'argomento ;) - gpb01

Etemenanki: Mi "intrufolo" con una domanda non troppo OT ...

... ma c'era già un thread ? ? ? ... in ogni caso, puoi aprirne uno dedicato e, se poi ha successo, lo mettiamo in Megatopic ;)

Guglielmo

gpb01: ... ma c'era già un thread ? ? ?

Ricordo di aver visto tempo fa qualcosa di molto vecchio, che al momento non trovo piu, ed un'altro paio di discussioni successive iniziate e poi morte dopo pochi post ... almeno, per quello che riesco a ricordare ...

Provero' a tirare insieme qualcosa che non faccia troppa pena :P a livello di schema elettrico, magari sfruttando componentistica piu "moderna" di quella disponibile all'epoca dei primi tentativi ... se poi troviamo anche qualcuno in grado di occuparsi della parte software, magari ne esce qualcosa di utile ...

Ho ritrovato uno degli schemi vecchi che avevo postato all'epoca, era solo uno schema di principio, non un definitivo, ed usava i sistemi "classici" per la regolazione (uscite di arduino per fare un DAC con la solita scaletta di resistenze, amplificazione di tensione con una coppia NPN-PNP, finale lineare passante con i soliti 3055 in parallelo, regolazione di corrente con la solita resistenza verso massa ed i soliti transistor per amplificare la lettura ... nulla di innovativo, il tutto buttato giu al volo e da verificare)

Pensavo di ridisegnare il tutto usando mosfet ad alta corrente per la parte finale ed operazionali ... pero', al contrario dei transistor, la resistenza serie dei mosfet cambia con la regolazione, quindi cambia anche con la corrente prelevata in modalita' lineare, il che causerebbe problemi di altro tipo ... potrebbe non valere la pena di incasinarsi in questo modo ...

Oppure potrei usare un LM317 come driver per i finali, ed un potenziometro digitale sulla rete di feedback, magari con interfaccia I2C per pilotarlo con arduino, ma non sarebbe questo gran miglioramento, alla fine ...

O usare un chip gia fatto per il power-management, ma finirebbe per diventare l'ennesimo switching controllato da MCU (di quei chip sembra ne abbiano fatti decine switching, ma neppure uno lineare, almeno all'apparenza)

O tenermi la configurazione che avevo disegnato all'origine, primitiva ma probabilmente efficente, modificandola per usare un display I2C, cambiando la scaletta del DAC per poter variare l'uscita ad intervalli di 0.1V (si potrebbe usare un DAC a 10bit per avere fino ad un massimo di 51.2V a passi da 100mV, piu di quelli che servono in effetti) e migliorandola dove possibile ... comporterebbe l'uso di un 328 per canale, se si usano due uscite variabili, e la necessita' di collegarli in qualche modo per operare in "mirroring" (quando si regola solo il ramo positivo ed automaticamente si imposta anche il negativo per gli stessi valori), ma dovrebbe essere fattibile ...

Prima ero solo vagamente indeciso, ora invece ho le idee piu chiare, per cui posso affermare di essere "ufficialmente" indeciso :stuck_out_tongue: ... suggerimenti pratici ? (a parte "compralo gia fatto", che fin li ci arrivo da solo :stuck_out_tongue: :D)

Mi piace, purché ci infili anche una protezione da cortocircuito!

Il circuito gia incorpora un controllo dela corrente ... quindi se lo si gestisce da software, la massima corrente in caso di cortocircuito, sarebbe quella impostata dal software ...

Se intendi indipendente dal software, si puo, ma sarebbe comunque una semplice limitazione di corrente con soglia leggermente superiore alla massima corrente possibile del circuito (perche' altrimenti interverrebbe prima della limitazione software, ed il funzionamento a corrente costante non sarebbe piu possibile) ... comunque si puo aggiungere ... anche come "sicura" da ripristinare a mano (del tipo, se la parte software va in tilt e spara fuori il massimo, il sistema va in blocco finche' non si ripristina manualmente ... potrebbe non salvare il carico, ma salverebbe l'alimentatore ... credo si possa fare senza troppi problemi)

La seconda che hai detto ;).

Ero tentato di aggiungere un LT4356 per le protezioni, ma ha il pad inferiore e mi piacerebbe riuscire a mantenere il tutto realizzabile con il minor numero possibile di componenti SMD che richiedano un forno reflow, in modo che lo possa realizzare chiunque ne abbia voglia (escluse resistenze e condensatori, quelli si saldano anche a mano senza problemi :P)

I PTC sono comodi, ma hanno un tempo di intervento che puo arrivare a 4 secondi, per cui li ho scartati a priori ... rimane il classico rele' in serie attivato da uno pseudo-crowbar con scr per l'interruzione del positivo ... oppure un'equivalente realizzato con mosfet di potenza in back-to-back (con i drain collegati insieme, il secondo pilotato dal primo), ma comporta una spesa maggiore, dato che per correnti "decenti" servirebbero almeno due mosfet da 100 e passa Ampere per lato ... inoltre realizzare il lato negativo presenterebbe altri problemi, rispetto al positivo ... quindi credo che optero' per un robusto rele' per uso "automotive" pilotato dal classico SCR che tagli l'alimentazione a tutte le uscite contemporaneamente in caso di corrente o tensione superiore alla massima soglia impostabile, da riarmare a mano, perche' se interviene vuol dire che qualcosa di grave e' successo ai regolatori ...

Quanto alla sezione di regolazione vera e propria, dopo essermi studiato un po di datasheet, mi sa che rimarro' sull'uso di comuni e relativamente economici BJT in parallelo, perche' i mosfet presentano sia svantaggi che vantaggi, se usati in modo lineare, e gli svantaggi possono superare i vantaggi ... ad esempio, per citarne solo alcuni, a basse tensioni la loro resistenza interna, e quindi la dissipazione, sarebbe superiore a quella dei BJT ... si possono usare elementi specificamente costruiti per funzionare in lineare, come i finali dei sistemi HI_FI, ma costano troppo ... o si puo sovradimensionare il tutto, ma dovrei mettere almeno 6 mosfet in parallelo per canale, per poter avere un'uscita che possa dare almeno una decina di Ampere a pochi volt senza friggersi o autooscillare, ed anche qui non ne varrebbe piu la pena ... per cui probabilmente rimarro' sui vecchi "classici" TIP35C - TIP36C, magari usati a coppie per distribuire meglio la dissipazione ... una coppia dovrebbe essere in grado di dissipare fino a 250W, teorici almeno, se ben accoppiata ad un dissipatore efficente ... se poi riesco ad improvvisare un qualche tipo di pre-regolazione per ridurre ulteriormente la differenza fra ingresso ed uscita, magari usando degli switching prima della sezione lineare ... devo pensarci su ...

Procedendo con la progettazione, mi e' venuta un'altra idea ... il controllo della corrente sugli alimentatori pilotati a microprocessore di solito lo fa il micro, ma arduino (o comunque la MCU) potrebbe introdurre ritardi indesiderati ed anche pericolosi, se dovesse fare lei il controllo e gestire la tensione in base alla corrente ... inoltre, dato che se non si vuole usare DAC ed ADC a molti bit, quello interno di arduino permetterebbe al massimo una variazione del decimo di volt, sarebbe anche approssimativo (un decimo di volt su carichi a bassa resistenza puo significare parecchia variazione di corrente ... e' piu un fatto di funzionamento corretto che di precisione) ...

Quindi pensavo, e se ribaltiamo il discorso del tutto ? ... si lascia arduino o la MCU in standalone per programmare tensione e corrente, e per visualizzare i valori su un display, ma la regolazione vera e propria, specie della corrente, la faccio fare ad un paio di operazionali, ed uso arduino per pilotarli attraverso un chip DAC esterno (pensavo agli MCP4822, vecchi chip ad 8pin del 2010, abbastanza economici sui 2 Euro e mezzo, ognuno contiene due DAC a 12bit, pilotabili via I2C) ... in questo modo la MCU avra' il compito di pilotare i circuiti di feedback per la regolazione sia della corrente che della tensione, mentre nel funzionamento in corrente costante sarebbe praticamente istantanea la risposta del regolatore, senza i ritardi introdotti dal programma, che gia deve fare altre cose, come leggere tensione e corrente, visualizzarli sul display, (e se la tensione varia troppo, compensare mediante il DAC, al limite)

Se nessuno ha idee migliori, io procedo in questo senso ...

(... e no, non ce la infilo, la macchinetta del caffe' :P :D)

(... e no, non ce la infilo, la macchinetta del caffe' :P :D)

por.....e! e io che ci contavo...

seguo interessato :)

Lo schema cresce (pian piano, ma cresce), e crescono pure i possibili problemi :smiley:

Allora, per la sezione regolazione, nulla di stratosferico, sono partito dal principio di funzionamento del classico regolatore serie e l'ho leggermente modificato (giusto un pelino :P) ...

La "base" di quasi tutti i regolatori lineari e' un transistor (o altro elemento attivo di potenza) in serie, pilotato da un circuito che compara un riferimento interno con parte della tensione all'uscita, come nello schema 1 ... pero' e' possibile anche invertirne il principio, comparando una parte fissa della tensione di uscita con un riferimento variabile, come nello schema 2 ... considerando questo, basta modificare lo schema in modo da fornire il riferimento variabile con un DAC pilotato da una MCU, invece che con un potenziometro, per tirarci fuori un'alimentatore a pilotaggio digitale, come in schema 3 ... dato poi che lo stesso principio e' valido anche per i circuiti di regolazione della corrente, chi ci impedisce di usare un doppio DAC con uscite indipendenti per pilotarci sia il circuito di regolazione della tensione che quello della corrente, come nello schema 4 ? ... :wink:

(gli schemi ovviamente sono di principio, serve anche qualche altro componente :D)

Per la sezione di preregolazione invece, che serve ad evitare di trasformare un'alimentatore in una griglia da barbecue (:stuck_out_tongue: :D), ci sono piu sistemi, ma quello piu semplice, che sarebbe usare un circuito dimmer controreazionato sul primario del trasformatore, non lo possiamo usare per via del regolamento ... per lo stesso motivo, non posso usare una sezione AC "switching" di rete come preregolatore, perche' dovrebbe essere realizzata su misura, e non si puo parlare di schemi che coinvolgono la tensione di rete ... rimane un preregolatore semilineare a mosfet, che pero' non porterebbe troppi vantaggi dato che dissiperebbe comunque parecchia potenza, oppure il vecchio sistema del rettificatore controllato ad SCR (creare un ponte con due diodi e due SCR, ed usare un circuito di controllo per regolare la tensione in uscita dal ponte parzializzandoli, sistema antidiluviano, ma stabile ed ancor oggi usato a livello industriale) ... il terzo sistema prevede l'uso di un SCR per variare la carica di un'enorme condensatore "serbatoio" prima del regolatore finale, ma se vogliamo un'alimentatore in grado di poter dare 10A stabili, servirebbero almeno 30000uF ... ci sarebbe anche un sistema molto piu semplice ed economico (ancora piu primitivo ed ormai non piu usato da nessuna parte), se si usa un trasformatore con due secondari da 15V 10A invece che un solo secondario da 30V, si puo scambiare la tensione fra 15 e 30 V all'ingresso del ponte con un robusto rele' (o 4 mosfet di potenza), ma come soluzione mi sembrava un po troppo primitiva ...

Per chi se lo stesse chiedendo ... ho scelto l'uso di un trasformatore invece di quello di un'alimentatore switching precostruito, perche' la maggior parte degli switching da tensione di rete non sono molto affidabili, e quelli che lo sono costano decisamente di piu del trasformatore ... inoltre vorrei garantire il totale isolamento galvanico fra rete ed uscita, e per fare questo un trasformatore e' il massimo ...

C'e' anche da dire una cosa, se realizzato come si deve, e' possibile che finisca per costare quanto, o forse persino di piu, di un'alimentatore "commerciale", anche se posso sempre disegnarlo a sezioni indipendenti (vale a dire, ogni regolatore che dovrebbe poter dare al massimo 36V e 10A, totalmente indipendente dall'altro, in modo da poterne anche realizzare uno solo, ed aggiungere il secondo in seguito, tanto ogni gruppo avrebbe il proprio trasformatore alla fine) ... inoltre non e' indispensabile realizzarlo da 10A, se a qualcuno serve con meno corrente, basta cambiare un paio di valori ed usare un trasformatore piu piccolo e meno costoso ...

Altre idee ? ... suggerimenti costruttivi ? ... soluzioni alternative possibili ?

Mi e' appena venuta, per il preregolatore, un'idea ancora piu folle ... talmente folle, in effetti, che potrebbe perfino funzionare :stuck_out_tongue:

Il preregolatore con il ponte ad SCR funziona bene, ma ha alcuni piccoli punti deboli ... primo, la parzializzazione in accensione (come quella dei normali dimmer) causa l'innesco dell'SCR quando la tensione delle semionde e' gia abbastanza alta, il che e' l'equivalente di chiudere tale tensione su un grosso condensatore, che per i fronti veloci si comporta come un carico abbastanza alto, sia pure impulsivamente ... secondo, gli SCR causano una certa caduta di tensione che si trasforma in calore, mentre funzionano ... ultimo, ma non indifferente, richiedono un secondario aggiuntivo dal trasformatore per pilotare in fase degli appositi circuiti di innesco, il che oltre ad aumentare i costi, aumenterebbe anche la complicazione in violazione della seconda legge generale della tecnologia (quello che non c'e', non si puo rompere :D)

Per cui mi e' venuta la folle idea di utilizzare un mosfet "alla rovescia" per parzializzare la carica del condensatore serbatoio prima del gruppo regolatore ... per "alla rovescia" non intendo connesso invertito, ma usato in modo inverso al solito ... di solito siamo abituati ad usare i mosfet come interruttori per "accendere" velocemente dei carichi ... io invece ho pensato "perche' non usarlo in modo che SPENGA velocemente il carico al raggiungimento della tensione voluta ad ogni semionda ?" (si, lo so che pensare fa male :stuck_out_tongue: :D) ... e per farlo in modo semplice, invece di un circuito dedicato di pilotaggio con l'avvolgimento ausiliario che rileva i passaggi per lo zero ed il timer per lo sfasamento, usare proprio un semplice SCR ... lo schema di principio potrebbe essere questo ... ovviamente, dato che me lo sono inventato al volo, e' tutto da controllare :stuck_out_tongue:

Il mosfet in quella connessione lavora sulle semionde positive, e dovrebbe auto-accendersi ad ogni semionda tramite la resistenza fra gate e massa (e' un canale P) ... lo zener e' solo per proteggere il gate ... qui l'SCR in pratica "forza" lo spegnimento del mosfet ogni volta che il comparatore lo innesca (attraverso un'opto, per disaccoppiare la parte a 40 e passa VDC dalla logica, ovviamente) ... SCR che per sua natura, si diseccita ad ogni semionda, quando la tensione raggiunge lo zero, per cui il sistema non richiede altri circuiti di rilevazione fase e sincronizzazione tempi, come invece sarebbe necessario se usassi gli SCR nel ponte, "accendendoli" con ritardo rispetto allo zero, come si fa con i dimmer ... dovrebbe essere sufficente che il VREF venga fornito dallo stesso DAC che fornisce il riferimento al regolatore lineare, mentre la linea che proviene dall'uscita la si porta con un partitore resistivo diverso (EDIT: oppure la si rileva direttamente sul condensatore, cosa ancora piu semplice), in modo che il comparatore scatti ad una tensione di 4 o 5 V superiori a quella di uscita ...

SE il circuito funziona (ed e' un grosso "SE", dato che anche cercando nei datasheet, non sono riuscito a trovare nessun tipo di applicazione gia realizzata che fosse uguale alla mia folle idea), dovrebbe garantire una tensione in ingresso alla sezione lineare di 4 o 5 V superiore a quella richiesta all'uscita, minimizzando per quanto possibile la dissipazione in calore, ed allo stesso tempo dissipare nella parte di preregolazione una minor quantita' di potenza di quella normalmente dissipata da una coppia di SCR che funzionino in un ponte con 10A di corrente attraverso, dato che la RdsON di un mosfet, anche di un poco efficente canale P, dovrebbe comunque essere abbastanza bassa, se ben scelto ...

Non mi illudo di aver "inventato" nulla di nuovo, anche se fin'ora non ho trovato traccia di applicazioni dello stesso tipo, ma ormai l'idea folle mi ha incuriosito al punto che mi e' venuta voglia di provarlo in pratica ... devo ordinare un mosfet di potenza canale P con la piu bassa RdsON possibile, magari un SQP90P06-07L (commutazione migliore e RdsON leggermente piu bassa, case TO220), o un BSS3002 (protezione del gate integrata, curva ed RdsON leggermente peggiori, case SMD) ... con circa 6 milliohm, che sono i piu bassi che conosco a canale P in case "umano", dovrebbe bastarne uno, anche considerando la potenza extra dissipata durante il primo tratto del fronte di salita delle semionde, dove non saranno ancora completamente in zona satura (fra i 3 ed i 4 V di gate) ...

Cosi potro' vedere in pratica se funziona o se si trasforma di colpo in una nuvoletta di fumo :stuck_out_tongue: :smiley: :smiley: :smiley: ... dato che l'idea e' abbastanza fuori, e non ho trovato riferimenti in merito, se qualcuno che se ne intende ci facesse un pensierino sopra e mi dicesse se ci vede qualche errore concettuale o procedurale, sarebbe una cosa utile ... :wink:

ok... se vedo fumo dal balcone chiamo i pompieri :D

Scusate l' OT ma che piacere.... sono quasi 2 anni che non entro nel forum: il lavoro mi sta assorbendo al 110% e giusto ieri sono riuscito a rimettermi a giocare un pò con il mio antifurto! Stasera entro per rispolverare due dubbi e mi ritrovo un post carico di energia :)

Bellissimo! Grandi!

Stefano

Bel progetto stai progettando :D ete

È da un po' che non scrivo nel forum, mesi tipo :) Purtroppo delle volte il tempo vola più velocemente di noi :grin:

Comunque ho letto attentamente, ma non ti saprei dire anch'io niente riguardo al MOSFET, ti resta solo che provare il marchingegno :) o magari qualcun'altro saprà qualcosa in più, fa sempre piacere

Ho spostato io nella sezione Hardware che mi sembra la più consona :)

Guglielmo

Guglielmo: grazie :)

As_Needed: per ora e' fermo perche' voglio prima provarne una versione "ridotta" con un mosfet di recupero, e poi se funziona ordinare un paio di quelli da 100A e "caricarlo" con almeno il doppio dalla corrente a cui poi dovrebbe funzionare (ma dovro' trovare un trasformatore adeguato) ... lo so, e' un'idea "un po strana" (ok, forse un po tanto :D), che mi e' venuta mentre pensavo ad un'alternativa meno distruttiva dei classici circuiti "crowbar" con SCR e fusibile ... non so sinceramente se qualcuno ci abbia gia pensato, sui vari application notes non ne ho trovato alcun accenno (chissa', magari non c'e' proprio perche' la cosa non funziona) ... finche' non riesco a fare le prove e vedere se va o se va...porizza (:D), non posso dirlo ... comunque appena ho novita', aggiorno (e se per caso qualcuno nel frattempo trova qualcosa di tecnico al riguardo, anche solo che dimostra che non funziona, un link e' sempre il benvenuto ;) )

Etem, a che punto siamo con il progetto ?

Guglielmo

Interessatissimo anche io. Come procede? Proprio questa mattina scrivendo a Guglielmo mi ha linkato questo topic interessante assai!

Per ora, con un mosfer recuperato, il sistema sembra funzionare, ma non l'ho caricato a piu di 2A, anche perche' l'unico trasformatore da 48V che avevo in giro piu di 3 o 4 A non da ... dovevo comperare dei mosfet decenti da almeno 100A e trovare un trasformatore migliore per fare altre prove, ma per ora sono fermo, anche un po per problemi "casalinghi" ... ma non mi sono arreso, appena recupero il materiale e riesco a fare altri test vi avviso ...