LinuxCNC
Onze portaalfrees wordt aangstuurd met LinuxCNC. Dit is een open source stuurprogramma voor CNC-freesmachines. LinuxCNC staat geinstalleerd op de machine die aan de CNC hangt. LinuxCNC vertaalt de door CamBam (of een ander programma) gemaakte GCODE in pulsjes waarmee de motoren van de portaalfrees worden aangestuurd.
Freeskop bewegen in LinuxCNC
- In de ...-tab (F3) kan je bewegen met de pijltjestoetsen
- In de ...-tab (F4) kan je bewegen met gcode
GCODE
Gcode bestaat al heel lang, het is een jaren zeventig taal om machines aan te sturen. Maar het wordt nog steeds heel veel gebruikt, omdat het precies doet wat een cnc machine (of 3D printer) nodig heeft.
Verklaring voor de meest gebruikte GCODE's:
( comment ) G21 maatvoering in millimeters G90 absolute positionering (dus niet relatief t.o.v. huidige positie) G61 Velocity Mode -Exact G64 Velocity Mode - Constant G40 Tool radius compensation off G0 verplaatsing zonder te frezen G1 verplaatsing met frezen, op snelheid van de laatst ingestelde F G2/G3 is frezen langs een curve M3 S18000 zet spindle aan met snelheid 18000 M4 S1000 zet spindle aan in tegengestelde richting met snelheid 1000 M5 stop spindle M7 perslucht aan M30 einde van de opdracht
Meer over gcodes:
http://en.wikipedia.org/wiki/G-code http://reprap.org/wiki/G-code
Je kan Gcode ook prima met de hand schrijven en in LinuxCNC importeren. LinuxCNC hanteert voor gcode de .ngc extensie.
Het is ook mogelijk losse regels gcode in te typen, bijvoorbeeld om een as te verplaatsen:
G0 X0 Y0 # verplaats de freeskop naar het nulpunt van je tekening G0 Z10 # Zet de frees op hoogte 10mm (boven het materiaal) G0 Y2000 # Zet de freeskop 2 meter ver op de Y-as (handig om materaal op machine te leggen)
Voorbeeld gcode
Hier een stukje GCODE uit een opdracht dat door CamBam is gegenereerd:
( Made using CamBam - http://www.cambam.co.uk ) ( plaat1nw 7/9/2014 10:10:27 AM ) ( T11 : 9.22 ) G21 G90 G61 G40 G0 Z10.0 ( T11 : 9.22 ) T11 M6 ( Drill1 ) G17 M3 S976 G0 X81.0 Y2440.0 G98 G81 X81.0 Y2440.0 Z-3.0 R10.0 F1000.0 G81 X338.0 Y2304.0 Z-3.0 G80 G0 Z10.0 G0 X53.2887 Y2191.3782 G0 Z1.0 G1 Z0.0 G2 X52.7037 Y2191.0405 Z-1.6667 I-0.39 J0.0 G2 Y2191.716 Z-3.3333 I0.195 J0.3377 G2 X53.2887 Y2191.3782 Z-5.0 I0.195 J-0.3377 G2 X52.7037 Y2191.0405 Z-6.6667 I-0.39 J0.0 G2 Y2191.716 Z-8.3333 I0.195 J0.3377 G2 X53.2887 Y2191.3782 Z-10.0 I0.195 J-0.3377 G2 X52.7037 Y2191.0405 Z-11.6667 I-0.39 J0.0 G2 Y2191.716 Z-13.3333 I0.195 J0.3377 G2 X53.2887 Y2191.3782 Z-15.0 I0.195 J-0.3377 G2 X52.7037 Y2191.0405 Z-16.6667 I-0.39 J0.0 G2 Y2191.716 Z-18.3333 I0.195 J0.3377 G2 X52.7782 Y2191.7491 Z-18.5 I0.195 J-0.3377 G2 X53.2802 Y2191.2971 I0.1205 J-0.3709 G2 X52.6377 Y2191.0884 I-0.3815 J0.0811 G2 X52.7782 Y2191.7491 I0.261 J0.2898 G0 Z10.0 M5 M30
Wat er mis gaat als je G64 (constant velocity mode) ipv G61 (exact mode) gebruikt: