搜索
查看: 16491|回复: 56

另一个测试。关闭循环

    [复制链接]
  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
发表于 2019-5-20 05:20:16 | 显示全部楼层 |阅读模式
这里的开环函数:
https://www.iyeya.cn/thread-66578-1-1.html
开环传递函数是:
Ga(s)=5/(s*(s^2+4*s+5)))
Ga是液压执行器的开环传递功能
仅比例控制器仅为Kp。
控制器传递函数简单地是Gcs)= Kp
闭环传递函数的公式是:
CLTF(s)= Gc(s)*Ga(s)/(1+Gc(s)*Ga(s))
假设反馈为1。
CLTF是闭环传递函数。

什么是闭环传递函数?
要找到闭环传递函数,必须用Kp代替Gc(s)和
5/(s*(s^2+4*s+5)) for Ga(s))用于Ga(s)

什么是特征方程?特征方程是闭环传递函数的分母。

有多少个闭环电线杆?

如果Kp = 0.5,那么闭环极点在哪里?
找到三阶方程的根/极可能很难掌握。一台电脑是必要的。
Excel具有Root()函数。如果您有wxMaxima,Matlab或Scilab,很容易找到根源。

闭环极点是否处于“稳定性好的区域”?

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”?


  • 打卡等级:无名新人
  • 打卡总天数:2
  • 打卡总奖励:3
发表于 2019-5-20 09:24:06 | 显示全部楼层
洋老:稳定性好的区域是指左半平面还是指远离纵轴的左半平面?
如果极点不在左半平面,就要改变系统阻尼,那么电子阻尼是在ξ里还是开环增益(频率kv)里?,或者说调整电子阻尼时改变了ξ还是Kv?调整电子阻尼时改变了放大器的增益吧,ξ仅仅代表机械阻尼吗,是否包含其他阻尼?

回复 支持 1 反对 0

使用道具 举报

  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
 楼主| 发表于 2019-5-20 10:51:20 | 显示全部楼层
本帖最后由 PEN 于 2019-5-20 11:15 编辑

稳定性良好的区域定义如下
https://www.iyeya.cn/thread-66171-1-1.html
图6.7
我会展示一下图片。
开环极点位于s平面的左手部分。

还没有电子阻尼。 微分增益提供电阻尼。 电阻尼不会因摩擦而影响机械阻尼。

理想情况下,没有机械阻尼。 没有机械阻尼意味着没有由于摩擦造成的能量损失。
使用微分增益来提供阻尼效率更高。 使用普通的PID控制器很难实现这一点。

阴影区域是稳定性很好的区域。
应该可以将闭环极放置在稳定性好的区域。 我做了测试,因此可以轻松取得成功。

困难的部分将是找到闭环极点位置。 这将需要Excel,Matlab,Scilab或其他可以计算立方根的数学软件。

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.
Annotation 2019-05-19 193314.png
回复 支持 反对

使用道具 举报

  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
 楼主| 发表于 2019-5-28 23:30:21 | 显示全部楼层
这很难过。{:10_196:}
169次观看,但没有答案。
找到闭环传递函数不需要太多努力
从...开始
CLTF(s)= Gc(s)*Ga(s)/(1+Gc(s)*Ga(s))
从上面。
执行器的开放式传递函数具有分子和分母,因此可以替代
Ga(s)=N(s)/D(s)
现在
CLTF(s)= Gc(s)*(N(s)/D(s))/(1+Gc(s)*(N(s)/D(s)))
接下来,将顶部和底部乘以D(s)
下面的等式是你想要记住的
液压教科书并没有走得那么远
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
替代
CLTF(s)=Kp*5/(s^3+4*s^2+5*s+Kp*5)
特征方程是分母 (s^3+4*s^2+5*s+Kp*5)
这应该很容易!!!
寻找根或极是困难的部分。
这也很重要,因为杆或根的位置决定了系统的响应。

如果您有Matlab,Scilab或wxMaxima,找到极点或根部应该很容易。
甚至Excel也能找到根源。 我想我会使用Python。


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.




回复 支持 反对

使用道具 举报

  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
 楼主| 发表于 2019-6-1 11:25:56 | 显示全部楼层
本帖最后由 PEN 于 2019-6-8 05:57 编辑

我写了一个小的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 )))

输出是
pole0 = -1.95+0.89j
pole1 = -1.95-0.89j
pole2 = -0.11+0.00j

Pole0处于稳定性很好的区域。
Pole1和Pole2不是。
选择控制器增益应该很容易将所有闭环极点移动到稳定性好的区域,但只有比例增益是不可能的。
需要更多的控制器增益。


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









回复 支持 反对

使用道具 举报

  • 打卡等级:无名新人
  • 打卡总天数:2
  • 打卡总奖励:3
发表于 2019-6-4 08:38:50 | 显示全部楼层
为什么根(极点)在左半平面稳定?是因为负的指数函数收敛吗?


There is no value of the proportional gain, Kp, that will move all the closed loop poles to the area of nice stability.

相当于在PID中Kp减小,稳态净差加大,Kp增大容易超调,不稳定。是吧。

假如计算结果极点不在稳定区域,不稳定,如何调整数学模型中的参数(系数)?从计算机的计算软件能看出需要增大或减小哪些系数吗?
我理解是:假如系统不稳定时,先增加控制器的Ki和Kd参数,通过电气手段调整,问题是(疑问)Ki和Kd如何放到传递函数的数学模型中,进一步输入到计算机软件中再一次求根和极点,判断稳定性?    Kp,Ki和Kd怎样改变控制器增益的?

如果依然不稳定,说明液压设计是不可控的,就要重新设计液压系统,采用增加机械阻尼比,提高固有频率,降低开环增益(降低精度)等办法。

Excel2007版本,没发现求根函数,如果通过软件求解出根和极点,就不必再用伯德图核核相角裕量和幅值裕量,也不必再用nyquist和routh判据。对吧?
回复 支持 反对

使用道具 举报

  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
 楼主| 发表于 2019-6-4 11:02:13 | 显示全部楼层
“为什么根(极点)在左半平面稳定?是因为负的指数函数收敛吗?”
是的,如果极点的实部为负,则exp(实数(极点)* t)将收敛为零。

如果Kp = 0,则极点位置为
Pole0 = -3.24 + 0.00j
Pole1 = -0.38 + 1.18j
Pole2 = -0.38-1.18j
Pole1和Pole2不在稳定性方面。杆的虚部比实部大。除非阻尼系数更大,否则不可能将两个假想的极移动到稳定的区域。机械设计师可能会增加更多摩擦,但这会浪费能源。

“相当于在PID中的Kp减小,稳态净差加大,KP增大容易超调,不稳定。是吧。”
这取决于极点位置。使Kp变小会使系统响应变慢。通常可以通过使Kp变小来避免过冲。

“假如计算结果极点不在稳定区域......”
如果极点为正,则响应不稳定。
如果极点是负极,则极点是稳定的,但最好是极点的虚部小于实际部分以获得良好的稳定性。

“如何调整数学模型中的参数(系数)?”
开环模型由液压和机械设计决定。

“从计算机的计算软件能看出需要增大或减小哪些系数吗?
是的,开环模型需要3个增益来放置所有极点。每个开环极必须有一个增益。积分器增益不计算在内,因为它有自己的极点。
这是一个非常重要的规则。

我稍后会回答。答案比问题长得多。

"为什么根(极点)在左半平面稳定?是因为负的指数函数收敛吗?"
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.

回复 支持 反对

使用道具 举报

  • 打卡等级:无名新人
  • 打卡总天数:2
  • 打卡总奖励:3
发表于 2019-6-4 15:23:23 | 显示全部楼层
Mr. Pen teaches a lot of knowledge. Thank you.

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.


如果电脑里装个软件,计算根和极点应该是容易的,但如果发现系统不稳定,应该如何最佳调整,兼顾动态响应和静态精度?
回复 支持 反对

使用道具 举报

  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
 楼主| 发表于 2019-6-5 00:34:46 | 显示全部楼层
蜻蜓 发表于 2019-6-4 15:23
Mr. Pen teaches a lot of knowledge. Thank you.

Yes,  the open loop model requires 3 gains to pla ...

如果闭环极点处于稳定性好的区域,则没有问题。 闭环极应尽可能靠近负实轴放置,因此闭环极点位于稳定性好的区域的中心。 如果负载发生变化,极点位置会发生变化,但希望它们能保持良好的稳定性。

我计算控制器增益,因此闭环极点非常稳定。 然后我模拟将开环增益改变20%,阻尼系数改变20%,固有频率改变20%。 有8种组合。 每次我检查以确保杆位于稳定性好的区域。

有时我将开环参数更改30%。
有一个计算机程序来帮助自动化计算是有帮助的。

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.



回复 支持 反对

使用道具 举报

  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
 楼主| 发表于 2019-6-7 11:58:15 | 显示全部楼层
如果使用微分增益和比例增益,任何人都可以显示闭环传递函数吗?
Gc(s)=Kp+Kd*s                #PD控制器
Ga(s)=5/(s*(s^2+4*s+5)) #开环传递函数

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


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则