Per automatizzare macchine che richiedono solo due o tre assi di attuatori elettrici, le uscite a impulsi potrebbero essere la soluzione più semplice.
L'utilizzo di segnali a impulsi provenienti da un PLC è un metodo economico per ottenere movimenti semplici. La maggior parte dei produttori di PLC, se non tutti, offre la possibilità di controllare servomotori e motori passo-passo tramite un segnale a treno di impulsi. Pertanto, quando è necessario automatizzare una macchina semplice su due o tre assi con attuatori elettrici, le uscite a impulsi risultano molto più facili da configurare, cablare e programmare rispetto ai segnali analogici. Inoltre, possono risultare più economiche rispetto all'utilizzo di sistemi di controllo del movimento in rete come Ethernet/IP.
Analizziamo quindi il controllo di un motore passo-passo o di un servomotore tramite un driver o un amplificatore interposto tra il controller e il motore, concentrandoci sui segnali a impulsi provenienti dal controller o dall'indicizzatore.
Nozioni di base sul treno di impulsi
I motori passo-passo e i servomotori a controllo di impulsi possono ruotare in entrambe le direzioni. Ciò significa che un controller deve fornire, come minimo, due segnali di controllo all'azionamento. Esistono due modi per fornire questi segnali, e i diversi produttori li chiamano in modi diversi. Ci sono due modi comuni per riferirsi ai due schemi di segnale di controllo che si stanno utilizzando: "modalità 1P", detta anche "modalità passo/direzione", e "modalità 2P", detta anche "modalità CW/CCW" o modalità oraria/antioraria. Entrambe le modalità richiedono due segnali di controllo dal controller all'azionamento.
In modalità 1P, un segnale di controllo è un treno di impulsi o segnale "a gradino". L'altro segnale è un ingresso direzionale. Se l'ingresso direzionale è attivo e sull'ingresso a gradino è presente un segnale a impulsi, il motore ruota in senso orario. Viceversa, se il segnale direzionale è disattivato e sull'ingresso a gradino è presente un segnale a impulsi, il motore ruota nella direzione opposta, ovvero in senso antiorario. Il treno di impulsi è sempre presente sullo stesso ingresso, indipendentemente dalla direzione di rotazione desiderata.
In modalità 2P, entrambi i segnali sono un treno di impulsi. Solo un ingresso alla volta avrà una frequenza, quindi se è presente il treno di impulsi CW, il motore ruota in senso orario. Se è presente il treno di impulsi CCW, il motore ruota in senso antiorario. L'ingresso che riceve il treno di impulsi dipende dalla direzione desiderata.
Gli impulsi emessi dal controller fanno muovere il motore. Il motore ruota di un'unità incrementale per ogni impulso sull'ingresso di impulsi dell'azionamento. Ad esempio, se un motore passo-passo bifase ha 200 impulsi per giro (ppr), un impulso fa ruotare il motore di 1/200 di giro, ovvero di 1,8 gradi, e 200 impulsi faranno ruotare il motore di un giro completo.
Naturalmente, i diversi motori hanno risoluzioni diverse. I motori passo-passo possono essere micro-passi, generando migliaia di impulsi per giro. Inoltre, i servomotori hanno generalmente migliaia di impulsi per giro come risoluzione minima. Indipendentemente dalla risoluzione del motore, un impulso proveniente dal controller o dall'indicizzatore lo fa ruotare di una sola unità incrementale.
La velocità di rotazione di un motore dipende dalla frequenza, o velocità, degli impulsi. Più veloci sono gli impulsi, più velocemente gira il motore. Nell'esempio precedente, con un motore che ha 200 ppr, una frequenza di 200 impulsi al secondo (pps) farebbe ruotare il motore a una rotazione al secondo (rps) o 60 rotazioni al minuto (rpm). Maggiore è il numero di impulsi necessari per far compiere al motore una rotazione completa (ppr), più velocemente devono essere inviati gli impulsi per ottenere la stessa velocità. Ad esempio, un motore con 1.000 ppr avrebbe bisogno di una frequenza di impulsi molte volte superiore a quella di un motore con 200 ppr per raggiungere gli stessi rpm. Il calcolo è piuttosto semplice:
rps = pps/ppr (rotazioni al secondo = impulsi al secondo/impulsi per rotazione)
giri al minuto = giri al minuto (60)
Controllo degli impulsi
La maggior parte dei controllori dispone di un metodo per determinare se il motore deve ruotare in senso orario o antiorario e controlla i segnali di conseguenza. In altre parole, normalmente non è necessario che il programmatore decida quali uscite attivare. Ad esempio, molti PLC dispongono di funzioni per il controllo del movimento tramite un segnale a impulsi, e tale funzione controlla automaticamente le uscite per ottenere la corretta direzione di rotazione, indipendentemente dal fatto che il controllore sia configurato in modalità 1P o 2P.
Consideriamo due semplici movimenti come esempio. Entrambi i movimenti corrispondono a 1.000 impulsi. Uno è in direzione positiva, l'altro in direzione negativa. Il controllore attiva le uscite appropriate, sia che si utilizzi un controllore a 1 o 2 poli, per far ruotare il motore in direzione positiva (solitamente oraria) quando il numero di impulsi comandati è 1.000. D'altra parte, se un programma comanda -1.000 impulsi, il controllore attiva le uscite appropriate per far ruotare il motore in direzione negativa (solitamente antioraria). Pertanto, non è necessario che il programmatore controlli la direzione di rotazione del motore tramite codice nel programma per selezionare quali uscite utilizzare. Il controllore lo fa automaticamente.
I controller e i driver generalmente offrono agli utenti la possibilità di selezionare il tipo di impulso, tramite dip switch o impostazioni software. È importante assicurarsi che il controller e il driver siano configurati allo stesso modo. In caso contrario, il funzionamento potrebbe essere irregolare o non funzionare affatto.
Movimenti assoluti e incrementali
I due comandi di movimento più comuni nella programmazione del controllo del movimento sono i comandi di movimento incrementale e assoluto. Il concetto di movimento assoluto e incrementale confonde molti utenti, indipendentemente dal metodo di controllo del motore utilizzato. Tuttavia, queste informazioni sono valide sia che il motore sia controllato tramite impulsi, un segnale analogico o una rete come Ethernet/IP o EtherCAT.
Innanzitutto, se un motore è dotato di un encoder, i tipi di movimento che può eseguire non dipendono dal tipo di encoder. In secondo luogo, i movimenti assoluti e incrementali possono essere eseguiti sia in presenza di un encoder assoluto o incrementale, sia in assenza di encoder.
Quando si utilizza un motore per muovere un asse lineare, come ad esempio un attuatore a vite a ricircolo di sfere, esiste (ovviamente) una distanza finita tra le due estremità dell'attuatore. In altre parole, se il carrello si trova a un'estremità dell'attuatore, il motore può ruotare solo fino a quando il carrello non raggiunge l'estremità opposta. Questa è la lunghezza della corsa. Ad esempio, in un attuatore con una corsa di 200 mm, un'estremità dell'attuatore corrisponde normalmente alla posizione "zero" o di riposo.
Uno spostamento assoluto trasporta il carrello nella posizione comandata indipendentemente dalla sua posizione attuale. Ad esempio, se la posizione attuale è zero e lo spostamento comandato è a 100 mm, il controllore invia un numero sufficiente di impulsi per spostare l'attuatore in avanti fino al segno dei 100 mm e arrestarlo.
Ma se la posizione attuale dell'attuatore fosse di 150 mm, uno spostamento assoluto di 100 mm farebbe sì che il controllore inviasse impulsi in direzione negativa per spostare l'attuatore indietro di 50 mm e arrestarlo nella posizione di 100 mm.
Usi pratici
Il problema più comune nell'utilizzo del controllo a impulsi risiede nel cablaggio. Spesso i segnali vengono accidentalmente invertiti. In modalità 2P, ciò significa che l'uscita CCW è collegata all'ingresso CW e viceversa. In modalità 1P, significa che l'uscita del segnale a impulsi è collegata all'ingresso di direzione e l'uscita del segnale di direzione è collegata all'ingresso a impulsi.
In modalità 2P, questo errore di cablaggio fa sì che il motore giri in senso orario quando gli viene comandato di girare in senso antiorario e in senso antiorario quando gli viene comandato di girare in senso orario. In modalità 1P, il problema è più difficile da diagnosticare. Se i segnali sono invertiti, il controller invia un treno di impulsi all'ingresso di direzione, che non ha alcun effetto. Inoltre, invierebbe un cambio di direzione (attivando o disattivando il segnale a seconda della direzione) all'ingresso di passo, il che potrebbe causare la rotazione impulsiva del motore. Un singolo impulso di movimento è solitamente piuttosto difficile da notare.
L'utilizzo della modalità 2P semplifica la risoluzione dei problemi ed è generalmente più facile da comprendere per chi non ha molta esperienza con questo tipo di controllo del movimento.
Ecco un metodo per ridurre al minimo il tempo dedicato alla risoluzione dei problemi relativi agli assi di impulso e direzione. Permette agli ingegneri di concentrarsi su un aspetto alla volta. Questo dovrebbe evitare di passare giorni a cercare di capire quale errore di cablaggio impedisce il movimento, solo per scoprire che la funzione di uscita degli impulsi è configurata in modo errato nel PLC e che, di fatto, gli impulsi non sono mai stati emessi.
1. Determinare la modalità di impulso da utilizzare e utilizzare la stessa modalità per tutti gli assi.
2. Impostare il controller sulla modalità corretta.
3. Impostare l'unità sulla modalità corretta.
4. Crea il programma più semplice possibile nel tuo controller (di solito una funzione jog) in modo che il motore possa essere comandato a ruotare in una direzione o nell'altra a bassa velocità.
5. Impartire un comando di movimento CW e osservare gli stati del controller per verificare che gli impulsi siano in uscita.
– Potrebbero essere LED sulle uscite del controllore o indicatori di stato come il flag di occupato nel PLC. È anche possibile monitorare il contatore degli impulsi in uscita nel controllore per verificarne le variazioni di valore.
–Il motore non necessita di essere collegato agli impulsi di uscita.
6. Ripetere il test in senso antiorario.
7. Se l'emissione di impulsi in entrambe le direzioni ha successo, si può procedere. In caso contrario, è necessario prima risolvere il problema della programmazione.
8. Collegare il controller al driver.
9. Muovere il motore in una direzione. Se funziona, passare al punto 10. Se non funziona, controllare il cablaggio.
10. Aziona il motore nella direzione opposta. Se funziona, hai avuto successo. Se non funziona, controlla il cablaggio.
Molte ore sono state sprecate in questa prima fase perché la frequenza degli impulsi è talmente bassa da far girare il motore molto lentamente, ad esempio a 1/100 giri al secondo. Se l'unico modo per capire se il motore è in funzione è osservare l'albero, potrebbe non sembrare che si muova a bassa velocità, portando a credere che non stia emettendo impulsi. È meglio calcolare una velocità sicura in base alla risoluzione del motore e ai parametri dell'applicazione prima di impostare la velocità per il test. Alcuni credono di poter impostare una velocità utilizzabile semplicemente tirando a indovinare. Ma se il motore necessita di 10.000 impulsi per compiere un giro completo e la frequenza degli impulsi è impostata a 1.000 impulsi al secondo, il motore impiegherà 10 secondi per compiere un giro. Al contrario, se il motore necessita di 1.000 impulsi per compiere un giro completo e la frequenza degli impulsi è impostata a 1.000 impulsi al secondo, il motore compirà un giro al secondo, ovvero 60 giri al minuto. Questa velocità potrebbe essere troppo elevata per il test se il motore è collegato a un carico, come un attuatore a vite a ricircolo di sfere, con un'escursione limitata. È fondamentale monitorare gli indicatori che segnalano l'emissione di impulsi (LED o contatore di impulsi).
Calcoli per applicazioni pratiche
Spesso gli utenti si ritrovano con HMI che mostrano la distanza e la velocità della macchina in impulsi anziché in unità ingegneristiche come i millimetri. Spesso il programmatore ha fretta di far funzionare la macchina e non si prende il tempo di determinare le unità di misura della macchina e convertirle in unità ingegneristiche. Ecco alcuni suggerimenti per risolvere questo problema.
Se si conoscono la risoluzione di passo del motore (impulsi per giro) e lo spostamento effettuato per giro del motore (mm), la costante dell'impulso di comando viene calcolata come risoluzione/distanza per giro, oppure impulsi per giro/distanza per giro.
La costante può aiutare a determinare quanti impulsi sono necessari per percorrere una determinata distanza:
Posizione attuale (o distanza) = numero di impulsi/numero di impulsi di comando costante.
Per convertire le unità ingegneristiche in impulsi, è necessario innanzitutto determinare la costante che definisce il numero di impulsi necessari per un dato movimento. Supponiamo che nell'esempio precedente il motore richieda 500 impulsi per compiere un giro completo e che un giro completo corrisponda a 10 mm. Il calcolo della costante si effettua dividendo 500 (impulsi/giro) per 10 (mm/giro). Pertanto, la costante è pari a 500 impulsi/10 mm, ovvero 50 impulsi/mm.
Questa costante può quindi essere utilizzata per calcolare il numero di impulsi necessari per uno spostamento di una data distanza. Ad esempio, per spostarsi di 15 mm, 15 mm × 50 ppm = 750 impulsi.
Per convertire la lettura di un contatore di impulsi in unità ingegneristiche, è sufficiente dividere il valore del contatore per la costante dell'impulso di comando. Pertanto, se il contatore di impulsi segna 6.000, dividendo questo valore per la costante dell'impulso di comando calcolata nell'esempio precedente, la posizione dell'attuatore sarà pari a 6.000 impulsi/50 ppm = 120 mm.
Per comandare una velocità in mm e far sì che il controllore calcoli la frequenza corretta in Hz (impulsi al secondo), è necessario innanzitutto determinare la costante di velocità. Ciò si ottiene calcolando la costante degli impulsi di comando (come mostrato sopra), ma con le unità di misura invertite. In altre parole, se il motore eroga 500 impulsi al secondo e l'attuatore si muove di 10 mm per giro, allora, se vengono comandati 500 impulsi al secondo, l'attuatore si muoverà di 10 mm al secondo. Dividendo 500 impulsi al secondo per 10 mm al secondo si ottengono 50 impulsi al secondo per mm. Pertanto, moltiplicando la velocità target per 50 si ottiene la frequenza degli impulsi corretta.
Le formule sono le stesse, ma le unità di misura cambiano:
Costante di velocità in pps = impulsi per giro/distanza per giro
Frequenza degli impulsi (pps) = (costante di velocità) × velocità in mm
Utilizzare un sistema che si basa su segnali a treno di impulsi per controllare il movimento potrebbe sembrare inizialmente complesso; tuttavia, prestare attenzione ai tipi di segnale e alle impostazioni del controllore e degli azionamenti fin dall'inizio può ridurre i tempi di configurazione. Inoltre, dedicare del tempo a eseguire subito alcuni calcoli di base semplificherà la programmazione di velocità e distanze e consentirà agli operatori di visualizzare informazioni più intuitive sui loro pannelli HMI.
Data di pubblicazione: 8 febbraio 2021





