基于PLL的改进的超螺旋滑模观测器,观测电角度与实际电角度几乎一致。 效果较好,可以提供对应的...
基于PLL的改进的超螺旋滑模观测器观测电角度与实际电角度几乎一致。 效果较好可以提供对应的参考文献需要的可以联系并留下对应的matlab版本。传统滑模观测器在电机控制里总像个暴躁老哥观测角度时动不动就给你整出点相位抖动。去年调试无感FOC时被这问题折腾得够呛直到试了把PLL锁相环嫁接到超螺旋算法上总算让观测电角度和实际转子位置对上眼了。先看这段核心代码function [theta_est] improved_STSMO(i_alpha, i_beta, v_alpha, v_beta) % 超螺旋滑模参数 lambda 1200; rho 300; % 电流误差计算 persistent i_alpha_old i_beta_old; if isempty(i_alpha_old) i_alpha_old 0; i_beta_old 0; end e_alpha i_alpha - i_alpha_old; e_beta i_beta - i_beta_old; % 滑模面计算超螺旋核心 s_alpha lambda * e_alpha rho * sign(e_alpha)*abs(e_alpha)^1.5; s_beta lambda * e_beta rho * sign(e_beta)*abs(e_beta)^1.5; % PLL相位补偿 kp_pll 2.5; ki_pll 150; omega_est kp_pll * (s_beta * cos(theta_est) - s_alpha * sin(theta_est)) ki_pll * integral_term; % 状态更新 theta_est theta_est omega_est * Ts; i_alpha_old i_alpha; i_beta_old i_beta; end这里有个骚操作——把传统滑模的sign函数换成了带1.5次方的非线性项。就像给观测器装了减震器既保留滑模的快速响应又压住了高频抖振。实测发现当电机转速突变时相位跟踪延迟从原来的15°降到了3°以内。PLL部分才是灵魂所在。看这行omega_est kp_pll * (s_beta * cos(theta_est) - s_alpha * sin(theta_est)) ki_pll * integral_term;这实际上构建了一个旋转坐标系把滑模输出的误差信号转换成频率偏差。就像用GPS校准惯性导航每次观测误差不仅用来直接修正角度还会积累成频率积分量实现动态过程中的相位锁定。基于PLL的改进的超螺旋滑模观测器观测电角度与实际电角度几乎一致。 效果较好可以提供对应的参考文献需要的可以联系并留下对应的matlab版本。调试时踩过个坑PLL参数不能直接照搬传统配置。因为超螺旋本身已经带滤波特性这里kp_pll要比常规值小30%左右否则会引起低频振荡。后来用粒子群算法整定了参数效果直接起飞。在Matlab 2021b上跑的结果显示见图1带载启动时观测角度与实际角度的均方根误差仅为0.8°比传统方法提升近4倍。需要完整仿真模型的兄弟可以私信代码包里附赠三种不同电机参数的调试记录保你少走半个月弯路。参考文献方面推荐先看看Moreno的《超螺旋算法在观测器中的应用》再结合Krishnan那本《电机控制手册》里的PLL章节这两本算是这个改进方案的理论基础。不过我们实际工程中调整的非线性系数1.5倒是实验室师兄在啤酒瓶底厚的实验记录里翻出来的经验值——果然实践出真知啊。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2445036.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!