Searching \ for '[EE] Servo motor H bridge control' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/io/motors.htm?key=motor
Search entire site for: 'Servo motor H bridge control'.

Exact match. Not showing close matches.
PICList Thread
'[EE] Servo motor H bridge control'
2005\08\12@160903 by Gerhard Fiedler

picon face
Hello,

I'm working on a motor controller for a DC motor. I want to control the
position of a shaft connected to the motor through a gearbox. If I
understand that correctly, that's basically a standard servo configuration.
I plan on running the motor at around 10 to 20 A.

WRT the control of the H bridge through PWM, I see two possibilities. One
is to PWM between 0 and positive current (for forward movement) or between
0 and negative current (for backward movement). The other option would be
to PWM between positive and negative current, with 50% being "no movement".

I don't really know what the difference between the two forms is, in terms
of motor behavior or current draw. Are there any rules of thumb which
method to choose? (Since I'm working with relatively short, defined
movement profiles, I can switch the power off between movements, also in
the positive/negative PWM case, which doesn't normally "switch off".)

Also I don't know what to do with the freewheeling diodes around the
drivers. The MOSFET drivers are good enough (with their built-in zeners) to
run without freewheeling diodes. Is it a good idea to put them in anyway?
If so why? If it depends, on what? E.g. does the motor stop quicker without
freewheeling diodes?

Thanks,
Gerhard

2005\08\12@164008 by Bob Blick

face picon face
Hi Gerhard

> WRT the control of the H bridge through PWM, I see two possibilities. One
> is to PWM between 0 and positive current (for forward movement) or between
> 0 and negative current (for backward movement). The other option would be
> to PWM between positive and negative current, with 50% being "no
> movement".
>
> I don't really know what the difference between the two forms is, in terms
> of motor behavior or current draw. Are there any rules of thumb which
> method to choose? (Since I'm working with relatively short, defined
> movement profiles, I can switch the power off between movements, also in
> the positive/negative PWM case, which doesn't normally "switch off".)

Locked Rotor (50% duty being zero) will give you the most accurate
control, with the drawbacks being heat, power consumption, noise, and
brush/commutator wear. If you have the luxury of disabling it most of the
time, it may be just the thing for you. Otherwise it is likely to prove a
headache in the long run.

> Also I don't know what to do with the freewheeling diodes around the
> drivers. The MOSFET drivers are good enough (with their built-in zeners)
> to
> run without freewheeling diodes. Is it a good idea to put them in anyway?
> If so why? If it depends, on what? E.g. does the motor stop quicker
> without
> freewheeling diodes?

Using the builtin freewheel diodes is what is usually done. You can gain
some efficiency if the operating voltage is low by using schottky
rectifiers  and it is economical in your application. It also helps spread
the heat by doubling the number of devices, so your heatsinking can
probably be reduced because you can operate at a higher overall
temperature and have slightly less total dissipation.

Of course if you run locked rotor you do not need freewheel diodes even
internally.

Cheerful regards,

Bob

2005\08\13@100346 by Gerhard Fiedler

picon face
Bob Blick wrote:

> Locked Rotor (50% duty being zero) will give you the most accurate
> control, with the drawbacks being heat, power consumption, noise, and
> brush/commutator wear.

I'm not concerned about noise. Heat and power consumption I take it are
higher in (or close to) the 50% duty (motor standing), where the standard
configuration doesn't use any energy, but I'm able to switch it off
completely when it has reached that position.

What worries me is the wear. Is this also related mainly to the additional
wear in the 50% duty cycle situation? Or is the whole process of PWMing
between positive and negative polarity a stress on the brushes? How does
this compare to stopping or reversing direction by completely reversing the
current (like in the "normal" form of PWM driving)?

> If you have the luxury of disabling it most of the time, it may be just
> the thing for you. Otherwise it is likely to prove a headache in the
> long run.

It is my impression that most commercial servos use this form. Is this
impression wrong?

Thanks,
Gerhard

2005\08\13@102153 by Bob Blick

face picon face
On 13 Aug 2005 at 11:03, Gerhard Fiedler wrote:
> I'm not concerned about noise. Heat and power consumption I take it are
> higher in (or close to) the 50% duty (motor standing), where the standard
> configuration doesn't use any energy, but I'm able to switch it off
> completely when it has reached that position.
>
> What worries me is the wear. Is this also related mainly to the additional
> wear in the 50% duty cycle situation? Or is the whole process of PWMing
> between positive and negative polarity a stress on the brushes? How does
> this compare to stopping or reversing direction by completely reversing the
> current (like in the "normal" form of PWM driving)?

If you add a big enough series inductor you can reduce the
undesirables, for the cost of the inductor. Your response time
increases though, which starts to cut away at the positives of locked
rotor.

> It is my impression that most commercial servos use this form. Is this
> impression wrong?

It depends on the application. It is simpler, so at one time it may
have been more popular. And it is inherently more linear. Personally
I do not use that method, if I am doing a wide range PID that must
be very quick and accurate, I use a lookup table to linearize the
PWM.

Cheerful regards,

Bob

2005\08\13@203852 by Gerhard Fiedler

picon face
Bob Blick wrote:

> Personally I do not use that method, if I am doing a wide range PID that
> must be very quick and accurate, I use a lookup table to linearize the
> PWM.

Sounds like I won't use it either; it seems that there are better solutions
for all the goodies of the "locked rotor".

Talking about the PID controller... I've been wondering about one thing.
When I put the output of the controller into the PWM duty cycle, that
translates basically to a voltage, and roughly to a motor speed. But when
I'm doing a position control, this means that the P part of the PID
controller is not really a position-proportional part, it's actually a
position-integral part. And so on, for the other two parts -- all shifted
one towards integral. Which seems to mean that the I part is completely
superfluous, and it's not trivial to get a good D part.

Do I miss something here?

Thanks,
Gerhard

2005\08\13@214655 by Bob Blick

face picon face
On 13 Aug 2005 at 21:38, Gerhard Fiedler wrote:
> Talking about the PID controller... I've been wondering about one thing.
> When I put the output of the controller into the PWM duty cycle, that
> translates basically to a voltage, and roughly to a motor speed. But when
> I'm doing a position control, this means that the P part of the PID
> controller is not really a position-proportional part, it's actually a
> position-integral part. And so on, for the other two parts -- all shifted
> one towards integral. Which seems to mean that the I part is completely
> superfluous, and it's not trivial to get a good D part.

Except the voltage only relates to motor speed in an ideal situation -
you will quite often be driving the motor in the opposite direction to
what it's turning. You're right that D is hard to do right - especially in
a position control as opposed to a velocity control. But integral is the
most important thing to do right, and I treat it like filter design.

Make your P,I,and D easy to enable/ disable individually while
tuning!

Cheerful regards,

Bob

2005\08\14@073209 by Gerhard Fiedler

picon face
Bob Blick wrote:

> On 13 Aug 2005 at 21:38, Gerhard Fiedler wrote:
>> Talking about the PID controller... I've been wondering about one thing.
>> When I put the output of the controller into the PWM duty cycle, that
>> translates basically to a voltage, and roughly to a motor speed. But when
>> I'm doing a position control, this means that the P part of the PID
>> controller is not really a position-proportional part, it's actually a
>> position-integral part. And so on, for the other two parts -- all shifted
>> one towards integral. Which seems to mean that the I part is completely
>> superfluous, and it's not trivial to get a good D part.
>
> Except the voltage only relates to motor speed in an ideal situation -
> you will quite often be driving the motor in the opposite direction to
> what it's turning.

Yes, that's understood. But let's take just a simple P controller. Having
its output going towards the motor voltage (like through PWM control) makes
this P controller actually an I controller WRT position -- the motor
movement provides the integration WRT position. So why have an I part in
the controller? The way I understand it, a PD controller position
controller would act in effect as a PI controller (the D part becomes the P
part, and the P part becomes the I part), because of the integration
through the motor movement.

Or is this way off?

Gerhard

2005\08\14@095518 by Bob Blick

face picon face
On 14 Aug 2005 at 8:31, Gerhard Fiedler wrote:
> Yes, that's understood. But let's take just a simple P controller. Having
> its output going towards the motor voltage (like through PWM control) makes
> this P controller actually an I controller WRT position -- the motor
> movement provides the integration WRT position. So why have an I part in
> the controller? The way I understand it, a PD controller position
> controller would act in effect as a PI controller (the D part becomes the P
> part, and the P part becomes the I part), because of the integration
> through the motor movement.

If you just have a position controller based solely on P, then your P
term is based solely on error. But the motor will not move at all with
a small error, so you will always have error. If you amplify P to the
point that it does move, you have an oscillator..

With an I term, you accumulate error and eventually the system
moves, even with very small errors.

If all you had was P and D, the motor would never move for small
error values.

Cheerful regards,

Bob

2005\08\14@155208 by Gerhard Fiedler

picon face
Bob Blick wrote:

{Quote hidden}

Ah... I missed this. I thought of employing your method of using a
translation table for the PWM, so that a small error will still move the
motor. But there's the (unknown) torque, which even with the initial dead
band removed would require an I part before, so that the voltage can rise
above the needed level to move the motor against the torque. I guess the
integration by the motor is not quite the same as the integration by the
regulator.

I've seen a regulator design that was something like a PI regulator for
position, with the output going into something like a PD regulator for
speed. They claimed faster response times and easier adjustment than the
normal PID position regulators.

Gerhard

More... (looser matching)
- Last day of these posts
- In 2005 , 2006 only
- Today
- New search...