Can An Optical Mouse Be Used To Measure Distance Down To 1-10μm?


Answer :

I have tried this before, using an Avago sensor harvested from an optical mouse.

It doesn't work.

The resolution is excellent but the accuracy is terrible. And the calibration varies with distance from material to the sensor.

I arranged a test with a 3" diameter wheel and the sensor reading the outside "tread" of the wheel. I also put a flag on the wheel, passing through an optical interrupter sensor. The number of counts read per revolution varied by a few tenths of a percent, nowhere near good enough repeatability for machining.

I guess you could use the optical mouse sensor in combination with an accurate but low-resolution sensor to fill in the in-between points. But really, I think other sensor technologies are more appropriate for this.


Neat idea. I considered using a hacked Livescribe pen with special dot rails for the same purpose, then an absolute location would be provided, rather than the relative location a basic optical mouse would provide. I know the pen claims to have precision to 1µm, but it's hard to say the accuracy. I still think this is a good idea; I just haven't got around to trying it. If you do try it, please update us.

As for optical mouse parameters, you'll want to look for high DPI. In your case for 1µm resolution you want more than 25,400 DPI. Needless to say that is rather high. A basic optical gaming mouse might have a DPI of 2,500. Again, that's precision, not accuracy. Optical mice are probably not the way to go.


If you're using a leadscrew-based system, you can put optical encoders on the ends of the screws. Harvesting the guts from a ball mouse would give you some high resolution encoders and most of the control circuitry as well. I can't find the resolution of a common encoder wheel, but the ball acts as a significant gear-train internally, so perhaps a similar mechanism can be applied.


Comments

Popular posts from this blog

Converting A String To Int In Groovy

"Cannot Create Cache Directory /home//.composer/cache/repo/https---packagist.org/, Or Directory Is Not Writable. Proceeding Without Cache"

Android How Can I Convert A String To A Editable