Home Sommario Contatto

Progettazioni Hardware e Software per la Microelettronica

 

Domande frequenti

  1. Cosa è un controller per motori passo passo?
  2. Cosa è necessario oltre al controller?
  3. Quale software usare con il controller?
  4. Dove trovare informazioni sul linguaggio della scheda?
  5. Il controller interpreta il formato ISO G-CODES?
  6. Il controller ha l'anello chiuso?
  7. Quale risoluzione posso ottenere con un sistema a motori passo passo?

  8. Come si imposta l’accelerazione?

  9. Che velocità possono raggiungere i motori passo passo?

  10. Come dimensionare i motori passo passo?

  11. Quali sono i g-codes supportati da DeskCNC?

  12. Come impostare il postprocessore di DeskCNC?

  13. Come usare il cambio utensile in DeskCNC?

  14. Come impostare i comandi HOME in DeskCNC?

  15. Come bisogna collegare i pulsanti di Home e Fine-corsa?

  16. Come collegare gli azionamenti al controller DeskCNC?

  17. Perché i motori perdono il passo?

  18. Esiste un documento con maggiori informazioni sul g-code?

Cosa è un controller per motori passo passo?

Controller per motori passo passo. Il termine inglese motion control è quello più in uso per dispositivi di questo genere. Motion control (o motion controller) è un sistema in grado di comandare il moto di motori (passo passo ,brushless, servomotori ) al fine di spostare una meccanica (assi in macchine cnc) ad una posizione determinata. Da non confondere con azionamento per motori passo passo o Driver che sono la parte di potenza di un sistema di posizionamento.

I controlli per motori passo passo possono dividersi in 2 fasce principali:

Controller Software.
Controller Hardware.

    I primi sono quei sistemi basati su PC che attuano i comandi per i motori attraverso la porta parallela. Questi sistemi sono costituiti da un software che legge, interpreta visualizza e gestisce file vettoriali e generano una sequenza di passi per diversi assi (fino a 4) sulla periferica di stampa standard.
Il vantaggio principale di questi sistemi è il costo: questo è determinato dalla sola progettazione software e non comprende nessun dispositivo elettronico aggiuntivo. Il sistema è completato dagli azionamenti per i motori che possono essere passo passo o brushless.
Lo svantaggio principale è quello che i software realizzati in ambiente Windows presentano il problema della scarsa continuità delle frequenze sulla porta parallela e quindi sui motori. Windows infatti è un sistema multitasking e tutte le applicazioni attive subiscono ritardi ed interruzioni a volte superiori ai 100 ms. questo pilotaggio non è accettabile per un motore passo passo e le perdite di passi sono inevitabili. I software che lavorano in ambiente DOS sono migliori perché questo problema non si verifica in quanto programma ha il pieno controllo delle periferiche e delle risorse, ma la piattaforma è ormai in disuso e di scarsa popolarità.

    La seconda fascia di controller per macchine CNC è quella dei sistemi hardware, cioè quei sistemi basati su microprocessore e sulla comunicazione con un PC per il trasferimento della base dei dati o vettori di esecuzione. In questi sistemi i file relativi alle posizioni vengono caricati e visualizzati sul PC in ambiente multitasking come windows e l'esecuzione avviene con il trasferimento dei dati attraverso porte di comunicazione come la seriale RS232, USB, LAN, CAN. Questi sistemi permettono l'esecuzione continua di percorsi senza le interruzioni dovute al sistema operativo soprastante. Il sistema è complessivamente più costoso in quanto richiede la progettazione di un sistema completo basato su microprocessore. Questi sistemi possono avere anche 8 assi interpolati e una maggiore capacità di interagire con periferiche della macchina (ingressi e uscite), possono essere ad anello aperto o ad anello chiuso. Nei sistemi ad anello chiuso sono previsti ingressi per gli encoders al fine di controllare la posizione effettiva per ogni asse o motore. La comunicazione con il PC è parte fondamentale di un tale sistema e va progettata con attenzione in quanto la destinazione, ambiente industriale, rendono l'applicazione particolarmente soggetta a disturbi e quindi a errori di comunicazione.

Generazione dei passi.

Il nucleo principale di questi due sistemi è la funzione che genera i passi, sulla porta parallela per i sistemi software e sulle uscite per i sistemi a microprocessore. L'obbiettivo di tale funzione è quello di portare degli assi collegati meccanicamente a motori, attraverso comandi di passo e direzione sugli azionamenti, alla posizione e alla velocità ed accelerazione voluta.
Tale funzione sfrutta generalmente l'algoritmo di Bresenham per l'interpolazione lineare e viene intensamente usato nei sistemi video per la rappresentazione di linee sullo schermo, in sistemi più completi esiste l'interpolazione circolare per l'esecuzione di archi o cerchi. La funzione viene chiamata da una interruzione periodica creata da un timer, generalmente con risoluzione a 16 bit, che permette frequenze precise e continue. L'algoritmo determina quale asse deve avanzare di un passo al tempo t. Il risultato è una successione di passi, che può essere di frequenza diversa per ogni asse, a seconda dell'angolo del vettore di posizione e soprattutto un moto uniforme e lineare. I percorsi curvilinei vengono realizzati accodando un insieme di vettori di posizione tanto più ravvicinati tra loro quanto è richiesta una alta risoluzione o definizione.
Bisogna considerare che in un sistema a più assi, cioè quella meccanica il cui moto è derivato dalle singole componenti del moto di più motori, la velocità risultante è V=sqrt(v1²+v2²+vn²) e quindi il controller deve impostare il corretto valore di frequenza calcolando l'angolo del vettore stesso. Per esempio se applicando una frequenza di passo di 1000 Hz ad un asse si ha una velocità di 5cm/s, se il moto del sistema è composto da due assi e il vettore ha un angolo di 45 gradi bisognerà applicare una frequenza di 1000*cos(45°)=707 Hz per ottenere la stessa velocità.
Un altro punto importante è l'accelerazione del moto. Questa viene realizzata con un timer che interrompe l'esecuzione ad intervalli regolari e cambia il valore del timer per la generazione dei passi diminuendo il valore per accelerare e aumentandolo per decelerare.

Il Contouring.
Un punto importante in un sistema di controllo movimento basato su vettori di posizione è la possibilità di eseguire vettori continuamente cioè senza accelerare e decelerare ad ogni vettore ma accelerando e decelerando in una successione di vettori. Questa particolare funzione ha il nome di "Contouring" e generalmente è possibile impostare il valore dell'angolo tra due vettori consecutivi, superato il quale, il percorso viene accelerato e decelerato. Questo permette di evitare errori di posizione dovuti ad una eccessiva accelerazione angolare. Per fare un esempio pratico un angolo di 90 gradi tra due vettori deve obbligare il controller a frenare alla fine del primo vettore per riaccelerare nella direzione del secondo vettore, se l'angolo invece è di 12 gradi allora è possibile eseguire i due vettori in successione senza decelerare ma a velocità costante, con grandi vantaggi per le lavorazioni che richiedono velocità appunto costanti: taglio laser, taglio plasma, fresatura, distribuzione di adesivi ecc.

Un buon controller dovrebbe avere:
    Alta velocità di comunicazione.
    Un protocollo di comunicazione sicuro e affidabile.
    Alta velocità di interpretazione dei vettori.
    Alta velocità in termini di step/secondo
    Comandi di lettura e scrittura ingressi e uscite.
    Comandi di temporizzazione
    Comandi di lettura posizione e di stato.
    Discreto numero di IO eventualmente ampliabili attraverso una porta di comunicazione.

Il linguaggio:
Il controller riceve quindi i comandi attraverso la porta di comunicazione ma può anche ricevere direttamente i file visto che esistono formati di file specifici per le macchine CNC. Il più semplice è il formato HPGL sviluppato da HP per i plotter. Questo formato è bidimensionale in quanto il terzo asse o penna viene gestito generalmente da un comando di tipo ON/OFF. Più complesso è il formato ISO G-codes che comprende anche comandi macchina specifici ai controlli numerici.
Bisogna quindi distinguere due tipi di controller: quelli con interprete comandi integrato e quelli con linguaggio proprietario. Nel primo caso il controller accetta direttamente i file nel formato HPGL o ISO, li interpreta e li esegue. Nel secondo caso è il software sul PC che interpreta i file vettoriali e li traduce in comandi specifici del controller in uso.
I comandi di un controller si possono dividere in due gruppi:
Comandi sequenziali
Comandi immediati.
I primi sono tutti quei comandi che vanno a formare il moto. Essi verranno appunto eseguiti in successione e tra il momento della ricezione e lettura e la loro esecuzione può passare un tempo variabile.
I secondi sono tutti quei comandi che devono essere eseguiti alla loro ricezione e sono quelli di output immediato, di richiesta posizione e stato, di imput immediato, di stop, pausa o riavvio.

 

Cosa è necessario oltre al controller?

bulletI motori passo passo dimensionati per l'applicazione che si deve realizzare.
bulletGli azionamenti dimensionati rispettando le caratteristiche dei motori.
bulletUn sistema di alimentazione che fornisca l'energia agli azionamenti e alla scheda controller.
Sommario

Quale software usare con il controller?

Attualmente stiamo sviluppando un software che permetta di realizzare lavorazioni per vari tipi di macchine. Sono disponibili nelle pagine Twincam e Twincam3D che permettono lavorazioni di fresatura o di importare file da software CAM tridimensionali.

Sommario

Dove trovare informazioni sul linguaggio della scheda?

Il manuale della scheda controller contiene l'elenco dei comandi con la sintassi.

Sommario

Il controller supporta il formato ISO G-CODES?

Non è il controller ad interpretare il formato. Il controller ha un suo linguaggio, è il software sul PC che ha il compito di tradurre il file ISO in comandi per il controller.

Sommario

Il controller ha l'anello chiuso?

Per lavorazioni a bassa velocità (fino a 10 cm/s) e con i motori passo passo non è necessario l'anello chiuso. La perdita di passi è pressoché nulla a queste velocità a condizione che l'utensile non trovi ostacoli nell'eseguire i percorsi. Questo permette un notevole risparmio, economico e di complessità di realizzazione. Il controller è quindi ad anello aperto. I ns. clienti eseguono correntemente file con migliaia di vettori senza problemi.

Sommario

Quale risoluzione posso ottenere con un sistema a motori passo passo?

La risoluzione di un sistema ad assi mossi da motori passo passo dipende unicamente dalla meccanica. I motori passo passo hanno generalmente un angolo di passo di 1,8° quindi possono compiere una rotazione completa con 200 passi quando pilotati a passo intero. Per esempio, se il motore fa ruotare una vite con passo da 4 mm., con una rotazione si otterrà uno spostamento di 4 mm e quindi la risoluzione sarà: 4/200 mm.= 0.02 mm. Ottenere una meccanica che abbia giochi inferiori a questa risoluzione è abbastanza difficile. E’ quindi importante scegliere una risoluzione non eccessiva in quanto i giochi potrebbero rendere non effettiva la risoluzione stessa, inoltre bisogna considerare il fatto che scegliendo una alta risoluzione si penalizza la velocità massima raggiungibile dal sistema.

Sommario

Come si imposta l’accelerazione?

 L’accelerazione di un sistema mosso da motori passo passo dovrebbe essere scelta con il seguente semplice criterio: “La più alta possibile”. Il motivo di tale scelta è che la maggior parte delle applicazioni (taglio, fresatura ecc.) richiedono velocità costante per ottenere uniformità di taglio e fresatura. Si deve quindi impostare questo parametro in modo tale da raggiungere la velocità finale nel minor tempo possibile. E’ generalmente necessario effettuare alcune prove iniziando da un valore basso e incrementando questo valore finché il motore non perde passi nella fase di accelerazione, mantenendo un valore sufficientemente sicuro come impostazione finale.

Sommario

Quale velocità possono raggiungere i motori passo passo?

I moderni motori passo passo raggiungono velocità di rotazione fino a 1500 giri al minuto. Bisogna però considerare che la curva di coppia del motore scende notevolmente al crescere della frequenza di passo. Se prendiamo una vite da 4 mm. e la facciamo ruotare a 1500 giri minuto otterremo una velocità di avanzamento di 1500*4mm=6000mm/min o 6m/min . In pratica però i motori passo passo vengono fatti girare a 600 giri/minuto massimi perché la coppia utile diminuisce molto al disopra di questi valori. In altre parole bisognerebbe scegliere un motore con coppia nominale molto più alta del necessario per raggiungere la massima velocità del motore. E’ quindi buona regola conoscere prima le specifiche richieste dalla macchina prima di acquistare i motori.  

Come si può notare dalla figura sopra la coppia di un motore passo passo si mantiene quasi costante fino a circa 2000 Hz. che corrispondono a 2000/400=5 giri al secondo o 300 giri/minuto (notare che il motore è pilotato a mezzo passo HALF STEP). Fino a 10000 Hz. il motore continua ad essere operativo ma la coppia si è ridotta a 1/5 del suo valore massimo.

Come dimensionare i motori passo passo?

Nella pagina dei motori passo passo vi è un capitolo dedicato ai principi generali relativi ai vari tipi di configurazione usate più di frequente. I calcoli da effettuare non sono del tutto semplici ma ne abbiamo riportati alcuni ugualmente in quanto una breve lettura permette sicuramente di avere una base di conoscenza e di sapere quali parametri sono necessari quando si deve dimensionare un motore passo passo per una data applicazione.

Come bisogna collegare i pulsanti di Home, di Fine-corsa e di EStop?

    I pulsanti di Home sono quei pulsanti che permettono di posizionare una macchina CNC nella posizione di origine. Generalmente questi vengono messi in basso a sinistra sulla tavola per quanto riguarda gli assi X e Y e in alto sull'asse Z.
    I pulsanti di Limite sono quei pulsanti che fungono da finecorsa e sono posti normalmente all'opposto dei pulsanti di Home.
    Il pulsante ESTOP (emergency stop) è quel pulsante che permette l'immediato arresto della macchina. Questi sei pulsanti sono tutti normalmente chiusi verso massa, questo per sicurezza in quanto se manca uno dei collegamenti la macchina si ferma piuttosto che continuare la corsa nel  caso di pulsanti normalmente aperti. Ecco come interagisce il programma DeskCNC con i pulsanti di ingresso:
    LIMIT: se questo ingresso viene aperto mentre si sta muovendo la macchina in modalità JOG il controller si ferma e ad ogni pressione dei tasti di movimento viene generato soltanto un impulso di passo al motore. Questo permette di uscire dalla condizione di errore. In fase di esecuzione di un programma lo stato di questo pulsante viene ignorato.
    HOME: Quando si effettua un comando di Home il controller muove l'asse specificato fino ad aprire il pulsante.
    ESTOP: Se il programma vede questo pulsante aperto interrompe qualsiasi movimento dei motori e si pone nella condizione di RESET.
    E' bene considerare che i pulsanti di HOME non hanno funzione di limite (l'utente potrebbe per sbaglio premere il pulsante in direzione X- quando è in posizione X=0 e portare la macchina fuori corsa senza controllo). Un'altro punto è che quando si esegue un lavoro, se si va al di fuori dai limiti della macchina nessun contatto fermerà la macchina (ESTOP). Per ovviare a questo inconveniente si possono utilizzare due metodi.

  1. Aggiungere un pulsante EXTRA-CORSA subito dopo ognuno dei sei pulsanti intorno alla macchina, tutti in serie e collegati all'ingresso di ESTOP.
  2. Utilizzare un circuito elettronico con componenti di logica digitale per ottenere un sistema più completo e sicuro senza aggiungere nessun pulsante a quelli sopra elencati.

    Il primo metodo è molto semplice ma raddoppia il numero di pulsanti da inserire sulla macchina. Il collegamento è semplice perché tutti e sei i pulsanti di extracorsa vanno collegati in serie quindi vi è un solo filo da aggiungere a quelli esistenti. Meccanicamente questo sistema comporta qualche difficoltà in quanto il pulsante EXTRACORSA deve aprirsi dopo il pulsante di HOME o di LIMIT. Occorre disallineare leggermente la coppia di pulsanti. Bisogna aggiungere però che così si perde la funzionalità di LIMIT per le direzioni negative. Se si va in direzione negativa e fuori corsa, in macchine con grande coppia nei motori passo passo bisognerà togliere l'alimentazione al controller o disabilitare il driver del motore passo passo per muovere la macchina fuori dal limite (richiudere il pulsante).

    A breve sarà disponibile una scheda elettronica con le seguenti caratteristiche di funzionamento:

  1. Se si muove la macchina oltre i limiti positivi o negativi con un comando JOG la macchina si blocca ed è possibile uscire da questa situazione con comandi JOG in senso inverso.
  2. Se il programma che si esegue contiene coordinate fuori limite in una qualsiasi direzione il programma si interrompe perché viene aperto l'ingresso ESTOP.

    Il sistema viene realizzato sfruttando l'uscita AUX1 che verrà attivata all'avvio del programma (vedi sezione HEADER/FOOTER in DeskCNC) e disattivata alla fine dello stesso. All'ingresso LIM viene portata la somma (OR) dei contatti di limite e di HOME. All'ingresso ESTOP viene portato il pulsante di ESTOP con il segnale di limite AND AUX1 (se AUX1 è attivo e si tocca un limite la macchina va in ESTOP). La logica è molto semplice e comprende soltanto due integrati e il costo della scheda viene ampiamente ricuperato nel risparmio di 6 interruttori di fine corsa e la relativa installazione.

Come collegare gli azionamenti al controller DeskCNC?

    Per i collegamenti del controller riferirsi al file pdf Collegamenti DeskCNC.pdf.

Perché i motori perdono il passo?

Il file seguente contiene informazioni utili per evitare o risolvere questa problematica Perdite di passo nei sistemi ad anello aperto.pdf

Esiste un documento con maggiori informazioni sul g-code?

Manuale completo del linguaggio G-code RS274 tradotto dal manuale inglese NIST RS274NGC. G-Code RS274.pdf

 

Copyright © 2005  [Twintec]. Tutti i diritti riservati. Ultimo aggiornamento: 25-08-08.

Copyright © 2002-2005 [Twintec]. Ultimo aggiornamento: 25/08/2008