Close

Testing Accuracy

A project log for Cheap and Easy to Build 3D Printer

A budget 3D printer that is easy to build with basic tools. A closed loop system using optical mice is to be used for greater accuracy.

sugapesSugapes 06/28/2014 at 23:100 Comments

The crux of this project is of course what kind of accuracy to expect from the mouse readings, so I have been doing a lot of experimentation to try and figure out what to expect.

Unfortunately even with all the trials I did so far I cannot yet tell for sure that I can get enough accuracy/repeatability to be of any use for a 3D printer. On ideal conditions, for instance with slow movements, and on a good surface, it seems that the results I am getting are much more consistent. But as soon as the movements are a bit more erratic, and with enough acceleration, then errors start building up quite quickly.

Strangely enough I get somewhat less error accumulation when the mice are connected to the PC  than when they are connected to the Arduino DUE. I might still have some issue in the PS/2 communication that is making matters worse, so next step is actually checking that my method of reading data from the mice is sound. Of course that on the PC side I had to turn off the mouse acceleration (with a known registry hack) to have meaningful readings in Windows.

From the start I didn't expect this to be easy, and my plan to mitigate the errors accumulating included using several mice, and take advantage of the geometric relations among them to figure out where the errors are. That is why you can see the weird contraption below with several mice scotched to a piece of cardboard. In this particular configuration all the readings on all the mice should be the same (if we exclude movements with rotations), but the reality is that after a while they start to diverge. One simple idea for an error reduction algorithm in this case, would be to take the max value of all the readings, being that it is probably the most correct one. The reason behind it is that due to the way an optical mouse works, it is reasonable to assume that it should not over report a displacement.

I guess that I still have a lot of research to do on how to adequately mitigate the errors I am seeing, and I hope that there is a solution waiting to be found. In any case I am starting to see that my chances to having something ready before the THP contest deadline are slim to none, but that was just the excuse to get me started.

Truth be told, this question of using optical mice for closed loop robots/whatever has been scratching my mind for quite a while now, and now that I am on it, I feel that I cannot be stopped!

I have this gut feeling that this should be possible, just don't have yet the full solution for all the problems.

Discussions