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.