In the previous post (how not to make a CNC Mill Part 1) we covered the mechanical beginnings of our humble CNC. This post, we go into a bit more detail on the exact problems encountered and the solutions.
The mill needed some electronics. A few A3982 boards were whipped up and chemically etched to provide control electronics. A printer cable was broken out into some perph board as a way to get at the signals on the parallel port of the PC.
So here it is, a listing of (nearly) everything that went wrong and most of the fixes that were tried to remedy the issues. Hopefully, this list will help others to quickly identify problems and evaluate several different solutions.
After everything was put together, the AXIS logo was drawn with a pen. The first thing that was notable was that the bed of the mill was so crooked that the pen being used didn’t even come into contact the length of the logo.
So, in order to even run the first test – drawing the “AXIS” logo, the bed needs to be leveled out. Since the axises were mounted by drilling holes into MDF, all of the sides can be re-drilled and re-cut, or we can go about it in a different way.
Instead of rebuilding large portions of the mill, a “sacrificial” bed will be used. The sacrificial bed will attach to the main bed and a large diameter cutter will be used to mill out as much of the surface area as possible, down to a depth that provides a nice level surface so the plane of the bed is parallel to the linear rods.
Now that the general surface of the bed is now parallel to the X and Y travel, the Z access is not completely perpendicular (evidenced by the ridges in the finish). To much of this type of misalignment will cause issues when trying to do 3 dimensional milling and also drilling through thick material with small diameter drill bits.
The way the dremel mounts were designed is the problem, but also part of the solution. There is enough slop in the screw holes that a large diameter cutter can be chucked up and put against a perfectly square block for reference. This allows to visually inspect for misalignment (which works surprisingly well) and make the necessary adjustments.
If you were actually in a situation where Z axis perpendicularity really mattered (like real 3D milling), this method might not work as well, but seems to get us into the ballpart so we’re not breaking off the 15 mil diameter bit when drilling vias.
Now that the misalignment(s) have been minimized to a point that is workable, it’s time to try mechanically etching a board. One of the things that really needs to be stressed here is that the engraving bit is only going 5 mils into the surface of the PCB (slightly less than the diameter of a human hair). Any variation in this height results in different cutting width. As the board was being run, a definite problem was aparent, there was visible flexing of the Z axis, which means that all bets are off – we’ll never hold the 5 mils if there’s visible flexing of anything.
This probably wasn’t an issue with the orignal Mantis 9 design for two reasons: the plywood used was likely more rigid, end-mills were used for milling PCB’s, not engraving bits. This greatly relaxes the requirements for a dead-accurate z-axis since depth isn’t nearly as important.
The first issue that had to be remedied was the slight flexing the z-axis had (even when stationary). As you can see from the photo, the threads that were put into the MDF weren’t very secure. Evidently, MDF is quite strong as long as holes are put in perpendicular to the face. However, when holes are placed parallel to the primary face of the board they tend to split layers apart, resulting in very insecure mounting points. This insecure mounting coupled with a slight flex in the MDFwas the primary culprit of the z-axis flex.
The relatively simple fix for this was to add supports along the bottom of the MDF. The supports are secured with one screw through back top of the MDF to supporting pieces of plywood. There are also two additional mounting points with threaded inserts on the front of the new plywood support pieces. These additional mounting points provide a secure connection for the back of our Dremel mount. After the additional support was installed, the flexing went away.
One of the more curious looking problems to find with CNC’s is backlash.
The way this mill converts the rotational motion of motors into linear motion on each axis is with the lead screw and a nut. As the lead screw rotates the nut is fixed to an axis and depending on the type and quality of the nut, there are different amounts of clearance between the threads of the nut and the threads of the lead screw. It’s this clearance that creates backlash. As the lead screw rotates in one direction the threads are fully engaged with the threads of the nut and the lead screw. However, when the lead screw changes directions if there is any clearance between the threads, the lead screw must first rotate enough to take up that clearance. At this point, the threads will engage again and the nut will begin to travel along the lead screw again. It is this amount of clearance that leads to backlash, because as the leadscreen changes direction, the axis doesn’t immediately follow. This is most obvious when milling circles – they wind up having points. In the picture below, the backlash was so bad that entire traces disapeared.
Initially, the nuts used on this mill were brass. The nuts traveled extremely easily along the lane to the lead screw, but the problem was that there was a small amount of free movement laterally (the clearance discussed above). This movement translates into backlash, so the lateral movement needed to be eliminated. There are several ways of going about eliminating backlash. However, in this circumstance the simplest method was to create a custom Delrin nut. Delrin is an engineering plastic that machines very similarly to aluminum. The advantage in using Delrin is that has a very low coefficient of friction – therefore it slides along lead screw very well. Normally, in order to create a custom tapped nut you would need an ACME tap. However, in this spirit of keeping costs down a homebrew tap was created (a separate
article details creating the custom Delrin nuts). The downsides to using these Delrin nuts is that eventually they will wear. There are several commercial alternatives that should last much longer and perform as well or better.
The most common type of anti-backlash nut found on DIY mills is essentially 2 nuts pushed apart by a spring. This spring forces the two nuts apart taking up any clearance between the nuts of the thread and the lead screw. Since there is no space between the threads in the lead screw and the nut, when the lead screw changes direction, the nut (and axis) immediately follows.
On large professional mills, an entirely different type of technology is used called ballscrews. Ballscrews fixed both the issue of backlash and friction. With ACME lead screws and nuts up to 40% of the energy put into driving the leadscrew is dissipated as heat due to friction. Ballscrews, however, are around 90% efficient because the nut is essentially ball bearings. Unfortunately, ball screws are out of the range of most DIY mills due to their high cost.
Another issue was PCB fixturing. Since our goal is 10 mil trace and space the PCB needs to be well secured to the table while milling. There are several methods that seem to be popular. Some include taping the PCB to the milling table, others actually superglue the PCB to the milling table in order to keep it flat and secure. However, our milling table is MDF – this won’t fare too well against superglue and acetone. Duct tape was tried first – this didn’t adhere well enough to the MDF.
Attempted Fix 1
Next, clamps were used to hold the PCB from the edges.
These clamps secure the PCB quite well, the issue was that they provided enough clamping force to warp the center of the PCB, forcing it upwards. A different clamping method is going to be needed – one that Will securely hold the board in place and also hold it flat against the table.
Attempted Fix 2
Some of the more expensive ($10k-$20k) Mills use vacuum tables. These vacuum tables solve both problems of securing the PCB in place and holding it flat against the milling table. A feeble attempt was made to create a vacuum table using plastic and RTV. This did not work out well.
This vacuum table leaked too much to to be useful and required too much airflow. It’s also hard to tell if this vacuum table would work well when holding the PCB and drilling since holes in the PCB will create leaks and reduce the amount of suction. Given enough airflow, these problems can be overcome.
Eventually, positioning pins were used to secure the PCB and a constant pressure foot was used to flatten the PCB to the milling table. This pressure foot puts enough pressure around the milling bit too compress the PCB, pushing it against the table and providing a nice flat surface for milling, which greatly reduces the variance in cutting width. The disadvantage to this method is that the PCB material needs to be slightly over-sized in order for the pressure foot not to run off the edge. If the foot runs off of the edge of the PCB during milling, as the foot travels back onto the PCB it will have trouble going over the steep edge of the PCB an either cause a discontinuity in the trace or cause missed steps.
Because of the inaccuracies involved in manually cutting the sides of our mill, there was a misalignment between the motor mounting holes and lead screw holes. This misalignment results in either a reduced running speed or occasional missed steps – neither of which is desirable.
Attempted Fix 1
Traditionally, shaft misalignments are taking care of by shaft couplers. There are several different types of shaft couplers, each having their own merits. Again, in the spirit of trying to get by with what was on hand, some homebrew shaft couplers were thrown together using different diameters of tubing. These worked surprisingly well – in fact the y-axis is still using one of these couplers successfully. However, the x-axis was a different story – there was enough of a misalignment here that the tubing didn’t work out so well.
Attempted Fix 2
Ebay to the rescue! Search eBay for CNC shaft coupler and you’ll find quite a few results – most of which are directly shipping from China at what seems to be a very reasonable price. The problem with these couplers is that they did not work well for CNC machines. After getting our backlash issues straightened out they came back after installing this type of shaft coupler. The spring action of these chefs couplers is not only present radially, but also axially – they stretch and compress as the lead screw changes directions! This is obviously unacceptable. There are other types of staff customers that are made specifically to take up radial misalignments, but none were found in an acceptable price range.
In this case, the fix was to eliminate as much of the misalignment as possible and then fabricate a very simple rigid shaft coupler. This has the disadvantage of transferring what’s left of the misalignment into force. Below is a picture of an off-the-sheft rigid shaft coupler and a DIY version, which has the correct bore sizes required for this application.
After getting all these problems straightened out, it was time to start trying to make something meaningful. A few different small engraving projects were done on the mill. As long as the project was small and the total distance was small, things worked out just fine. Problems started to pop up when drilling holes in PCBs – which had a fair amount of travel across the surface of PCB. There was also very peculiar behavior when attempting to mill traces on PCBs – they were all over the place. After a while these inaccuracies were tracked down to missing steps. This was done by drilling two holes several inches apart many times. Any missed steps translated into a hole being drilled in a slightly different location. Now, the question is “Why are we missing steps?” Noise was once suspected issue. The motor wiring was cleaned up, but to no avail. Different drivers were being used to drive the X axis and Y axes. Since the Y axis did not appear to be missing steps and the x-axis was, the X axis driver was placed on the y-axis. The y-axis then began to miss steps. For one reason or another, the A3982 stepper driver had some major issues and was no longer reliably driving the stepper. These chips have a tendency not to like being back driven (moving the axis when the chip is powered down), which was likely the cause of the failure.
The Fix (hopefully)
One of the long overdue items on the to-do list was to make a proper driver board for controlling the home switches and stepper motors of the mill. Slightly different drivers were chosen, the A4982, which are slightly less expensive than the A3982, but provide better micro-stepping capability and the same amount of peak current drive. You can read about the design on the CNC Controller page. There’s also a wiki page which details some of the early goals of the CNC driver board.
Eventually, the runout of the Dremel is probably going to be an issue. An attempt has already been made to minimize runout by adding some paper around the spindle bearing – only time will tell if this has worked or not, but only after the mill is up and running again!
A “real” solution would be to get a better rotary tool (i.e. Proxxon) or to fabricate a custom spindle. But we’ll see how the Dremel plays out first.