Accuracy problems

Having seen the massive bases for mini-mills and such, I knew intuitively that a light structure should not be able to produce very precise movements, especially when loaded. When I drilled 12 holes in a test piece and measured it with the tape, the error of almost -0.05" compounded over 1 ft. The distances between holes, measured with the caliper, were randomly off by +/- 0.01" - 0.02".


After going through the articles about accuracy and backlash on CNC Cookbook, I made a list of potential error contributors:

  1. High friction in the sliding element could produce overall negative error (lots of skipped steps), and could make the movements jerky
  2. Threaded rod could be inaccurate (it's all-thread, not Acme)
  3. Threaded rod mount support (two screws) could be flexing
  4. Motor shaft connection (electrical tape to fuel hose to electrical tape to rod) could be slipping (skipped steps)
  5. Threaded rod mount bearings could have some axial play
  6. Longer end of the angle could be flexing when pulled (lost motion, gained back as the end becomes shorter)
  7. Drill has some play in the spindle

I did not put the coupling nut in the list because the drill cycle does not involve reversals, but it would be an issue in other contraptions where reversals are involved - assuming that the accuracy problems are worked out.

Some things were easier than others, such as #7: the drill is fixed relative to Y axis, and the lateral error seems to be around +/-0.002, definitely not exceeding 0.005". With #5, I attempted to measure the axial play in the threaded rod support bearings under moderate load and it was also barely detectable - I think on the order of 0.001"-0.002".

I improved #3 by adding sawed off coupling nuts to the screws supporting threaded rod mounts. I also dealt with #4 by tightening a coupling nut with the lock washer at the end of the rod, thus getting rid of electrical tape between the rod and the rubber hose. It could probably come off after a while from vibration and lack of smooth acceleration, but it works as a temporary solution.

With #1, I loosened the bearings a little bit, but that didn't do much because I'd made the long sliding element from an older template with very little clearance between the bearings and the angle, so it stayed pretty much as tight as it was. Also, when a sliding element is too loose, the gaps appear between the bearings, angle and PTFE, resulting in the lateral slop. After I read a few articles on CNC Cookbook (friction, accuracy, backlash), I thought that perhaps this slide design is unworkable in principle, because it has too much friction to allow smooth precise movements.. We'll see.

Dealing with #6 would require different design of the contraption, so I didn't go there, though testing of a foot long piece could potentially rule this out.


#2. The threaded rod did have the twisted areas which could be felt when I ran it between my fingers. I noticed them initially, but did not pay much attention. Then, just randomly trying different things, I went to Home Depot and picked up another 3' rod which was relatively straight and didn't have obvious twists. This eliminated the large compounded error and seemed to improve accuracy. Later I made the imprint of the old threaded rod on a page of glossy paper, and measured it with a tape - the threaded rod was clearly guilty. The question remains how much the friction contributes to the errors. Visually, the X axis movement appears very smooth, but I guess it can actually be jerky on <1/64" level. If friction is not a factor, i.e. if it's just the threaded rod twisted in a few places, then repeatable error patterns should emerge, which in theory could be compensated by software. On the other hand, it could be more complex than that, with things like tension, elongation and direction of movement playing a role, especially under load - in which case the errors would seem random and unpredictable, and the compensation would become an impossible task. I have also considered trying 10-32 threaded rod, which should reduce the errors to 75% of what they are now. About as much slower, but it should also have lesser backlash.

I tried various things in order to identify the repeatable error patterns along the entire length of the threaded rod. One was attaching a Sharpie to the drill frame and running the modified drill cycle to mark the 1"-spaced dots on the angle. Unfortunately the dots were too fat to accurately measure the errors. Then I attached the caliper - this gave more accurate readings (0.01" resolution) but only allowed about 4" of travel, and it was a pain to move the caliper to other areas of the angle. Then I thought that the optical mouse could be used as a DRO. It did seem to work when I disabled the mouse pointer acceleration and set the mouse speed to fastest. I wrote a little script in Processing which printed X coordinate of the mouse whenever it stopped moving, and did several tests - 1/24" movements, 1/8" movements, 1" movements.

The problem was that I never knew for sure if the mouse movements were tracked accurately. First, the surface is aluminum, and AFAIK optical mice don't like reflective surfaces, so there might be inherent errors in tracking. Second, I don't know what is the contribution of the mouse driver with its pointer ballistics algorithm. Even though the actual movement is slow and smooth, there is instant acceleration and deceleration, which can be a source of errors. Third, I found a thread on CNCzone forums saying that a mouse did not work well as a DRO for some unspecified reasons. I think that newer, high resolution laser mice might just work, but that would be a separate project involving getting raw data out of the mouse, interpreting it correctly, comparing it against the real DRO, and, if tracking is accurate, writing a code to hook it up directly to a controller such as Arduino. Nevertheless I collected some data in Excel and built some charts. While actual caliper measurements on the drilled angle showed the accuracy within +/- 0.01", the mouse measurements indicated (I think incorrectly) a larger error, average +/- 0.02", peaking to +/- 0.05".

Finally I resorted to a simple measurement contraption consisting of a lever with the laser pointer and a 4 foot long paper strip with a printed scale, located 16 feet away. The lever is placed so that the laser spot moves 4 feet for each inch of X-axis travel, basically giving a 1:48 zoom. So far I measured a couple of 1-inch areas on the threaded rod, and the error does not exceed +/- 0.005" - which is not bad for all-thread. The compounded error might be more, but I can't easily measure the compounded error with this setup.

At this point I'm thinking that with the all-thread, the accuracy is only as good as the rod. So I ordered 1/4-16 ACME screw along with some round and square Delrin stock for couplings and lead nut. My expectation is that with ACME screw, the accuracy should improve to the point where the finished piece will be visually indistinguishable from the one made in a machine shop.