How to reverse DC motor, repeating cycle

Thread Starter

craiggoff

Joined Aug 17, 2011
5
My application requires a small DC motor (12V, .5A) to drive a rotating platter slowly clockwise, reach a limit, then autoreverse, turning at the same speed back to the starting point and stop.

A simple outline of the process:
1. Load a test part onto the platter
2. Press a momentary pushbutton to start the motion cycle.
3. Wait for the platter to rotate, counter-rotate and stop back at the start point.
4. Unload the test part
5. For the next test part, go back to step 1.

Using relays is perfectly fine for this application, as I expect to put a snubber on the motor to deal with the small back EMF when reversing.

I've looked thru the existing posts for something that precisely defines my application but haven't seen anything thus far. Any ideas?
 

tracecom

Joined Apr 16, 2010
3,944
I am "into" stepper motors at the moment, so my perspective may be biased, but this looks like a perfect application for a stepper and a micro-controller.
Of course, it could also be done with a dc motor with a reversing circuit controlled by a hall effect sensor (or a mechanical switch).

Lots of details would help, i.e., size of the platter, weight of the part, speed of the rotation, precision of the rotation, environment of the apparatus, power available at the site.
 

iONic

Joined Nov 16, 2007
1,662
Yes, a micro-controller is the optimal method these days, but only if you have the programming experience. Although the Arduino and Picaxe are helping us transition to the programming realm, there is still a learning curve that could delay the completion of a project. I don't know if you have this experience.
You gave us the Voltage and Current requirements of the motor, but left out the RPM's, a critical parameter if you want to move the platter at a particular rate, presumably much slower than the current rate. Should we assume that the motor you have or chose is sufficient to do the job you require? If You are unsure then we will need to know the platter weight and and what it will carry or move. A simple 555 can create a PWM output that can slow down the motor to a general speed and when a limit switch is made can reverse the motor and move the platter back to it's start position. If you search for solar tracking you may find just the type of circuit you are looking for....or at lease a very good start.
 

strantor

Joined Oct 3, 2010
6,798
My simple solution would be to mount a small contact wheel on the motor shaft, which will make contact with the outside edge of the (assumed round) platter; or possible just the motor shaft itself contacting the platter edge. This would eliminate the need for reduction gears &/or PWM. The reversing action would be by a maintained position DPDT limit switch (or a maintained DPDT toggle switch with a long toggle). mount a clip on the outer edge of the platter which will make contact with the switch as it goes by, reversing direction. if <360 degree rotation is desired, 2 seperate clips could be mounted at any position to achieve any angle of rotation inside of 360 degrees. If the motor speed is too high, reduce the voltage.
 

Thread Starter

craiggoff

Joined Aug 17, 2011
5
Thank you all for such quick and informative suggestions! I forgot to mention that the motor, motor drive, power supply and mechanical drive for the motor/platter interface have all been sorted out. Speeds and safety concerns have also been settled.

All that remains is a simplistic (relays, switches preferred) solution to the actual motion control. I look forward to any further insights . . .
 

THE_RB

Joined Feb 11, 2008
5,438
Just use current limiting, ie something like a LM317 and a resistor to set the maximum current.

Then you can reverse the motor with a standard DPDT reversing relay.

If the max current is set low this fixes the max motor torque under any condition, so there will be a gentle accel of the platform when it starts and a gentle reversal of direction when you switch the reversing relay.
 
Top