目录
手把手教你学Simulink——压电陶瓷驱动电机(Piezo Motor)迟滞非线性补偿仿真
一、研发目标与系统边界
1.1 指标(教学初值,按样机重定)
1.2 总结构
二、压电作动与迟滞模型
2.1 逆压电与线性刚度
2.2 四种迟滞模型取舍
2.3 速率相关与温度/蠕变
三、补偿控制策略
3.1 逆迟滞前馈(主)
3.2 反馈闭环(残差)
3.3 工作模式
四、Simulink建模清单
4.1 模型树
4.2 求解器
4.3 参数数据字典(Simulink.Parameter,初值)
4.4 Bouc-Wen前向Function示例
4.5 P-I逆前馈示例(静态)
4.6 逆Bouc-Wen+二阶前馈(文献式)
五、参数辨识与逆模型更新
5.1 迟滞环采集
5.2 辨参方法
5.3 在线更新
六、仿真验证与判定
6.1 工况
6.2 判定指标
七、工程注意
手把手教你学Simulink——压电陶瓷驱动电机(Piezo Motor)迟滞非线性补偿仿真
面向压电叠堆/行波或步进式压电电机、压电微定位平台:输入电压经逆压电效应产生应变,再经柔顺机构/摩擦界面/负载输出位移或推力。核心难点是“电压—位移”非单值、有记忆性、随频率/温度/预紧变化。仿真按“迟滞前向模型→逆迟滞前馈→闭环PID/滑模/观测器”做,先复现迟滞环,再评估补偿后跟踪误差。参数为教学初值,样机用LCR、三角波/正弦迟滞环、电容/激光位移回填。
一、研发目标与系统边界
1.1 指标(教学初值,按样机重定)
项目 | 初值/范围 | 说明 |
|---|---|---|
驱动形式 | 压电叠堆/双晶片/行波定子 | 叠堆最常用做直线微定位 |
额定行程 | 10~100 μm(叠堆),行波/步进可mm级 | 柔顺放大后更大 |
驱动电压 | 0~100 V或0~150 V,高压放大器 | 按器件额定 |
电容Cp | 0.5~10 μF/叠堆 | LCR测,影响动态电流 |
刚度kpx | 10^6~10^8 N/m | 叠堆+柔顺机构折算 |
等效质量M | 10^-3~10^-1 kg | 动子/镜头/探针折算 |
阻尼B | 1~100 N·s/m | 由Q值和频响反算 |
迟滞模型 | Bouc-Wen / P-I / Preisach / Duhem | 静态用P-I/Preisach,动态用Bouc-Wen/Duhem |
控制周期 | 1~10 kHz(微定位),行波/步进按驱动器 | 高压功放带宽要高于控制带宽 |
目标带宽 | 100~500 Hz常规,特殊可>1 kHz | 文献Hammerstein+P-I逆滑模达约120Hz闭环 |
1.2 总结构
位置/位移指令 x* │ ▼ 逆迟滞前馈 H⁻¹ → 期望电压u_ff(抵消主要非单值非线性) │ ▼ 闭环补偿:PID / 滑模 / ESO / 自适应(出u_fb) │ u = u_ff + u_fb,限幅0~Vmax ▼ 高压放大器 → 压电作动器(逆压电+迟滞) │ ▼ 柔顺/传动/摩擦界面 → 负载二阶动力学 │ x, F反馈 ▼ 传感器:电容/激光/应变;温度可选 │ └─ 迟滞在线辨参/逆模型更新原则:逆模型吃“可重复、由历史电压决定的迟滞”,反馈吃“建模误差、蠕变、温度、负载、高频残余”。
二、压电作动与迟滞模型
2.1 逆压电与线性刚度
叠堆理想小信号:
Fpx=kpx(deffu−xmech),xmech=deffu−H(u,t)
其中 deff 为等效压电系数(m/V或nm/V),H 为迟滞非线性位移修正。线性柔顺+质量+阻尼:
Mx¨+Bx˙+ksysx=kpxdeffu−Fhyst−FL
若把迟滞作为“位移加法”:
x=Glin(s)[deffu−h(t)],Glin(s)=Ms2+Bs+ksyskpx
更严谨用Hammerstein:静态迟滞算子 w=H(u),再乘线性动态 G(s) 得位移;或Wiener反序。
2.2 四种迟滞模型取舍
- Bouc-Wen:微分方程,参数少、易进Simulink,适合动态/非对称;不显式“主环+次环”但拟合好。
z˙=αu˙−β∣u˙∣∣z∣n−1z−γu˙∣z∣n
xh=kau+kbz
n=1退化为线性阻尼型;α/β/γ定环宽与倾斜,n定拐角。
- Prandtl-Ishlinskii(P-I):play/stop算子加权,逆模型解析性好,静态/准静态快;速率相关要加一阶动态或RAPI(速率幅值相关)。前馈工程常用。
H(u)=i∑wipri(u),pr(u)=max(u−r,min(u+r,0))+…
逆P-I可闭式求权重,复合控制配PID效果好。
- Preisach:first-order回线、Everett矩阵,主/次环全描述,但辨参重、实时逆查表复杂;适合离线建模、对比基准。
- Duhem:单/双微分方程,函数形式简单,非对称用a/f/g拟合,递推最小二乘可辨;适合“模型不太大、要实时逆”的教学。
教学建议:先Bouc-Wen跑通动态闭环;要开环逆补偿切P-I;要主/次环精度切Preisach;要轻量实时切Duhem。
2.3 速率相关与温度/蠕变
纯静态迟滞随频率变窄/变斜,需加:
- 一阶动态包装: Hd(s)=1+τhs1Hstatic ;
- 或Bouc-Wen+Hammerstein:静态迟滞+二阶线性动态,0~100V/0~100Hz可拟合,50Hz前馈PID RMSE约0.0885μm、前馈滑模约0.047μm(样机数据,不照搬)。
- 温度: deff(T)=d0(1+kT(T−T0)),迟滞权重随T慢变;在线用NTC估T或定期重辨。
- 蠕变:长时间恒压位移漂移,用对数项 xcr=cclog(1+t/τc) 或单独反馈积分抑制。
三、补偿控制策略
3.1 逆迟滞前馈(主)
给定期望位移x*,逆模型输出预补偿电压:
uff=H−1(x∗)
- P-I逆:由play权重反解,计算快,适合固定工作区;
- Bouc-Wen逆:对z方程反解 z˙ 并用x*跟踪,联合线性动态求u;
- Preisach逆:查Everett/三角形密度,主环逆稳定、次环用历史状态;
- 神经网络逆:MFNN/NN-P-I直接由(x*,历史)→u,500Hz内最大偏差可<0.25μm(商用平台样例,非通用指标)。
前馈只解决“模型已知迟滞”,不解决噪声/负载/温漂。
3.2 反馈闭环(残差)
(1)PID/PI
逆补偿后对象近似线性二阶,用:
ufb=Kpe+Ki∫e+Kd(x˙∗−x˙),e=x∗−x
微定位常加微分先行、积分抗饱和;逆前馈+PID可比纯PID显著降低迟滞跟踪误差。
(2)滑模/终端滑模
迟滞强非线、扰动大用:
s=c1e+c2e˙,ufb=ueq−Ksmsat(s/ϕ)
配逆P-I/RAPI前馈可降抖振;文献三阶积分滑模+RAPI、扩展观测器处理速率相关迟滞与集总扰动。 行走式压电直线电机用ESO+自适应非奇异终端滑模,重复定位0.057μm、50μm方波超调≤0.247μm(样机结果)。
(3)Hammerstein逆+P-I+积分增广滑模
静态P-I逆、动态Hankel/二阶线性,200Hz内典型输入泛化好;逆补偿+滑模阶跃无超调、调节6.2ms、闭环跟踪带宽119.9Hz、扰动抑制86.2Hz(样机结果)。
(4)自适应/观测器
Bouc-Wen参数在线PSO/DE/RLS;Duhem用RLS;ESO估总扰动(迟滞残差+摩擦+负载)前馈。前馈管“已知迟滞”,ESO管“未知总扰”。
3.3 工作模式
- 开环微定位:仅逆迟滞,适合慢扫、扫描显微,但温/载变化要重辨;
- 前馈+PID:通用微定位,100Hz内轨迹;
- 前馈+滑模/ESO:高速、大行程、行波/步进压电电机、外扰强;
- 在线逆更新:长时运行、温度循环、预紧变化。
四、Simulink建模清单
4.1 模型树
- Source:三角波(迟滞辨参)、正弦扫频、阶跃、Lissajous/三维轨迹;
- HysteresisFwd:Bouc-Wen / P-I / Preisach / Duhem(MATLAB Function或查表);
- LinearDyn:二阶Transfer Fcn或State-Space(M,B,k_sys),含柔顺放大增益;
- Amplifier:Gain/一阶低通(高压放大器带宽)、饱和Vmin~Vmax、 slew-rate;
- Load:质量/探针/镜头/摩擦(行波压电电机可接摩擦界面,类似USM但迟滞为主);
- Sensor:电容/激光量化噪声、低通抗混叠;
- InverseHysteresis:H⁻¹前馈;
- FeedbackCtrl:PID / SMC / ESO / RLS在线辨参;
- Schedule:按频率/幅度切换静态逆或动态逆;
- Scope/Workspace:u-x迟滞环、e(t)、RMSE/MAE、Bode闭环、温度漂移。
4.2 求解器
- 纯迟滞+二阶:变步ode45,最大步≤1/(10×最高关注频);100Hz关注用≤1e-4s,500Hz用≤2e-5s;
- 实时控制离散:fixed-step 0.1~1ms微定位,行波/高频功放可更细;
- 高压放大器若建开关/线性细模型另按功放带宽取步长,教学用一阶平均即可。
4.3 参数数据字典(Simulink.Parameter,初值)
Cp = 2e-6; % 叠堆电容,LCR填 Vmax = 100; % 驱动上限,样机定,部分150V deff = 1e-8; % m/V初值,10nm/V;按行程/电压反算 kpx = 1.1e7; % N/m,Bouc-Wen文献示例量级 M = 0.05; % kg,动子和柔顺折算 B = 5; % N*s/m,初值 ksys = 1.0e7; % N/m,含柔顺 % Bouc-Wen alpha_bw = 0.4587; beta_bw = 0.05; gamma_bw = 0.0157; n_bw = 1; ka_bw = 1e-6; kb_bw = 0; % 电压->迟滞位移加权,按行程标 % P-I r_pi = 0:5:100; % play阈值V w_pi = zeros(size(r_pi)); % 辨参后填 % Duhem a_du=1; f_du=@(u) u; g_du=@(u) abs(u); % 示例,RLS重辨 % 控制 Kp=0.5; Ki=20; Kd=0.002; % 逆补偿后二阶初调 Vff_gain=1/deff; % 粗略,正式用逆模型 Ts_ctrl=1e-4; % 10kHz T_measure=25; % ℃ kT_deff=-0.02/100; % 1/100℃初值,样机标定4.4 Bouc-Wen前向Function示例
function [xh, z] = boucwen_uv(u, z, Ts, alpha, beta, gamma, n, ka, kb) % u:电压增量输入;z:迟滞内部状态;输出迟滞位移xh du = u; % 若离散用差分,外部传u(k)-u(k-1) dz = alpha*du - beta*abs(du)*(abs(z)^(n-1))*z - gamma*du*(abs(z)^n); z = z + Ts*dz; z = max(-1.5, min(1.5, z)); % 限幅防发散,按环宽定 xh = ka*u + kb*z; end接线性动态:
s = tf('s'); Glin = kpx/(M*s^2 + B*s + ksys); % 若用电压直接驱,前面乘deff并减迟滞若用“电压→理想位移减去迟滞”结构:
x_ideal = deff * u; x_out = Glin * (x_ideal - xh); % xh为迟滞修正位移4.5 P-I逆前馈示例(静态)
先辨play权重w_i、阈值r_i;逆模型对目标x*反解u。简化查表版:
function u_ff = pi_inverse(xdes, r_pi, w_pi, Vmax) % 离线建 目标位移->电压 单调近似:用正向P-I扫电压得x,再interp逆 persistent u_grid x_grid; if isempty(u_grid) u_grid = 0:0.5:Vmax; x_grid = zeros(size(u_grid)); z = 0; for k = 1:length(u_grid) [x_grid(k), z] = pi_forward(u_grid(k), z, r_pi, w_pi); end x_grid = smooth(x_grid); end u_ff = interp1(x_grid, u_grid, xdes, 'pchip', 'extrap'); u_ff = max(0, min(Vmax, u_ff)); end function [x,z] = pi_forward(u,z,r_pi,w_pi) x = 0; z = z(:); for i = 1:length(r_pi) r = r_pi(i); % play算子一阶递归(教学最简) prev = z(i); if u > prev+r out = u - r; elseif u < prev - r out = u + r; else out = prev; end z(i) = out; x = x + w_pi(i)*out; end end实际非对称/速率相关要加一阶低通或RAPI权重。
4.6 逆Bouc-Wen+二阶前馈(文献式)
若整体模型:
Mx¨+Bx˙+kx=mx˙+bx+kdeu+khbw
且Bouc-Wen输出进入等效弹簧,逆解电压可写作(由辨识后参数反算):
function u_ff = inv_bw_pid(xd, dxd, r, kpx, de, m,b,k, alpha,beta,gamma,n) % xd期望位移, dxd期望速度, r迟滞内部由xd反推(简化用上一拍z) % 教学版:先由xd反估z_target,再解u % 实际应对z做逆积分;此处给稳态近似 u_ff = (m*dxd + b*xd + k*xd + kpx*r)/(k*de); u_ff = max(0, min(100, u_ff)); end更稳的做法是在Simulink里把正向Bouc-Wen+线性对象一起跑,用Feedback/Model Reference搜逆,不手写闭式。
五、参数辨识与逆模型更新
5.1 迟滞环采集
- 准静态三角波:0→Vmax→0,频率0.1~1Hz,采u-x主环;多幅值得非对称;
- 多频正弦:1/10/50/100Hz,采速率相关;
- 阶跃响应:估M/B/k_sys、放大器slew;
- LCR:空/带载Cp、损耗角,建电气功放约束;
- 温度:25/40/60℃各扫主环,估kT、迟滞权重漂移。
5.2 辨参方法
- Bouc-Wen:PSO/DE/CLPSO估αβγn、ka/kb;文献CLPSO对叠堆最大偏差约行程4.2%;
- P-I:最小二乘/贝叶斯正则NN加权;NN-P-I三角波ME/RMSE/NRMSE较经典P-I明显下降(样机数据,不套用);
- Preisach:Everett矩阵+约束最小二乘,主/次环分开;
- Duhem:RLS估a、f(·)、g(·),动态在线快;
- Hammerstein:P-I静态+Hankel/二阶动态,适合前馈+滑模。
5.3 在线更新
每N个控制周期:用最近u、x重辨迟滞参数→更新H⁻¹→前馈电压重算 反馈PID/ESO保持不变处理残差 温度超阈值:切“温度专用逆模型”或全量重辨避免每个步长全辨;前馈用慢任务、反馈用快任务。
六、仿真验证与判定
6.1 工况
场景 | 条件 | 看什么 |
|---|---|---|
静态迟滞环 | 0~Vmax三角波0.5Hz | 主环宽度%、上升/下降支、非对称 |
准静态逆补偿 | 只开H⁻¹,阶跃/三角 | 开环残余误差、是否近似线性 |
正弦跟踪 | 1/10/50/100Hz,幅值10~80%行程 | RMSE/MAE、相位滞后 |
阶跃定位 | 10%行程阶跃 | 上升/调节时间、超调、稳态nm级误差 |
前馈+PID vs 纯PID | 同轨迹 | 误差降幅、带宽提升 |
滑模/ESO | 外扰阶跃、摩擦/负载变化 | 抖振、抗扰、大信号稳定 |
温度漂移 | 25→60℃ | 逆模型未更新/更新后误差对比 |
行波/步进压电电机 | 速度/步距指令 | 迟滞+摩擦耦合、丢步/重复定位 |
6.2 判定指标
- 迟滞建模误差:主环RMSE按样机定;Bouc-Wen文献示例最大偏差约4.2%行程、 不作为所有叠堆标准。
- 跟踪误差:微定位可报MAE/RMSE/nm;复合逆+P-I+PID纳米级、 逆+Bouc-Wen+Hammerstein 50Hz RMSE 0.0885μm、滑模0.047μm仅作同平台参照。
- 带宽:逆补偿后线性化对象做开/闭环Bode;Hammerstein+P-I逆滑模样机闭环约120Hz、 不套所有压电电机。
- 稳定性:滑模边界层内无持续高频抖;PID逆补偿后相位裕≥45°、灵敏度峰值按行程/频段定。
- 实时性:逆P-I查表<0.1ms;Bouc-Wen微分递归<0.05ms;Preisach全次环查表按网格评估。
- 温漂:温度逆更新后100Hz跟踪RMSE回升到常温基线±比例,具体阈值按器件。
七、工程注意
- 压电“电压—位移”迟滞不是单纯死区;只用PID会在换向/回扫出现系统性残差,必须前馈或逆模型。
- 高压放大器slew-rate和带宽常是瓶颈;逆模型算出电压但功放跟不上,高频会表现为“迟滞变小、动态滞后变大”,别全怪迟滞模型。
- 叠堆预紧/自由端不同:微定位柔顺机构会把迟滞、杠杆非线性、共振一起带进来,模型要包含Glin而非纯迟滞。
- 行波/步进压电电机除迟滞还有摩擦/驻波/谐振,迟滞补偿只处理电压—定子变形段,输出轴仍需单独摩擦/频率跟踪(参见USM篇)。
- 蠕变与迟滞耦合:长时恒压用反馈积分或单独蠕变前馈;快速扫描用逆迟滞即可。
- 实时逆模型优先P-I/Duhem/Bouc-Wen;Preisach适合离线基准和查表生成,不优先上MCU。