Adattamento di un post processor per i laser
Introduzione
Il Modulo laser consente ai nuovi tipi di utensili si inserire i laser nel database utensili, oltre che nuove strategie specifiche per i laser.
Il Modulo laser contiene ora record e variabili indipendenti gli utensili e i percorsi utensili laser. Dato che queste emissioni sono state separate dal controllo del router tradizionale, per la maggior parte delle macchine e controller dovrebbe essere possibile creare un singolo Post Processor in modo che lavori perfettamente con percorsi utensili router o laser; tuttavia, si prega di notare che, a seconda del tipo di percorso utensile, potrebbe comunque essere necessario assicurare la modifica della configurazione fisica della macchina.
I post processor precedenti non funzioneranno correttamente con il Modulo laser
Si prega di notare che molti produttori di kit di conversione hanno fornito Post Processor Vectric prima del rilascio del Modulo laser. Essi si avvalevano di soluzioni alternative per consentire l’utilizzo di alcune strategie di percorsi utensili del router, come la profilatura, con una testa laser. I Post Processor creati senza il supporto esplicito delle funzioni addizionali ivi documentate non funzioneranno correttamente.
In genere, sono presenti 4 aree che occorre modificare in un Post Processor tradizionale per consentire il supporto del percorso utensile Laser.
- Aggiungere supporto a una nuova variabile Power, che sarà usata dalle nuove strategie laser.
- Aggiungere nuovi Blocchi del Post Processor specifici per il laser, in modo da formattare correttamente i percorsi utensili per la macchina e il controller.
- Modificare eventuali Blocchi del Post Processor esistenti, onde garantire il comportamento della potenza e specifico del laser indipendente.
- Aggiungere un flag al software di Vectric, a indicare che il Post ora supporta le strategie di percorsi utensili laser.
Le seguenti sezioni trattano delle singole aree a turno ed è fornito un esempio in cui si fa uso del controller GRBL gcode. Questi esempi sono tratti dal post processo grbl (mm e pollici) forniti per impostazione predefinita con il software Vectric.
Variabile Power
Il software di Vetri emetterà l’impostazione di potenza per un percorso utensile laser secondo l’intervallo 1-100%. È necessario aggiungere una nuova variabile, onde mostrare come formattare questa impostazione per il controller in questione. È anche l’opportunità per scalare il valore percentuale non elaborato fino all’intervallo numerico richiesto dal controller.
Esempio
Nel caso dei controller basati su GRBL, l’impostazione della potenza di un laser è in genere assegnata al comando del controllo della velocità del mandrino gcode ‘S’. Nella modalità laser, il controller risponderà a una variazione nel controllo della velocità del mandrino regolando la potenza del laser. Anche se è possibile specificarla all’interno del controller, l’impostazione predefinita del valore ‘S’ - o potenza laser - massimo previsto è 1000.
Di conseguenza, per GRBL dobbiamo formattare la variabile POWER in modo che sia un comando gcode ‘S’ e scalarne il valore emesso secondo un fattore di dieci, in modo che sia compresa nell’intervallo tra 1 a 1000 (invece di quello 1-100 predefinito).
La voce della variabile nel Post Processor è costituita da:
VAR POWER = [P|C|S|1.0|10.0]
Per spiegarla a parole, significa che l’emissione POWER del percorso utensile deve essere usata ovunque nel file di post definizione successive in è presente la variabile [P]. Tuttavia, dobbiamo soltanto emettere un comando con la variazione del valore POWER (C). Sostituiremo le ubicazioni della variabile [P] nell’emissione del percorso utensile con il comando ‘S’ (S). Il valore della potenza deve essere formattato come numero intero privo di decimali (1,0) e deve essere moltiplicato rispetto all’impostazione predefinita secondo un fattore di 10.
Nuovi Blocchi del Post Processor laser
Nel Post Processor sono disponibili dei nuovi Blocchi, onde consentire il controllo laser. Essi sono:
JET_TOOL_ON
- Emesso quando il percorso utensile necessita che il laser sia accesoJET_TOOL_POWER
- Emesso quando il percorso utensile richiede una variazione della potenza laserJET_TOOL_OFF
- Emesso quando il percorso utensile necessita che il laser sia spento
Esempio
Nel nostro esempio GRBL abbiamo aggiunto 3 nuovi tipi di blocchi. Per accendere il laser, GRBL utilizza il comando gcode M4 (generalmente destinato alla direzione del mandrino, ma “utilizzato nuovamente “ da GRBL per il supporto laser). Ora possiamo fare uso della nostra variabile POWER, definita in precedenza con [P], onde fornire il valore di potenza desiderato. Di conseguenza, il blocco JET_TOOL_ON è:
+---------------------------------------------------
+ Commands output when the jet is turned on
+---------------------------------------------------
begin JET_TOOL_ON
"M4[P]"
Per lo spegnimento del laser, GRBL utilizza il comando gcode M5:
+---------------------------------------------------
+ Commands output when the jet is turned off
+---------------------------------------------------
begin JET_TOOL_OFF
"M5"
Infine, per l’impostazione della potenza per GRBL, emettiamo solamente la potenza:
+---------------------------------------------------
+ Commands output when the jet power is changed
+---------------------------------------------------
begin JET_TOOL_POWER
"[P]"
Modifica dei blocchi esistenti
Inoltre, quando eseguiamo un movimento di avanzamento, vogliamo emettere anche la potenza, per cui aggiorniamo i blocchi FEED_MOVE in modo che comprendano [P].
Dobbiamo farlo per tutti i tipi differenti di movimento di avanzamento.
Inoltre, dobbiamo evitare i movimenti di affondamento quando il laser è acceso. Per quanto concerne la filettatura o il routing tradizionali, abbiamo bisogno che il mandrino sia acceso prima di un movimento di affondamento; tuttavia, nel caso di un laser, è essenziale che venga acceso solo dopo essere passati al livello Z corrente (tale problema si manifesta come “sovrabruciatura” all’inizio di ogni segmento di percorso utensile). Per garantire la separazione corretta di questi requisiti, può essere necessario rimuovere i comandi del mandrino dai movimenti di affondamento, o altri tipi di blocchi (alcune potrebbero contenerli nell’intestazione, per esempio), e suddividerli in blocchi SPINDLE_ON & PLUNGE_MOVE espliciti. Ciò garantirà che i movimenti siano eseguiti esclusivamente per le strategie di percorso utensile non laser e nella sequenza corretta.
Esempio
Nel caso di GRBL, si tratta di una semplice aggiunta alla fine della dichiarazione del movimento di affondamento:
+---------------------------------------------------
+ Commands output for feed rate moves
+---------------------------------------------------
begin FEED_MOVE
"G1[X][Y][Z][P]"
Ricordare che abbiamo impostato la variabile POWER in modo che emetta soltanto in caso di variazione (C), per cui si prega di notare che nell’emissione dei movimenti di spostamento a potenza costante, sarà incluso un solo comando di potenza variabile iniziale. Per alcuni controller, il numero dei comandi che è possibile elaborare è un fattore limitante in particolare per la velocità del percorso utensile e delle immagini laser; è possibile limitare più o meno tale fatto non inviando comandi non necessari, quando possibile.
Per il mandrino GRBL e il controllo dell’affondamento separato, i blocchi sono:
+---------------------------------------------------
+ Command output after the header to switch spindle on
+---------------------------------------------------
begin SPINDLE_ON
"[S]M3"
+---------------------------------------------------
+ Commands output for the plunge move
+---------------------------------------------------
begin PLUNGE_MOVE
"G1[X][Y][Z][F]"
Si noterà che GRBL utilizza M3 per controllare il router o la fresa. Si noti inoltre che il movimento di affondamento necessita della capacità di spostare la macchina in X e Y, onde supportare il movimento in rampa.
Contrassegnare esplicitamente il Post Processor come dotato di laser
Infine, un Post Processor necessita che la nuova Dichiarazioni sui file globali LASER_SUPPORT="YES” aggiunta sia disponibile per la sezione in un Post Processor Laser all’interno del software. Essa è aggiunta al Post Processor esclusivamente per uso generale una volta che il Post Processor è stato verificato totalmente dal creatore.
Esempio
LASER_SUPPORT = "YES"