伺服电机仿真(7):非线性因素的建模
7.1 引言:实际系统中的非线性效应
在实际伺服驱动系统中,电机和传动机构都存在各种非线性因素,这些因素会显著影响系统的控制精度、动态性能和稳定性。理想线性模型虽然简化了分析和设计,但无法准确预测实际系统的行为。本部分将深入探讨几种关键的非线性效应:磁路饱和、齿槽转矩和摩擦力(包括库仑摩擦、粘性摩擦和Stribeck效应)。建立这些非线性因素的精确模型,是实现高精度伺服仿真和先进控制策略设计的基础。
7.2 磁路饱和效应
7.2.1 物理机理
磁路饱和是铁磁材料的固有特性。当电机铁芯中的磁场强度超过一定值后,磁通密度不再随磁场强度线性增加,导致电感参数随电流变化。
磁化曲线与饱和现象 ┌─────────────────────────────────────────────────────────┐ │ 典型磁化曲线(B-H曲线) │ │ │ │ 磁通密度B ↑ │ │ │ 饱和区 │ │ │ ╱ │ │ │ ╱ │ │ │ ╱ │ │ │ ╱ │ │ │ ╱ │ │ │ ╱ │ │ │ ╱ 线性区 │ │ │╱ │ │ ○─────────────────────────────────────→ 磁场强度H│ │ │ │ 影响: │ │ 1. 电感值随电流增大而减小 │ │ 2. 转矩常数发生变化 │ │ 3. 导致控制器的参数失配 │ └─────────────────────────────────────────────────────────┘7.2.2 数学模型
在饱和状态下,dq轴电感变为电流的函数:
饱和电感模型:
Ld(id,iq)=Ld0⋅fsat(id,iq)
Lq(id,iq)=Lq0⋅fsat(id,iq)
其中,Ld0、Lq0为不饱和时的电感值,fsat(id,iq)为饱和函数,通常为小于1的值。
常用饱和函数形式:
指数模型:fsat(I)=1−k⋅(1−e−I/Is)
反正切模型:fsat(I)=π2arctan(IIs)
分段线性模型:在特定电流点处线性插值
其中,I=id2+iq2为电流幅值,Is为饱和电流阈值。
饱和对转矩的影响:
永磁磁链ψf也会受电枢反应影响而变化,考虑交叉饱和时:
ψd=Ld(id,iq)⋅id+ψf(id,iq)
ψq=Lq(id,iq)⋅iq
7.2.3 仿真实现结构
磁饱和效应仿真模块 ┌─────────────────────────────────────────────────────────┐ │ 输入:dq轴电流i_d, i_q │ ├─────────────────────────────────────────────────────────┤ │ 1. 计算电流幅值:I = √(i_d² + i_q²) │ │ 2. 查表或计算饱和系数:k_sat = f(I) │ │ 3. 计算饱和电感: │ │ L_d_sat = L_d0 × k_sat │ │ L_q_sat = L_q0 × k_sat │ │ 4. 计算饱和磁链: │ │ ψ_f_sat = ψ_f0 × g(I) (考虑退磁效应) │ ├─────────────────────────────────────────────────────────┤ │ 输出:L_d_sat, L_q_sat, ψ_f_sat │ └─────────────────────────────────────────────────────────┘7.3 齿槽转矩
7.3.1 物理机理
齿槽转矩(Cogging Torque)是由永磁体磁场与定子铁芯齿槽相互作用产生的周期性转矩脉动。即使定子绕组不通电,仅靠转子永磁体与定子齿槽的相对运动也会产生该转矩。
齿槽转矩产生原理 ┌─────────────────────────────────────────────────────────┐ │ 定子齿槽与转子永磁体的相互作用 │ │ │ │ 定子齿 定子槽 定子齿 │ │ ┌───┐ ┌─────┐ ┌───┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └─┬─┘ └──┬──┘ └─┬─┘ │ │ │ │ │ │ │ └─────┐ ┌───┴───┐ ┌───┘ │ │ │ │ │ │ │ │ ┌─▼─▼─▼─▼─▼─▼─▼─┐ │ │ │ N S N S │ (转子永磁体) │ │ └───────────────┘ │ │ │ │ 当转子旋转时,永磁体与齿槽的相对位置周期性变化, │ │ 引起磁路磁阻变化,从而产生周期性转矩脉动。 │ └─────────────────────────────────────────────────────────┘7.3.2 数学模型
齿槽转矩是转子位置θm的周期性函数,通常表示为傅里叶级数形式:
基本模型:
Tcog(θm)=n=1∑NTn⋅sin(nNsθm+ϕn)
其中:
Tn:第n次谐波的幅值
Ns:定子槽数
ϕn:第n次谐波的相位
n:谐波次数(通常n=1,2,3,...)
简化的常用模型:
Tcog(θm)=Tcog_max⋅sin(Nsθm+ϕ)
其中,Tcog_max为齿槽转矩的最大幅值。
影响因素:
定子槽数Ns
转子极对数p
永磁体形状和充磁方式
定子齿槽设计
气隙长度
7.3.3 仿真实现
齿槽转矩仿真模块 ┌─────────────────────────────────────────────────────────┐ │ 输入:转子机械角度θ_m │ ├─────────────────────────────────────────────────────────┤ │ 1. 计算电角度:θ_e = p × θ_m │ │ 2. 计算齿槽转矩基波: │ │ T_cog_base = A1 × sin(N_s × θ_m + φ1) │ │ 3. 计算高次谐波(可选): │ │ T_cog_harm = Σ A_n × sin(n × N_s × θ_m + φ_n) │ │ 4. 总齿槽转矩: │ │ T_cog = T_cog_base + T_cog_harm │ ├─────────────────────────────────────────────────────────┤ │ 输出:齿槽转矩T_cog │ └─────────────────────────────────────────────────────────┘7.4 摩擦力建模
7.4.1 摩擦力的复杂特性
摩擦力是伺服系统中最常见也最复杂的非线性因素之一,对低速性能、定位精度和系统稳定性有显著影响。
摩擦力-速度特性曲线 ┌─────────────────────────────────────────────────────────┐ │ 典型摩擦力随速度变化曲线 │ │ │ │ 摩擦力F_f ↑ │ │ │ │ │ F_c ├───────────────┐ │ │ │ │ │ │ F_s ├───┐ │ 库仑摩擦区 │ │ │ │ │ │ │ │ │ Stribeck │ ┌──────────┐ │ │ │ │ 效应区 │ │ 粘性摩擦区│ │ │ │ └───────────┼────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ └───────────────┴───────────────────┴──────→ 速度v│ │ -v_s 0 v_s │ │ │ │ 关键特征: │ │ 1. 静摩擦(F_s):速度为零时的最大静摩擦力 │ │ 2. Stribeck效应:低速时摩擦力随速度增加而下降 │ │ 3. 库仑摩擦(F_c):运动时的常值摩擦力 │ │ 4. 粘性摩擦:与速度成正比的摩擦力 │ └─────────────────────────────────────────────────────────┘7.4.2 摩擦力的数学模型
7.4.2.1 静摩擦(Stiction)
静摩擦是物体从静止到运动所需克服的最大阻力。
Fstatic={FeFs⋅sign(Fe)如果 ∣Fe∣<Fs 且 v=0如果 ∣Fe∣≥Fs 且 v=0其中,Fe为外部作用力,Fs为最大静摩擦力。
7.4.2.2 库仑摩擦
库仑摩擦是运动时与速度方向相反的常值摩擦力。
Fcoulomb=Fc⋅sign(v)
其中,Fc为库仑摩擦系数,通常Fc<Fs。
7.4.2.3 粘性摩擦
粘性摩擦与速度成正比,方向与速度相反。
Fviscous=B⋅v
其中,B为粘性摩擦系数。
7.4.2.4 Stribeck效应
在低速区,摩擦力随速度增加而下降的现象,通常用指数函数描述:
Fstribeck(v)=[Fc+(Fs−Fc)⋅e−(∣v∣/vs)δ]⋅sign(v)
其中,vs为Stribeck速度特征值,δ为经验系数(通常1~2)。
7.4.3 综合摩擦模型
将各种摩擦效应组合,得到综合摩擦力模型:
LuGre模型(一种动态摩擦模型):
该模型用内部状态变量z(鬃毛平均变形)描述摩擦动态:
dtdz=v−g(v)∣v∣z
g(v)=σ01[Fc+(Fs−Fc)e−(v/vs)2]
Ff=σ0z+σ1dtdz+σ2v
其中:
σ0:鬃毛刚度系数
σ1:微观阻尼系数
σ2:粘性摩擦系数
简化综合模型(静态模型):
Ff(v)=[Fc+(Fs−Fc)e−(∣v∣/vs)δ]⋅sign(v)+B⋅v
7.4.4 摩擦力仿真实现
摩擦力仿真模块(静态模型) ┌─────────────────────────────────────────────────────────┐ │ 输入:速度v │ ├─────────────────────────────────────────────────────────┤ │ 1. 判断速度方向:sign_v = sign(v) │ │ 2. 计算Stribeck项: │ │ F_str = (F_s - F_c) × exp(-(|v|/v_s)^δ) │ │ 3. 计算库仑+Stribeck摩擦力: │ │ F_cs = (F_c + F_str) × sign_v │ │ 4. 计算粘性摩擦力: │ │ F_vis = B × v │ │ 5. 总摩擦力: │ │ F_f = F_cs + F_vis │ ├─────────────────────────────────────────────────────────┤ │ 输出:摩擦力F_f │ └─────────────────────────────────────────────────────────┘复杂摩擦力模型(LuGre模型)仿真结构 ┌─────────────────────────────────────────────────────────┐ │ 输入:速度v,时间t │ ├─────────────────────────────────────────────────────────┤ │ 状态变量:z (鬃毛变形) │ │ │ │ 1. 计算g(v): │ │ g(v) = [F_c + (F_s-F_c)×exp(-(v/v_s)²)] / σ_0 │ │ 2. 更新状态变量z: │ │ dz/dt = v - (|v|/g(v))×z │ │ z(k+1) = z(k) + dz/dt × Δt │ │ 3. 计算摩擦力: │ │ F_f = σ_0×z + σ_1×(dz/dt) + σ_2×v │ ├─────────────────────────────────────────────────────────┤ │ 输出:摩擦力F_f │ └─────────────────────────────────────────────────────────┘7.5 非线性因素综合影响
在实际系统中,这些非线性因素同时存在并相互作用,对伺服系统性能产生复杂影响。
7.5.1 非线性因素对系统性能的影响
非线性因素对伺服系统的影响 ┌───────────────────────────┬──────────────────────────────┐ │ 非线性因素 │ 主要影响 │ ├───────────────────────────┼──────────────────────────────┤ │ 磁路饱和 │ 1. 参数变化导致控制器失配 │ │ │ 2. 转矩线性度变差 │ │ │ 3. 效率降低 │ ├───────────────────────────┼──────────────────────────────┤ │ 齿槽转矩 │ 1. 低速转矩脉动 │ │ │ 2. 定位精度降低 │ │ │ 3. 速度波动 │ ├───────────────────────────┼──────────────────────────────┤ │ 摩擦力 │ 1. 低速爬行现象 │ │ │ 2. 稳态误差 │ │ │ 3. 极限环振荡 │ │ │ 4. 跟踪误差增加 │ └───────────────────────────┴──────────────────────────────┘7.5.2 综合非线性伺服系统模型
考虑所有非线性因素后的完整伺服系统模型结构:
考虑非线性因素的伺服系统综合模型 ┌─────────────────────────────────────────────────────────────────┐ │ 输入:dq轴电压u_d, u_q │ ├─────────────────────────────────────────────────────────────────┤ │ 1. 电机电气部分模型 │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ 输入:u_d, u_q, ω_e, i_d, i_q │ │ │ │ 饱和电感计算:L_d_sat(i_d,i_q), L_q_sat(i_d,i_q) │ │ │ │ 饱和磁链计算:ψ_f_sat(i_d,i_q) │ │ │ │ 电压方程:u_d = R_s i_d + dψ_d/dt - ω_e ψ_q │ │ │ │ u_q = R_s i_q + dψ_q/dt + ω_e ψ_d │ │ │ │ 磁链方程:ψ_d = L_d_sat i_d + ψ_f_sat │ │ │ │ ψ_q = L_q_sat i_q │ │ │ └──────────────┬──────────────────────────────────────┘ │ │ │ i_d, i_q │ ├───────────────────┼───────────────────────────────────────────┤ │ 2. 电磁转矩计算模块 │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ 电磁转矩:T_e = 1.5p[ψ_f_sat i_q + (L_d_sat-L_q_sat)i_d i_q]│ │ └──────────────┬──────────────────────────────────────┘ │ │ │ T_e │ ├───────────────────┼───────────────────────────────────────────┤ │ 3. 机械系统模型 │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ 总转矩:T_total = T_e + T_cog(θ_m) - T_friction(ω_m)│ │ │ │ │ │ │ │ 机械运动方程: │ │ │ J dω_m/dt = T_total - T_load - B ω_m │ │ │ dθ_m/dt = ω_m │ │ └────────────────────┬────────────────────────────────┘ │ │ │ ω_m, θ_m │ ├─────────────────────────┼─────────────────────────────────────┤ │ 4. 反馈回路 │ │ ω_e = p × ω_m │ │ θ_e = p × θ_m │ │ ↓ 反馈到电气部分 │ └─────────────────────────────────────────────────────────────────┘7.6 非线性补偿技术
7.6.1 磁饱和补偿
查表法:建立电流-电感/磁链查询表
在线参数辨识:实时辨识电感参数变化
自适应控制:根据工作点调整控制器参数
7.6.2 齿槽转矩补偿
前馈补偿:基于位置前馈齿槽转矩补偿量
迭代学习:通过重复运动学习补偿信号
谐振控制:在特定频率注入补偿信号
7.6.3 摩擦补偿
库仑摩擦前馈:Tcomp=Fc⋅sign(vcmd)
基于模型的补偿:使用LuGre等模型计算补偿量
自适应摩擦补偿:在线辨识摩擦参数
扰动观测器:将摩擦力作为总扰动进行估计和补偿
7.7 总结
7.7.1 非线性建模的重要性
提高仿真精度:考虑非线性因素使仿真结果更接近实际
指导控制器设计:了解非线性影响有助于设计鲁棒控制器
性能预测:准确预测系统在实际工况下的性能极限
故障诊断:非线性特性的变化可指示机械或电气故障
7.7.2 建模注意事项
模型复杂度平衡:在精度与计算量间取得平衡
参数获取:非线性参数通常需要实验测定
工作点依赖:非线性效应强烈依赖于工作点
耦合效应:不同非线性因素之间存在耦合
7.7.3 工程应用建议
分层建模:先建立线性模型,逐步添加非线性因素
参数敏感性分析:分析关键非线性参数的影响程度
补偿策略验证:在仿真中验证各种补偿算法的有效性
鲁棒性测试:测试控制器在参数变化时的鲁棒性
关键结论:非线性因素是限制伺服系统性能的主要因素之一。精确建模这些非线性效应,并设计有效的补偿策略,是实现高精度、高动态性能伺服系统的关键。在仿真中充分考虑这些非线性因素,可以为实际系统的设计和调试提供宝贵指导。
在接下来的第八部分,我们将探讨传感器模型,包括编码器、旋转变压器和电流传感器的量化误差、分辨率限制和时间延迟等非理想特性,这些是连接物理世界与数字控制的关键环节。
