Il loop di corrente di un controller: regolatori PI, guadagni e larghezza di banda
Quando accelerate, non comandate una tensione, bensì una coppia, e quindi una corrente. Il controller deve fare in modo che la corrente effettiva nel motore segua questo setpoint, nonostante la velocità che cambia, la batteria che si scarica e il motore che si scalda. Questo compito è affidato a un loop di corrente, strutturato attorno a regolatori denominati PI. La loro regolazione fa la differenza tra un motore fluido e preciso e un motore che fischia, vibra o reagisce in modo fiacco.
L'essenziale
- Un regolatore confronta la corrente misurata con il setpoint e regola la tensione applicata per correggere lo scostamento.
- Il termine proporzionale reagisce immediatamente allo scostamento; il termine integrale azzera lo scostamento che persiste.
- I guadagni corretti si calcolano a partire dalla resistenza e dall'induttanza del motore.
- Un loop troppo rapido diventa instabile e rumoroso; troppo lento, rende il motore fiacco e poco preciso.
Il ruolo del loop di corrente
Nel controllo vettoriale, vengono regolate due correnti: la corrente q, che produce la coppia, e la corrente d, mantenuta a zero o utilizzata per il deflussaggio. Ciascun asse ha il proprio regolatore. Ad ogni periodo di commutazione, ricevono lo scostamento tra setpoint e misura, e calcolano la tensione da applicare.
P come proporzionale
Il termine proporzionale applica una correzione proporzionale allo scostamento: scostamento grande, correzione grande. Reagisce immediatamente. Da solo, tuttavia, lascia un piccolo scostamento permanente, poiché è necessario uno scostamento affinché agisca. E se il suo guadagno è troppo elevato, sovraccorreggono: la corrente oscilla attorno al setpoint.
I come integrale
Il termine integrale somma lo scostamento nel corso del tempo. Finché persiste uno scostamento, anche piccolo, la sua correzione aumenta fino ad azzerarlo. È questo che compensa, ad esempio, la tensione prodotta dal motore mentre gira, che aumenta con la velocità. Se è troppo alto, provoca overshoot e oscillazioni lente.
Calcolare i guadagni a partire dal motore
Per il loop di corrente, l'avvolgimento di un motore si comporta come una resistenza in serie con un'induttanza. Ciò consente una regolazione metodica:
- si sceglie la velocità desiderata del loop, ovvero la sua larghezza di banda;
- il guadagno proporzionale è pari all'induttanza moltiplicata per questa larghezza di banda;
- il guadagno integrale è pari alla resistenza moltiplicata per questa stessa larghezza di banda.
Con questa scelta, il regolatore compensa esattamente il comportamento dell'avvolgimento e la corrente segue il setpoint con la velocità scelta, senza overshoot. Per questo motivo la rilevamento del motore misura resistenza e induttanza: i guadagni ne derivano di conseguenza.
Fino a che punto spingersi con la velocità
Si vorrebbe un loop quanto più rapido possibile. Tuttavia, esso è limitato dalla frequenza con cui il controller misura e corregge, ovvero la frequenza di commutazione, e dai ritardi di misura e calcolo. In pratica, si mantiene la larghezza di banda del loop nettamente al di sotto della frequenza di commutazione. Oltre tale soglia, il loop diventa instabile: il motore fischia, la corrente oscilla e il controller può attivare la protezione da sovracorrente.
Quando la tensione manca: la saturazione
Ad alta velocità, il regolatore può richiedere più tensione di quella che la batteria è in grado di fornire. La tensione applicata raggiunge il limite massimo, la corrente non segue più e il termine integrale continua ad accumulare lo scostamento. Quando la situazione si sblocca, questo accumulo provoca un contraccolpo. I controller affidabili limitano quindi l'accumulo durante la saturazione: si tratta dell'anti-windup dell'integratore. È inoltre in questa zona che si ricorre al deflussaggio.
I loop attorno al loop di corrente
Il loop di corrente è il più rapido e il più interno. Altri loop, più lenti, possono basarsi su di esso:
- un loop di velocità, che fissa il setpoint di corrente per mantenere una velocità (regolatore di velocità, limitazione);
- un loop di posizione, per robot e attuatori;
- limitatori, che riducono il setpoint in base alla temperatura o alla tensione della batteria.
Su un monopattino, l'acceleratore comanda in genere direttamente il setpoint di corrente: è ciò che conferisce una sensazione di coppia decisa e dosabile.
Domande frequenti
Perché il mio motore fischia forte dopo una regolazione manuale?
Probabilmente il loop di corrente è troppo rapido o i guadagni non corrispondono al motore. La corrente oscilla ad alta frequenza e fa vibrare gli avvolgimenti. Ripristinare i guadagni calcolati dalla rilevazione di solito risolve il problema.
Bisogna regolare i guadagni a mano?
Raramente. Calcolati a partire dalla resistenza e dall'induttanza misurate, vanno bene nella grande maggioranza dei casi. Si modificano solo per un'esigenza specifica, disponendo degli strumenti per osservare la corrente.
Cosa succede se i parametri del motore sono errati?
I guadagni vengono calcolati male: il loop diventa fiacco oppure instabile. Questo è uno dei motivi per cui si ripete la rilevazione dopo la sostituzione di un motore o dei cavi di fase.