05-07-2021 10:19 AM
Hi,
I am new to LabView. I tried example LabView VI's from the courseware provided by Quanser for Quanser Controls Board + NI ELVIS III board and the DC motor speed and position can be controlled. However, when I increase the proportional gain (kp) of the PID controller, the overshoot of the response decreases and rise time increases. This contradicts with common understanding of the effect of kp in PID Control theory. Would you please shed me some light on how to correct this?
Many Thanks.
Best Regards,
wkfung
05-07-2021 05:11 PM
Yes - usually when you increase Kp the overshoot increases and response gets faster, but not always.
1. If you have a high order system and a PID controller you can get some counterituitive responses - BUT THIS IS QUITE UNUSUAL. It is best observed by looking at the poles and zeros of the closed loop system and how it changes with the changing gain (called root locus). This is more likely if the PID controller is of the parallel form (i.e. kp+ki/s+kds). It may be that you have found a region of gains where this happens, if you keep increasing or decreasing the gain you may move into a more expected effcet.
2. If the sample time is too slow that can give oscillations
3. Sometime the proportional "gain" of a PID controller is specified in an inverse way - often called Proportional Band (PB = 100/kp) - that would give the opposite effect. But Proportional Band is usually only found on old equipment, but sometimes retained in new systems so they are backward compatible.
4. Or there could be some error ..
05-08-2021 02:34 AM
Thanks for the reply.
I am using this setup: https://www.quanser.com/products/quanser-controls-board/ and the courseware downloaded from this web page. I do not build the VI myself to control the system and I just use the VI provided in the courseware.
According to the provided VI in the courseware, the DC motor system is modelled by a first order system. In the speed control experiment (in ControlSystemsDesign_LabManual\Software\Speed Control\DC Motor Speed Control.vi), the default kp is 0.05 and ki is 1. I observed an overshoot in the output response. When I rise kp to 0.1, the output does not exhibit any overshoot and the rise time also increases.
05-10-2021 02:36 PM
Hi,
As shown in the attached figure, the VI uses a the standard PI Controller block from LabView and the plant model of DC motor is a first order system. This is a typical textbook example of PID Control. I wonder why this control system behaves differently (overshoot decreases with increasing proportional gain kp) from what are specified in textbooks.
05-10-2021 04:34 PM
Are you looking at the right trend when drawing this conclusion? Don't get mixed up by looking at the motor voltage - as you ar controlling the speed - is it the speed that is showing less overshoot with increasing KP?
The screenshot is difficult to see exactly what is going on - but I can see a saturation block on the voltage - if you have gains that are saturating or nearly saturating then that can skew what you observe (especially if you have integral action but no anti-windup). Make sure you you use small gains away from saturation.
Are you using derivative at all?
It designed for you to learn, so think about what is going on and what you can try to diagnose (e.g. what if you only have proportional gain, or what happens is you run it open loop - does it move in the right direction?)
05-11-2021 07:31 AM
Thanks for your reply.
I only focus on the motor speed of the DC motor. The motor speed shows less overshoot when I increase Kp.
The response under the default settings (Kp=0.05, Ki=1) is as follows:
If I increase the Kp to 0.1, the overshoot disappears.
If I decrease Kp to 0.02, the overshoot becomes bigger than that when Kp=0.05.
If I set Ki to zero, the output motor speed cannot track the reference input.
(Kp=0.05)
(Kp=0.2)
I wonder why the standard educational equipment behaves differently from what standard textbooks say.
Many Thanks.
05-12-2021 05:29 PM - edited 05-12-2021 05:33 PM
Ok - few comments:
06-20-2023 02:08 PM
Hi wkfung, Could you tell me about your implementation? I want to try setup our ELVIS II, ELVIS Quanser QNET-010 746730-01 and the LabVIEW 8. Do you know if it's possible? I hope that you can help me!
Best regards!