Laser Manual: Difference between revisions

Jump to navigation Jump to search
m
Replace EMC2 with LinuxCNC
m (Moved incorrectly indented Techniques section)
m (Replace EMC2 with LinuxCNC)
Line 7: Line 7:
== Capabilities ==
== Capabilities ==


Our laser is controlled by a Linux package called [http://www.linuxcnc.org/ LinuxCNC]. To drive the laser, LinuxCNC plays [http://en.wikipedia.org/wiki/G-code G-code] files. G-code is not very standardized, so you should read up on the [http://www.linuxcnc.org/docview/html//gcode.html specific variety of g-code used by EMC2].
Our laser is controlled by a Linux package called [http://www.linuxcnc.org/ LinuxCNC]. To drive the laser, LinuxCNC plays [http://en.wikipedia.org/wiki/G-code G-code] files. G-code is not very standardized, so you should read up on the [http://www.linuxcnc.org/docview/html//gcode.html specific variety of g-code used by LinuxCNC].


The position of the laser is controlled by the X and Y axes, and the height of the table is the W axis. Motion on all axes is made of discreet steps and can be reproduced extremely accurately. The X and Y axes move 1000 steps per inch and the W axis moves 4000 steps per inch.
The position of the laser is controlled by the X and Y axes, and the height of the table is the W axis. Motion on all axes is made of discreet steps and can be reproduced extremely accurately. The X and Y axes move 1000 steps per inch and the W axis moves 4000 steps per inch.
Line 263: Line 263:
* Top row (left to right)
* Top row (left to right)
** Red ''LASER ON'' LED.  This indicates that the laser beam will be ON, if the overrides further down the path are disabled.  This LED is useful for checking jobs before turning the beam on for the first time.
** Red ''LASER ON'' LED.  This indicates that the laser beam will be ON, if the overrides further down the path are disabled.  This LED is useful for checking jobs before turning the beam on for the first time.
** Yellow ''AMP ENABLED'' LED.  This indicates that the laser control board is receiving a 'keepalive' signal from EMC2/AXIS, and the machine is 'powered on' from the PC's point of view.  When flashing, the machine is stopped due to an emergency stop signal or open interlock switch.
** Yellow ''AMP ENABLED'' LED.  This indicates that the laser control board is receiving a 'keepalive' signal from LinuxCNC/AXIS, and the machine is 'powered on' from the PC's point of view.  When flashing, the machine is stopped due to an emergency stop signal or open interlock switch.
** ''E-STOP'' (emergency stop) toggle switch.  When in the down/OFF position, the machine operate normally.  When toggled up/ON, the machine and EMC2/AXIS are put into emergency stop mode, all movement is stopped, and the laser beam is turned off.
** ''E-STOP'' (emergency stop) toggle switch.  When in the down/OFF position, the machine operate normally.  When toggled up/ON, the machine and LinuxCNC/AXIS are put into emergency stop mode, all movement is stopped, and the laser beam is turned off.
* Bottom row (left to right)
* Bottom row (left to right)
** Four ''LASER PWR'' (laser beam power level) toggle switches.  These control the actual beam output power, in binary.  Add up the numbers of all switches that are up/ON in order to get the output power level selected.
** Four ''LASER PWR'' (laser beam power level) toggle switches.  These control the actual beam output power, in binary.  Add up the numbers of all switches that are up/ON in order to get the output power level selected.
Line 291: Line 291:
Details on laser internal schematics and code documented here: [[Laser_Electronics]]
Details on laser internal schematics and code documented here: [[Laser_Electronics]]


== EMC2 ==
== LinuxCNC operation ==


=== Homing ===
=== Homing ===


EMC 2.3 requires all axes to be homed before running any program. If you don't see little crosshairs next to the coordinates of all 4 axes, just click "Home all". If, for some reason, the gantry gets moved while AXIS is running, you need to "Home all" again because EMC2 has no way of knowing that the carriage is not in the position it thinks it's in.
EMC 2.3 requires all axes to be homed before running any program. If you don't see little crosshairs next to the coordinates of all 4 axes, just click "Home all". If, for some reason, the gantry gets moved while AXIS is running, you need to "Home all" again because LinuxCNC has no way of knowing that the carriage is not in the position it thinks it's in.


=== Focussing ===
=== Focussing ===
Line 320: Line 320:
That is to say, the laser is on if and only if the spindle is on and one or both of the Z axis and digital out are on.
That is to say, the laser is on if and only if the spindle is on and one or both of the Z axis and digital out are on.


Controlling the laser with the Z axis can be tricky because EMC2 thinks that there is a moving physical object attached to the axis and tries to constrain its motion. The M62/M63 commands are realtime and instantaneous, meaning that they can be used to turn the laser on/off without affecting X/Y motion, at least in theory. You can put these commands on the same line as a motion command, in which case the laser will be turned on/off at the *beginning* of the motion.
Controlling the laser with the Z axis can be tricky because LinuxCNC thinks that there is a moving physical object attached to the axis and tries to constrain its motion. The M62/M63 commands are realtime and instantaneous, meaning that they can be used to turn the laser on/off without affecting X/Y motion, at least in theory. You can put these commands on the same line as a motion command, in which case the laser will be turned on/off at the *beginning* of the motion.


'''''The following feature still needs a bit of tweaking. Don't use it for anything serious yet:''''' The power of the laser can be controlled from G-code by setting the spindle speed with S#, where the number is between 0 and 1. This will effectively be multiplied by the power level set with the hardware switches. Power level set with the S command is fairly detailed, with at least 50 distinguishable levels. The power can be set so low that it only leaves a faint mark on paper.
'''''The following feature still needs a bit of tweaking. Don't use it for anything serious yet:''''' The power of the laser can be controlled from G-code by setting the spindle speed with S#, where the number is between 0 and 1. This will effectively be multiplied by the power level set with the hardware switches. Power level set with the S command is fairly detailed, with at least 50 distinguishable levels. The power can be set so low that it only leaves a faint mark on paper.
Line 337: Line 337:
  M2                (end program)
  M2                (end program)


Since EMC2 automatically turns off the spindle when a program stops, there should be no danger of the laser ever being on unexpectedly. However, just to be safe, you should turn off all laser related signals at the beginning and end of every program.
Since LinuxCNC automatically turns off the spindle when a program stops, there should be no danger of the laser ever being on unexpectedly. However, just to be safe, you should turn off all laser related signals at the beginning and end of every program.


== Troubleshooting ==
== Troubleshooting ==
Line 511: Line 511:
6) Bring your file to the laser cutter. You can either move it over manually on a USB stick or send it over electronically. <br />
6) Bring your file to the laser cutter. You can either move it over manually on a USB stick or send it over electronically. <br />
* First, login to the laser's computer (hint: it's the same password as a lot of other things in the lab)<br />
* First, login to the laser's computer (hint: it's the same password as a lot of other things in the lab)<br />
* Open EMC2 if it isn't already opened and running. <br />
* Open LinuxCNC if it isn't already opened and running. <br />
* You now have two main options for accessing your file, either USB stick or upload via the network:<br />
* You now have two main options for accessing your file, either USB stick or upload via the network:<br />
** For USB stick, you'll probably want to try finding your USB stick under "media" in the top level folder. I found mine in /media/disk/ (your mileage may vary) <br />
** For USB stick, you'll probably want to try finding your USB stick under "media" in the top level folder. I found mine in /media/disk/ (your mileage may vary) <br />

Navigation menu