LinuxCNC

From Digimaken Wiki
Revision as of 13:48, 2 November 2018 by Jaap (talk | contribs)
Jump to navigation Jump to search

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: