Practical digital current regulator

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
3 replies · 2K views
MechatronO
Messages
30
Reaction score
1
Consider a DC motor, being switched by a H bridge that is controlled by a PI current regulator.

As long as the error (SetCurrent-Current) is positive everything is good. However, when this goes negative we have a problem as you couldn't set a negative duty cycle.

How is this solved in practice? Using the other transistors to reverse the current?

I tried using solely an I regulator which off course works kind of, but as expected performs very poor.

Maybe it could be solved by ignoring the P part when we overshoot the setpoint?
 
Engineering news on Phys.org
MechatronO said:
Consider a DC motor, being switched by a H bridge that is controlled by a PI current regulator.

As long as the error (SetCurrent-Current) is positive everything is good. However, when this goes negative we have a problem as you couldn't set a negative duty cycle.

How is this solved in practice? Using the other transistors to reverse the current?

I tried using solely an I regulator which off course works kind of, but as expected performs very poor.

Maybe it could be solved by ignoring the P part when we overshoot the setpoint?

What are you controlling? The motor's speed? That is usually done with PWM on the drive voltage. Is the motor intended to be uni-directional?
 
MechatronO, as you point out, duty cycle can only range between zero and one.
Anything below zero must clamp at zero.
Anything above one must clamp at one.
 
You either have to clamp the signal as Baluncore suggested, or condition the signal to remain in range, or redesign the system to allow reverse directions if that is what you need.