资讯动态

FOC转速环改造:积分型滑模控制器设计与参数整定全解析

发布时间:2026/10/20 16:05:55 来源:尧图企业网站定制
做FOC磁场定向控制驱动的人十有八九被转速环的PI参数折磨过。负载惯量一大或者负载突然砸上来转速总要掉一截再慢慢爬回来想调快一点超调又冒出来电机嘎嘎响。后来我把转速环从传统PI换成普通滑模控制器抖振又把电流波形搞得一团糟最后落地的是一套积分型滑模控制器才算是把快和稳同时抓到了。这篇就把我在一个低压伺服Demo平台上把永磁同步电机FOC转速环改成积分型滑模控制器的全过程写出来。内容包括滑模面怎么构造、趋近律怎么选、控制律怎么推、参数怎么定、仿真和实验怎么验证以及在数字控制器里落地时特别容易踩的坑。不管你是刚接触滑模控制还是已经试过普通滑模但被抖振劝退这篇文章都值得花十分钟看完。1. 方案总览与整体控制思路1.1 FOC双闭环里转速环为什么最让人上头永磁同步电机的FOC控制标准架构是转速环外环加电流环内环。电流环处理的是电气量时间常数在毫秒甚至亚毫秒级带宽可以做得很高转速环面对的是机械系统转动惯量就是天然的低通滤波器又慢又滞后还时不时被负载转矩扰动。传统转速环用PI控制器核心问题就一个你找不到一组增益能同时满足快速性和鲁棒性。加快比例增益启动动态是好看了但负载突变时转速跌落更深系统更容易振荡加大积分增益稳态精度有了但积分积累在动态过程中会带来明显超调。尤其在转动惯量变化大的场合比如机器人关节、皮带传动、印刷辊一套PI参数往往只能保证一个工况点附近的表现换工况就拉胯。滑模控制能跳出这个困境靠的不是把带宽推高而是利用结构化的开关控制。它在设计时直接设定一个滑模面通过控制量把系统状态强行摁在这个面上滑动。只要滑模面存在且可达系统对外部扰动和参数摄动就天然不敏感这种鲁棒性是PI很难做到的。1.2 积分型滑模面比普通滑模多走了一步棋普通滑模控制的滑模面通常取成误差的线性组合比如 s ė c·e。这里有个隐藏短板系统要经历一个到达阶段也就是从初始状态跑到滑模面上的过程。在到达阶段里控制量还没有完全发挥鲁棒性外部扰动依然能明显影响系统可能把系统推离目标轨迹。积分型滑模面则把积分项直接焊进滑模面里形式是s e α·∫e dt这看起来很轻巧但性质完全不同。转速误差为初始值0时s的初值天然为0系统一开始就在滑模面上不需要到达阶段这就是所谓的全局滑模或无到达阶段滑模。从第一个控制周期起系统就具备扰动抑制能力。另外积分项天然带有消除稳态误差的功能相当于在鲁棒控制里嵌入了内模思想。打个不严谨但好懂的比方普通滑模像先追公交车再上车追的过程中可能被路人挡积分型滑模一出生就在车上不管路况怎么变整车直接把你带到终点。2. 从运动方程到控制律的完整推导2.1 先搭好转速环的模型在id0的矢量控制策略下表贴式永磁同步电机的电磁转矩可以写成Te 1.5·p·ψf·iq Kt·iq机械运动方程J·dω/dt Te - TL - B·ω其中J是转动惯量TL是负载转矩B是阻尼系数ω是机械角速度rad/s。把电磁转矩代进去整理成标准形式dω/dt (Kt/J)·iq - TL/J - (B/J)·ω这就是整个转速环设计的起点。我把自己的实验平台参数列在这里后面所有计算都按这组数来参数说明数值p极对数4ψf转子磁链0.032 WbKt转矩常数0.19 Nm/AJ转动惯量电机轻负载3×10⁻⁴ kg·m²B阻尼系数1×10⁻⁴ Nm·s/radnN额定转速3000 rpm约314 rad/s额定负载约1.9 Nm额定电流约10 A峰值电流可以给到20 A。这套参数在低压伺服里很有代表性你套自己的平台时只需要把Kt和J换成实际值推导过程完全不变。2.2 积分型滑模面与趋近律转速误差定义为e ω_ref - ω其中ω_ref是转速给定。取积分型滑模面s e α·∫e dτα是积分增益量纲是1/s。当系统进入滑模s0于是ė α·e 0这个一阶方程的解是 e(t) e(0)·e^(-αt)误差按指数衰减。所以α直接决定转速误差最终收敛速度本质上和期望闭环带宽是一回事。滑模面确定了接下来要选趋近律。我在这里用了最经典的指数趋近律等速趋近组合ṡ -k·s - ε·sat(s/φ)k是指数趋近系数ε是切换增益φ是边界层宽度sat是饱和函数。单看这个式子-k·s负责让s快速回到滑模面-ε·sat(s/φ)负责对抗扰动饱和函数则是为了削弱纯sign切换带来的抖振。稳定性分析很标准。取李雅普诺夫函数V 0.5·s²对时间求导V̇ s·ṡ -k·s² - ε·s·sat(s/φ)当|s|φ时sat取符号函数V̇ -k·s² - ε·|s| 0严格成立。当|s|≤φ时s被限制在边界层里系统进入准滑模状态误差有界。这个有界性正是准滑模控制和纯滑模的区别——但配合积分项稳态精度并不会因此受损。2.3 控制律定型与工程化修正现在把控制律完整推一遍。对s求导ṡ ė α·e ω̇_ref - ω̇ α·e代入dω/dt的表达式ṡ ω̇_ref - (Kt/J)·iq TL/J (B/J)·ω α·e把趋近律的等号关系代进来整理出iq的表达式iq (J/Kt)·[ω̇_ref α·e (B/J)·ω - (TL/J) k·s ε·sat(s/φ)]负载扰动TL在这里是未知项没法直接出现在控制量里。它靠的就是切换项ε·sat(s/φ)去吸收这正是滑模控制鲁棒性的来源。写成代码更常见的分段形式iq_eq (J/Kt)·(α·e (B/J)·ω)iq_sw (J/Kt)·(k·s ε·sat(s/φ))iq_ref iq_eq iq_sw忽略ω̇_ref是因为转速给定在绝大多数场景下是阶跃变化导数物理上不存在如果必须跟踪连续变化的转速曲线就给给定加一个二阶低通预滤波器用预滤波器的输出微分来替代。这是我实测过后非常推荐的做法能显著降低启动冲击。3. 参数整定与控制代码落地3.1 四个关键参数α、k、ε、φ怎么选这是整个方案里最经验的部分我把每个参数的量纲、物理意义、初始范围和调试方向整理成一张表方便你直接抄作业参数物理意义量纲初始范围调大的效果调大的风险α滑模面积分增益1/s20~100误差收敛更快超调、积分饱和k指数趋近系数1/s50~200更快回到滑模面放大器增益过高噪声放大ε切换增益rad/s²500~3000扰动抑制能力更强抖振、电流噪声、发热φ边界层宽度rad/s0.5~5更平滑减小抖振过大则鲁棒性退化这里最需要展开说的是ε。它对应的是以加速度形式表达的扰动上界。举例来说平台额定负载1.9Nm折算成扰动加速度是TL/J ≈ 1.9 / 3×10⁻⁴ ≈ 6333 rad/s²。如果要纯靠切换项把这么大的扰动全扛下来ε也得取到几千的量级对应iq_sw高达十几安培电流环根本吃不消。所以实际工程里我不会这么蛮干而是分两条路一是用一个简单的扰动观测器把缓慢变化的负载前馈掉让ε只需要覆盖观测器的残差二是把ε设成够用就行先给800~1500然后逐步往上加直到抗负载扰动达标。α和k相对直觉但要注意两者会相互影响。α大了滑模面的积分项响应快但动态阶段s偏大切换项会跟着动作更激烈k大了s衰减快但本质是放大器增益会把速度反馈噪声同步放大。我的经验是第一版先用α60、k80空载启动没问题后再按10~20%的步长往上涨。φ的选择也很微妙。φ太小饱和函数退化回sign函数抖振重演φ太大边界层内等效增益降低系统的抗扰性能下降。只是个准滑模整体精度会被拉低。推荐从φ2 rad/s起步大概对应19 rpm的转速误差进入线性区然后根据稳态噪音情况微调。3.2 数字控制器落地的三个细节第一个细节是速度反馈的获取。滑模面里有误差积分转速反馈的噪声会直接被积分放送。如果你直接用编码器差分算速度那s里的噪声会大到控制量像锯齿。我后期在速度反馈上接了截止频率约500 Hz的一阶低通必要时再叠加一个二阶状态观测器做速度估计切换项的噪声水平立刻降下来。第二个细节是积分抗饱和。这是积分型滑模最容易翻车的地方。当iq_ref被限幅到20 A且转速还没跟上给定转速误差持续存在积分项疯狂累积s越积越大。等转速终于接近给定时这个已经涨过头的积分项会让iq_ref长时间钉在限幅值上表现为超调甚至振荡。我在代码里做了条件积分当iq_ref达到限幅且转速误差方向与限幅方向一致时冻结积分项只有退出饱和后才能恢复积分这一条必须写进实现里。第三个细节是执行周期。转速环的更新频率不建议低于1 kHz我实际跑4 kHz这样滑模控制律的延迟不至于过大切换项的相位滞后可控。电流环则保持在16 kHz保证内环带宽远高于转速环才能把前面的模型推导当作近似成立的。3.3 可复用的MATLAB函数模板下面这段是一个可以直接写进Simulink或嵌入式C代码的转速环函数骨架我在MATLAB里验证过逻辑移植时只需要把Ts换成实际控制周期function iq_ref ISMC_speed_controller(omega_ref, omega_fb, x) % x 为结构体包含 % alpha, k, epsilon, phi, J, Kt, B, Ts, iq_max, integral_e % 1. 更新误差与滑模面 e omega_ref - omega_fb; x.integral_e x.integral_e e * x.Ts; s e x.alpha * x.integral_e; % 2. 饱和函数 sat_val max(min(s / x.phi, 1), -1); % 3. 等效控制 切换控制忽略速度参考微分项 iq_eq (x.J / x.Kt) * (x.alpha * e x.B * omega_fb / x.J); iq_sw (x.J / x.Kt) * (x.k * s x.epsilon * sat_val); iq_ref iq_eq iq_sw; % 4. 输出限幅 抗积分饱和条件冻结 if abs(iq_ref) x.iq_max % 判断是否需要冻结积分避免积分饱和 if sign(iq_ref) sign(e) % 不更新 integral_e这里的设计是保持上一次的值 x.integral_e x.integral_e - e * x.Ts; % 反向抵消本次累加 end iq_ref sign(iq_ref) * x.iq_max; end end4. 仿真与实测到底比PI强在哪4.1 四类考核工况怎么设计单看控制律推导总觉得心里没底必须用工况去拷问它。我在Simulink里搭了完整的PMSM矢量控制模型电流环用了带宽1000 Hz的PI转速环分别挂了PI控制器和积分型滑模控制器考核四类工况空载阶跃启动转速给定从0跳变到3000 rpm看上升时间、超调量和电流饱和时间。突加负载稳定运行在1500 rpm时突然加载1.5 Nm约80%额定负载看转速跌落深度和恢复时间。参数拉偏把转动惯量从3×10⁻⁴改成6×10⁻⁴和1.5×10⁻³也就是2倍和5倍看哪个控制器还能维持转速环的稳定性。连续变速跟踪给定一个三角波转速曲线看跟踪误差和抖动程度。4.2 定量对比结果仿真实测的结果我整理成表能直观看到两者差距工况指标PI控制器积分型滑模空载启动上升时间收5%120 ms68 ms空载启动超调量4.8%1.2%突加负载转速跌落150 rpm35 rpm突加负载恢复时间260 ms80 ms2倍J启动超调量9.3%1.5%5倍J启动是否稳定接近振荡稳定收敛最直观的差异在突加负载环节PI要挨过一整个动态过程才能靠积分慢慢拉回来而积分型滑模几乎在扰动出现后的第一个控制周期就产生反向补偿转速的跌落和恢复时间差了一个数量级。参数拉偏工况更加能说明问题PI在5倍惯量下已经接近振荡边界而滑模控制器因为有切换项的硬鲁棒性依然能稳稳收敛。当然也并非没有代价。电流波形上滑模控制的iq噪声比PI高大约20%左右尤其在低转速轻载工况下需要靠边界层和速度滤波来压。电机温度在同样负载循环下比PI运行高3~5℃——这是高频切换带来的额外损耗很难完全消除。4.3 什么场景才值得用这套方案结合上面的实测我给个清晰的边界如果你的负载惯量恒定、扰动很小、转速不会剧烈变化PI完全够用没必要上滑模。但如果你是做伺服驱动、机器人关节、无人机云台、纺织印刷设备这类要求高动态响应、强抗扰性的场合积分型滑模的切换项和全局鲁棒性就是性价比很高的选择。5. 我踩过的坑和调试排障实录5.1 抖振、噪声、发热三连拷问第一次把积分型滑模控制器烧进单片机时电机在低速段嗡嗡嗡地响电流波形全是毛刺驱动板温度十分钟就烫手。这个问题几乎板上钉钉是ε太大、φ太小、速度反馈噪声大三者叠加的结果。排查顺序建议是先把ε砍掉一半如果电流毛刺立刻变小说明问题主因在切换增益。再把φ从0.5加到3电流噪声会进一步平滑。最后检查速度反馈滤波如果速度观测器信号本身就粗糙那整个滑模面就是带噪的后续怎么调都白搭。我的最终组合是ε900、φ3、速度滤波500 Hz电流噪声压到了可以接受的水平同时突加负载转速跌落依然能控制在50 rpm以内。5.2 超调、积分饱和、启动就砸锅启动阶段超调大甚至直接触发过流保护优先级最高的是排查抗积分饱和逻辑有没有生效。积分型滑模因为s里直接带误差积分在iq_ref限幅期间不做冻结积分项一定会积水成灾。我第一版代码里就忘了做空载启动从0到3000rpm直接冲到3600rpm触发软件过压报警。加了条件积分后超调一下子回到1.5%以内。另一个启动异常是转速爬升太慢但电流一直顶在限幅上。这种情况往往不是控制器的问题而是速度参考微分项被错误保留或电机初始位置错误导致id不为0。我建议阶跃工况一律把ω̇_ref置0把参考模式改成斜坡或S曲线给定画面会好看得多。5.3 我一路上验证有效的调试技巧从纯仿真起步ε从0加到目标值先把ε设为0验证等效控制部分能让系统基本跟踪再加切换项去处理扰动这样每一步出问题都能准确定位。用扰动观测器减轻ε的负担把负载转矩用最简单的龙伯格观测器估计出来叠加到iq_ref上切换增益可以降低40%左右抖振和发热立刻缓和。用双曲正切替换饱和函数如果边界层调来调去还是有点振把sat(s/φ)换成tanh(s/φ)切换项变得更平滑代价是鲁棒性略微下降适合对噪声特别敏感的场合。先调好电流环再来动转速环电流环带宽不够或者相位滞后大滑模控制推导的模型前提就崩了转速环调得再好也是白搭。务必先确认电流环阶跃响应没有明显震荡再上手转速环。我实际调试中最受用的一句话是滑模控制给的鲁棒性不是免费的它把能量集中到切换上你要学会向噪声和发热妥协而不是一味调高ε追求完美抗扰。把边界层、观测器和速度滤波三件事做好积分型滑模在FOC转速环上完全可以达到既快又稳的效果。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑