Recentemente ho letto sull'elettronica di potenza e come sfida (e anche un esercizio di apprendimento), ho progettato il mio primo alimentatore a commutazione, in questo caso un convertitore buck.

È destinato a fornire 3,5-4,0 V (deciso dalla sorgente di riferimento del diodo) e fino a 3A per pilotare alcuni LED di alimentazione con qualsiasi sorgente CC, che vanno da un caricatore USB da 5 V a una batteria PP3 da 9 V. Voglio un approvvigionamento efficiente, poiché il riscaldamento e la durata della batteria saranno un vero problema (altrimenti sarei pigro e userei un diodo 7805 +).
NOTA: ho già notato che ho la logica di commutazione nel modo sbagliato, ho bisogno di scambiare le connessioni nel comparatore o utilizzare !Qper pilotare i MOSFET.
La mia scelta di MOSFET anziché BJT era dovuta alle perdite di potenza in un BJT e ai problemi termici che si presentavano. Questa decisione di utilizzare MOSFET su BJT / IGBT a causa di una maggiore efficienza è la scelta giusta?
Invece di usare un chip PWM come suggeriscono molti forum di hobbisti, ho deciso di utilizzare una combinazione comparatore / orologio / latch per passare rapidamente da "carica" a "scarica". C'è qualche particolare svantaggio di questo approccio? Il latch CMOS (un D-flip flop) copia i dati sulle uscite sul fronte di salita degli impulsi dal generatore di clock (un inverter Schmitt CMOS + feedback).
La scelta delle costanti di tempo / frequenze d'angolo per l'orologio e il buck lowpass (rispettivamente 10-100kHz e 10Hz) ha lo scopo di supportare la piccola approssimazione dell'ondulazione consentendo allo stesso tempo al condensatore di uscita di caricarsi in un ragionevole lasso di tempo dall'accensione. È questo il giusto insieme di considerazioni per decidere i valori di questi componenti?
Inoltre, come farei per calcolare il valore dell'induttore? Suppongo che dipenda dalla corrente di uscita tipica e dal valore del condensatore passa-basso, ma non riesco a capire come.
[modificare:]
In passato, ho usato la coppia MOSFET mostrata (oltre al software PWM) per creare ponti H per il controllo del motore a velocità variabile bidirezionale - e finché ho mantenuto il periodo PWM molto più grande del tempo di commutazione MOSFET , la perdita di energia dovuta a corto circuito durante la commutazione era trascurabile. In questo caso, tuttavia, sostituirò l'N-mosfet con un diodo Schottky poiché non ho mai usato un diodo Schottky prima e voglio vedere come si comportano.
Uso un semplice combo inverter + RC per fornire il segnale di clock in quanto non ho bisogno di una frequenza particolarmente coerente o precisa purché sia considerevolmente più alta della frequenza d'angolo high-cut del buck-boost.
[modifica II:]
L'ho costruito su una breadboard e con mia sorpresa, ha funzionato immediatamente senza problemi e con un'efficienza del ~ 92% (rispetto al 94% che avevo calcolato dalla perdita di commutazione / componente).
Si noti che ho omesso il resistore nello stadio di uscita, per pigrizia - inoltre non riesco proprio a ricordare perché l'ho messo lì in primo luogo.
Ho omesso il diodo inverso parallelo al P-MOSFET e ho usato anche un diodo Schottky 1N5817 (nota: classificazione 1A) al posto dell'N-MOSFET. Non fa abbastanza caldo da notare la punta delle dita. Ho ordinato un diodo di livello superiore anche se per il montaggio dell'unità finale, che funzionerà a pieno carico.
Durante il test ho accidentalmente fatto esplodere il comparatore LM393, ma un LM358AN ha preso immediatamente il suo posto senza problemi.
Dato che non riesco a trovare alcun software di progettazione di circuiti / layout decente di circuito / esecuzione che funzionerà su Arch Linux x64 (o addirittura l'installazione, nel caso del software nativo Linux), l'ho disposto manualmente in modo che probabilmente non funzionerà quando è saldato ... Ma questo aggiunge solo al "divertimento" immagino!
Valori dei componenti utilizzati: Clock gen {1kR, 100nF}; Uscita buck {330uH, 47uF}; Condensatore di ingresso [non mostrato] {47uF}; P-MOSFET {STP80PF55}; N-MOSFET {diodo Schottky invece, 1N5817 - da sostituire con> = versione 3A}; CI {40106 NXP, 4013 NXP, LM358AN}
