ponteh
Indice
Applicazioni di elettronica di potenza
In grassetto i contenuti più importanti.
Osservazioni sparse sui MOSFET
- ci sono tanti tipi di MOSFET ma a grandi linee:
- si usano quelli enhancement (ad arricchimento)
- a canale N (Ron minore)
- non logic-level (che hanno Ron e corrente sul gate maggiori)
- il controllo è in tensione ma serve corrente nel passaggio da ON a OFF
- con correnti basse la commutazione è lenta e si hanno perdite
- allora meglio usare un driver in grado di fornire corrente elevata e garantire tempi di commutazione rapidi
- si mette una resistenza di pull-down sul gate per evitare commutazioni indesiderate se G risulta isolato
- si mette una resistenza in serie al gate per regolare la corrente e quindi i tempi di commutazione: bassa se si usa un driver, alta se pilotato da un microcontrollore (tempi lunghi e corrente bassa); serve anche a smorzare possibili oscillazioni dovute alla componente capacitiva del MOSFET e induttiva dei conduttori
- gate-driver: push-pull1) discreti a BJT o integrati dedicati (eventualmente con funzione booster o charge-pump per usare MOSFET a canale N anche come high-side switch)
- in corrispondenza di Vth il MOSFET comincia a condurre ma con una resistenza ancora elevata e perdite
- il valore di VgsON per avere la piena conduzione si ricava nella riga di RdsON del datasheet
- la potenza dissipata va calcolata stimando anche la temperatura effettiva di funzionamento: si considera il caso peggiore e si calcola Ron*I^2, poi si stima l'aumento di temperatura del silicio con Rth*P e nel caso si installa un dissipatore
- per stimare il tempo di carica si può usare Ciss (capacità equivalente in ingresso) o Qg (total gate charge); in entrambi i casi si ipotizza di caricare un condensatore a corrente costante (cosa abbastanza vera quando Vgs raggiunge Vth)
Risorse su MOSFET
Video:
- Video sul pilotaggio del gate dei MOSFET e le complicazioni associate per cui conviene usare un integrato come MOSFET driver: corrente e tempi di commutazione, gate driver con level-shift e push-pull, bootstrap per NMOS high-side (GreatScott su youtube)
- altro video più tecnico sul pilotaggio dei MOSFET e blog post associato di MicroType Engineering su youtube); perché due resistenze sul gate, perché i MOSFET logic level sono da evitare, gate driver, calcolo approssimato della potenza dissipata e della massima frequenza in commutazione
- Video con spiegazione della SOA dei MOSFET, dal sito Texas Instruments (inglese)
- lezione sui gate driver molto completa (45 minuti!)
Articoli da blog e siti di prof:
- una pagina su high-side e low-side switch con MOSFET e BJT che spiega la nomenclatura
- pilotaggio BJT on/off dagli appunti di elettronica
- breve teoria sui MOSFET dagli appunti di elettronica
- breve trattazione sui componenti elettronica di potenza dal sito del prof Vincenzo Villa (si veda in particolare la pagina sui gate-driver)
Articoli e application note dei produttori di componenti:
- AN sul pilotaggio del gate dei MOSFET di Toshiba con le varie soluzioni per il pilotaggio e differenze tra bootstrap e charge pump
- Application Note della TI su gate driving per MOSFET e IGBT con varie soluzioni, discrete e integrate di gate-driver (bootstrap a pag 30)
- Application Note sul circuito bootstrap di Texas Instruments
- AN di Onsemi sul progetto dei circuiti bootstrap per gate driver (utile riassunto a pagina 11)
- articolo di Analog Device sul perché servano i gate driver (push-pull più efficiente di transistor + resistore, più corrente → commutazione più rapida → meno perdite, funzionalità extra degli IC: level-shift, protezione da shoot-trhough, isolamento per sicurezza e NMOS high-side)
Risorse su ponte H
- Application note sui ponte H integrati a BJT L293/L298 (sono driver decisamente obsoleti ma ancora usati in campo didattico e hobbistico)
- Video molto semplice sul funzionamento del ponte H con MOSFET con segnale PWM generato da NE555)
- controllo PWM di un motore DC con un BJT dagli appunti di quarta: non c'è inversione del moto (non è un ponte H) ma PWM generato con 555, simulazione del motore con circuito equivalente e risultati sperimentali all'oscilloscopio
- pagina sui multivibratori con vari documenti (anche dal libro di elettronica) sul 555 e applicazioni (astabile per generare un segnale PWM)
- Immagine di un ponte H con BJT e porte NAND (da Batani)
- Tutorial di molte pagine su un progetto con ponte H con BJT (Darlington) e fotoaccoppiatori
- Tesina su un progetto con ponte H che usa solo NMOS, pompa di carica e logica di controllo
- Technical Note Nexperia molto completa su un progetto sofisticato con ponte H (e reference board)
Altro:
- Charge Pump per pilotare MOSFET a canale N (inglese)
- Pompa di carica in italiano (la pagina è sulla RS232 ma questa soluzione viene usata anche nei gate driver per permettere l'utilizzo dei MOSFET a canale N come interruttori high-side (source)
Simulazioni
- Simulazioni su pilotaggio motore DC con PWM (BJT, MOSFET, generazione del segnale PWM, importanza dei diodi di libera circolazione)
Datasheet
- Datasheet dell'L293D e del driver alternativo SN754410
- datasheet del gate driver IR2104 (half-bridge driver DIP8 con bootstrap) e relativa Application Note (per il calcolo della capacità del condensatore di bootstrap)
Software: generatore di segnale PWM con Arduino
Di seguito un programma per generare un segnale PWM sul con frequenza di 1 kHz e duty-cycle regolabile usando la scheda Arduino. Usa quattro pulsanti: uno per avviare e uno per fermare la generazione del segnale PWM, uno per aumentare e uno per diminuire il duty-cycle.
// pin (i pin 0 e 1 sono impegnati per la trasmissione seriale) const int pinStart = 8; // piedino da mettere a massa per attivare il PWM const int pinStop = 9; // piedino da mettere a massa per disattivare il PWM const int pinPWMup = 2; // piedino da mettere a massa per incrementare il duty-cycle const int pinPWMdown = 3; // piedino da mettere a massa per diminuire il duty-cycle const int pinPWM = 5; // piedino di uscita del segnale PWM (a 1kHz in quel piedino) // altre variabili int spinning = 0; // attiva o no il segnale PWM int duty = 100; // da 0 a 255 -> 0-100% int PWMup; // stato pin che incrementa il duty-cycle int PWMupPrec = 1; // stato precedente pin che incrementa il duty-cycle int PWMdown; // stato pin che diminuisce il duty-cycle int PWMdownPrec = 1; // stato precedente pin che diminuisce il duty-cycle void setup() { pinMode(pinPWM,OUTPUT); pinMode(pinStart, INPUT_PULLUP); // pull-up interno al micro pinMode(pinStop, INPUT_PULLUP); pinMode(pinPWMup, INPUT_PULLUP); pinMode(pinPWMdown, INPUT_PULLUP); pinMode(13,OUTPUT); // LED 13 acceso quando gira il motore Serial.begin(9600); // debug su serial monitor } void loop() { // gira se pinStart a GND if (!digitalRead(pinStart)){ spinning = 1; } // si ferma se pinStop a GND if (!digitalRead(pinStop)){ spinning = 0; } // LED sulla scheda acceso se gira (PWM attivo) digitalWrite(13, spinning); // attiva/disattiva PWM if(spinning){ // attiva PWM analogWrite(pinPWM, duty); } else{ analogWrite(pinPWM, 0); } // incremento/decremento duty-cycle PWMup = digitalRead(pinPWMup); PWMdown = digitalRead(pinPWMdown); if((!PWMup)&&PWMupPrec){ if (duty+10 < 255) { duty += 10; } delay(20); // antirimbalzo Serial.println(duty); } if((!PWMdown)&&PWMdownPrec){ if (duty-10 > 0) { duty -= 10; } delay(20); Serial.println(duty); } PWMupPrec = PWMup; PWMdownPrec = PWMdown; }
Nel video qua sotto il codice in azione.
1)
NB sembra la stessa configurazione di un lato del ponte H (half-bridge) ma non lo è! Infatti i transistor NPN e PNP sono scambiati di posto e il funzionamento non è da switch ma da inseguitore di emettitore (buffer) e i BJT non lavorano in saturazione ma in zona lineare. Questa configurazione è chiamata anche totem pole
ponteh.txt · Ultima modifica: 2024/02/10 13:58 da admin