Answers.Body: <p>Lego gear teeth have a pitch of 3.2mm (I did not measure. Maybe trust the www?)</p>
  <p>You want .2mm or 200 µm.</p>
  <p>3.2mm / .2mm = 16</p>
  <p>Worm gears provide this with 360 degrees/16 = 13.5 degrees</p>
  <p>I'd suggest 4 motors, each driving one set of worm gears on the four corners of the platform being raised/lowered. Of course, you may not have four motors. Adding a gear train will lower the accuracy. There are 40 tooth gears, that when combined with the 8 tooth gears could work. The worm gears are tricky, they need to be braced; their symmetry is not obvious.</p>
  <p>Interesting problem.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-04-03T02:14:50.713Z
Answers.LastActivityDate: 2023-04-03T02:14:50.713Z
Answers.UserDisplayName: dfrevert
Body: <p>The image below is a LEGO specimen stage designed for a stereo microscope.  I am looking for a recommendation for a PC controlled motors that allows for very small and precise movements.</p>
  <p>I want use the motors attached to my specimen stage to make a very small height adjustment and then I want to send a command and capture an image from the camera-mounted to the microscope.</p>
  <p>Here is the workflow I hope to achieve by motorizing the specimen stage:</p>
  <ul>
  <li>On KeyPress (from with C# Windows application)
  <ul>
  <li>Activate stepper motor, adjust height (z-axis) by 100-200 µm
  (maybe 2-4 steps in a 200 step per revolution motor)</li>
  <li>Wait 200 ms (allow time for vibrations from movement to stop)</li>
  <li>Activate Camera - capture an image</li>
  <li>Save image (auto-named) to my folder.</li>
  </ul>
  </li>
  </ul>
  <p>Possibly using SDK like:
  <a href="https://github.com/pololu/pololu-usb-sdk" rel="nofollow noreferrer">https://github.com/pololu/pololu-usb-sdk</a></p>
  <p>Any Suggestions?</p>
  <p><a href="https://i.sstatic.net/yvn2l.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/yvn2l.jpg" alt="Lego specimen stage" /></a></p>
  <p>Working solution:
  The picture with the stepper motor on the input:
  <a href="https://i.sstatic.net/xYSqd.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/xYSqd.jpg" alt="enter image description here" /></a>
  Full View:
  <a href="https://i.sstatic.net/aItBj.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/aItBj.jpg" alt="enter image description here" /></a></p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-05-13T15:04:37.580Z
Comments.Text: What is "very small" ? How precise ? Did you account for the inherent slack in the system from the gearing (turning the first gear in a series of connected gears needs some movement before the last gear in the series starts moving) ? Does it need to be immediately reactive (is it allowed for the movement to take a while to occur and/or complete) ?
Comments.UserDisplayName: Sander De Dycker
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-05-13T15:21:33.897Z
Comments.Text: Worm gears are usually slow, but quite accurate.
Comments.UserDisplayName: Alex
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-05-13T17:07:58.837Z
Comments.Text: My first thought would be to hook a [servo motor](https://en.wikipedia.org/wiki/Servomotor) to an [Arduino board](https://docs.arduino.cc/learn/electronics/servo-motors), and use the Arduino's serial-over-usb capabilities to receive commands from a computer. However, the slack inherent in technic gears is gonna be an order of magnitude larger than the precision of any half-decent servo. If the goal is to raise/lower the platform repeatidly, *two chained worm gears* might be a better option.
Comments.UserDisplayName: IvanSanchez
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-05-13T17:14:19.787Z
Comments.Text: The slack in the technic gears are a problem.  I am currently minimizing this affect by always adjusting upward because weight of the stage  + slack of the gears does cause the platform to drop when adjusting the height downward
Comments.UserDisplayName: Gary Kindel
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-05-14T00:04:36.167Z
Comments.Text: That's why newer designed gears to fix this issue.
Comments.UserDisplayName: LKBricks
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-05-14T04:45:06.510Z
Comments.Text: LEGO gears were never designed to be precise so there always going to be some slack. But as I mentioned, you can achieve reasonable accuracy with worm gears. This would work if you want to make fine adjustment in single direction - while doing so you will have all gearing connected snugly, thus reducing any slack. But if you moved something to far and need to move it back a little then all gearing will come out of accurate setup until you reduce slack in opposite direction.
Comments.UserDisplayName: Alex
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-05-15T00:41:06.233Z
Comments.Text: Ok I need to my improvements
Comments.UserDisplayName: LKBricks
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-05-16T13:02:11.223Z
Comments.Text: Should I use a stepper motor or servo motor or are these the same. Can someone help me understand the differences?  thx
Comments.UserDisplayName: Gary Kindel
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-05-17T05:43:33.677Z
Comments.Text: The stepper motor is an open loop motor with gear like rotor that rotates otayes in steps (not continuously going) and servo used a position sensor that rotates by an gearbox until exactly at X degrees
Comments.UserDisplayName: LKBricks
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-05-17T10:36:38.417Z
Comments.Text: I don't have any motors with positioning systems.
Comments.UserDisplayName: LKBricks
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-05-17T10:43:03.363Z
Comments.Text: Or I don't have a 3D printer to make adapters
Comments.UserDisplayName: LKBricks
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-05-17T15:51:23.610Z
Comments.Text: You could always build your own stepper motor from a regular lego motor, eg. [one of sariel's designs](http://sariel.pl/2020/05/mini-stepper-mechanism/).
Comments.UserDisplayName: Sander De Dycker
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-05-18T00:22:58.440Z
Comments.Text: this is too much adjusting the x y movement, but you can use LEGO motors with a rotation sensor that you can use as a servo.
Comments.UserDisplayName: LKBricks
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-05-18T00:54:22.157Z
Comments.Text: i don't have a knob wheel in my parts
Comments.UserDisplayName: LKBricks
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-05-19T04:56:57.243Z
Comments.Text: i don't have enough parts for my improvements like fewer gears or anything
Comments.UserDisplayName: LKBricks
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-05-31T11:49:42.983Z
Comments.Text: delayed, pls wait for an answer to my fans..
Comments.UserDisplayName: LKBricks
Tags: <programming><motor><remote-control><3rd-party>
Title: Looking for a PC controlled motor that allows for very small and precise movements
UserDisplayName: Gary Kindel
ThreadText: # Looking for a PC controlled motor that allows for very small and precise movements
  
  (Asked by: username_0 on 2022-05-13)
  
  The image below is a LEGO specimen stage designed for a stereo microscope. I am looking for a recommendation for a PC controlled motors that allows for very small and precise movements.
  
  I want use the motors attached to my specimen stage to make a very small height adjustment and then I want to send a command and capture an image from the camera-mounted to the microscope.
  
  Here is the workflow I hope to achieve by motorizing the specimen stage:
  
  * On KeyPress (from with C# Windows application)
    + Activate stepper motor, adjust height (z-axis) by 100-200 µm
      (maybe 2-4 steps in a 200 step per revolution motor)
    + Wait 200 ms (allow time for vibrations from movement to stop)
    + Activate Camera - capture an image
    + Save image (auto-named) to my folder.
  
  Possibly using SDK like:
  <https://github.com/pololu/pololu-usb-sdk>
  
  Any Suggestions?
  
  [![Lego specimen stage](https://i.sstatic.net/yvn2l.jpg)](https://i.sstatic.net/yvn2l.jpg)
  
  Working solution:
  The picture with the stepper motor on the input:
  [![enter image description here](https://i.sstatic.net/xYSqd.jpg)](https://i.sstatic.net/xYSqd.jpg)
  Full View:
  [![enter image description here](https://i.sstatic.net/aItBj.jpg)](https://i.sstatic.net/aItBj.jpg)
  
  **Tags:** programming, motor, remote-control, 3rd-party
  > **Comments:**
  > **username_1**: What is "very small" ? How precise ? Did you account for the inherent slack in the system from the gearing (turning the first gear in a series of connected gears needs some movement before the last gear in the series starts moving) ? Does it need to be immediately reactive (is it allowed for the movement to take a while to occur and/or complete) ?  
  > **username_2**: Worm gears are usually slow, but quite accurate.  
  > **username_3**: My first thought would be to hook a [servo motor](https://en.wikipedia.org/wiki/Servomotor) to an [Arduino board](https://docs.arduino.cc/learn/electronics/servo-motors), and use the Arduino's serial-over-usb capabilities to receive commands from a computer. However, the slack inherent in technic gears is gonna be an order of magnitude larger than the precision of any half-decent servo. If the goal is to raise/lower the platform repeatidly, *two chained worm gears* might be a better option.  
  > **username_0**: The slack in the technic gears are a problem.  I am currently minimizing this affect by always adjusting upward because weight of the stage  + slack of the gears does cause the platform to drop when adjusting the height downward  
  > **username_4**: That's why newer designed gears to fix this issue.  
  > **username_2**: LEGO gears were never designed to be precise so there always going to be some slack. But as I mentioned, you can achieve reasonable accuracy with worm gears. This would work if you want to make fine adjustment in single direction - while doing so you will have all gearing connected snugly, thus reducing any slack. But if you moved something to far and need to move it back a little then all gearing will come out of accurate setup until you reduce slack in opposite direction.  
  > **username_4**: Ok I need to my improvements  
  > **username_0**: Should I use a stepper motor or servo motor or are these the same. Can someone help me understand the differences?  thx  
  > **username_4**: The stepper motor is an open loop motor with gear like rotor that rotates otayes in steps (not continuously going) and servo used a position sensor that rotates by an gearbox until exactly at X degrees  
  > **username_4**: I don't have any motors with positioning systems.  
  > **username_4**: Or I don't have a 3D printer to make adapters  
  > **username_1**: You could always build your own stepper motor from a regular lego motor, eg. [one of sariel's designs](http://sariel.pl/2020/05/mini-stepper-mechanism/).  
  > **username_4**: this is too much adjusting the x y movement, but you can use LEGO motors with a rotation sensor that you can use as a servo.  
  > **username_4**: i don't have a knob wheel in my parts  
  > **username_4**: i don't have enough parts for my improvements like fewer gears or anything  
  > **username_4**: delayed, pls wait for an answer to my fans..  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_5 on 2023-04-03. Score: 1
  
  Lego gear teeth have a pitch of 3.2mm (I did not measure. Maybe trust the www?)
  
  You want .2mm or 200 µm.
  
  3.2mm / .2mm = 16
  
  Worm gears provide this with 360 degrees/16 = 13.5 degrees
  
  I'd suggest 4 motors, each driving one set of worm gears on the four corners of the platform being raised/lowered. Of course, you may not have four motors. Adding a gear train will lower the accuracy. There are 40 tooth gears, that when combined with the 8 tooth gears could work. The worm gears are tricky, they need to be braced; their symmetry is not obvious.
  
  Interesting problem.
  
  
  ---
  
  