How to reverse DC motor, repeating cycle

Discussion in 'General Electronics Chat' started by craiggoff, Aug 17, 2011.

  1. craiggoff

    Thread Starter New Member

    Aug 17, 2011
    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?
  2. tracecom

    AAC Fanatic!

    Apr 16, 2010
    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.
  3. iONic

    AAC Fanatic!

    Nov 16, 2007
    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.
  4. strantor

    AAC Fanatic!

    Oct 3, 2010
    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.
  5. KMoffett

    AAC Fanatic!

    Dec 19, 2007
    Just throwing a couple of options out. The first one should do what you want. But, motors don't like to be switched from CW to CCW while they are running at full speed. The second circuit puts a time delay pause at the middle of the travel, before it reverses.

  6. craiggoff

    Thread Starter New Member

    Aug 17, 2011
    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 . . .
  7. THE_RB

    AAC Fanatic!

    Feb 11, 2008
    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.