Table of Contents
=Introduction= Laser cutting is a technology that uses a laser to vaporize materials, resulting in a cut edge. While typically used for industrial manufacturing applications, is now used by schools, small businesses, and hobbyists. Laser cutting works by directing the output of a high-power laser most commonly through optics. The laser optics and CNC (computer numerical control) are used to direct the material or the laser beam generated. A commercial laser for cutting materials uses a motion control system to follow a CNC or G-code of the pattern to be cut onto the material. The focused laser beam is directed at the material, which then either melts, burns, vaporizes away, or is blown away by a jet of gas, leaving an edge with a high-quality surface finish.
=Approaches= <gallery> Laserhome.jpg|Laser cutter Lasercutter.jpg|Laser cutter Laser test.jpg|Laser test Electron microscopy of laser ablated microwells.jpg|Laser ablated microwells Cutting-surface.svg|Laser cutter template K40 Power Supply.pdf|K40 Power supply </gallery>
=Specifications=
The laser cutter is a modified Buildlog.net 2.x 40W design. It has been modified to extend the cutting area in the Y axis and to use a standard Replimat controller.
It makes use of an 18mm GaSe focus lens with 55mm focal length. (add lightobject link)
= Workflows =
- Download the inkscape template file cutting-surface.svg
- Open it in inkscape and draw the object you'd like to cut
- Use this plugin to generate gcode in inkscape: thlaser-inkscape-plugin
- Load the G Code file in Pronterface, or onto an SD card
- Cut!
Speeds and feeds
All settings at 40W - 20000hz pwm F600 = 600 millimetres a minute. Note : 73% on my unit runs the laser tube at 18ma. This is the maximum current that should be put through a 40 watt CO2 laser tube.
Cut Perspex = F300 @ 73% Score cardboard = F1400 @ 9% Cut Paper (Pulsed) = F600 @ 8% - 60ms pulse 2 pulse per millimetre. Cut vinyl on paper backing = F600 @ 8% - 4 pulse per millimetre.
= Firmwares = Firmware is on github, here
Laserweb makes an excellent GUI
=To do's=
- implement function to trace extreme outer edges of cutting area w/ dimmed laser for material alignment
= G Codes = The laser is controlled by sending commands (“g codes”) to it via USB→serial connection. Additionally, the laser control electronics can read files containing these commands from an inserted SD card without the aid of an attached computer.
There are several ways to command the laser to fire, each is enabled or disabled at compile time, according to the following option in Configuration.h:
- LASER_FIRE_G1 (default: on): G0 moves the laser to a specified set of coordinates without firing, a G1 command moves the laser to the specified coordinates while firing.
- LASER_FIRE_SPINDLE (default: on): M3 turns the laser on in place, without requiring it to move. M5 turns the laser off in place.
- LASER_FIRE_E (default: off): Any movement in the E axis (which represents the extruder when controlling a 3D printer) fires the laser. In this way, the laser can make use of unmodified g code generated for 3D printers.
Each of these firing controls accepts the following parameters, which can also be manipulated without firing or moving the laser by using them with the M649 command:
0@@
In Continuous mode, the laser is turned on, and remains on at the selected intensity until it's instructed to turn off.
Pulsed mode fires punctuated bursts at intervals matching P: PULSES_PER_MM, each lasting for L: DURATION. That gives us all the information we need to time the laser firing and extinguishing from the inner loop of the stepper driver interrupt handler - the core of the firmware. This makes the positioning and timing of pulses in Pulsed mode much more accurate than any other method. Pulse positions are accurate to the nearest step in any axis and reliable minimum pulse times of 250 microseconds have been measured on a 16Mhz Atmega 2560 (better may be possible, but hasn't been tested). Stock Marlin's minimum pulse length is 8.2 milliseconds on the same hardware, and permits adjustments no smaller than 1 millisecond.
Raster mode is a special variation of Pulsed mode which allows you to specify a unique intensity for each pulse in a variable-length horizontal line of evenly spaced pulses, with configurable 'pixel' size and aspect ratio, arbitrary line-advance, and selectable left or right blitting. This is everything required for maximally efficient arbitrarily large 2D image blitting, but allows for a number of other uses as well. An obvious improvement would be to allow for Raster blitting along an arbitrary line in 3D space - patches welcome! Because pulse timing can be done in the stepper driver interrupt handler, and the information necessary for many pulses is contained in a single command, Raster mode is very fast. Raster mode only works with the “G7” command which accepts a number of unique parameters:
1@@
In firmware, you have two options for controlling a laser:
Single pin: The LASER_FIRE pin supplies a PWM signal at at Hz specified as LASER_PWM in Configuration.h, adjusting duty cycle of the wave to control intensity, and supplies logic level LOW when off. Common for laser diode
Two pin: The LASER_FIRE pin supplies a logic level signal HIGH for fire, LOW for extinguish. The LASER_INTENSITY pin supplies a PWM signal at at Hz specified as LASER_PWM in Configuration.h, adjusting duty cycle of the wave to control intensity.
<gallery> Wiring diagram.jpg|Wiring diagram </gallery>
laser.cpp contains the laser_fire and laser_extinguish functions
This firmware also has options to control peripherals of a laser cutter such as the air assist, water pump or even idle shut off.
=Parts= {| class=“wikitable”
! Quantity !! Part !! Link
1 | Peripheral control relay board | ||
1 | Controller | ||
4 | Casters | ||
1 | 40W CO2 laser Mirror/ Lens DIY bundle | ||
1 | 135W Air compressor/ pump for CO2 laser AC110V | ||
1 | Thermal exchangers | ||
=Consumables=
=Safety precautions=
=Maintenance procedures= <youtube>rYX0zfWFnIM</youtube>
- Should we put filters on the air and water lines?
- Panic button. Signal the motherboard to safely stop all motion.
Belt tensioning procedure
Y Axis
- Power off the laser cutter
- Move the Y axis carriage to the rear of the laser cutter
- Loosen the bolt mounting the Y belt idler bracket to the frame, pull the bracket toward the front of the machine to tighten the belt, while tightening the mounting bolt to secure the bracket in place.
- Repeat procedure for the second Y axis belt.
X axis
- Loosen the bolt mounting the X belt idler bracket to the gantry, pull the bracket toward the left side of the machine to tighten the belt while tightening the mounting bolt to secure the bracket in place.
Z axis leveling procedure
- Cut zip ties holding material support grid
- Remove the grid from the laser cutter and set aside
- Loosen the Z axis belt tensioning bracket located at the rear of the machine
- Disengage the Z axis belt from each of the pulleys connected to the Z axis leadscrews
- Use the 8 inch digital calipers (found in the metal shop) to measure the distance between the Z axis leadscrew brackets on the lasercutter frame, and the paired bracket on the material support frame at each corner
- Adjust each leadscrew by hand
- Engage each pulley with the belt
- Adjust and re-tighten the Z axis belt tensioning bracket at the rear of the machine
- Re-install the material support grid
= References =