Posted on

Touch plate and probing functionality

I finally got around to connecting a touch-off plate and setting up LinuxCNC with a probe screen and a Z touch-off button.

Until now, I’ve always set up the workpiece coordinates on the machine manually. I usually used the “piece of paper method”, jogging the tool to the edges of the stock and sliding a piece of paper between the tool and the stock. Then I would click the Touch Off button and enter the proper offset to where the center point of my cutting tool was.

A probe routine can be used to detect the X, Y, and Z zero coordinates after you mount a part or piece of raw stock material on the CNC router bed. This sets the work offsets (e.g. G54) so the machine knows where the part is mounted on the bed and can command all the moves in the G code program relative to the zero point of the part, as was defined in the CAM programming.

If you’d like the details, here is the article on how to setup a touch plate and probing functionality in LinuxCNC.

Posted on

Electronics Box Completed

Carbon Fiber Electronics Box with Acrylic Cover

This electronics box was designed to accommodate the electronics components used for the recent upgrade. In the past, there was no electronics cabinet used. All of the components were just sitting on a shelf below the CNC router and all of the wiring was run directly from the machine to each component. With this new setup, there are disconnects on all of the wiring to allow easier service and upgrades to components.

The box layout was designed to separate the signal wiring and power wiring to minimize electromagnetic interference (EMI). The VFD is kept outside of the cabinet since it is a major EMI producer and I want easy access in case I would like to control it manually. All of the I/O and stepper signal wiring is on the top part of the enclosure, and exits the box through the top group of connectors. The power wiring and supplies are all located in the bottom part of the enclosure and run through the lower group of connectors. There is a buffer of more than 4 inches (10 cm) between signal and power wiring.

The layout also accounts for cooling and airflow. Cool air enters through a filter at the bottom of the front panel. Heat will rise off the heat sinks on the motor drivers, generating vertical airflow, leading to the exhaust fan that pulls air out of the top of the rear panel. The box will stand up in a vertical orientation.

The carbon fiber was made in-house, then the panels were machined with the Torsion CNC router, including engraving the text and graphics on the back panel.

Posted on

CNC Router Max Speed and Acceleration Testing

Once the main core of the electronics were installed and working, it was time to test and tune the speed and acceleration values.

First, the acceleration is set to a low value (750 mm/sec/sec) and then speed is gradually increased, testing each axis individually and also in concert with the others until the motors start stalling or missing steps. Another item that might limit max speed is if the ball screws start whipping.

With the Leadshine AM822 drivers, if the motors stall or lose steps the drive will set a fault and stop motion immediately. That makes it easy to detect when there is an issue and quickly find the maximum speeds.

In this case, the maximum speed on a single axis was 40000 mm/min or 1575 inches/minute (ipm). It was slightly less when driving X and Y together: 38000 mm/min (1500 ipm). 

Here’s a quick video showing this maximum speed, which was achieved not only using a Raspberry Pi to control the machine, but operating the Pi wirelessly over remote desktop from a laptop computer. It’s possible it would have run faster with a NUC computer running LinuxCNC.

The next step in tuning is to slow the speed down to around 50-75% of the maximum and then find the maximum acceleration that can be used without faulting the drives.

The operational limits for maximum velocity and acceleration will be set significantly below the maximum to leave a safety buffer. On a machine this size, there is no need to ever go faster than 500-750 ipm for rapid moves. Most cutting feed rates will be under 350 inches per minute, based on the recommended cutting speed and chip loads for the material and tool being used.

Posted on

2.2 kW Spindle Upgrade

Along with the electronics upgrade, a 2.2 kW Huanyang VFD and water cooled spindle has been installed in place of the previous DeWalt routers I had been using (both the DW618 and DWP611). The VFD is connected to LinuxCNC to enable it to be controlled automatically by the G code when files are run on the machine.

I’ve read many (sometimes conflicting) opinions about water cooled vs air cooled and 110 vac vs 220 vac spindle motors. So, going forward I will be testing each of the above for myself.

I’m starting with the Huanyang HY series VFD. This specific model is for 110 vac input and 110 vac 3 phase output. The spindle is a 2.2 kW 110 vac 3 phase 400 Hz motor with water cooling. The cooling pump is a submersible aquarium style pump that is being controlled from LinuxCNC to automatically turn on and off when needed.

I tested out two methods of controlling the VFD. The first method is using the Mesa 7i76e, which has a dedicated terminal block for analog spindle control. The second method is RS-485 control direct from the PC to VFD.

All the details are documented in an article on controlling a Huanyang VFD and spindle from Linux CNC 2.8.

Posted on

LinuxCNC Setup and Connecting I/O

After getting the Raspberry Pi 4 running with LinuxCNC and talking to the Mesa 7i76e board, it was time to wire up the inputs and outputs and configure LinuxCNC for them.

I added disconnects to all the wiring coming from the CNC machine. These will mate with either the new electronics box or the previous Gecko G540 and PC setup. Then I ran wiring internally from the electronics box disconnects to the Mesa 7i76e inputs and outputs. I am documenting all of the connections and will publish it soon.

I am currently using inputs for combination home/limit switches on each axis and the emergency stop switch. Outputs are setup for controlling compressed air and the solid state laser. Compressed air is used for laser assist, chip evacuation, and mist coolant. More inputs and outputs will be wired up later.

For now, I’ve written up the steps I took to configure LinuxCNC 2.8 for the Torsion CNC Router, using Leadshine Drivers and Mesa 7i76e board.

Posted on

CNC Router Electronics Upgrade

I will be testing a new electronics package for my CNC router. I’ve had these components for some time now but haven’t prioritized setting them up until now.

Back when I first designed my CNC router, Leadshine drivers were significantly more expensive than the Gecko G540 that I ended up using. They have since become an attractive option, so I have been wanting to try them out. I am also interested in testing a toroidal power supply, using the Mesa 7i76e again, and seeing how the Raspberry Pi 4 works as the control computer running Linux CNC.

The existing electronics will be left as-is except for the addition of disconnects that will allow easy swapping between the two configurations. 

The existing configuration is this:

  • 7.3A 48 vdc switching power supply
  • Gecko G540 4-axis stepper driver
  • Desktop computer running LinuxCNC
  • Parallel port interface to the G540
  • Tested a Mesa 7i76e ethernet FPGA board in place of the parallel port interface

The new configuration:

  • Toroidal 48 vdc power supply 
  • Leadshine AM882 stepper drivers
  • Raspberry Pi 4 running LinuxCNC
  • Mesa 7i76e FPGA board (with ethernet interface to PC)
  • 24 vdc switching power supply for the 7i76e board and for field power for all the I/O.

The machine itself is not changing (steppers, homing switches, etc.)

I’m also designing an electronics cabinet that will hold all the components for the new configuration.

I started this project by laying out all my components on a table and coming up with a rough layout and footprint. Next, an electronics box was mocked up with some scrap wood to better understand the sizing, layout, and wire routing. 

As a result of this mock-up, I figured out what to do differently and created a solid model of the new design. 

I will build this new design later. For now, I just want to get all of the electronics up and running and work out any other issues that may come up.

I decided to try out the Raspberry Pi 4 as the controller computer since I had one laying around and I see there is now an official LinuxCNC build for it. I also didn’t want to change the configuration of my existing CNC PC, so I can plug it right back in to the G540 if I run into issues getting this new configuration working.

I took notes on the process and documented it in this setup guide for the Raspberry Pi 4 with LinuxCNC and Mesa 7i76e.

Posted on

DIY CNC Plans Completed

I’m excited to announce that the DIY CNC plans package is finally completed. The machine will be called the Torsion CNC.

I’m working on testing the secure payments page before it goes live. I’ll be sending out an update when the plans are available for purchase. For anyone who signed up on this site for either the free guide or the plans waiting list, you’ll have a special offer available to you. You’ll see an email with the details soon.

Posted on

DIY CNC Plans Update

Just a quick update that the drawings are now completed and are in a review process.  An instruction manual is in the process of being drafted. It will go along with the drawings to provide some additional explanation and tips on building the machine.  It is expected that the plans package will be ready by the end of the year.  A purchase page will be added to this website and another announcement made here.  Those of you who signed up ahead of time on the plans page of this site will be given first priority for hard copies of the plans, along with a coupon for the plans (you can still sign up now).  Digital copies of the plans will also be available at the same time for purchase by anyone.

The plans consist of a drawings package and an instruction manual.  There are 70 sheets of drawings including fully dimension-ed views of each part that will be fabricated, exploded views of various assemblies, and parts lists for each sub-assembly.  The instruction manual provides a suggested build order, methods, tips, and some additional detail to complement the drawings. The manual also includes information about the control hardware and software that is external to the CNC machine.

Posted on

Laser Installed for Engraving and Cutting

After a lot of research, I chose a NUBM44 6W 450nm solid state laser. I was debating whether to use lower powered lasers that could produce a finer beam, but I wanted to try the higher power in case it could cut thicker materials or work at faster speeds. So far, I am happy with the choice. I am getting an engraved line that is 0.5mm wide in wood. That is fine enough for the work I envision doing with it.

I purchased the laser, driver, and heatsink all as a package. The driver has two wires for the power supply, and it has an on/off control line, but there was no wire provided. I would have to solder a wire to the driver board, which is inaccessible since the board was bonded inside of the heatsink. If I were to do it again, I would order the driver separately or ask to have a lead added for the control line.

My workaround was to connect a 12 vdc relay between the power supply and the laser driver. I wired the coil to the 12 vdc supply and Output 1 of the G540, pin 5 of the breakout. The switch contacts of the relay control the 12 vdc supply to the laser driver. I’m using M62 and M65 to switch the laser on/off in the g-code.

Here’s a video of my first project with the laser.

Posted on

Emergency Stop Switch Installed

I haven’t had a need yet for an e-Stop switch, but I figured I should go ahead and install it before the need arises! I’m still amazed at how quickly I can model a part, create the CAM setup, and then create the part on the CNC machine. It took less than an hour to model the bracket, create the CAM setup and toolpaths, and produce a g-code file to bring out to my machine, all with Fusion 360. I cut the bracket from some scrap 0.25” plywood and mounted the switch on the front of the machine. One side of the switch was wired to pin 10 on the Gecko G540 breakout and the other side connected to ground on the power supply.

cnc e-stop switch