Una fresatrice a controllo numerico (cnc)

Sono sempre rimasto affascinato dalle tecnologie che usano l’elettronica e l’informatica per controllare o comandare dispositivi meccanici.

La fresatrice cnc è l’oggetto che meglio rappresenta questo concetto: saperla usare correttamente e quindi proficuamente implica il conoscere bene tutte queste tecnologie.

La fresatrice “classica” viene manovrata manualmente: gli assi che consentono di spostare il mandrino (sul quale è montata la fresa che ruota alla velocità opportuna) rispetto al pezzo sono accoppiati a delle manopole azionate a mano.

Nella cnc invece gli assi di lavoro vengono accoppiati ad un motore controllato da un computer, di solito si tratta di un motore passo-passo.

I motori passo passo basilarmente si pilotano tramite un opportuno controller che espone due segnali, step e dir.
Una transizione sul primo indica al motore che deve fare un passo nella direzione specificata da dir che può essere oraria o antioraria.
L’entità del passo è misurata in gradi, 1.8 gradi/passo significa che serviranno 200 transizioni sul segnale step affinchè l’asse del motore faccia un giro completo.

Alcuni controller tra i quali quello che ho utilizzato consentono anche il mezzo passo, non sto qui a spiegare qual’è la tecnica utilizzata per ottenere il mezzo passo ( se volete approfondire, cercate “stepper motor tutorial” con google ), comunque con il mezzo passo serviranno il doppio dei passi per fare un giro e il motore di conseguenza si muoverà con più fluidità.

Il computer prende il posto delle mani dell’operatore, programmando opportunamente lo spostamento degli assi si possono effettuare moltissime lavorazioni di estrema precisione, praticamente impossibili da fare a mano.
Realizzare pezzi meccanici, ritagliare da una lastra di balsa una centina di un’ ala di un aeromodello, incidere una scritta sul legno, tutto diventa un programma che la fresatrice cnc esegue.

Scartata l’ipotesi di comprare una fresatrice cnc già fatta, primo per il costo elevato, secondo perchè il divertimento per me è anche imparare costruendo qualcosa, ho optato per comprare una fresatrice tradizionale, da trasformare successivamente in cnc.
Ho preso una proxxon MF70, di fabbricazione tedesca.

Successivamente ho progettato l’elettronica di controllo e la parte meccanica per accoppiare i motori passo passo agli assi della fresatrice.
Il risultato finale è questo:
Proxxon trasformata
Per quanto riguarda la parte meccanica, semplicemente ho accoppiato le manopole originali con i motori passo passo, utilizzando delle boccole.
Ho reso solidale il motore con delle piastrine di alluminio.
Ecco una foto che mostra il motore accoppiato all’asse X.
Particolare accoppiamento asse - motore passo passo
… all’asse Y
Asse y
… all’asse Z
Asse Z
Non è un lavoro perfetto..mi sono ripromesso di farlo con la cnc!
Per muovere gli assi ho utilizzato questi motori passo-passo, per comandarli ho utilizzato il circuito integrato L6208 della STMicroelectronics ( DMOS driver for bipolar stepper motor ), progettato appunto per fare questo mestiere. E lo fa bene !
Lo schema elettrico utilizzato è semplicemente quello consigliato nel datasheet, ecco qui comunque lo schizzo dal quale sono partito…
schizzo schema elettrico del driver
… e il risultato finale montato su una piastrina millefori: il circuito integrato è sotto il dissipatore in alluminio che ho aggiunto per fargli meglio smaltire il calore che produce durante il funzionamento.
Controller con L6208 montato su millefori.
Ecco un video che ho fatto durante il test della scheda


Ho quindi montato tre di queste schede, una per asse.

Dato che volevo avere la possibilità di controllare gli assi anche in manuale, ho progettato un circuitino in grado di pilotare manualmente, in alternativa al computer, i tre assi della fresa.
Ecco lo schema elettrico…
Controller 1 canale e alimentatore
L’alimentatore fornisce i 30 volts abbondanti per i drivers dei motori, la tensione viene poi ridotta prima a circa 8 volts da un convertitore DC/DC step-down basato sul 78S40, poi ancora da 8 a 5 volt con il classico 7805.
L’alimentatore è in comune: la parte in basso è per un canale.
…il risultato finito su millefori
Scheda pilotaggio controller stepper e interfaccia PC con fotoaccoppiatori.
Nella scheda si può notare l’interfaccia verso la porta parallela del PC con i fotoaccoppiatori (quelli bianchi in alto).
Per ogni canale ci sono due deviatori, uno serve per abilitare il driver, l’altro per definire se il motore verrà pilotato dal PC tramite l’interfaccia parallela oppure manualmente tramite due pulsanti: uno lo farà girare in senso orario,l’altro in senso antiorario.
Il potenziometro serve a regolare la velocità di rotazione in modalità manuale.

Alcune foto dell’oggetto in costruzione:
Schede con L6208Interno senza pannello anteriore

… e dell’oggetto finito:
Alimentatore e schede nel contenitorePannello anterioreCablaggi del pannello anteriore

Sulla proxxon 1 giro delle viti di comando sposta la tavola dov’è fissato il pezzo in lavorazione di 1mm.
Con 400 passi a disposizione quindi si ha una risoluzione di 1/400 di mm ovvero 0.0025 mm (2.5 micron).
In pratica è possibile guidare la fresa sul pezzo a passi di 2.5 micron su tre assi.
Ci si puo’ stare !

Per quanto riguarda il pilotaggio tramite PC, solitamente questo tipo di fresatrici diciamo hobbistiche (ma il discorso può valere anche per fresatrici professionali), sono pilotate tramite la porta parallela.

I piedini di uscita della porta parallela sono connessi ai segnali step e dir dei controller dei motori che agiscono sui vari assi, anche se è possibile collegare direttamente i piedini agli ingressi dei controller è buona norma farlo usando dei fotoaccoppiatori, per separare galvanicamente la macchina dal PC.

I piedini di ingresso della parallela possono essere invece collegati a dei microswitch.
Utilizzo tipico è collegare i microswitch al fine corsa degli assi: il programma di controllo provvederà ad arrestare il movimento della fresa se rileva la condizione di fine corsa: se, come nel mio caso, non vengono montati, è bene tenere sotto controllo la macchina durante la fase di lavorazione del pezzo per evitare che, andando a fine corsa, si possa danneggiare.

Esistono parecchi programmi per comandare frese cnc hobbistiche su Windows / Dos, su Linux il programma per eccellenza è Emc2.
Emc2 ha un’architettura modulare, le funzioni che comandano l’hardware usano un Kernel modificato con funzionalità realtime, in questo modo viene garantita la perfetta esecuzione del programma gcode.
Emc2 è senza dubbio la scelta migliore per questo tipo di applicazioni.

Parlando di “gcode”, per programmare il movimento dell’utensile e in genere per comandare questo tipo di macchine su usa appunto questo linguaggio, in pratica è un file che contiene comandi che vengono impartiti alla fresa, con possibilità di definire delle “subroutine” , un po’ come il vecchio Basic.

Tramite Gcode possiamo dire alla macchina di far seguire all’utensile dei percorsi che includono linee e archi.
E’ come pilotare una penna alla quale si dice di fare un percorso con una certa velocità,solo che invece della penna c’è la fresa che gira a 20000 giri e “trita” tutto ciò che incontra nel suo percorso.
Va prestata molta attenzione, il programma va fatto tenendo presente il materiale e la fresa utilizzata.
Velocità e dimensione del solco dipendono dal tipo di utensile e dal materiale: non si deve far lavorare la fresa al di fuori delle specifiche.
Forzare può significare rompere la fresa, danneggiare la fresatrice, rompere il pezzo in lavorazione.
Diminuire la velocità oppure fare più passate !

Per dare un’idea di quello che si ottiene ho fatto dei video: eccone uno

La scritta è stata realizzata usando Emc2, il file gcode è stato creato con Inkscape, installando una versione patchata di questo plugin.
I files patchati sono gcode.py e gcode.inx, il problema che ha l’originale è che non produce il comando per alzare la fresa sui singoli caratteri di un testo (sarebbe come scrivere in stampatello senza mai alzare la penna), in più (in data 12/6/2008), ho fatto in modo che il plugin lavorasse col sistema metrico, e che prendesse in considerazione la matrice di trasformazione associata ad un path, per cui ora funzionano le operazioni di scalatura e traslazione che si effettuano a monte con inkscape).

Per quanto riguarda Emc2, configurarlo per lavorare con il mio hardware è stato veramente semplice: è bastato usare lo script “stepconf”, specificando la relazione tra i piedini della porta parallela e i segnali step/dir dei motori sui vari assi, settare la velocità e l’accelerazione massima.. et voilà !

Un ringraziamento lo devo a tutti coloro che hanno condiviso in rete la loro esperienza.

Ecco alcuni link utili:

Ah, il disclaimer 😀
La realizzazione di una fresatrice a controllo numerico, seppur di piccole dimensione, implica una profonda conoscenza di meccanica ed elettronica: non è una passeggiata.
Quanto scritto è frutto dell’ esperienza personale dell’autore sull’argomento:
l’autore non se ne assume nessuna responsabilità.

  • No Related Post