In systems where inertia varies, how do I make a stable speed loop?
The basic idea is to use gain scheduling in the speed loop PI. The proportional gain varies as a function of the calculated varying inertia of the driven load. If you use per-normal quantities, the job gets a lot easier.
For example, let's assume that we have a per-normal minimum inertia of 1 [sec] and a PI prop. gain of 10, that gives us a 10 [r/s] loop bandwidth (see the per-normal explanation above, or this - section IIa for an explanantion of what per-normal inertia is). Then suppose that we are working with an inertia that we know changes by a factor 2 in one set-up, 5 in the next, and 10 in the final set-up (different cutting knives in a cutter for example). Then we would calculate the gain that gave us the bandwith we want with the smallest inertia, and scale the gain up in the given inertia ratios. That is:
Kp = 10 when J = 1 [sec]
Kp = 20 when J = 2 [sec]
Kp = 50 when J = 5 [sec]
Kp = 100 when J = 10 {sec]
The problem is, often we can't get enough gain out of the regulator because of noise (Section IIc) amplification. If this is the case then the proportional gain has to remain clamped at the maximum possible value, and the integral gain has to be lowered by the same ratio as the inertia increases from the point at which the gain was clamped.
To do this kind of gain scheduling in your control application, you will need to use a programmable controller. One that allows you to update the PI prop. and integral gains in real time. It's either that or de-tuning the integral gain, until the regulator remains stable over the entire operating range.
You can also use the calculated inertia to implement an inertia compensation scheme. This greatly improves speed loop tracking in low load, high precision positioning applications. Inertia compensatin is covered in the next tips and tricks article.
This, and many other related topics are explained in great detail in our training classes. E-mail us, if you are interested in having a training session planned for your systems engineering community.
|