Controllo digitale del motore SR (motore a riluttanza variabile) 2/2

Lo stato dell'interfaccia utente è scansionata periodicamente mentre la tensione del bus-DC e la corrente di fase eccitata sono campionate. Il motore SR (motore a riluttanza variabile) si avvia dietro comando dello switch start/stop. Per prima cosa il rotore è allineato su una posizione nota. Non appena il rotore è stabilizzato, l’algoritmo di start up comincia ad eccitare le fasi per avviare il motore SR (motore a riluttanza variabile). Durante lo start up, la posizione di rotore è valutata dallo speciale algoritmo brevettato, ma una volta che il motore SR raggiunge una velocità stabile, la posizione di rotore è valutata dalla corrente massima. Dopo la sequenza di start up, la velocità del motore SR (motore a riluttanza variabile) viene aumentata al massimo da una rampa di velocità.

Se desideri maggiori informazioni su questo prodotto Freescale, invia una richiesta ad Arrow utilizzando il seguente modulo.

La tensione del bus-DC e la fase di corrente eccitata sono testate con un Convertitore analogico-digitale. La fase di corrente è sentita come una goccia di tensione su una resistenza di deviazione. Le resistenze di deviazione sono disposte in serie con fonte di transistor di fondo IGBT. Quando l’impulso PWM è troppo corto, si avverte il passaggio di corrente attraverso il transistor di fondo IGBT e diodo a ruota libera. Negli altri casi, la corrente di fase è avvertita solamente quando entrambi i transistor, di cima e fondo sono accesi. Perciò, il campionamento di corrente deve essere sincronizzato con la generazione di PWM. Ciò può essere assicurato da PWM alla sincronizzazione del Convertitore analogico-digitale perfezionata sul MC56F8006. Questa sincronizzazione è compiuta dal timer di duplice canale 0 collegato all’input di sincronizzazione del Convertitore analogico-digitale, e l’input dello stesso canale è connesso alla ricarica di segnale del modulo PWM. Così permette il controllo del ritardo tra il tempo di ricarica del modulo PWM e l'inizio della conversione di A/D.

Fase campionamento di corrente multipla
Figura 4: Fase Campionamento di corrente multipla


Per avere sufficiente tempo di risoluzione per la valutazione della corrente massima, si utilizza il campionamento multiplo di corrente durante la fase di PWM. La realizzazione effettiva può essere vista in Figura 4. Il numero degli esemplari di Convertitore analogico-digitale presi durante un periodo di PWM è calcolato all'inizio di ogni ciclo di PWM, secondo il ciclo di servizio attuale.

Il primo esemplare di Convertitore analogico-digitale è messo a 2 μs dopo la fase di ricarica. Una volta che il ritardo svanisce, comincia la conversione A/D ed è chiamata un'interruzione veloce (Dual Timer Ch0 ISR).). Durante la conversione del Convertitore analogico-digitale, Dual Timer Ch0 è impostato per un nuovo ritardo di 4.4 s quando si cattura il successivo campione di corrente. Il primo ritardo di 2 s è dovuto al ritardo di propagazione causato dal driver IGBT e dal tempo del transistor IGBT “on”. I ritardi tra gli altri esemplari sono impostati a 4.4 s. Sin dalla velocità massima il cycle duty è al 100 percento, la corrente è campionata ogni 4.4 s continuamente. Questo metodo permette di rilevare la corrente massima con una precisione migliore del 2 percento.

Il campionamento corrente comincia all'inizio di ogni commutazione e si ferma quando viene rilevata la corrente massima. Inoltre il valore della corrente, il tempo di ogni campione corrente viene salvato per un ulteriore calcolo di commutazione. La base di tempo è dedotta dal Dual Timer Ch1 che è impostato come libero contatore.

La tensione del bus-DC è saggiata simultaneamente con la fase di corrente, poiché il 56F8006 è capace di convertire due campioni allo stesso tempo. La tensione del bus- DC è usata per compensare la tensione ripple del bus-DC quando si usa un piccolo condensatore di bus-DC.

I campioni di correnti sono valutati dall'algoritmo di rilevazione di massimo. Una volta rilevato il massimo, il periodo di commutazione reale e tempi di accensione/spegnimento sono ricavati dalle ultime e precedenti durate di massimo. I tempi di accensione/spegnimento calcolati sono pre-caricati sui registri di comparazione del Dual Timer Ch1. Gli eventi di comparazione offrono la commutazione di fase.

Nel caso di una condizione di sovracorrente, i segnali per l'invertitore 2-fasi sono disabilitati, e viene visualizzato lo stato di fault. L'algoritmo sensorless non lascia spazio alla ricerca della posizione di rotore dalla velocità zero. Perciò, per avviare il motore SR, devono essere risolti due problemi:

  • La posizione di rotore iniziale è ignota
  • I tempi di commutazione sono calcolati dal periodo effettivo che è zero all'inizio

Il primo problema può essere risolto molto facilmente dall’allineamento di rotore. Durante l’allineamento, una fase è eccitata per un certo tempo ed il rotore è tirato in una posizione di allineamento (vedi Figura 1). Il tempo di allineamento dipende dall’inerzia motoria che può essere anche di alcuni secondi per motori più grandi. Quando il rotore è allineato, il motore è pronto per lo start up. Il rotore inizia a muoversi quando la fase successiva viene eccitata. La costruzione del rotore asimmetrico assicura una corretta direzione di rotazione. Una volta che il rotore inizia a muoversi, la velocità del rotore è ignota, così la corrente massima non è sufficiente per il successivo calcolo di commutazione. Perciò, un algoritmo diverso è stato sviluppato per assicurare un corretto start up.

L'algoritmo start up consiste di due parti. La prima parte è la stessa di uno stato di lancio. L'algoritmo rivela il massimo della fase corrente. Se il rotore continua da una posizione di “touch” alla posizione allineata, la fase di corrente decade. Non appena il rotore passa nella posizione allineata, la corrente di fase comincia a circolare di nuovo (vedi Figura 5) ed è il tempo corretto per la commutazione. In altra maniera, se viene rilevato il massimo di corrente, l'algoritmo comincia a cercare la corrente minima. Una volta trovata la fase minima di corrente, si compie immediatamente la commutazione. Dopo che sono state eseguite dalle quattro alle otto commutazioni basate sull’algoritmo di start up, la velocità di rotore si stabilizza e si può calcolare il periodo di commutazione. Se il periodo di commutazione è conosciuto, l'algoritmo sensorless può essere destinato solamente alla rilevazione di corrente massima.

algoritmo di start-up
Figura 5. Algoritmo di Start up

Il vantaggio di questo algoritmo di start up risiede nei parametri di motore e l’autonomia di carica, così assicura uno start up affidabile in una vasta gamma di condizioni di avvio. Questo algoritmo fu brevettato da Freescale come Brevetto N.ro US6448736 B1.

Il software applicativo è scritto in linguaggio C eccetto che per il sensore corrente, calcolo della corrente massima ed eventi di commutazione di interruzione routine . Poiché queste routine sono tempo critico, sono scritti in assembler. Una piena descrizione di questa applicazione, incluse risorse software ed hardware può essere trovata sulle pagina web di Freescale come progetto di riferimento DRM100. Questo disegno di riferimento descrive soluzioni basate sull’MC56F8013 DSC. Per soluzioni basate sull’MC56F8006 DSC, per favore contatta un rappresentante di vendite di Freescale.

by Pavel Grasblum, Ph.D., Freescale Semiconductor, Inc.

RICHIESTA DI CONTATTO
Se desideri maggiori informazioni su questo prodotto Freescale, invia una richiesta ad Arrow utilizzando il seguente modulo.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend