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.
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.
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.
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.
With the spoilboard surfaced, it was finally time to make those parts for the dust shoe that I designed a while back. My design integrates an exhaust deflector, but rather than deflect it out into the surrounding air, it deflects the router exhaust into the vacuum. The thought being that the vacuum might improve cooling through the router, and the additional velocity of air could improve the suction around the end mill. I also incorporated a magnetic removable brush so that I can easily switch between different lengths depending on the length of end mill installed. A little cam lever was added to the side of the mount to enable activation of the spindle lock button to change bits without removing the whole dust shoe. This was the design concept.
Since I have no idea how well this dust shoe will perform, I’m making a prototype first to test it out. In order to save on cost, I split the parts up into two 0.5” high sections and one 0.75” section. I first tried to cut parts out of MDF, but it was too weak and some of the smaller details broke off during milling. The 0.5” parts are cut from 0.5″ HDPE sheet and were epoxied together after being cut out. The brush holder and the 0.75” thick section that clamps onto the router are made from wood since that is what was available around the shop here in the proper thicknesses. Epoxy was used to hold the magnets in place and to attach the brush. Here is a quick video of the build and test fit.
Before making any more parts, the spoilboard needed to be surfaced. In order to use the 1-3/4” surfacing bit with a ½” shank, a new mount was needed to allow use of the DeWalt DW618 router. I quickly modified the CAD model of the existing mount, created the CAM setups, and cut out some new mounts from some scrap 3/4” Oak plywood. It is so nice to have a machine to make parts on now! The drill press was used to make the holes for the clamping bolts.
With the DW618 mounted, I surfaced the spoilboard by finding the lowest spot and setting the Z height right at the surface. I turned the router on and then manually jogged it around to surface the area.
I came up with an idea for a simple way to quickly hold things in place on the bed of the machine. This should work for any size object that I want to work with, in any position on the bed. I attached 2 T-tracks to the bed, outside the working area. Then I made a sled with 90 degree corners with another T-track mounted on it. This will hopefully allow easy clamping of any size stock at any location on the bed. I plan to use a few different styles of clamps and/or stop blocks to attach to the t-tracks. It will be easier to show pics than try to describe the setup and the many options it will allow:
On the other end of the bed, I attached a T-track with some low-profile cam clamps, that wedge the spoil board in place. I will eventually mount this t-track to the longer tracks, similar to the image above.
While attempting my first cuts with the machine, I learned how much pulling force an upcut end mill has. I will need some clamps to hold down my spoilboards/fixtures. In addition to the material being pulled up towards the router during cutting, the wedges I used (only hand tight) vibrated loose and the stock moved during cutting.
Switching gears from the dust shoe components that I had planned to cut out, I modeled some clamps in Fusion 360 based on a few designs I had seen. Here is video I made showing the first successful project with this machine and the finished clamps that it produced! Still not having clamps for this operation, I hammered wedges in place to get them very tight and I also used longer screws to hold the stock down more securely. Everything worked out well.
I added a spoil board and am just finishing up a design for a dust shoe. I hope to cut the dust shoe parts out on the machine shortly.
I finally got around to uploading a video of the machine performing a run through the air. This was one of the example files that came pre-loaded with LinuxCNC. It is cutting a 3D profile of a penguin (the LinuxCNC logo). I didn’t change any settings or edit anything in the G-code, just ran the file as it was.
The workbench that I have the machine sitting on is pretty wobbly when the machine starts accelerating quickly, but the the machine itself is very solid.
Now that the machine is fully assembled, I could connect all the wiring, power up the machine, and drive it around a bit!
I didn’t mention in prior posts, but in between other steps while waiting for glue and/or epoxy to dry I worked on the electronics. I soldered together the serial connectors and resistors for the steppers, wired up the power supply, then connected everything to the Gecko G540 and an old PC. I installed Linux CNC on the PC and ran through the setup wizard. I was able to run the steppers and test everything out on the bench before they were installed on the router.
I started the machine checkout by driving each axis back and forth manually, checking the travel to ensure the actual travel matched the commanded distance. It did not match at first and I believe had to go back and change the microstep settings. With the distance corrected, I slowly increased speed and nervously continued to drive each axis back and forth, faster and faster. I homed each axis and set up conservative soft limits so I wouldn’t accidentally run the machine off the end of an axis. Everything looked good, and I was able to get up to the maximum speed, as limited by Linux CNC, based on the conservative latency settings I had entered. This was about 12500 mm/min or about 500 ipm. I may try increasing the maximum step rate settings (lowering my conservative jitter setting), but for now this is plenty fast. Per my design calculations, it should be able to run significantly faster.
With everything working well in manual mode, I loaded one of the sample files that came in Linux CNC and ran some test “cuts” through the air. First 2D, then some 3D profiling. That was really exciting to see the machine running around for the first time on its own! I had to call my wife out to the workshop to watch it with me, and lucky for me, she was equally excited to see it finally running!
My first “real” test was to install a pencil in the router collet and manually draw a square on a piece of paper, using the built-in set-distance jogs. I measured the sides of the square and compared the cross corner measurements to check accuracy and squareness of the machine. The distances looked dead on, but the squareness may be out by a few thousandths. I’ll have to make some proper cuts to be able to measure it more accurately.
Before I make any cuts, I want to install drag chains, a dust boot, the e-stop switch and perhaps some limit switches.
The stepper/ball screw/support assemblies were ready to be attached to the machine. I used some K clamps across the width of the machine to use as supports to lay the assemblies on while I worked on aligning them properly.
First, I determined the front-back positioning. Moving the gantry to one end of travel, and the ball nut to the same end of its travel, I aligned the center of the ball nut coupler with the center point between the X linear bearing blocks. Then I clamped the assembly in place on that end. Moving the gantry and ball nut to the other end of their travel, I aligned the ball nut coupler with the center of the linear bearing blocks and measured the extra travel available on the ball screw. I split this measurement in half to allow equal space on both ends. I readjusted the position accordingly on both ends and clamped in place again.
To get the vertical alignment correct, I mounted the wooden piece to the ball nut coupler that would attach to the gantry. I moved one end up to the gantry, readjusting the k-clamp to set the new height, re-clamped the assembly, and then moved the ball nut and gantry back to the other end and repeated.
With everything in place and aligned, I unclamped one end at a time, applied wood glue, and re-clamped.
I then repeated the whole process for the second X axis drive assembly on the other side of the machine. After the glue was dry and I reconfirmed the alignment was still correct, I glued the pieces in place that attach the ball nut couplers to the gantry.