Maintaining the RPM at varying Loads

  • Thread starter Thread starter lakmalp
  • Start date Start date
  • Tags Tags
    Rpm
Click For Summary
SUMMARY

The discussion focuses on controlling the speed of a DC motor driven by PWM output under varying loads. Key methods include voltage mode control, which sends PWM signals to the motor, and current mode control, which maintains current near a set-point to ensure torque. The importance of accounting for motor resistance and IR drop when calculating voltage and current is emphasized. A feedback loop is necessary to maintain constant speed, with suggestions for using a chopping wheel and a PLL loop for precise control.

PREREQUISITES
  • Understanding of PWM (Pulse Width Modulation) for motor control
  • Knowledge of DC motor characteristics, including resistance and IR drop
  • Familiarity with control systems, specifically feedback loops
  • Experience with current mode and voltage mode control techniques
NEXT STEPS
  • Research the implementation of PWM for DC motor speed control
  • Learn about calculating motor resistance and its impact on performance
  • Explore feedback loop design for maintaining constant motor speed
  • Investigate the use of PLL (Phase-Locked Loop) circuits in motor control
USEFUL FOR

Engineers and hobbyists working with DC motors, robotics developers, and anyone involved in motor control systems seeking to optimize performance under varying load conditions.

lakmalp
Messages
26
Reaction score
0
Hi,

My setup is a DC motor driven by PWM output. Motor is attached to a wheel in a cart. Can somebody help me to figure out what approach should I take to control the speed of the motor under varying loads?

i.e, let's say I need acceleration of 2 m/s when the cart is empty. if I want the same acceleration when the cart is having a 1 Kg of load what should I have to control?

I know it should be duty cycle (speed) and current (torque), but, I have no idea how to calculate these parameters for the required acceleration.

Please help me.

Regards,
/Lakmal
 
Engineering news on Phys.org
You need to have an electronic motor controller. The controller monitors the voltage across and the current through the motor. As you know the speed is nearly proportional to the voltage across the motor. The difference is due to the resistance of the motor which adds to the voltage across the motor due to its IR drop but doesn't add to the speed of the motor.

You need to determine the value of the resistance and calculate the voltage contribution that resistance makes to the voltage seen across the motor and subtract that amount to get the true emf value. Once you have the emf value, it should be compared to the speed reference to maintain constant speed under varying loads.

Since the motor resistance is constant, you can use it as the gain of an opamp that amplifies the current measurement. That output is then subtracted from the motor voltage in another opamp. Finally the emf voltage is compared to the reference voltage so that a motor voltage is developed which will provide an emf equal to the reference.
 
If I am not misunderstood, we have to control the current through the motor to increase the torque?

I couldn't get you about controlling current. I doubt whether I got you wrong anyway.
 
Yep, your current will be a fair representation of torque, while the applied voltage will be a somewhat looser approximation of speed.

Controllers break into two groups, voltage mode control and current mode control.

1. Voltage mode control simply sends a PWM to the motor. V * PWM = Vmotor
2. Current control issues a current command to the motor controller and it attempts to maintain the current near this set-point.

Voltage control will tend to drive the motor to a given speed, but it will vary from the speed due to cans in supply voltage, IR drop, and field weakening. Also, if you make a feed back loop to hold the speed, Voltage mode control can be finicky because it has two integrators, the current build up in the motor and the loads reaction to the current (torque).

Current mode control tends to be easier in a control loop, but it's looser in terms of raw control of the motor. Essentially, the motor won't even begin to move until the current reaches a sufficient torque to over come friction. Then, extraneous loads will have an impact.

For all in all, I prefer current mode. You can make it happen by measuring the current through the motor at all times and switching the controller on and off as the current drops too low or too high (hysteretic control). Or you can simply turn on the motor control and wait until the current reaches a set-point (peak current control).

Whatever method you use, you'll need a feedback loop between the speed and speed set-point. A chopping wheel on the motor is pretty good for this. Usually, you want as many chops per revolution as you can get.
Simply run the output of the chopper in a one shot to make a voltage proportional to the speed. Then, filter it with a single order low pass filter. Make sure the filter is fairly high frequency, otherwise, the lag from it will make your system unstable.
 
If you really want the motor speed tight, you can lock it in a PLL loop. See 74HC4046. If you try this, just remember that more chops per revolution is better. I once saw a guy get his loop so tight that the motor was locked to a crystal oscillator within 1/2 revolution.
 
lakmalp said:
If I am not misunderstood, we have to control the current through the motor to increase the torque?

Yes, as the load increases, the torque must increase in order to maintain a constant speed. Since current is proportional to torque, the current through the motor increases proportionally to the torque. The voltage across the motor also increases due to the IR drop of the motor resistance. Therefore you cannot simply compare the motor voltage to the speed reference voltage but must first subtract the IR drop of the motor due to the increased current.

To clarify, if the voltage of the emf part of the motor voltage is held constant, the current will rise and fall with the load to maintain constant speed. The current is not directly controlled however. (Often there will be a torque limiter circuit that will limit maximum current in order to prevent either the motor or electronics from burning up in case of a stalled motor.)
 

Similar threads

  • · Replies 13 ·
Replies
13
Views
2K
Replies
3
Views
671
Replies
11
Views
4K
Replies
4
Views
3K
Replies
2
Views
2K
Replies
9
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 74 ·
3
Replies
74
Views
6K
Replies
9
Views
2K