无刷直流电机无霍尔传感器Simulink模型
无刷直流电机无霍尔传感器simulink模型无刷直流电机甩掉霍尔传感器这事儿最近越来越常见了。传统方案在电机里塞几个霍尔元件检测转子位置虽然简单直接但遇到高温、震动这些工况就容易翻车。今天咱们直接在Simulink里搞个无霍尔方案重点看看怎么用反电动势法实现位置估算。先上模型框架图1。整个系统分为电机本体、逆变器、换相逻辑三大块。关键藏在反电动势观测器里——这玩意儿就是我们的虚拟霍尔传感器。在Simulink里直接拖个Function模块把三相电压和电流接进去function [emf_a, emf_b, emf_c] emfObserver(va, vb, vc, ia, ib, ic, R, L) % 计算压降 v_drop_a R*ia L*(ia - prev_ia)/Ts; ...省略B、C相 % 反电动势 端电压 - 电阻电感压降 emf_a va - v_drop_a; ...省略B、C相 end这段代码的核心思想是逆向计算用测量到的端电压减去绕组压降剩下的就是反电动势。注意这里的prev_ia用了持久变量存上一时刻电流这样差分计算转子位置时才不会断片。拿到反电动势后要玩点信号处理的花活。过零检测是常规操作但直接比较零点容易受噪声干扰。这里我习惯加个带滞环的比较器类似这样if emf_a hysteresis_high cmp_a 1; elseif emf_a hysteresis_low cmp_a 0; end滞环宽度一般取反电动势峰值的5%-10%具体看电机参数。实测发现这个操作能让换相点稳定不少特别是低速时效果明显。无刷直流电机无霍尔传感器simulink模型真正的黑科技藏在锁相环里。当电机转速变化时传统的固定延时补偿会掉链子。咱们用个二阶PLL动态跟踪相位PLL子系统结构 误差检测 - 比例积分环节 - 积分器生成角度重点在KP和KI参数设置。经验公式是KP2ξωnKIωn^2其中ξ取0.7ω_n按系统响应速度来定。调试时可以先给个阶跃转速指令看着角度跟踪曲线调整比公式计算更直观。最后在换相逻辑里玩个花活儿。当检测到过零点后不是立即换相而是延迟30度电角度。这个补偿量得用估算的实时转速动态计算delay_time (pi/6) / (current_speed * pole_pairs);这里polepairs是极对数currentspeed从PLL的输出转速获取。注意单位转换——电角度和机械角度的转换要是搞错了电机直接变按摩器。模型跑起来后别急着庆祝打开示波器看看反电动势波形和估算角度图2。正常情况应该像双胞胎一样同步要是出现相位抖动八成是PLL参数没调好。有个骚操作把KP设为零先调KI等角度能跟上但速度波动时再加KP来镇压波动。最后说个坑低速时反电动势信号弱成渣这时候观测器可能罢工。解决方法要么切到高频注入法要么在启动阶段玩强制换相。不过那是另一个故事了今天这模型能在500RPM以上稳如老狗就算成功。毕竟在Simulink里调参不用烧真电机这就是仿真的快乐啊
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2444557.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!