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.