Vai al contenuto
PLC Forum


Taratura PID per controllo a orientamento di campo di un PMSM.


e.s996

Messaggi consigliati

Salve a tutti, è la prima volta che scrivo su questo forum e volevo innanzi tutto ringraziarvi per gli innumerevoli consigli letti e che mi sono stati preziosi fino ad ora.

Sono uno studente del corso triennale di automazione prossimo alla laurea e l'argomento della mia tesi sarà proprio il controllo ad orientamento di campo per un motore sincrono a magneti permanenti. Dovrò simulare il tutto sfruttando simulink e una delle difficoltà in cui mi sono imbattuto in questi giorni è la taratura dei PID.

I dati di targa del motore da controllare, che mi ha passato il professore, sono i seguenti:

 

Motore trifase AC brushless isotropo a
magneti permanenti:
Pn =10 kW
fn=50 Hz
Vn = 400 V Y
In = 16.9 A
Parametri
Resistenza di statore: 0.97 ohm
Induttanza sincrona: 0.0174 H
Flusso dei magneti permanenti: 0.8921

 

Conosco la teoria alla base della taratura dei PID ma continuo a riscontrare difficoltà nel passaggio dalla teoria alla pratica.
Tutti i regolatori che sfrutto sono PI, quindi non considero l'azione derivativa. Tra i vari tentativi fatti ho provato anche  a variare i parametri durante la simulazione, partendo con il guadagno integrale nullo ho variato poco alla volta il guadagno proporzionale fino ad avvicinarmi quanto più possibile al riferimento da seguire per poi aumentare poco alla volta anche il guadagno Ki.

Nonostante tutti i tentativi fatti non sono però mai giunto ad una conclusione e per questo vorrei chiedere delucidazioni a qualcuno che ne sappia più di me.

I regolatori Pi implementati sono in totale 3. Uno presenta in ingresso l'errore di velocità e viene sfruttato per ricavare la corrente isq di riferimento che entrerà poi in un secondo regolatore per ricavare la tensione Vq. Il terzo regolatore invece viene implementato per far sì che la corrente isd sia nulla.

 

Vi ringrazio anticipatamente per l'attenzione e spero in una vostra risposta.

 

P.s: in allegato lascio lo screen dello schema simulink.
 

 

scrren motore 1.JPG

Link al commento
Condividi su altri siti


Velocemente.

Aumenta il guadagno P e stimola il sistema con un gradino di riferimento sino a quando inizia ad avere instabilità; riduci un poco il guadagno.

Idem con il tempo integrale. Riduci il tempo di integratore sino al sorgere di instabilità, poi lo aumenti di un po' 

 

Nella mia firma c'è il link alla sezione didattica; nella sottosezione elettrotecnica trovi un mio vecchio tutorial sulle regolazioni.

Gli argomenti sono tratati in forma eminentemente pratica, però trovi la descrizione del metodo dio ottimizzazione di un regolatore PID, metodo che ti ho esposto sopra, descritto un po' più dettagliatamente.

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

La ringrazio per la celere riposta.

Purtroppo continuando con le simulazioni comunque non sono riuscito ad ottenere i risultati sperati e non essendo a conoscenza della funzione di trasferimento del processo da controllare non saprei proprio come andare avanti. 
Ho seguito il suo suggerimento andando a forzare i regolatori con dei gradini di riferimento (come ampiezza dei gradini ho imposto i valori nominali ai quali dovrebbe lavorare il controllo in una situazione di regime). Variando lentamente i guadagni comunque non ho ottenuto buoni riscontri tant'è che mi è sorto il dubbio di non aver posizionato in maniera esatta i gradini. 

Allego un'immagine di una porzione di schema in cui si vede come ho collegato i blocchi step.
Grazie mille in anticipo per l'attenzione.
 

motore2.JPG

Modificato: da e.s996
Link al commento
Condividi su altri siti

O il guadagno totale di anello è estremamente basso, oppure c'è qualche errore.

Se vario il riferimento a gradino, con un passo pari al 10% (p.e.), in uscita mi devo ritrovare questa variazione con un certo ritardo e, se il guadagno è troppo elevato, con una serie di sovra e sotto elengazioni che si smorzano molto lentamente perchè lo xsi dell'anello è troppo piccolo. Riducendo il guadagno aumenta la velocità di smorzamento sino a quando si raggiunge l'optimum tra velocità di risposta e stabilità (xsi = 0.707).

 

Leggi il mio tutorial e prova a simulare, in solo P, l'esempio iniziale di un controllo di velocità elementare.

Link al commento
Condividi su altri siti

  • 2 weeks later...
Sandro Calligaro

Il controllo vettoriale che vuoi tarare è un po' troppo complesso per considerarlo tutto insieme, va spezzato per lo meno nelle sue parti: controllo di corrente (separatamente d e q, ma possono anche essere testati insieme) e controllo di velocità.

Anzi, l'idea del controllo vettoriale nasce proprio per separare i vari problemi.

 

Dunque, del tuo schema ci sono delle cose che non capisco. Prima tra tutte, la parte più a sinistra, che mostra dei generatori sinusoidali, senza etichette, oltre che il riferimento di velocità. Lo schema va fatto in modo che sia "leggibile". Normalmente (anzi, direi quasi obbligatoriamente) lo schema si deve poter leggere da sinistra a destra. Gli anelli devono apparire possibilmente come "annidati" (o "concentrici"), rispecchiando l'effettiva struttura del controllo.

Scusa se risulto pedante, ma prima di tutto devi fare chiarezza, ed un primo passo in questo senso è quello di disegnare uno schema ben fatto. Impostare bene un problema è il primo passo per risolverlo.

Se poi devi interagire con qualcun altro (anche il prof.), lo schema deve essere fatto "bene". Per avere un'idea della posizione dei vari blocchi, dai un'occhiata all'immagine qui sotto (qui c'è solo il controllo):

image.png.2970ebf94bbf21b903dfd8743722bbe7.png

Ad esempio, nota che i sommatori prima dei regolatori hanno sempre il riferimento sulla sx ed il feedback in basso. Inoltre, vanno ridotti al minimo gli ingombri ed etichettati tutti i segnali più significativi in modo ben visibile. Questo permette di capire al volo il senso dello schema.

 

Un'ultima cosa che dico sempre ai principianti con Simulink. Nello schema, possibilmente, non ci devono essere numeri, solo variabili, perché:

- alle variabili puoi dare un nome (il più possibile "auto-commentante");

- se usi uno script per caricare i dati di simulazione (più che un consiglio, è quasi un obbligo), puoi inserire un commento, che specifica il significato del parametro, magari riporta più valori commentati, ma soprattutto le unità di misura;

- se usi lo script, puoi rivedere facilmente i valori dei parametri, mentre se li devi cercare tra i blocchi di uno schema... a volte non li trovi.

 

In ogni caso, guardando bene il tuo schema riesco ad individuare i 3 regolatori.

Se vuoi procedere con una taratura "manuale", per tentativi ("trial-and-error", direbbero in inglese), bisogna scollegare l'anello di velocità ed imporre una variazione ai riferimenti di corrente (uno per volta, per evitare confusione). Tipicamente, imponi un gradino alla corrente Iq e tari i parametri del relativo regolatore, mentre il riferimento di Id è nullo. Poi lo stesso per la Id. In queste prove, il regolatore di velocità è scollegato dal resto (cioè la sua uscita non è il riferimento per Iq, che invece è imposto arbitrariamente a gradino.

Una volta tarati i due anelli di corrente (tempo di salita di qualche ms al massimo e poca sovra-elongazione), puoi collegare il regolatore di velocità e fare altrettanto.

 

Siccome però conosci la teoria, il mio consiglio è di fare anche (magari dopo la taratura manuale) una taratura analitica.
Facci sapere come va con il primo passo (sistemare lo schema e testare i regolatori di corrente, a parte), poi ne riparliamo. 😉

 

Modificato: da Sandro Calligaro
Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...