当前位置: 首页 > news >正文

永磁同步电机控制玩的就是环套环的把戏,今天咱们拆解一套RSMDO+DBCC组合拳。这玩意儿在工业现场对付参数变化和负载扰动特别带劲,不信你看完下面的代码实操

永磁同步电机传统滑模扰动观测器控制(RSMDO)+无差电流预测控制(DBCC) [1]速度环采用RSMDO [2]电流环采用DBCC 本系列仿真所使用的电机参数一致。

速度环交给RSMDO算是找对人了,这哥们对付转速波动就跟猫抓老鼠似的准。核心在于那个滑模切换函数——别被名字吓到,其实就是个带符号函数的开关量。咱用S函数实现的时候得注意抖振抑制,这里有个骚操作:把符号函数换成饱和函数sat(s/Φ),Φ取值0.05左右效果最佳。

function [sys,x0,str,ts] = RSMDO(t,x,u,flag) switch flag case 0 sizes = simsizes; sizes.NumContStates = 0; sizes.NumDiscStates = 2; sizes.NumOutputs = 2; sizes.NumInputs = 3; sizes.DirFeedthrough = 1; sys = simsizes(sizes); x0 = [0;0]; str = []; ts = [0.001 0]; case 2 % 滑模面计算 w_ref = u(1); w_real = u(2); s = (w_ref - w_real) + 0.5*(x(1)-x(2)); % 扰动观测 phi = 0.05; z = 150*sat(s/phi); sys = [z; s]; otherwise sys = []; end function y = sat(x) y = min(max(x,-1),1);

这段代码的精华在观测器增益150这个数——别随便改!这是根据电机转动惯量算出来的。上次有个兄弟改成100,结果观测滞后直接让转速响应慢了半拍。里面的sat函数相当于给滑模面加了条缓冲带,比硬切换温柔多了。

切到电流环这边,DBCC玩的可是时间魔术。传统预测控制总带着半拍延迟的毛病,咱这招三步骤破解法绝对要记笔记:

  1. 当前时刻先算出占空比
  2. 下个周期立马补偿误差
  3. 电压矢量选择带前馈
def DBCC_control(id_ref, iq_ref, id_meas, iq_meas, Ld, Lq, Rs, Ts): # 预测误差补偿 err_d_prev = id_ref - id_meas err_q_prev = iq_ref - iq_meas # 前馈电压计算 vd_ff = Rs*id_meas - Lq*iq_meas*2*np.pi*3000/60 vq_ff = Rs*iq_meas + Ld*id_meas*2*np.pi*3000/60 + 0.95 # 占空比动态调整 duty_d = Kp*err_d_prev + Ki*err_d_integral + vd_ff/Vdc duty_q = Kp*err_q_prev + Ki*err_q_integral + vq_ff/Vdc return np.clip(duty_d, 0, 0.95), np.clip(duty_q, 0, 0.95)

注意前馈项里的0.95这个数没?这是永磁体磁链的归一化值。上次调试时发现前馈量加多了会导致电流超调,后来用二分法试了十几次才锁定这个黄金数值。代码里的clip函数也不是摆设,实测超过0.95会触发逆变器保护,直接给你停机没商量。

把这两个环怼一起的时候,采样时间必须对齐。速度环用1ms,电流环就得用0.1ms——别问为什么,问就是电流变化比转速快一个量级。仿真时见过有人偷懒都用1ms,结果电流波形抖得跟心电图似的。

最后说个坑:RSMDO的输出要经过低通滤波才能进DBCC。但滤波时间常数不能随便设,得按这个公式来:τ=1/(10*带宽)。上次有个项目带宽设了500Hz,结果τ取了0.0002秒,滤波后的信号平滑得能当镜子照。

http://www.cnnetsun.cn/news/25677.html

相关文章:

  • 2024年CUPT技术探索:水滴透镜comsol仿真技术与实际应用分析
  • Linux小白也能懂:fcitx5中文输入法安装使用图解
  • 用AI构建导师评价系统:5分钟开发全流程
  • AI图像修复工具深度优化指南:从基础应用到专业调优
  • AI一键生成Oracle安装脚本,告别复杂配置
  • 实用Node-RED编程:从零到精通的完整学习指南
  • OpenAI Whisper Turbo模型实战部署:从零到一构建高效语音转写系统
  • 企业级项目中依赖注入错误的5个真实案例解析
  • MES信息化智能化解决方案,MES实施方案
  • UE5 材质-28-各种节点:三输出的 if 节点,借助于 time 节点和 Frac(只取小数部分)得到纹理的溶解效果。 也可用于测试 TextureCoordinate 节点的输出向量的值是什么
  • UE5 材质-29-各种节点:
  • 有什么好的团队文件管理软件?测评对比14款
  • CV技术的应用现状与CNN模型识别图像中对象的流程
  • 小兔鲜儿微信小程序开发全攻略
  • 项目分享 | Agent Lightning:零代码改动训练与优化你的AI智能体
  • 用户体验设计终极指南:《用户体验的要素》免费PDF下载
  • 如何快速分析C盘里到底是什么东西占用了最多空间?
  • C盘如何清理?
  • C盘清理?
  • 终极指南:5步轻松部署any-listen私有音乐播放器
  • 从零到一:ArcObjects SDK实战开发完全指南
  • sql server 事务日志备份异常恢复案例---惜分飞
  • 蓝牙音箱EMC整改实战——从±8KV静电复位到稳定过检的技术路径
  • 强力解锁Obsidian时间管理:告别笔记混乱的日历插件实战
  • GitHub Actions下载工件全攻略:从基础到高级应用
  • 24.vsftpd服务--CentOS7
  • 在Python中使用Kafka帮助我们处理数据
  • iPhone15信号算弱网嘛,工作中又该如何进行弱网测试?
  • 75、深入理解与运用SELinux:保障Linux系统安全
  • JetBrains Maple Mono终极指南:免费开源编程字体的完美选择