Modifiche al laser cinese K40

Il laser K40 è ad oggi la macchina più economica che ci sia equipaggiata con un tubo laser a co2 da 40 Watt.

Si trovano a un prezzo più che abbordabile per un hobbista ma utilizzarla così come vi arriva è un azzardo.

Prima di accenderla occorre verificare la meccanica e l’allineamento dell’ottica. Ma ancor prima di acquistarla occorre acquistare un paio di buoni occhiali che filtrano la luce emessa dal laser che tra le altre cose non si vede e se anche un riflesso va negli occhi potrebbe provocare danni irreversibili.

Ad ogni modo appena mi è arrivata dopo aver verificato che il tubo funzionasse, ho subito smontato il carrello e ho visto che non era a squadro.

Dopo averlo messo in squadro l’ho rimontato e allineato il fascio del laser.

Il fascio deve essere parallelo all’asse delle Y e delle X, l’allineamento si fa regolando prima le vitine dello specchio principale ( quello vicino all’uscita del laser ), facendo in modo che il laser colpisca sempre lo stesso punto nello specchio secondario, quando il carrello si muove sull’asse delle Y.

Se il punto non si trova nel centro dello specchio secondario occorre spostare quest’ultimo affinchè lo sia, quindi allentare le viti che lo supportano e riposizionandolo.

Fatto questo si regolano le vitine dello specchio secondario affinchè il fascio sia parallelo all’asse delle x, con lo stesso metodo dell’asse delle Y.

Una volta che il fascio è parallelo, se il punto non coincide con il centro dello specchio terziario, si provvede a riposizionarlo affinchè lo sia.

Nel mio caso ho dovuto alzarlo con degli spessori perchè il fascio era troppo alto.

A questo punto è tutto allineato e si verifica che funzioni la parte di controllo, il cui nucleo è la scheda ….

Io ho usato il programma K40 whisperer per testare il tutto.

I problemi o meglio le limitazioni del controller che arriva con il laser sono essenzialmente due:

  • La modulazione del laser è acceso o spento, per cui scordatevi di fare engraving serio
  • Il formato dei comandi non è standard, per capirci, non è gcode

Funziona ma è una grossa limitazione, per cui quello che bisogna fare per convertirlo in qualcosa di più è cambiare il controller.

Prima di fare qualsiasi modifica ho disegnato lo schema di montaggio originale della macchina come riferimento.

Questi controller usano dei firmware open source, Smoothie, Grbl , anche Marlin. Fra questi Smoothie e Marlin sono nati principalmente per pilotare stampanti 3d, ma si possono configurare per pilotare anche laser. Io ho usato grbl, che nel suo default è già configurato per il k40, modificando solo qualche parametro ( $120=5000, $121=5000 $120=1000, $121=1000 ) che, nella versione originale a 24000, mi facevano perdere qualche passo agli stepper.

Per quanto riguarda Grbl, come hardware la scheda che si usa deve essere basata sul micro LPC1769, e avere dei controller dei motori intelligenti, in quanto il firmware compilato che si trova assume che ci siano questi, se non ci sono non parte.

E’ comunque possibile ricompilarlo dopo aver modificato una riga in un .h, affinchè usi dei controller standard, come ho dovuto fare io usando una scheda mks-sgen v1.0 . Non è un problema perchè c’è modo di fare tutto in un docker, ovvero un ambiente già configurato con tutto quanto necessario per la compilazione, quindi niente mal di testa per installare toolchain e combattere con le dipendenze.

Ad ogni modo, se a qualcuno dovesse interessare ho messo il firmware compilato con il relativo .h qui. Basta copiare il binario nella scheda sd che va nel controller e dovrebbe funzionare.

Quando si mette a punto la scheda con il firmware consiglio di provare il tutto prima sul banco, quando è tutto ok poi si monta nella macchina.

Almeno che i motori girino e venga generato il PWM che modulerà il laser per benino.

Per alloggiare la nuova scheda ho dovuto riallocare lo spazio nella macchina, aggiungendo un alimentatore ad hoc per la nuova scheda e una scheda con dei relè per controllare luci, pompa dell’acqua e “air assist” ( in pratica un “soffiatore” che spara aria dall’alloggiamento della lente).

Importante se si realizza la scheda con i relè, usare i soppressori di transiente di tensione, in quanto la sovratensione prodotta dalla commutazione di carichi induttivi, quali la pompa dell’acqua, potrebbe causare il reset del controller, in parole povere, se spegnete la pompa dell’acqua si resetta il controller. Io ho usato il B81130 da 100nF, della epcos, dato che ne avevo una vagonata. In AC, in continua, basta un diodo veloce.

E’ buona cosa anche isolare la porta usb del computer con un “usb isolator“, che evita possibili pericolosi loop di massa. Costa poco ed evita mal di testa.

Uno dei problemi che si incontrano nella conversione è il collegamento dal motore dell’asse X e il finecorsa Y, che sono fisicamente collegati con un cavo flessibile piatto. Il connettore pare sia di difficile reperimento così l’ho smontato dalla scheda originale e ho fatto un piccolo adattatore per collegare finecorsa e motori usando i connettori usati nei controller più diffusi.

Per l’air assist ho progettato con openscad un adattatore ad hoc che ha la possibilità di montare dei connettori aria compressa da 1/4 di pollice. L’aria viene accesa/spenta tramite un interruttore che aziona un’ elettrovalvola.

Dopo aver montato il tutto e verificato che la parte meccanica/elettronica funzionasse, ho iniziato a fare le prime prove di incisione / taglio.

Con i giusti livelli di potenza/velocità sono riuscito a tagliare il compensato da 10mm, occhio quando fate le prove, indossate sempre occhiali che filtrano la lunghezza d’onda del laser e mai lasciare la macchina da sola.

Per quanto riguarda il generare gcode per la macchina, dopo averne provati molti, ognuno con le sue limitazioni/bug/crash, ho deciso di riscrivermi un convertitore da path svg a gcode , un programma che filtra i gcode per cambiare al volo i parametri S e F ( potenza e velocità), un convertitore da immagine raster a gcode, tutti in python3, da riga di comando. Il workflow è semplice, generare il gcode, visualizzarlo con ncviewer, e darlo in pasto al controller con un gcode-sender, meglio se a linea di comando tipo questo.

Riguardo la corrente al laser, consiglio di non andare oltre 10 mA, perchè da prove fatte ( non da me), pare che il laser eroghi già 44 W con quella corrente per cui siamo già in regime di overdrive.

Effettivamente nel mio caso, già con 7 mA a 400 mm/minuto riesco a tagliare compensato da 6 mm. Infatti cambierò lo strumento mettendone uno con fondo scala a 10mA.