Wednesday, June 4, 2014

Converting a "Cheap" China 40w Laser Cutter to run with the TinyG

A few months ago the. place I work at school bought a cheap Chinese laser cutter on eBay to use for various projects. The laser arrived in good shape, but the original controller board only works with the MoshiDraw software, which leaves much to be desired. We probably would have kept using it if not for the fact that the cutter would behave erratically while trying to cut something. The video below shows one of the more spectacular failures when trying to cut a basic circle:


After doing a bit of research I decided to try converting the laser cutter to run with the TinyG CNC controller that's sold on Adafruit. The TinyG isn't being used to it's full capabilities here since there are only two stepper motors, but I thought that if this controller worked well that we could buy another one to control the small CNC engraver that has been sitting unfinished for a while.

After adding in two limit switches to use instead of the powered opto-isolating switches and running some beefier phase wires to the stepper motor I was able to get some of the basic configuration done and performed a basic homing operation.


The next step is to get a workflow set up that will let us start cutting from DXF files. There are a few options available, I am starting with the JCNC control software since it is supposed to have support specifically for the TinyG. There are many options for generating gcode from a DXF file available on the internet and there is also a very handy tool for automatically modifying gcode to work for laser cutters by removing the data for the Z axis that most DXF to gcode generators include for CNC mills and by adding data to turn the laser on and off at the appropriate times.

9 comments:

  1. This is great, can you post pictures of your wiring to control firing -- PWM or spindle activate.

    ReplyDelete
    Replies
    1. Yes, I can try to get something posted soon. The basic setup uses a 3.3v relay on the spindle pin, but I've just added a teensy 2.0 that sets a digital potentiometer based on a reading from the PWM output, so now it can control the laser power level as well.

      Delete
  2. This comment has been removed by the author.

    ReplyDelete
  3. nice project ;-)
    I’m using a TinyG board for driving my 40W china CO2 laser cutter too. The Board works very well and the results are very good too. here is short video of my laser https://youtu.be/OYt-rW-dlwo
    Next time there will be a new software for driving a CO2 Laser with the TinyG controller. more information on my site http://www.jtronics.de/

    ReplyDelete
  4. How did you connect the laser to the tinyG. What connectors did you use on the board. Could you post pictures of it? No one seems to show the exact connectors for the laser on/off
    Thank you

    ReplyDelete
    Replies
    1. It's been a while since I've worked on this project so my memory might not be right here, but I think that the way I got it working was to use the pin for the "spindle coolant" or something to control a relay, which turns itself on and off when the "spindle" is supposed to be running. I was able to control this by editing the configuration settings in dxf2gcode to turn the spindle on and off when it extended/retracted the z axis that would be used for a CNC router/mill so it would automatically generate gcode that would turn the laser on/off. Also able to use this signal with another relay to have the air blower for the head turn itself on and off automatically. The stepper motors were driven directly from the drivers on the tinyg for the x/y axis (although you can technically use whatever you want). I later added control over the power settings of the laser by using a Teensy 2.0 with a digital potentiometer from Sparkfun to replace the original panel mount potentiometer. By changing the spindle speed settings in dxf2gcode the pwm duty cycle of the spindle pin on the tinyg can be changed (duty cycle configured using the tinyg serial command line) from 0-100%-- or whatever you set the man/min to. I had the teensy run a simple arduino sketch using the pulseIn function to read the pwm signal from the tinyg and adjust the digital potentiometer accordingly to set the laser's power. It's definitely a bit of a work-around but it was effective. I also added a DC-DC to regulate the 12v down to 5v for powering the teensy and the relay coils.

      Delete
  5. Please post some more details of this setup as even i am trying to setup the tinyg for laser engraving...

    ReplyDelete
    Replies
    1. Just posted more details, see the response to the comment above from September 6th.

      Delete
  6. Hi, I'm trying to modify my X carve in to laser cutter but having some problems with the connection between TinyG and Co2 power supply.
    I'm using a 60W chinese made Co2 laser tube and power supply and Follwing are the connections I've made so far,
    TinyG pin , Spin-->In , pin of Co2 power supply
    GND --> GND
    But Laser is not turing on when I click 'Spin' on JCNC software.
    Where should I connect remaining pins of power supply like, TH, TL and WP??
    why is it necessary to use a relay on spin pin ??
    It would be great if you can tell me about the connection between TinyG and C2 supply, may be a picture or something.
    Waiting for your reply

    ReplyDelete