Grazie per il tuo interesse!
Registrati per scaricare il file oppure accedi con le tue credenziali.
Accedi

One or more fields have an error. Please check and try again.

Registrati

I have read the privacy policy and consent to the processing of personal data based on the provisions of EU Regulation 2016/679*

One or more fields have an error. Please check and try again.

Dual loop: tecniche avanzate di controllo del moto

L’obiettivo di un sistema meccanico preposto per ottenere un movimento controllato è quello di spostare o posizionare con precisione un carico. In un sistema ideale, il […]

L’obiettivo di un sistema meccanico preposto per ottenere un movimento controllato è quello di spostare o posizionare con precisione un carico. In un sistema ideale, il carico è rigidamente accoppiato e direttamente guidato da un motore lineare o rotativo. Esistono molte situazioni per le quali questo metodo di azionamento non è possibile e il movimento deve passare attraverso sistemi di trasmissione o conversione del moto. Alcune soluzioni tra le più impiegate sono:

  • Vite e chiocciola
  • Cinghia e pulegge
  • Pignone e cremagliera
  • Catena e ingranaggi
  • Attuatori lineari idraulici

Ognuno di questi sistemi di movimento presenta errori che influenzano l’accuratezza e la ripetibilità di posizionamento del carico. Questi errori possono essere introdotti per una serie di motivi tra cui: giochi meccanici, slittamenti, varianza del passo, attriti, disallineamento, usura, ecc. La maggior parte degli errori sono il risultato di tolleranze e conformità, entrambe inevitabili nei sistemi del mondo reale. Alcuni errori di posizione possono essere considerati costanti nel tempo, ad esempio il backlash ovvero il gioco. Altri sono invece variabili e dipendenti dalla posizione, dal tempo o dal carico come ad esempio quelli introdotti dalla variazione del passo, dall’usura o dagli attriti. Nel caso degli attuatori idraulici la posizione del carico è soggetta a fattori dinamici quali la variazione della pressione, della temperatura, della banda morta o isteresi.

Per i sistemi in anello chiuso, la soluzione più semplice per misurare la posizione del carico è quella di utilizzare l’encoder montato sul motore. Se abbiamo a che fare con sistemi costruiti con componenti molto accurati, strutturalmente rigidi e con bassa usura, allora il grado di precisione e ripetibilità che si ottiene in questo caso è molto elevato; tuttavia i componenti richiesti hanno un costo più elevato che si aggiunge al costo complessivo del sistema.

Il maggior costo per componenti di precisione non è sempre possibile o giustificabile e per la trasmissione è necessario scegliere componenti più economici. Se gli errori introdotti dalla meccanica sono superiori ai requisiti richiesti, è necessaria una configurazione di feedback diversa. Senza feedback sul carico, si può fare ben poco per compensare gli errori di posizione introdotti perché non c’è modo di misurare la posizione effettiva del carico.

Una configurazione alternativa è quella di mette un singolo encoder direttamente sul carico. La risoluzione della posizione del carico è una funzione diretta della risoluzione dell’encoder. Tuttavia, questa configurazione tende ad essere instabile perché non lineare e le risonanze del sistema diventano una possibile problematica da affrontare tramite le prestazioni del controllore di moto.

La soluzione per mantenere la stabilità del sistema e la compensazione degli errori della meccanica è quella di utilizzare una configurazione dual feedback o dual loop. In questo modo si combina l’azione stabilizzante dell’encoder accoppiato al motore con l’informazione aggiuntiva della posizione proveniente dall’encoder posto sul carico. Ciò si traduce nella possibilità di posizionare un carico in modo accurato, nonostante una trasmissione meccanica imperfetta.

Esistono due requisiti di base per un sistema che utilizza un dual loop. Il primo è un encoder posto sul carico con risoluzione almeno 2 volte la precisione di posizione richiesta per il sistema. Questa è una regola generale quando si decide l’encoder appropriato per un sistema. Il secondo requisito è che la risoluzione dell’encoder del motore dovrebbe essere almeno 2 volte la risoluzione dell’encoder del carico, prendendo in considerazione ogni riduzione tra carico e motore. Questo è necessario perché 1 conteggio di movimento dell’encoder motore deve produrre meno di 1 conteggio di movimento del carico. Se questa condizione non viene soddisfatta, 1 conteggio motore può comportare più di 1 conteggio del movimento del carico, provocando un’oscillazione sulla posizione desiderata.

Standard Dual Loop

I componenti primari di un circuito di controllo a doppio encoder possono essere visti in Figura 1 dove il filtro di controllo PID è suddiviso in due parti. L’anello interno è costituito dal guadagno derivativo (termine D) che riceve il feedback di velocità dall’encoder motore. Questo parametro è responsabile per avere stabilità nel sistema. Il feed forward di velocità (FV) viene utilizzato per compensare il ritardo di fase tra il ciclo interno ed esterno.

Figura 1 – Diagramma di blocco di un filtro PID dual loop standard.

Il loop esterno è composto da un guadagno proporzionale (termine P) e guadagno integrale (termine I) che chiude il loop di posizione tramite l’encoder posto sul carico. Questo è anche noto come filtro PI. Il termine P è responsabile della reattività del sistema mentre il termine I è usato per compensare l’errore di posizione stazionario del carico. La contropartita in un filtro di controllo a doppio loop è che la fase di tuning è più complessa di un filtro PID standard, inoltre deve essere impiegata una diversa metodologia di ottimizzazione per mettere a punto questo tipo di controllo.

Advanced Dual Loop

Un doppio loop standard correttamente stabilizzato tramite un opportuno tuning è in grado di compensare imperfezioni meccaniche e posizionare accuratamente un carico, ma non è sempre in grado di raggiungere i requisiti dinamici richiesti dal sistema. Per le applicazioni che richiedono una maggiore larghezza di banda passante è necessario un sistema di controllo più avanzato.

La differenza principale nel dual loop avanzato è l’aggiunta di un ulteriore termine P al ciclo interno. Questo ha il vantaggio di aggiungere reattività e rigidità al circuito interno. Da questa modifica deriva un aumento della risposta del sistema.

Figura 2 – Diagramma di blocco dual loop avanzato dei filtri di controllo esterni PI ed interni PD.

L’aumento della larghezza di banda in questo caso genera una ulteriore complessità nell’anello di controllo. Il doppio circuito avanzato può essere descritto con precisione come dotato di due filtri di controllo distinti, uno per ciascun encoder nel sistema. La difficoltà sta nell’ottimizzare entrambi i filtri per lavorare insieme per raggiungere i requisiti prestazionali del sistema.

Esempi di sistemi con diverse soluzioni con loop duali

Per le finalità di questo articolo è stato costruito un sistema di traslazione lineare impiegando una trasmissione non ideale. Il sistema è stato realizzato utilizzando un motore rotativo brushless accoppiato, tramite una trasmissione cinghia-puleggia, ad una vite a ricircolo di sfere. Il carrello scorre lungo due aste levigate con cuscinetti lineari. Il carico posizionato era accoppiato al carrello attraverso un supporto di plastica. Uno schema dell’apparato di prova può essere visto in Figura 3.

Ci sono varie imperfezioni meccaniche in questa trasmissione che contribuiscono ad incrementare l’errore di posizione. La cinghia è soggetta a giochi e allungamenti che possono causare risonanze. La vite a sfera avrà delle variazioni di gioco e imprecisioni del passo. Infine, l’errore di posizione del carico può essere introdotto mediante la flessione del componente in plastica che accoppia il carrello con vite a sfere al carico o dal disallineamento dei componenti che costituiscono il gruppo di azionamento. Verranno confrontate tre configurazioni:

  • Encoder solo sul motore
  • Standard Dual Loop
  • Advanced Dual Loop

Per ciascuna configurazione di controllo, il motore verrà regolato utilizzando i seguenti parametri:

  • Spostamento: 25,4 mm (1 pollice)
  • Accelerazione: 500 mm/s2
  • Decelerazione: 500 mm/s2
  • Velocità: 178 mm/s

La regolazione dei guadagni tenterà di raggiungere i seguenti obiettivi:

  • L’errore di posizione durante il movimento deve essere compresa tra +/- 30μm
  • Minimizzare il “settling time” per portare l’errore di posizione a movimento eseguito entro i +/-15μm.
Figura 3 – Schema di un sistema di test realizzato con un sistema di trasmissione non ideale.

Innanzitutto, è necessario calcolare la risoluzione teorica del carico. Ciò avviene partendo dalla risoluzione dell’encoder del motore e tenendo conto del rapporto di trasmissione della puleggia e del passo della vite. La risoluzione lineare teorica con un encoder motore con 4.000 conteggi per giro è:

Equazione 1 – Risoluzione teorica del carico

Ciò si traduce in una risoluzione di 1,25 μm. Il sistema richiede che il carico sia posizionato entro +/- 15 μm o +/- 12 conteggi encoder motore. Per misurare questo, la risoluzione minima per un encoder collegato al carico dovrebbe essere 7 μm (almeno metà della precisione richiesta) o 143 conteggi per mm. Ai fini del presente studio, per la regolazione e il posizionamento del carico è stato utilizzato un encoder con 250 conteggi per mm, mentre per la caratterizzazione del sistema è stato utilizzato un encoder con 1.000 conteggi per mm.

Bisognerà caratterizzare l’errore di posizione per vedere se i requisiti di sistema sono soddisfatti dalla configurazione corrente. Il gioco è stato misurato azionando il motore avanti e indietro fino a quando il movimento viene rilevato dall’encoder lineare fissato al carico. Questo valore include il gioco dalla cinghia in condizioni di carico ridotto e nella vite a ricircolo di sfere. La distanza totale che il motore deve spostare per assorbire il gioco è di 5 conteggi del feedback del motore e rientra nei requisiti di sistema per la precisione della posizionale.

Anche la variazione del passo o il disallineamento possono influire sulla precisione del posizionamento del carico. L’errore di posizione del carico è la differenza tra dove il carico dovrebbe essere se il sistema di trasporto fosse perfetto e la posizione reale letta direttamente dall’encoder sul carico. La posizione del carico è stata letta utilizzando un encoder con 1.000 conteggi per mm. I dati sono stati raccolti eseguendo l’intera lunghezza della vite a ricircolo di sfere in entrambe le direzioni e facendo una media. Il campionamento è stato eseguito senza carico e con una frequenza di 125 conteggi al secondo.

I risultati di questo test sono mostrati nella Figura 4. È evidente che l’avanzamento del motore lungo la vite a sfere può causare un errore che cambia costantemente. Al suo massimo, la posizione del carico si discosterà di 82 μm, che è oltre i requisiti iniziali stabiliti per questo sistema. La fonte di questi errori è dovuta a difetti di fabbricazione. Questo profilo di errore varia da sistema a sistema in quanto dipende interamente dalle tolleranze all’interno di ciascun componente.

Figura 4 – Errore di posizionamento del carico VS spostamento lungo il carico.

Infine, c’è l’errore introdotto dalla cinghia. Questo è stato misurato bloccando il carico e muovendo il motore in direzione positiva e negativa per misurare la cedevolezza della cinghia. Questa è stata misurata in circa +/- 550 conteggi encoder motore (688 μm). È chiaro che il più grande contributo che porta a errori di posizione sia nella trasmissione e che il sistema attuale non soddisfa i requisiti di precisione richiesti. Oltre all’errore di posizione, la cinghia aggiunge anche risonanza a una frequenza di circa 34 Hz. Una volta caratterizzato il sistema procediamo con l’analisi delle tre configurazioni di controllo possibili per stabilire quale delle tre da i migliori risultati.

La prima opzione è utilizzare l’encoder del motore per posizionare il carico. In questa configurazione, la posizione del carico presenterà errori introdotti dalla trasmissione senza possibilità di correzione. Dopo aver tarato il sistema, il carico è stato posizionato nel mezzo della corsa e il profilo di movimento è stato tracciato (mostrato in Figura 5). La fine del movimento è contrassegnata da una linea verticale a 472 ms come riferimento.

L’errore teorico di posizione del carico, dato che si impiegherà solo l’encoder motore, è mostrato in rosso sul grafico inferiore e si trova sempre entro la banda di errore accettabile e converge rapidamente a zero quando lo spostamento è terminato. L’errore effettivo di posizionamento, misurato dall’encoder sul carico (mostrato in verde sul grafico di fondo) presenta un errore stazionario di -137 μm all’inizio del movimento. Il carico oscilla durante lo spostamento e infine si ferma con un errore stazionario di -110 μm, al di fuori della banda di errore accettabile. Sulla base di questi risultati, il motore è stabile ma il sistema non è in grado di posizionare il carico alla precisione richiesta.

Figura 5 – Profilo di moto ed errore del sistema con singolo encoder sul motore.

Come seconda configurazione è stato impiegato lo “Standard dual loop” nel tentativo di aumentare la precisione e la ripetibilità del sistema. L’errore durante lo spostamento non supera i 55μm, mostrato in Figura 6. Questa configurazione di controllo controlla la posizione utilizzando l’encoder sul carico. Per questo motivo, l’errore dell’encoder motore viene omesso dal grafico e l’analisi si concentra sull’errore di posizione del carico. L’errore si stabilizza nella finestra richiesta (+/-15 μm) entro 112 ms dalla fine del movimento. Possiamo quindi concludere che aggiungendo un encoder sul carico e utilizzando lo “Standard dual loop”, il sistema è stato in grado di convergere sempre ad un errore stazionario di 0 conteggi e con una finestra di errore molto più piccola. Nonostante questo miglioramento rispetto alla configurazione con solo l’encoder motore, l’errore d’inseguimento durante il movimento non è ancora accettabile essendo superiore ai +/- 30 μm richiesti; occorrerà quindi implementare ulteriori miglioramenti.

Figura 6 – Profilo di moto ed errore del sistema con il dual loop standard.

Come ultima configurazione è stato impiegato l’”Advanced dual loop”. Dopo la taratura è stato eseguito il movimento di caratterizzazione ed è stato registrato il profilo di moto. L’utilizzo dell’”Advanced dual loop” è stato in grado di ridurre l’errore massimo durante lo spostamento al di sotto di 30 μm, come mostrato in Figura 7. Per quanto riguarda l’errore di posizione a movimento avvenuto si è ottenuto che dopo 108 ms dalla fine del movimento lo stesso fosse all’interno di un conteggio encoder (1,25 μm). Anche gli effetti delle risonanze sono stati ridotti ad un livello accettabile.

Figura 7 – Risultati ottenuti con tuning del sistema con dual loop avanzato.

L’asse su cui si sono effettuati i test presentava un gioco complessivo di 6 μm, una deviazione massima di 82 μm, dovuta alla variazione del passo vite e ai disallineamenti, e una cedevolezza di 688 μm dovuta all’elasticità della cinghia. Il sistema richiedeva che la precisione della posizione finale fosse inferiore a 15 μm e che l’errore di posizione fosse entro +/- 30 μm per la durata dello spostamento. L’impiego dell’”Advanced dual loop” è stato in grado di spostare con successo il carico con meno di 30 μm di errore durante il movimento e di stabilizzarsi a 1,25 μm di errore entro 108 ms dalla fine dello stesso. Con questa configurazione, è possibile soddisfare i requisiti di sistema per precisione e ripetibilità.

Riassumendo

L’utilizzo di una trasmissione meccanica per effettuare un posizionamento può comportare errori di posizione del carico e talvolta può aggiungere instabilità o risonanze al sistema. Sistemi di trasmissione che non dovessero soddisfare i requisiti di precisione possono trarre beneficio dall’aggiunta di un feedback di posizione sul carico e dall’utilizzo del semplice controllo “Standard dual loop”. Questa è una funzione disponibile standard su tutti i controllori Galil della generazione corrente ed è applicabile con encoder incrementali in quadratura, SSI o BiSS. I sistemi che invece richiedono un ulteriore aumento della banda passante possono trarre vantaggio dall’utilizzo dell’”Advanced dual loop”. Questa modalità di compensazione avanzata è disponibile tramite un firmware speciale. Contattare un Application Engineer di Servotecnica per domande relative ai metodi di compensazione dual loop o per discutere come affrontare al meglio i requisiti della Vostra applicazione.