« Tech Support: Servo pulses | Main | Tech Support: Many timers »

Tech support: Motor positioning

Richard wrote (edited for confidentiality):

Hello David; I have a problem that I have been wrestling with for a week or more and now need some help with it.

I have a geared AC motor which I turn on with a 24V relay. When it is in its target position a PEC turns on, turns off the relay and the motor stops. But the motor free-wheels long enough that the mechanism overshoots the position where it should stop. No problem! I just reverse the motor, wait for the PEC to turn on again, turn off the motor but it overshoots in the other direction. No Problem. I just turn it on, pause (say 50 mS), then off (50 mS) while waiting for the PEC to turn on again. In other words, use short pulses to pulse it back into position to prevent overshooting. But here's the problem:

It takes time for the motor-run relay to turn on. Then it takes time for the motor field to saturate before the shaft starts turning. Then it takes time for the gears to take up the slack in the chain, and the the mechanism start to roll. Almost the same amount of time is required to stop the motor and then start it again for the next pulse. As a result, I cannot achieve a short enough pulse-time when I have to turn the motor-run relay on and off.

So, I studied the controller's PULSE0 instruction believing that it might be possible to pulse the motor without having to send ON and OFF instructions to the relay. Am I on the right track with this approach? Can this be done? If not I have 2 options which I would rather not use;

  1. I can use a another type of geared AC motor which the mfg. tells me stops fast (whatever that means) or
  2. Go to a DC motor which I might be able to pulse with a motor controller using its PCM function (more expensive option).
I'm hoping that this problem can be solved with my SPLAT controller which, to date, has given me all the flexibility of operation I needed.

Your thoughts on this will be greatly appreciated.

Hi Richard,

The Pulse0 instruction has been replaced by fPulse0, but the idea remains the same.

I am no expert on mechanical or motor systems that lie at the root of your problem. My instinct though is that you will gain little by tinkering at the edges with small pulses. The mechanical sloppiness will have more variability than the pulses you are proposing to use. For example, with an AC motor you are getting down to the duration of a single mains voltage cycle (16mS), so where in the cycle you start the pulse will affect the outcome.

From what I have seen over the years I would suggest either an electromechanical brake or a DC motor with dynamic braking . We have made DC motor drives several times with dynamic braking. Basically what happens is that the motor coil is shorted out via a resistor when you want it to stop. The rotational energy gets dissipated in the resistor because the motor acts as a dynamo. We have a small DC motor drive SPice board SPice10213. You should probably contact our engineering manager Keith Rea for further information, as he knows more about it than I do.

TrackBack

TrackBack URL for this entry:
http://www.splatco.com/cgi-sys/cgiwrap/microcon/managed-mt/mt-tb.cgi/38

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)


About

This page contains a single entry from the blog posted on June 23, 2007 6:23 PM.

The previous post in this blog was Tech Support: Servo pulses.

The next post in this blog is Tech Support: Many timers.

Many more can be found on the main index page or by looking through the archives.

Creative Commons License
This weblog is licensed under a Creative Commons License.
Powered by
Movable Type 3.33