Another Test. Closing the loop
The open loop function here: https://www.iyeya.cn/thread-66578-1-1.html
The open loop transfer function is:
Ga(s)=5/(s*(s^2+4*s+5))
Ga is the open loop transfer function the hydraulic actuator
The proportional only controller is simply Kp.
The controller transfer function is simply Gc(s)=Kp
The formula for a closed loop transfer function is:
CLTF(s)= Gc(s)*Ga(s)/(1+Gc(s)*Ga(s))
This assumes the feedback is 1.
CLTF is the closed loop transfer function.
What is the closed loop transfer function?
To find the closed loop transfer function you must substitute Kp for Gc(s) and
5/(s*(s^2+4*s+5)) for Ga(s)
What is the characteristic equation? The characteristic equation is the denominator of the closed loop transfer function.
How many closed loop poles are there?
If Kp=0.5 where are the closed loop poles?
Finding the roots/poles of a third order equation can be hard by hand. A computer is necessary.
Excel has a Root() function. If you have wxMaxima, Matlab or Scilab it is easy to find the roots.
Are the closed loop poles in the “area of nice stability”?
The area of good stability is defined in https://www.iyeya.cn/thread-66171-1-1.html
Fig 6.7
I will show the picture.
The open loop poles are in the left hand part of the s-plane.
There is no electronic damping yet. The derivative gain provides electric damping. Electric damping does not affect mechanical damping due to friction.
Ideally, there would be no mechanical damping. No mechanal damping means no energy loss due to friction.
Using the derivative gain to provide damping is more efficient. This is difficult to achieve with a normal PID controller.
The shaded area is the area of nice stability.
It should be possible to place the closed loop poles in the area of nice stability. I made the test so it is possible to succeed easily.
The hard part will be finding the closed loop pole locations. This will require Excel, Matlab, Scilab or some other mathematical software that can compute cube roots.
This is sad.
169 views but no answers.
It doesn't take much effort to find the closed loop transfer function
start with
CLTF(s)= Gc(s)*Ga(s)/(1+Gc(s)*Ga(s))
from above.
The open open transfer function for the actuator has a numerator and denominator so substitute
Ga(s)=N(s)/D(s)
now
CLTF(s)= Gc(s)*(N(s)/D(s))/(1+Gc(s)*(N(s)/D(s)))
Next, multiply the top and bottom by D(s)
The equation below is what you want to remember
The hydraulic textbooks do not go this far
CLTF(s)= Gc(s)*N(s)/(D(s)+Gc(s)*N(s))
N(s)=5
D(s)=(s*(s^2+4*s+5))
Gc(s)=Kp
substitute
CLTF(s)=Kp*5/(s^3+4*s^2+5*s+Kp*5)
The characteristic equation is the denominator (s^3+4*s^2+5*s+Kp*5)
This should be easy!!!
Finding the roots or poles is the hard part.
It is also important because the location of the poles or roots determine the response of the system.
Finding the poles or roots should be easy if you have Matlab, Scilab or wxMaxima.
Even Excel can find roots. I think I will use Python.
import numpy as np #导入根的数值库
Kp = 0.1#初始化比例增益
Ce = [1,4,5,5*Kp]#特征方程的系数
Poles = np.roots(ce)#计算极点或根
for i in range(poles.size):#一次打印一个极点。
print(“Pole {} = {:。2f}”。format(i,complex(poles )))
I wrote a small Python program to compute the closed loop pole locations.
import numpy as np # import the numerical library for roots
Kp=0.1 # initialize the proportional gain
ce=[1,4,5,5*Kp] # the coefficients of the characteristic equation
poles = np.roots(ce) # compute the poles or roots
for i in range(poles.size): # print out the poles one at a time.
print("Pole{} = {:.2f}".format(i,complex(poles)))
The output is
pole0 = -1.95+0.89j
pole1 = -1.95-0.89j
pole2 = -0.11+0.00j
Pole0 is in the region of nice stability.
Pole1 and Pole2 are not.
It should be easy to select controller gains to move all the closed loop poles to the area of nice stability but it is impossible with just a proportional gain.
More controller gains are required. 编辑! 我更新了计算。 我从#4错误地复制了
如果Kp = 0.4,则所有极点都在负实轴上
Kp = 0.40
pole0 = -2.00 + 0.00j
pole1 = -1.00 + 0.00j
pole2 = -1.00-0.00j
Edit! I updated the calculations. I copied incorrectly from #4
If Kp= 0.4 then the all the poles are on the negative real axis
Kp = 0.40
pole0 = -2.00+0.00j
pole1 = -1.00+0.00j
pole2 = -1.00-0.00j
"为什么根(极点)在左半平面稳定?是因为负的指数函数收敛吗?"
Yes, if the real part of the pole is negative then the exp(real(pole)*t) will converge to zero.
If Kp = 0 the pole locations are
Pole0 = -3.24+0.00j
Pole1 = -0.38+1.18j
Pole2 = -0.38-1.18j
Pole1 and Pole2 are not in the area of nice stability. The imaginary part of the pole is bigger than the real part. It is impossible to move the two imaginary poles into the area of nice stability unless the damping factor is larger. It is possible for the mechanical designer to add more friction but this wastes energy.
"相当于在PID中Kp减小,稳态净差加大,Kp增大容易超调,不稳定。是吧。"
It depends on the pole locations. Making Kp small tends to make the system response slow. Usually overshoot can be avoided by making Kp small.
"假如计算结果极点不在稳定区域...."
If the poles are positive the response is unstable.
If the poles are negative the poles are stable but it is best if the imaginary part of the pole is smaller than the real part for nice stability.
"如何调整数学模型中的参数(系数)?"
The open loop model is determined by the hydraulic and mechanical design.
"从计算机的计算软件能看出需要增大或减小哪些系数吗?
Yes, the open loop model requires 3 gains to place all the poles. There must be one gain for each open loop pole. The integrator gain does not count because it has its own pole.
This is a very important rule.
I will answer more later. The answers are much longer than the questions.
Yes, the open loop model requires 3 gains to place all the poles. There must be one gain for each open loop pole. The integrator gain does not count because it has its own pole.
If the closed loop poles are in the area of nice stability there will be no problem. The closed loop poles should be placed close to the negative real axis as possible so the closed loop poles are in the center of the area of nice stability. If the load changes, the pole locations will change but hopefully they stay in the area of nice stability.
I calculate the controller gains so the closed loop poles are very stable. I then simulate changing the open loop gain by 20%, the damping factor by 20% and the natural frequency by 20%. There are 8 combinations. Each time I check to make sure the poles are in the area of nice stability.
Sometimes I change the open loop parameters by 30%.
It is helpful to have a computer program to help automate the calculations.
Can anybody show the closed loop transfer function if a derivative gain and proportional gain is used?
Gc(s)=Kp+Kd*s # PD controller
Ga(s)=5/(s*(s^2+4*s+5)) # Open loop transfer function