Strumenti Utente

Strumenti Sito


ponteh

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:

Articoli da blog e siti di prof:

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)
  • 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

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

Datasheet

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
Questo sito Web utilizza i cookie. Utilizzando il sito Web, l'utente accetta la memorizzazione dei cookie sul proprio computer. Inoltre riconosci di aver letto e compreso la nostra Informativa sulla privacy. Se non sei d'accordo, lascia il sito.Maggiori informazioni sui cookie
ponteh.txt · Ultima modifica: 2024/02/10 13:58 da admin