3. 根轨迹的分离点与会合点
各位,咱们接着聊根轨迹。前面我们画出了根轨迹的大致走向,但有个细节很容易被忽略——那就是根轨迹在实轴上的“分分合合”。
你想想看,当系统参数从0变到无穷大时,闭环极点就像一群有组织的小兵,沿着根轨迹移动。有时候它们会从实轴上分开,有时候又会从四面八方汇聚到实轴上。这些“分手”和“碰头”的点,就是我们今天要讲的分离点和会合点。
核心概念一句话:分离点是根轨迹离开实轴的点,会合点是根轨迹回到实轴的点。说白了,就是闭环极点从实数变成复数(或反过来)的临界位置。
3.1 分离点与会合点的概念
先说说我的理解。我在调试一个电机伺服系统时,发现系统响应突然出现振荡。一查根轨迹,原来是分离点位置没算准,导致实际增益范围超出了预期。从那以后,我对分离点就特别敏感。
分离点:当增益K从0增大时,根轨迹从开环极点出发。如果两个极点都在实轴上,它们会先沿着实轴向中间移动,然后在某个点相遇,接着离开实轴变成一对共轭复数。这个相遇并离开的点,就是分离点。
会合点:反过来,当增益K继续增大,一对共轭复数极点可能会重新回到实轴上,在某个点相遇,然后一个向左、一个向右沿着实轴移动。这个相遇并回到实轴的点,就是会合点。
嗯,这里要注意:分离点和会合点一定出现在实轴上,或者出现在对称的复平面上(但这种情况较少见)。
3.2 求解方法
求解分离点和会合点,我个人习惯用两种方法:
方法一:解方程法(最常用)
根轨迹的幅值条件为:
|G(s)H(s)| = 1/K
在分离点或会合点处,根轨迹的增益K对s的导数为零,即:
dK/ds = 0
对于开环传递函数 G(s)H(s) = K * N(s)/D(s),特征方程为:
1 + K * N(s)/D(s) = 0
→ D(s) + K * N(s) = 0
→ K = -D(s)/N(s)
然后求导:
dK/ds = -[D'(s)N(s) - D(s)N'(s)] / [N(s)]² = 0
所以:
D'(s)N(s) - D(s)N'(s) = 0
解这个方程,得到的根就是候选的分离点或会合点。
我的小技巧:解出来的根不一定都是分离点或会合点。你需要验证:这个点是否在根轨迹上?是否在实轴上的根轨迹段内?只有同时满足这两个条件,才是真正的分离点或会合点。
方法二:试凑法(工程实用)
有时候方程阶数太高,解起来费劲。我建议用试凑法:
- 在实轴上找到根轨迹段
- 估计分离点的大致位置(通常在两个开环极点之间)
- 用幅值条件验证:在该点处,各开环极点到该点的距离乘积,等于各开环零点到该点的距离乘积乘以1/K
- 微调位置,直到满足条件
3.3 示例分析
咱们看一个具体的例子。假设开环传递函数为:
G(s)H(s) = K / [s(s+2)(s+4)]
这个系统有三个开环极点:s=0, s=-2, s=-4,没有开环零点。
第一步:确定实轴上的根轨迹段
根据180°相角条件,实轴上的根轨迹段是:(-∞, -4] 和 [-2, 0]。
第二步:判断分离点位置
在[-2, 0]这段上,两个极点s=0和s=-2会相向移动,最终在某个点分离。所以分离点应该在这个区间内。
第三步:求解
特征方程:1 + K/[s(s+2)(s+4)] = 0
所以:K = -s(s+2)(s+4) = -(s³ + 6s² + 8s)
求导:dK/ds = -(3s² + 12s + 8) = 0
解得:s = -2 ± 2/√3 ≈ -2 ± 1.155
即:s₁ ≈ -0.845,s₂ ≈ -3.155
第四步:筛选
s₁ = -0.845 在[-2, 0]区间内,是分离点。
s₂ = -3.155 在(-∞, -4]区间内吗?不在,它在[-4, -2]之间,而这个区间不是根轨迹段。所以s₂不是分离点或会合点。
结论:分离点在 s ≈ -0.845 处。此时对应的增益 K = -(-0.845)(-0.845+2)(-0.845+4) ≈ 0.845 × 1.155 × 3.155 ≈ 3.08。
3.4 分离角与会合角
知道了分离点的位置,我们还得知道根轨迹是以什么角度离开或进入实轴的。这个角度叫分离角或会合角。
对于实轴上的分离点,如果有l条根轨迹在此分离,那么相邻两条根轨迹之间的夹角为:
θ = 180°/l
在我们刚才的例子中,有2条根轨迹在分离点相遇并分离,所以分离角为90°。也就是说,根轨迹以±90°的方向离开实轴。
我曾经踩过的坑:有一次我算出了分离点,但没算分离角,直接画了个90°离开。结果发现根轨迹走向完全不对,因为忽略了开环零点的影响。记住:开环零点的存在会改变根轨迹的走向,分离角公式只适用于没有有限零点的情况。如果有零点,需要用相角条件重新计算。
3.5 多分离点的情况
有些系统会有多个分离点或会合点。比如开环传递函数为:
G(s)H(s) = K(s+1) / [s(s+2)(s+3)]
这个系统有一个零点s=-1,三个极点s=0, s=-2, s=-3。实轴上的根轨迹段是:(-∞, -3] 和 [-2, -1] 和 [0, ∞)。
在[-2, -1]段上,极点s=-2和零点s=-1之间会有一个会合点。在(-∞, -3]段上,极点s=-3会向左移动,没有分离点。在[0, ∞)段上,极点s=0会向右移动,也没有分离点。
求解过程我就不展开了,但你可以看到:分离点和会合点的数量,取决于开环极点和零点的分布。
3.6 知识体系总结
下面这张图帮你理清分离点与会合点的核心逻辑:
3.7 实用建议
最后,给各位几个实用建议:
- 先画实轴根轨迹段:这是判断分离点位置的基础,别跳过。
- 分离点一定在实轴根轨迹段上:如果解出来的根不在这个区间,直接扔掉。
- 注意开环零点的影响:零点会“吸引”根轨迹,改变分离点的位置和角度。
- 用MATLAB验证:我习惯用
rlocus(sys)画完根轨迹后,再用[K, poles] = rlocfind(sys)点选分离点位置,快速验证手算结果。
我的经验:在实际工程中,分离点附近的增益往往对应着系统从过阻尼到欠阻尼的过渡区。如果你想让系统响应快且无超调,就要避开这个增益范围。我曾经在一个温度控制项目中,就是通过调整增益避开分离点,才解决了系统振荡的问题。
好了,分离点与会合点就讲到这里。记住:算对了分离点,根轨迹就画对了一半。