Full Spectrum Laser Cutter
Freeside's Full Spectrum MLE-40 laser cutter is a 40 watt CO2 cutter that has been retrofitted with an arduino uno controller and gShield V5 running GRBL 1.1 firmware to allow it to run LaserWeb, LaserGRBL, and other software for ease of use and open-source goodness on the hardware and firmware side.
COOLING!!!
The CO2 laser tube runs way happier and lives a much longer life if kept below 20C/70F! Toss frozen water bottles in the cooling water bucket and keep an eye on that temp. Keep it between cold and kinda-chilly if you're being so cavalier as to not use a thermometer. Also, using distilled water is preferable to tap as a cooling water since tap water can carry an electric charge when it's passing near the 16,000V of the tube and mess with the tube's efficiency/power. Sudden changes in coolant temp may be bad for the tube's life (don't toss a bunch of ice into warm cooling water, it might crack the tube). Above all, if the tube water is anything other than cool to the touch or doesn't look like water you'd be ok drinking, STOP THE CUTTER AND FIX IT.
Controller
Arduino Uno running GRBL firmware. https://github.com/gnea/grbl
The motor controller is a Syntheos gShield V5 board. Much less fussy and more fault-tolerant than pololu controllers can sometimes be. https://synthetos.myshopify.com/products/gshield-v5
Motors
The X and Y motors are 400 steps per rotation nema17 motors.
Wiring
Power supply:
The power supply is a generic 40w CO2 laser cutter power supply. There are many slight differences in these supplies as far as their pin headers,labeling, and pinouts are concerned. They all boil down to having the following pins though: Laser tube -, Mains ground, 2 Mains AC inputs for Live and Neutral, Water flow protection, logic GND, Laser control (FIRE!), 5v, 24v, and "IN" for the center pin of a master laser output max power potentiometer. Moar info at this link: http://donsthings.blogspot.com/2017/01/k40-lps-configuration-and-wiring.html
Here's how the current pinout of the laser power supply (often just called LPS) is laid out.
Pin use | Laser tube negative | Case/Mains ground | AC1 | AC2 | Signal Ground | Water Protection | "Switch Light Control" (active low) | Signal Ground | Control Signal (Via potentiometer or PWM 0-5v) | 5v output | 24v output | DC power ground | 5v output | "Switch Light Control" (active low) | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Possible Labels | L- | G, FG | AC | AC | G | P, WP | L | G | IN | 5V | 24V | G | 5V | L | ||
Extra notes | Case/Mains ground | Doesn't matter which is live/neutral | Doesn't matter which is live/neutral | Signal Ground | Short signal ground to WP to bypass water protection. Won't fire if not grounded. | Use a discrete not gate to signal from an arduino, laser turns on with 0v, off with 5v. stays off with floating pin | Signal Ground | potentiometer or PWM 0-5v | Probably only meant to be used with IN and adjacent Gnd for potentiometer control. | for stepper motors, usually 2-4A max | DC power ground | Usually 1A max | Use a discrete not gate to signal from an arduino, laser turns on with 0v, off with 5v. stays off with floating pin |
Link to the EBAY page for the current LPS:
Specification
Maximum output voltage: DC 25KV Maximum output current: DC 20mA
Software
This laser cutter can work with any grbl compatible software, the most common being LaserWeb and Lasergrbl, though others exist, since it's runs on Gcode. As of just getting the machine working lasergrbl seems to be the more approachable software.
Software/Firmware considerations
GRBL is fantastic for controlling CNC, 3D printer, and laser cutter hardware, but it's default uses aren't laser cutters. things with spindles and extruders are what it expects to use by default. To that end you have to edit some stuff to make it understand it's part of a laser cutter.
GRBL firmware: before you upload grbl to an arduino uno (it only works on the uno), you need to edit a couple things to make it play nicely as a laser cutter. (insert stuff from ACRO link in research links for config.h edits)
GRBL settings: Once GRBL has been loaded onto the arduino and you can talk to it on the serial monitor send it the following commands: $32=1 (this tells it to be a laser cutter) $100=83 (X axis motor steps/mm of distance moved) $101=83 (y axis motor steps/mm of distance moved)
Software settings: (insert bed size)
Research Links
https://www.youtube.com/watch?v=1ioctbN9JV8&t=335s
https://github.com/synthetos/grblShield/wiki/Using-grblShield
https://github.com/LaserWeb/deprecated-LaserWeb3/wiki/Firmware:-GRBL-1.1