1st build; help on hardware and motors

Hi to all,

My name is Shannon and this is going to hopefully be my first arduino build. My apologies for the long post

I'm completely new to Arduino but have been wanting to get into it for a while, I've just never found that 'thing' i needed to build... until now!

my work wants me to build a stage (roughly 600mm x 30mm)that moves linearly horizontally, (both forwards and backwards) it needs to have a very repeatable stroke length (probably 35mm) and moving at a velocity of about 35-50mm per minute.

My idea is to use a motor to implement a rack and pinion design. In which motor goes on for a specified time, stops for specified time and returns, so I need to be able to control the motor speed and direction. Obviously the final motor speeds will dictate the size of the rack and pinion and then the torque that is required by the motor.

I was wondering what peoples thoughts were on which hardware pieces that I should look at and if I should use a DC or servo motor. (I cant use a stepper motor is the action needs to be extremely smooth).

Cheers in advance

A geared motor with helical drive?

A highly geared motor run on PWM to control speed with a screw thread rod to move the stage.


That's 100% a stepper motor. Anything else will be less smooth. Use a stepper motor driver with micro-stepping ability and you won't be able to see the motor step. Put the stage on a long leadscrew so the gear ratio is relatively high - say 300 steps per mm - and it will be smoother than the smoothest thing you know.

Do you have any limitation on backlash? That will help rule out/in a gearbox.

The Thread stepper motor basics may be useful but I think a simple geared DC motor turning a length of screwed rod (available at many DIY stores) would do this job very nicely and with very simple programming.

You will need a microswitch at each end to let the Arduino know that the table has reached its destination. You will need a limit switch with a stepper motor also.

A convenient way to get a geared motor with a motor driver included is to use a continuous rotation servo. They are very easy to control with an Arduino. Get a good quality one if it is for extended use.

Whatever sort of motor you use you will need a motor driver between the Arduino and the motor because the Arduino cannot provide enough current for any motor.

Smooth motion will have a lot to do with the smoothness of the rails (or whatever) on which the table is supported.