Controlli a loop chiusa per motori stepper

Venerdì, 23 Giugno 2017

www.galilmc.com

Controlli a loop chiusa per motori stepper
I motori passo-passo (o motori stepper) sono impiegati in applicazioni industriali ad ampio raggio. Sono poco costosi, semplici da utilizzare e offrono una coppia elevata a basse velocità. Tuttavia, questa tipologia di motorizzazione, presenta alcuni inconvenienti che devono essere considerati in fase di progettazione; possono perdere il passo se la coppia richiesta è maggiore di quella disponibile, la coppia cala drasticamente all’aumentare della velocità, hanno alte frequenze di risonanza e un elevato consumo energetico anche con il solo motore fermo. Galil ha tre metodi di pilotaggio a loop chiusa per minimizzare questi inconvenienti. Correzione sul punto finale del posizionamento, controllo microstepping a loop chiusa, pilotaggio del motore come un brushless a 2 fasi.

Come è fatto un motore passo passo
Motore Stepper o Passo Passo
Fonte:http://www.vincenzov.net/tutorial/passopasso/stepper.htm 


Le basi di un motore passo passo

Lo statore è un insieme di avvolgimenti ed il circuito magnetico è costituito da 4 o, più frequentemente, 8 "espansioni polari" (otto in quello mostrato fotografia). All'interno dello statore sono presenti piccoli denti che si affacciano a quelli del rotore. Gli avvolgimenti quando sono percorsi da corrente generano un campo magnetico.

All'esterno arrivano i fili di alimentazioni dei vari avvolgimenti dello statore; le fasi possono essere avvolte secondo due schemi: nei motori bipolari ci sono 2 soli avvolgimenti e escono 2 coppie di fili; nei motori unipolari ci sono 4 avvolgimenti avvolti a coppie in antiparallelo sulle espansioni polari.

Il rotore appare come una coppia di ruote dentate massicce e identiche tra loro, affiancate e solidali all'albero costituite da un nucleo magnetico; le due ruote sono magnetizzate, una come NORD, l'altra come SUD; i "denti" delle ruote sono in materiale ferromagnetico. Il numero di denti è variabile, 50 è il più frequente. Tra le due ruote è presente uno sfasamento esattamente pari ad 1/2 del passo dei denti: il dente di una delle due sezione corrisponde quindi alla valle dell'altra. Per far ruotare l’albero gli avvolgimenti vengono eccitati in una sequenza specifica. La Figura 2 mostra una semplificazione di questo processo in un motore bifase. Ogni sequenza corrisponde alla rotazione di uno step del rotore. Tipicamente ci sono 200 step per giro. Dal controllo escono 2 segnali, quello denominato Step che è un segnale ad onda quadra ad ogni impulso corrisponde uno spostamento di uno step fisico del motore; il secondo segnale è la Direzione che viene imposta dallo stato alto/basso del segnale.

Controllo loop chiusa per motori stepper - Galil
Fig. 2 - Sample full-step current and rotor position

I motori passo passo non sono immuni da difetti. Il primo è che il motore opera con la massima corrente in ogni condizione, portando a sprecare energia e aumentandone la temperatura di funzionamento. Il secondo difetto è l’introduzione di vibrazioni causate quando il rotore si sposta da uno step al successivo. Quando la frequenza di cambiamento tra step successivi equivale alla frequenza di risonanza del motore, l’ampiezza delle vibrazioni aumenta portando alla perdita della posizione.
Una condizione comune a tutti i motori è la drastica diminuzione della coppia all’aumento della velocità. È molto comune sbagliare la scelta del motore se non viene considerata questa caratteristica in fase di progettazione. Come ultimo inconveniente, nell’impiego dei motori passo passo, è la bassa risoluzione derivante dal numero di step per giro. Qualora si rendesse necessaria una maggiore risoluzione l’impiego della tecnologia microstepping può essere una valida soluzione.

Controllo loop chiusa per motori stepper - Galil
Fig. 3 - 24VDC Stepper MotorSpeed-Torque Curve


Microstepping

Il pilotaggio dei motori passo passo in microstepping è un metodo per suddividere il passo intero in incrementi più piccoli. Partendo da un microinterpolazione di 2 si può arrivare a 256 microinterpolazioni per passo intero, il che significa che un motore da 200 passi giro può avere una risoluzione sino a 51200 microstepping per giro. Nella Figura 4 si vede il dettaglio della forma d’onda della corrente per un singolo step incrementando il numero di microinterpolazioni.
Controllo loop chiusa per motori stepper - Galil
Fig. 4 - Current Waveform during Microstepping

L’accuratezza raggiungibile con questa tecnica di controllo dipende in gran parte dalla forza esterna applicata. L’accuratezza raggiungibile è di un passo intero, qualora l’errore di posizione fosse maggiore di mezzo passo intero si determinerebbe lo stallo del motore. Se l’attrito, la gravità o qualsiasi altra forza sono abbastanza grandi da impedire il movimento tra due microstepping si incorre in un errore di posizione. La Figura 5 mostra un posizionamento punto a punto in un sistema comandato da un motore stepper con encoder. La linea rossa è la posizione teorica, la linea viola rappresenta il comando verso il motore e la linea blu è la posizione misurata tramite l’encoder. La linea nera indica quando il controllo attiva il profilo di moto. A causa degli attriti la posizione finale del motore non equivale a quella comandata, causando uno stato di errore stazionario.

Controllo loop chiusa per motori stepper - Galil
Fig. 5 - Microstepping


Correzione sul punto finale

Impiegando un encoder come feedback è possibile riconoscere questa situazione di errore di posizione; la posizione finale può essere corretta imponendo un comando addizionale tale da portare la posizione reale a equivalere a quella voluta. Galil chiama questo modo di pilotaggio Stepper Position Maintenance o SPM. Il motore viene sempre pilotato in microstepping ma l’accuratezza del punto finale può essere verificata e aggiustata. Si compara infatti la posizione comandata con la posizione reale prima che il posizionamento sia finito. La Figura 6 mostra lo stesso sistema come in Figura 5 ma con pilotaggio SPM. Alla fine del movimento viene riconosciuto l’errore di posizione e viene inviato un comando di correzione in modo tale da portare il motore nella posizione voluta.

Controllo loop chiusa per motori stepper - Galil
Fig. 6 - Stepper position maintenance mode

Aggiungendo l’encoder il controllo può riconoscere e correggere l’errore presente nel sistema. Lo stesso movimento, che prima risultava in uno stato di errore di posizione stabile dovuto agli attriti presenti, può essere ora corretto.

Pilotaggio microstepping a loop chiusa

Il controllo tramite Stepper Position Maintenance mode è ideale per sistemi che richiedono precisione di posizionamento solo sul punto finale. Quando è necessaria una continua correzione dell’errore di posizione, Galil suggerisce l’impiego del sistema denominato Closed Loop Microstepping o CLS. La Figura 7 mostra un posizionamento in CLS mode. Oltre alla posizione comandata e alla posizione reale dell’encoder, un segnale di errore di posizione viene generato internamente al controllo, linea verde, e impiegato per controllare continuamente la posizione comandata. E’ importante sottolineare che con CLS mode la posizione viene monitorata dall’encoder ma il comando del motore viene generato dal controllo.

Controllo loop chiusa per motori stepper - Galil
Fig. 7 - Closed loop microstepping

Il segnale di errore viene analizzato dal filtro interno di Galil che compensa ogni errore di posizione modulando gli step di comando verso il drive. Closed Loop Microstepping è un sistema reale a loop chiusa ed è un’ ottima soluzione per comandare un motore passo passo in modo tradizionale. La chiusura del loop di posizione implica il rischio di avere delle instabilità se i guadagni del filtro interno non vengono opportunamente tarati. Resta comunque il fatto che si tratta di un sistema inefficiente dal punto di vista energetico e presenta una bassa banda passante comparato ad un classico sistema con motori servo. Si deve considerare che la banda passante può essere ulteriormente abbassata   qualora si impieghino driver di terze parti con caratteristiche non lineari.

Pilotaggio motore stepper come un motore brushless bifase

Per raggiungere il massimo delle prestazioni il motore stepper può essere controllato come un servo motore brushless bifase. La corrente al motore viene controllata in funzione dell’errore di posizione esattamente come con un motore servo. Il sistema di controllo che impiega Galil viene definito come 2 Phase Brushless mode o 2PB. In Figura 8 il dettaglio di un motore stepper comandato in questo modo. Anziché gli step, un comando analogico in torque mode (linea marrone) viene generato dal controllo, e inviato a uno degli azionamenti che possono essere integrati nel controllo.

Controllo loop chiusa per motori stepper - Galil
Fig. 8 - 2-Phase brushless mode

Comandando un motore stepper in questo modo si aumenta la banda passante riducendo il tempo di posizionamento. Il motore diventa analogo ad un servo motore con riduttore. Grazie al comportamento come servo, il range completo del filtro Galil può essere impiegato, compreso il filtro di notch, pole e feedforward. Per ottenere il massimo delle prestazioni il drive deve essere più sofisticato per poter generare istantaneamente la corrente necessaria al pilotaggio. Dal punto di vista energetico si ottiene una maggior efficienza e il motore genererà meno calore.



italia

Soluzioni per il Motion Control

Lunedì, 29 Maggio 2017

Soluzioni per il Motion Control

Sfogliando il catalogo Servotecnica si possono trovare soluzioni per il Motion Control tra le più disparate, controllori analogici, con protocollo Ethernet e infine soluzioni EtherCAT.  La scelta di quale strada intraprendere a volte diventa difficoltosa vista la sovrapposizione esistente tra le varie soluzioni. Vogliamo con questa presentazione fornire delle basi indicative di come poter scegliere senza la pretesa di aver individuato tutte le soluzioni possibili.

Partendo dalla consapevolezza che ormai i sistemi sono sempre più complessi e che hanno l’esigenza di scambiare informazioni sia tra elementi della stessa macchina sia tra componenti dislocati a volte lontano tra loro, una prima demarcazione va data tra controllori con protocollo Ethernet e altri con protocollo EtherCAT.


Comunicazione Ethernet

Lo scopo principale della comunicazione Ethernet è l’integrità dei dati e la quantità di dati trasmessa nell’unità di tempo ovvero “throughput”. I dati sono trasmessi in oggetti definiti pacchetti. Ogni pacchetto di dati contiene dei campi quali l’indirizzo della sorgente, l’indirizzo del destinatario, le informazioni oggetto di scambio ovvero “payload data” o “Ethernet Data” etc. I dati contenuti nel “Ethernet Data”, vedi Fig. 1, possono essere di dimensioni diverse a seconda del tipo di protocollo. Potendo raggiungere i 100 Mbit/sec come velocità di trasmissione si potrebbe definire che una rete Ethernet rappresenti una comunicazione praticamente istantanea.

Il termine “praticamente” è da impiegare in quanto nella comunicazione Ethernet, essendo tutti i componenti sia ricevitori che trasmettitori, possono provocare un sovraccarico di dati che può causare dei ritardi intermittenti e non prevedibili qualora dei pacchetti vengano persi o a causa di possibili collisioni. Questi eventi possono essere minimizzati ma non completamente eliminati. Qualora dovessero succedere, il ritardo di comunicazione, supererebbe il millisecondo e questo per una motion controller non è accettabile. Per questo motivo la comunicazione Ethernet viene definita come non deterministica in quanto non garantisce che le informazioni possano arrivare a destinazione in un tempo definito e costante.



Controlli analogici

Un diagramma a blocchi di un sistema che usa un PC e una motion controller è rappresentato in Fig. 2.  Si nota che la comunicazione Ethernet è ristretta tra host e motion controller mentre tra questa e i drivers avviene impiegando lo standard analogico +/- 10 VDC. Il profilo di moto in tempo reale, gli Ingressi uscite, il filtro PID sono nel controllo assi. Dato che i comandi di I/O, il segnale analogico sono trasmessi tramite connessioni elettriche in rame il ritardo tra invio e ricezione del comando è praticamente nullo. La comunicazione non real time è solo tra Pc e motion controller.




Possiamo quindi asserire che una motion controller analogica abbia intrinsecamente una soluzione deterministica.


Comunicazione EtherCAT

In una soluzione EtherCAT la comunicazione tra Host PC e Master EtherCAT non è critica. Il profilo di moto e i comandi di I/O sono generati dal Master EtherCAT come schema a blocchi in Fig. 3. Rispetto alla soluzione precedente il comando di movimento tra Controllo assi e Drivers invece di avvenire tramite segnale analogico avviene tramite 32 bit per la posizione comandata o 16 bit per comando di corrente.




I dati sono trasmessi in un pacchetto con struttura simile a quella impiegata nella comunicazione Ethernet vedi Fig. 4., altrettanto i segnali encoder e degli I/O tornano al Master EtherCAT. Questo avviene in un intervallo di tempo regolare conosciuto come EtherCAT Cycle Time, generalmente 1 msec ma può scendere sino a 0,1 millisecondi.


  

Se EtherCAT impiega la stessa struttura di pacchetti come Ethernet e la stessa connessione elettrica come sopperire ai potenziali problemi dovuti all’incertezza della comunicazione? La differenza sta nell’alto grado in cui la comunicazione EhterCAT è coordinata e strutturata, inoltre due trasmettitori EtherCAT non possono esistere nella stessa rete; tutto questo elimina la possibilità di avere collisioni durante la trasmissione. Ogni elemento è equipaggiato con un ASIC che permette a ciascuno di prendere direttamente le informazioni dal pacchetto EtherCAT mappandolo in memoria e rinviando le proprie informazioni nello stesso pacchetto; questo dato è usato o nel profilo di moto o nell’ aggiornamento del registro di posizione a seconda del modo operativo. E’ questo modo diretto di ricevere e inviare i dati che minimizza il ritardo esaltando nei sistemi EtherCAT la capacità di processare informazioni ad una velocità senza uguali anche rispetto a sistemi analogici.
Tutti questi vantaggi comportano un costo. Il network deve essere settato via software prima di essere impiegato. Ogni EtherCAT Slave deve essere configurato perché possa prendersi carico di un solo settore di bytes all’interno del pacchetto. Il network EtherCAT deve essere chiuso rendendolo incompatibile con lo standard Ethernet se impiega switches o hubs. Per ultimo l’impiego di un ASIC anche per i segnali di I/O o analogici nonché i servo azionamenti comportano un incremento di costo rispetto a motion controller analogici. E’ anche vero che il numero di assi EtherCAT è in continuo aumento quindi nel prossimo futuro il gap di costo andrà sempre più riducendosi.


Controlli centralizzati o distribuiti

Un sistema con controllo centralizzato consiste essenzialmente in una motion controller che si occupa di coordinare il moto degli assi, gestire degli I/O, comunicare verso un host PC o una HMI. Un esempio tipico è una macchina CNC, rappresentata a blocchi nella Fig. 5. Ci sono almeno 4 assi, numerosi I/O come limit switches, tastatori, può coesistere un PLC per gestire I/O addizionali. Tutte le informazioni in ingresso e i comandi in uscita vengono processati da un singolo controllo che coordina le azioni in pochi millisecondi.   In questo sistema un clock assicura che i feedback dai motori e i comandi verso i driver vengano processati in tempo reale quindi con certezza del tempo di campionamento in modo deterministico.




Un tipico esempio di controllo centralizzato lo troviamo nella figura sottostante, si tratta dei controllori Galil serie DMC-40x0 da 4 e da 8 assi, nello stesso involucro sono alloggiati sino a 8 driver adatti per pilotare motori fino a 1,2 Kw brushless, brush o stepper aumentando la velocità di esecuzione, evitare interferenze elettriche, e per contenere i costi. Nella soluzione senza driver integrati si potranno impiegare qualsiasi driver; la soluzione che propone Servotecnica sono azionamenti Mecapion alimentati direttamente da rete dalle dimensioni contenute come anche per i costi oppure verso la famiglia di drivers Ingenia.

 
 

Una seconda opportunità viene dall’impiego di controllori LSIS e dai rispettivi drivers. Il controllore si interfaccia verso HMI tramite protocolli ad alto livello ma potrebbe essere una interfaccia con protocollo Ethernet mentre invia i comandi di moto tramite protocollo EtherCAT.

 

 

Similmente a questa soluzione è ora disponibile il primo controllore EtherCAT GALIL che può gestire sino a 32 Slave oltre a 2 moduli IO EtherCAT

 

L’abbinamento verso i driver che proponiamo sono sempre driver Mecapion con alimentazione da rete o driver Ingenia .

Quando il sistema si sviluppa con una certa lunghezza o con un numero elevato di assi la soluzione decentralizzata è da considerarsi la migliore. Permette una forte riduzione dei tempi di cablaggio, diminuzione drastica di introdurre tramite cavi elettrici disturbi elettromagnetici; anche in vista di una ottimizzazione della manutenzione sono certamente preferibili rispetto ai sistemi centralizzati.
Nella figura sottostante i controllori di moto e i PLC si scambiano informazioni attraverso un bus di campo, tipicamente Ethernet. I controlli deterministici come IO e il moto sono gestiti localmente. Ogni nodo è composto da un master che invia i comandi e monitora lo stato dei vari componenti elettronici. Il beneficio è che ogni controllo viene impiegato per una funzione specifica migliorando notevolmente i tempi di elaborazione assegnando risorse specifiche per elaborare processi che devono prevedere una priorità di esecuzione rispetto ad altri.

 
 
 
 
 

Determinismo

Impiegare un hardware con un clock e interrupt definito, piuttosto che una sincronizzazione tramite cycle time EtherCAT, ci troviamo in entrambi i casi ad operare con soluzioni  deterministiche. Spesso si assume che essendo EtherCAT  un protocollo deterministico debba essere usato in esclusiva quando queste funzioni siano richieste. Per chiarire in entrambi i casi sia che si impieghi un controllo analogico che un Master EtherCAT si ottengono i medesi risultati. Per ogni sistema la decisione tra motion control centralizzata o distribuita dipende da come l’impianto si sviluppa, dove attuatori e motori sono dislocati e la distanza tra controller e questi elementi sia da coprire con cavi per raggiungere i vari componenti.

italia
<<  1 2 3 [4
pronto a saperne di più?
Lingua: IT - EN