Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Question on Speed Control vs Torque Control

Status
Not open for further replies.

Xavier Pacheco Paulino

Junior Member level 1
Joined
Nov 8, 2015
Messages
18
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
188
I'm controlling a Permanent Magnet DC motor with PWM for a treadmill. I'm using a reflective sensor with 6 pulses per rev to get a speed feedback. So I'm actually doing "speed control" directly, but not "torque control". So I have two specific questions:

1- Do I need direct torque control for this application by measuring the current? Or a combination of speed and torque control where a cascade PI is needed?

2- Do I strictly need to know the DC motor parameters (R, L, K, J, B) in order to do speed control?

It's okay I can vary the speed by changing the duty cycle. But, beyond a simple analogy of pulse-width-modulation, I know it should be a whole lot more complicated than that.
 

It is possible to run at high rpm with light load. So you don't necessarily need high torque. You can send low current through the motor. That is, you only need low wattage in the motor. However you need a certain pulse frequency to achieve a certain rpm.

Now suppose a heavy load slows down your motor. Feedback says 'PWM is not driving the motor fast enough." It won't help to increase pulse frequency. Instead you need to increase torque. You need to lengthen the On time. Therefore increase width of pulses. Or if that is impossible then you must increase Amperes in the motor.

In either case you increase torque by increasing overall watts going to the motor.
 
If you want true speed control then you need true speed
feedback. Back EMF can be used but needs the I*R term
taken out, else you will have fading speed w/ load (which
may or may not be a problem, certainly safer; too much
current compensation can make runaway). The treadmill
I have been into had a chopper wheel for feedback and
then torque (current, I*R error) really doesn't enter into it
other than your loop's ability to stay tight with the load.
 
Hi,

It all depends on your requirements.
* what motor manufacturer and type do you use?
* what is the RPM range you want to use?
* what is the torque range you want to use?
* what RPM accuracy do you want to achieve?
* what regulation speed you want to use? (time for the control loop to get desired RPM)

The less the minimum RPM (in % of nominal motor RPM) the more difficult.
The wider the torque range the more difficult.
The higher the RPM accuracy the more difficult
The faster the regulation speed the more difficult.

The simplest solution is to use a PWM with a single transistor. (useful for 50% ...100% rated RPM to get CCM)
The next better solution is to use a halfbridge solution. The RPM is more stable with varying torque.
The next better solution is current feedback. RPM is even more stable.
The next is a P control loop with speed feedback. RPM is even more stable.
The next is a PI control loop with speed feedback. RPM is more accurate.

If you want to go down to low RPM (less than 30% rated) with a relatively wide torque range I recommend to use a halfbridge with speed feedback.

Klaus
 

It's not clear at all what's the intended purpose of torque control in your application. Please clarify.
 

It's not clear at all what's the intended purpose of torque control in your application. Please clarify.

That's actually my doubt. If I strictly need torque control for a treadmill. All I'm doing is speed control using a speed sensor.

- - - Updated - - -

Hi,

It all depends on your requirements.
* what motor manufacturer and type do you use?
* what is the RPM range you want to use?
* what is the torque range you want to use?
* what RPM accuracy do you want to achieve?
* what regulation speed you want to use? (time for the control loop to get desired RPM)

The less the minimum RPM (in % of nominal motor RPM) the more difficult.
The wider the torque range the more difficult.
The higher the RPM accuracy the more difficult
The faster the regulation speed the more difficult.

The simplest solution is to use a PWM with a single transistor. (useful for 50% ...100% rated RPM to get CCM)
The next better solution is to use a halfbridge solution. The RPM is more stable with varying torque.
The next better solution is current feedback. RPM is even more stable.
The next is a P control loop with speed feedback. RPM is even more stable.
The next is a PI control loop with speed feedback. RPM is more accurate.

If you want to go down to low RPM (less than 30% rated) with a relatively wide torque range I recommend to use a halfbridge with speed feedback.

Klaus

I attach the nameplate of the motor I'm controlling. I have mains full rectified and filtered going into a buck topology. By changing the duty cycle of the PWM signal, the speed is varied. For a treadmill, there's no need of high RPMs. The motor is rated at 5000 RPM, but I think I would go less than 2000 RPM. I'm not sure about the Torque, that's why my question. There's no need of high RPM accuracy. My speed sensor gives me 6 pulses per revolution. I'm planning to use a PI control for speed control, but back to my questions:
Focused on the treadmill application:
Do I need torque control?
Do I need DC motor parameters (R, L, K, J, B)?
I'm simply controlling the motor speed by changing the PWM duty cycle. I'm getting speed feedback. So if heavy load decreases the speed, I should increase duty cycle to compensate. I'm just trying to understand more than that.

Nameplate.jpg
 

Hi,

We can not know whether you want torque control or not.

You say you want speed control.
Now decide what do you want to happen when torque goes low or high?

Klaus
 

Hi,

We can not know whether you want torque control or not.

You say you want speed control.
Now decide what do you want to happen when torque goes low or high?

Klaus

If the speed goes low because heavy load, I will try to compesate it with increasing duty cycle. I would controlling torque indirectly because I have no current feedback, I just have speed feedback.

What about my question 2?
2- Do I strictly need to know the DC motor parameters (R, L, K, J, B) in order to do speed control?
 

If you are using back-EMF (armature voltage) then you may
need to know the volts per RPM (maybe one of those params
you list) and would also like the winding resistance for the I*R
subtract. But if you have a tachometer winding output then
you only need the V/RPM for that, if a chopper then you
maybe looking for a F-V conversion and supply the scale
factor.

If this is a "front panel RPM must be accurate" kind of job
then requirements are harder, than a "turn knob until happy"
expectation.
 

Hi,

If the speed goes low because heavy load, I will try to compesate it with increasing duty cycle.
This is speed control ... independent of torque.
See it like this:
"If the speed goes low because xxx, I will try to compesate it with increasing duty cycle.
It is speed control, indeoendet of xxx. xxx can be torque, temperature, time, input voltage...
You won't control it: temperature control, time control, input voltage control...

I would controlling torque indirectly because I have no current feedback, I just have speed feedback
No, you don't control torque. You do exactly the opposite...you control speed independent of any other error source.

If you do torque control, then torque is the set point parameter.... means for example you vary the speed (it can be low RPM or high RPM) as long as you get the expected torque (maybe 5Nm)

Klaus
 

The better DC motor controllers have something that is called "internal resistance" or "current times resistance" compensation. IR compensation in short.

Essentially a DC motor will always have some armature resistance, and the current flowing thru it will cause a voltage drop that substracts from the actual armature Emf. Causing a speed drop.

IR compensation, as it name implies, measures the armature current and multiplies it by a constant, which is equivalent to the armature resistance. The resulting voltage is added to the applied output voltage, to maintain the correct speed independent of loading.
But you will require sensing the current.

Google DC motor IR compensation.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top