# Motor speed control with Integral only loop

If you have a motor with a constant load and and travelling at a set speed, could you control the speed using only itegral action, as in theory the output would stabalise when the error is equal to zero.

Obviously, it might take some to to reach the correct speed, but it should reach it nonetheless.

It seems that Proportional and Derivative are only useful when you need more immediate feedback (such as when the setpoint changes frequently, a non constant load, etc)

• Since the response will be delayed pretty much, you will never get a stable speed, it will oscillate around the set-point. If you would like t reduce the oscillations, you will have to increase the response time (reduce the I-gain). Commented Sep 25, 2018 at 21:19
• @Eugene, if the output I carried over, why would it oscillate, unless the load changed, etc. Wouldn't the system now know what the required motor output is to maintain the speed. I'm referring to an ideal system. Commented Sep 25, 2018 at 21:26
• In ideal system, if the error is initially zero, then the integral term won't accumulate, so the system will run at this specific speed. But if it is not, the system will overshoot, because the accumulated error will have non-zero time to go back to zero, and then will overshoot again and again. Commented Sep 25, 2018 at 21:28
• But I get what you're saying about reducing the integral gain. If you reduce it enough, it should be possible to stabalise the output without oscillations. Commented Sep 25, 2018 at 21:29
• A very similar question has been asked just yesterday, coincidentally. Commented Sep 25, 2018 at 22:51

In the above schematic is a fan speed control I built for my 300 watt linear power supply. Thermistors mounted to the heatsinks for the 2N3055 transistors provided the feedback voltage to the op-amp.

Three major things.

1) I had to heavily dampen the op-amp feedback with 100uF capacitors or they would do a rapid pulsing which you could hear in the fan motor.

2) I had to put a 10,000uF capacitor across the fan motor itself, to turn 10 second pulses into a continuous running current.

3) I had to add a 2.075 offset to the op-amps so they were 'OFF' if the heatsinks were cool or cold. This placed a safe -6.2 volts on the MOSFET's, shutting them off until the voltage due to heat (at pin 3 of op-amp) rose above 2.075 volts, creating a steep non-linear gain. The gain trim pot for the op-amp had a very narrow window in which things worked as they should.

The thermistors and the 2.075 volt ref came from a stable 5 volt regulator, so it never changed its behavior. Turn on the power supply and bypass resistors kept the fans at a very low RPM. A 10 second turn-on pulse made all fans run fast for ten seconds just to loosen them up. A heavy load at high voltage and current would soon have the fans running full speed, screaming loud. Take away the load and over 10 to 15 minutes they slowed down to idle speed.

The key to making this work good was very heavy dampening of the op-amp and fan supply, and an offset voltage to create a 'comparator' effect such that the motors would stay at idle speed until the heatsinks became warm, then hot.

This could be modified such that voltage or current or RPM feedback drove the fan speed, but with bulky BLDC motors the integral is a long time constant, else the op-amp will pulse-feed the motors or oscillate, making the motors buzz.

The integral loop had to be slower than the mechanical response of the fan motors or the op-amp became unstable as it raced ahead of the motors reaction time, thus pulsing or oscillating.

• That last line in italic is actually THE most important part of the answer. Everything else could be irrelevant, depending on OP's implementation. Commented Sep 26, 2018 at 10:38
• I've found systems which behaved nicely with I control, but didn't respond well to PI control. I'm hoping someday I'll get a chance to revisit that system and figure out the theory behind why. Something having to do with nested control loops and delays is my guess... Commented Sep 26, 2018 at 16:28

Speed is is proportional to Voltage with no load.
Reduced speed to a “known” load depends on % of rated load at that speed similar to a capacitive load with some resistance depending on inertial mass and real steady-state load equivalent to some resistance. Thus speed reduction with a long time delay.

The only integration is the rotational or linear momentum. p=mv

## This is an open loop control system. DETERMINED ONLY BY LOAD AND BY VOLTAGE ONLY

No P, I or D feedback nor control system. -1 TO THE OP

————

## other info

Consider that the flux and current in ALL motors are AC. This is no matter whether they are brush commutated DC, BLDC or AC induction, etc.

If you can sense the fundamental commutation frequency without all of the harmonics and noise, then you can sense the RPM. This is called Vector Speed control in EM machines.

If not, AND you know the exact load and speed vs load profile, then you can estimate the speed for some current but only after it accelerates and runs out torque due to BEMF to accelerate any more at this load.

It reaches that speed after accelerating for some time, but this is a very slow process. It’s like stepping on the gas peddle a known distance and waiting for the car to reach that speed you know with that peddle pressure.

So what you need is current sensing for acceleration demand against controlled acceleration, then voltage debated for loading effects which are at least 16 % of no load speed in theory ( I wont explain but that is a matched motor RPM to load for ideal system including Vp to Vrms of 0. 707 for a pseudo sine current.) ok enuf.

Then you need a velocity feedback system to regulate velocity, like a speedometer or a motor Tach or the commutated current converted to a pulse per pole per revolution per second. (Not as simple as this but you get the idea.).

Cruise control in cars does not use D in PID control systems but rather delayed integral I with limits and some P with limits on acceleration.

The derivative D would only be used in some modern collision avoidance system. The same problem in motor load control systems. The current limits can be defined to limit acceleration and the voltage limits defined to after speed is reached and thus regulated.

AN OPEN LOOP SYSTEM IS SLOW. AND OPEN TO LOAD VARIATIONS.

• Anyone who does not have the professional courtesy or aptitude to comment should be ashamed if they downvote. But that's your poor effort not a reflection on my efforts. you only make yourself and this site look bad Commented Sep 25, 2018 at 23:59
• I didn't downvote, but I imagine people are downvoting because it doesn't really seem to be relevant to the question. OP isnt asking about open loop, or the actual internal details of a physical control system, hes asking a purely theoretical control theory question Commented Sep 26, 2018 at 2:22
• THEY ARE MISUNDERSTANDING THE QUESTION. There is no control system. You cannot fix a speed wit a fixed load by any such vague remarks about D and P. No sensors mentioned. No control input, no feedback, nada. The question is invalid because it makes false assumptions about how it works Commented Sep 26, 2018 at 2:24
• Actually, OP is asking about integral control system, which implies closed loop, IMHO Commented Sep 26, 2018 at 10:31
• I think you may be the one misunderstanding the question. OP is pretty clearly asking about a closed-loop system (the "pid-controller" tag is used, and PID controller is pretty clearly referenced in the question, given the mention of "Proportional and Derivative" used for "feedback"). A sensor is therefore assumed. I didn't downvote, but it doesn't appear your answer really addresses the question. Also, insulting your downvoters is not a great way to convince them to reveal themselves. Commented Sep 26, 2018 at 16:24