Turn an optical mouse in an XY encoder


Results 1 to 13 of 13

Thread: Turn an optical mouse in an XY encoder

  1. #1
    Registered
    Join Date
    Sep 2006
    Location
    Romania
    Posts
    10
    Downloads
    0
    Uploads
    0

    Question Turn an optical mouse in an XY encoder

    Would it be possible?Has anyone tried it yet?Apparently,regular sensor IC's in cheap optical mice boost enough resolution for using in a homemade CNC design which suffers from backlash or nonlinearity of leadscrew thread.Adding a simple microcontroller electronic interface for processing the data would adapt it to any design needs.
    If anyone has tried it,or knows any important drawback in using them I would appreciate your feedback.

    Nitro

    Similar Threads:


  2. #2
    Registered
    Join Date
    Jan 2007
    Location
    USA
    Posts
    634
    Downloads
    0
    Uploads
    0

    Default

    I thnk its been discussed before in some depth, if not here on another CNC site. You might want to Google it.
    At any rate, it is pretty much a non-runner, though I don't remember precisely why. I do know there were a few good reasons it didn't work well.

    What about those Agilent/HP made HEDS encoders? I see them all the time on Ebay for nothing. I keep buying new steppers for like 15 bucks with them already installed on top, and I see them new by themselves for 5-15 bucks all the time. I just can't see building anything cheaper than that. Even new retail they are only like 35-50 bucks I think.



  3. #3
    Member
    Join Date
    May 2006
    Location
    Australia
    Posts
    2420
    Downloads
    0
    Uploads
    0

    Default

    I started something similiar :

    http://www.cnczone.com/forums/showthread.php?t=38072

    It is a work in progress, busy for a few weeks at the moment, will pick it back up again...

    Russell.



  4. #4


  5. #5
    Member
    Join Date
    May 2006
    Location
    Australia
    Posts
    2420
    Downloads
    0
    Uploads
    0

    Default

    Awsome links !!! Cheers Dertsap

    I especially love the idea of using old HDD's and VCR's for the bearing/shaft assembly - genius

    Though I cannot think of where to get any old VCR's, its been years since I have seen a working one... dead HDD's appear all the time, and thinking about it, a CDROM may have something useful inside as well...now where did I leave my hammer !

    Russell.



  6. #6
    Member Switcher's Avatar
    Join Date
    Apr 2005
    Location
    United States
    Posts
    3634
    Downloads
    0
    Uploads
    0


  7. #7
    Registered
    Join Date
    Sep 2006
    Location
    Romania
    Posts
    10
    Downloads
    0
    Uploads
    0

    Default

    Thx 2 everyone for the replies.I've studied the links but unfortunately I can't find anything practical about using the sensor IC of an optical mouse ( not the rotary encoders of ball mice).In the meantine I found something else that would be perfect for my needs...some old HP inkjet printers 660C,690C which seem to use optical encoders.There's a pretty nice scale in there (about 6 lines / mm ~30cm long) and of course the reader.Anyone tried them ?



  8. #8
    Member JEST's Avatar
    Join Date
    Nov 2006
    Location
    United States
    Posts
    227
    Downloads
    0
    Uploads
    0

    Default

    I have been watching the various diy mouse projects.
    This morning I played with it out of curiosity
    I am using the kiss principle.

    1) Plug an old serial mouse into com1 of newer XP pc

    2) Write a simple VB form to monitor the comm port. Display the mouse activity to a text box.

    I run my cnc thru lpt port, and use a ps2 mouse. If I don't want to add more hardware, there are more 2 more options. Comm port or USB port. As I still have a few serial mice around, it seemed easier to plug that in. Also, XP wants to recognize the USB mouse, while ignoring the serial mouse (as long as it is not plugged in at boot). I picked the serial mouse to avoid getting forced to use a specific Windows mouse driver. (any mouse should work)

    My thinking is that I can monitor the tracking accuracy thru the serial port, via DRO. Once the details are worked out for accurate, current position... Then use VB to send the data, as my encoder feedback for the CNC. This would give me an independent DRO and/or a closed loop stepper system.

    No problem monitoring the mouse feedback. I don't have a clue how to decode it though. I am able to isolate the button feedback, but not the XY data. It's there, I just don't have enough VB experience (yet) to make sense of it.



  9. #9
    Member
    Join Date
    May 2006
    Location
    Australia
    Posts
    2420
    Downloads
    0
    Uploads
    0

    Default

    Not too sure what you are after, do you want a linear scale or rotary ?

    That strip off the printer will be a linear encoder, the sensor will still read quadrature from it to calculate the print head's position, this coupled with the little DC motor forms a servo system with linear encoder instead of rotary.

    I'm not too sure about using an optical mouse pickup, I have thought of this but I can't see how to get it accurate, or even how to use it, I believe they are basically a 16*16 pixel CCD element, I have heard of people using them as basic camera sensors, but for positioning...dunno

    Russell.



  10. #10
    Member JEST's Avatar
    Join Date
    Nov 2006
    Location
    United States
    Posts
    227
    Downloads
    0
    Uploads
    0

    Default

    I see the appeal of using an old serial mouse for a 2 axis encoder.

    No other electronics are required to safely plug into any computer.
    Most have 200 counts per revolution.

    Using a ¼" gear (6 teeth) on the wheel shaft, mated to a 1" gear (48 teeth) yields .0005 inches per linear inch return. This ratio is at the design ratio of serial mouse electronic response speeds. (printer cannabilizing for gears!)

    For most DIY routers...
    Rapid/feed will never out run the mouse tracking ability (inches per second)
    More accuracy than the frame work flex/tolerances can hold.
    Could easily be upgraded to any 5v logic Quad encoder.



  11. #11
    Member dertsap's Avatar
    Join Date
    Oct 2005
    Location
    canada
    Posts
    4230
    Downloads
    1
    Uploads
    0

    Default

    the problem a guy can face with this type of setup is dust ,
    everything needs to be kept very clean which means everything needs to be sealed fairly tightly , also from what i have gathered in reading up on using mice is that they are prone to inaccuracy



  12. #12
    Registered
    Join Date
    Sep 2006
    Location
    Romania
    Posts
    10
    Downloads
    0
    Uploads
    0

    Default

    @ epineh: Maybe I haven't given enough details.What I needed and I think would help a lot of DIY CNC people was a cheap way to feedback a "not so accurate" mechanical 3 axis table using stepper motors and leadscrews.Main problems would be the backlash of the screws and the non-linearity of the thread.So I thought that linear encoder feedback would be a neat way to solve these.Unfortunately commercial encoders are not quite cheap,so I had to go for the DIY.My 1st thought was using a sensor IC of an optical mouse which would move with the table,but close to a static surface (~2.3 mm) like the frame of the machine.It could be very accurate(at least 400 DPI) in a dust-free environment but that's not quite the case...so I guess it wouldn't work as expected.Still curious if someone obtained resonable results.As I wrote earlier,meantime I found the complete solution in old HP Inkjet printers but still haven't tested it.



  13. #13
    Member JEST's Avatar
    Join Date
    Nov 2006
    Location
    United States
    Posts
    227
    Downloads
    0
    Uploads
    0

    Default

    As long as everyone understands we are not talking about industrial applications here...

    I think most of the mouse conversion failures have been due to trying to make the mouse do something it wasn't designed to handle. To put it another way, they took the mouse out of the "box". The theory of "mouse" operation hasn't changed. Detection methods have improved, but XY is still XY.

    That being true, the mouse is by design going to provide a stream of XY data, and provide click data (limit switches!). By only using the mouse in the speed ranges it is designed to operate in, it should be dependable. If air is controlled by filtering an incoming fan (thus providing positive atomspheric pressure), then dirt/dust should not be an issue.


    If he actual position detection is based from the carriage (not the screw), then you eliminate nut backlash readings. This is convenient as it is also an intersection of 2 axis.

    And as far as accuarcy, if you reverse the gears (1" on Screw, ¼" on Mouse).

    Using ¼/20 thread screw, thats 20 rpi
    Mouse is 200 cpr
    Screw turns 4 times for one Mouse turn
    Thats .2" outputing 200 counts, or a resolution of .001
    The Mouse rpm is at ¼" the Screw rpm



Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


About CNCzone.com

    We are the largest and most active discussion forum for manufacturing industry. The site is 100% free to join and use, so join today!

Follow us on


Our Brands

Turn an optical mouse in an XY encoder

Turn an optical mouse in an XY encoder