blog.benshobbycorner.nl

blog.benshobbycorner.nl

G-code converter

Laser engravenPosted by Ben Zijlstra Fri, December 04, 2015 15:05:59
Hadden Theo Kleijn, Edwin van den Oetelaar en ondergetekende al eerder eens moeite gedaan om een programma te maken waarin een G-code file omgetoverd werd in een file die naar een laser engraver gestuurd kon worden, het één en ander is nu in een grafisch jasje gestoken. De eerdere oplossing bestond uit twee Python programma's, een converter en een zendprogramma, nu zijn beide programma's in één programma gestopt. In het grafische scherm een aantal mogelijkheden om default-waarden waaronder o.a. laser-snelheid aan te passen.

Al eens eerder beschreven hoe een G-code file aan te maken. We gaan uit van een ontwerp in OpenScad en laten Cura een g-code file genereren. Eerder werd de hele layout in OpenScad gemaakt, later is echter makkelijker gevonden om losse elementen te gebruiken, en die pas in Cura samen te voegen tot één geheel.


In een eerste test is een DXF file gebruikt die is gedownload van www.dxf-downloads.de en in OpenScad is omgezet naar een STL-file, zelfde geldt voor alle woorden, dit zijn stuk voor stuk STL-files. In Cura het geheel samenstellen en één g-code file laten genereren. Zie onderste afbeelding.


Hierboven het beginscherm waarin diverse settings kunnen worden aangepast (laser snelheid, commando's voor laser aan / laser uit enz.).

En hier het scherm dat zichtbaar wordt wanneer een geconverteerd G-code bestand naar de laser engraver wordt gestuurd. De laatste 8 commando's die naar de laser engraver zijn gestuurd zijn nog in beeld.

Een g-code file die door Cura wordt gegenereerd, bevat nog geen laser aan/uit commando's, de converter plaatst een laser uit (M05) commando in de G0 regels, en een laser aan (M03) commando in de G1 regels. Verder wordt de laser eenmalig op de juiste hoogte geplaatst. Afhankelijk van de hoogte van het te laseren object, in ieder geval met de laser in focus. Verder worden alle g-code commando's als M(achine), T(ools) en ; (commentaar) verwijderd.

Het programma is uitgetest op een laser engraver met daarop een Ramps 1.4 controller en op de Banggood laser engraver met een GRBL-controller. De Banggood laser engraver heeft geen display en geeft een foutmelding op de g-code M117 instructies (een statusbericht op het LCD display zetten). Hier rekening mee gehouden. Zowel Ramps 1.4 als de GRBL-controller maken gebruik van een softwarematige handshake, na elke verzonden regel komt er een ok terug, zodat de volgende regel verstuurd kan worden.

Programma in gecompileerde vorm uitgetest op Windows XP, Windows 7 en Windows 10. Geen problemen ondervonden.


Laser engraver aan het werk...

Laser engraver gereed.