基于SMO滑模观测器的异步电机无传感器矢量控制研究:Matlab仿真模型分析
基于SMO滑模观测器的异步电机无传感器矢量控制matlab仿真模型。无感矢量控制在工业界被玩得越来越溜最近在实验室调了套基于滑模观测器SMO的方案。这玩意儿最大的爽点就是不需要速度传感器靠算法硬怼出转子位置和转速。咱们今天直接上干货看看Matlab里怎么搭这个坑位。先甩个滑模面的设计公式镇楼function s sliding_surface(i_alpha_hat, i_alpha, i_beta_hat, i_beta) s [i_alpha_hat - i_alpha; i_beta_hat - i_beta]; end这坨代码实现了电流误差的滑模面注意这里用了α-β坐标系下的电流分量。当观测电流和实际电流的差值被逼到滑模面附近时系统就进入抖振模式——这时候别慌抖才是正常的。观测器的核心在于这个非线性反馈环节K 50; % 滑模增益 if s_norm 0 v_alpha K * sign(s(1)); v_beta K * sign(s(2)); else v_alpha K * s(1)/epsilon; % 边界层处理 v_beta K * s(2)/epsilon; end这里有个骚操作当误差范数超过阈值时用符号函数暴力输出低于阈值时改用线性处理。实测这个边界层处理能让波形平滑不少别问我是怎么知道的示波器前的黑眼圈不会说谎。转子磁链估计这块得搞个锁相环psi_r_alpha integral(v_alpha - R_s*i_alpha sigma*L_s*di_alpha); psi_r_beta integral(v_beta - R_s*i_beta sigma*L_s*di_beta); theta_hat atan2(psi_r_beta, psi_r_alpha);积分环节容易漂移记得加个复位机制。有一次忘加复位转子角度估计值跑着跑着开始跳机械舞差点把电机给送走。基于SMO滑模观测器的异步电机无传感器矢量控制matlab仿真模型。转速估算更刺激omega_hat (psi_r_alpha.*d_psi_r_beta - psi_r_beta.*d_psi_r_alpha)... ./ (psi_r_alpha.^2 psi_r_beta.^2);这本质上是对磁链求导的操作但直接微分会引入噪声。后来改成自适应律计算代码没截全反正最后加了个低通滤波器才稳住。在Simulink里搭模型时注意这几个坑点电机参数里的转子时间常数必须准误差超过20%估计值就开始蹦迪S函数里别用固定步长否则符号函数切换时容易数值爆炸速度环PI参数要比平时调大30%左右毕竟观测器有滞后跑出来的波形挺有意思给定转速从0飙到1500rpm时估计转速会有个200ms左右的延迟但稳态误差能压在0.5%以内。突然加个负载转矩转速估计会出现个尖峰不过滑模观测器比龙伯格观测器恢复得快得多。最后安利个调试技巧把滑模增益K做成在线可调参数运行时边改边看波形。当K值增加到某个临界点时电机声音会突然变安静——恭喜你找到最佳工作点了仿真模型里用了PMSM_Testbench模块坐标变换那块记得检查Clarke变换的系数是2/3还是sqrt(2/3)这个坑至少浪费了我两包烟的时间
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2434021.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!