I have the following differential equation:

$$\ddot{\psi_t} + \omega^2 \psi_t = \omega R_s i_f - \omega u_f + \dot{u}_t - R_s \dot{i}_t$$

where $w$ is the electrical speed of the motor.

I have considered R.H.S. as $\Delta\omega$ and would be feed-forwarded, so I obtain the following transfer function:

$$\frac{\psi_t}{\Delta\omega} = \frac{1}{s^2 + \omega^2}$$

Any tips for controlling the above undamped second order system? Can I use PI controller for this?


1 Answer 1


So let's just start with a pure proportional controller. What does success (i.e. error=0) look like for the controller? Basically its when $\psi=0$ (or equal to a setpoint, but let's just say 0 for simplicity). And a proportional controller can drive the system to $\psi=0$. When $\psi=0$, the control effort will be zero, but $\dot\psi$ will not, in general, equal zero. Let's just call it $\dot\psi=v$. So your system will not stop at $\psi=0$. It's going to overshoot. The controller will notice this, and correct, and drive the system back to $\psi=0$. But at this point, now $\dot\psi=-v$, so the system is going to undershoot. It will keep oscillating like this forever. Now, if you had a damped system, the damping would take out a little energy each time, so that you don't come back to $\dot\psi=v$, but maybe $0.9v$, and eventually the oscillations will die out and you reach steady state. But if the damping is zero, the oscillations never die, they will continue at the same amplitude forever.

Now if you have a PI controller, it's probably even worse. When the system hits $\psi=0$, you probably have some integrated error built up, so the control effort is not zero, but non-zero. So the overshoot is even higher than with a P controller.

One way to overcome this is to use a PD or PID controller. The D term essentially acts on $\dot\psi$. Now when $\psi=0$, the error term and thus control effort will be zero only if $\dot\psi=0$ too.

Probably a better way, however, is to use two nested controllers. One controller acts on $\psi$ and the other controller acts on $\dot\psi$. The inner controller compares $\psi$ to the setpoint and generates a desired $\dot\psi$ that will achieve that (e.g. if $\psi>0$ then the $\dot\psi$ setpoint is negative). The outer controller takes the setpoint for $\dot\psi$ as an input, and applies control effort (in your case $\Delta\omega$) in order to drive $\dot\psi$ to the desired value. Both controllers could be P or PI.

  • $\begingroup$ A PID controller should be more then sufficient as long as you place the bandwidth above $\omega$. And a nested controller would be overkill such such a simple system. $\endgroup$
    – fibonatic
    Aug 27, 2018 at 11:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.