伺服电机三环控制这个话题,在工控圈里属于那种“人人都知道,但真正调明白的人不多”的领域。我做了十多年运动控制项目,从最早用PLC带伺服做点位控制,到后来自己写STM32的电流环算法,踩过的坑可以说覆盖了从参数整定到系统优化的全链路。很多人拿到一台伺服电机,接好线、配好参数,发现电机要么啸叫、要么响应慢、要么定位抖,第一反应是“伺服不行”,其实十有八九是三环参数没吃透。这篇文章不打算照本宣科地讲教科书上的PID公式,而是从实战角度出发,把位置环、速度环、电流环这三层结构拆开揉碎,讲清楚每一环到底在干什么、参数怎么整、整错了会怎样、怎么通过波形判断问题出在哪一环。无论你是用汇川、台达这类成品伺服驱动器,还是用STM32自己搭控制板做485通信控制,底层的三环逻辑是相通的。适合有一定电气基础、正在做伺服调试或准备自己写伺服控制程序的工程师参考。
1. 三环控制到底在控什么:从物理量到控制量的映射关系
1.1 为什么是“三环”而不是“两环”或“四环”
很多人第一次接触伺服控制,看到“三环”这个词会觉得是个很玄的东西。其实把它拆开看,就是三个嵌套的闭环控制回路,从内到外分别是电流环、速度环、位置环。为什么是三层而不是两层?核心原因在于伺服系统的控制目标和控制手段之间存在“跨层”的问题。
你最终想要的是电机轴精确停在某个位置,这是位置层面的需求。但你能直接操纵的物理量是什么?是电机绕组里的电流。电流产生力矩,力矩驱动负载产生加速度,加速度积分得到速度,速度积分得到位置。从电流到位置,中间隔了两层积分。如果只用一层位置环直接去控电流,相当于用一个慢速的外环去直接操纵一个快速的内环,中间的速度状态完全失控,系统要么振荡要么响应极慢。
所以三环的本质是:把“电流到位置”这条长链路拆成三段短链路,每一段都有自己的反馈和控制目标。电流环负责让绕组电流快速跟踪指令值,速度环负责让电机转速快速跟踪指令值,位置环负责让最终位置精确到达目标。每一环的输出是下一环的输入,形成级联结构。
那为什么不是四环?比如加一个加速度环?理论上可以,但加速度的反馈需要加速度传感器,成本高且噪声大,实际中很少用。三环已经能覆盖绝大多数工业场景的需求,是精度、响应和成本之间的最佳平衡点。
1.2 每一环的输入输出与控制周期
理解三环,最关键的是搞清楚每一环的“采样周期”和“带宽”关系。这是很多调试问题的根源。
电流环是最内环,它的控制周期最短,通常在10kHz到20kHz,也就是50到100微秒执行一次。为什么这么快?因为电流变化极快,电机绕组的电气时间常数通常在毫秒级甚至更短,如果电流环执行太慢,电流还没来得及跟踪上指令就已经变了,根本控不住。电流环的带宽一般在1kHz到3kHz。
速度环在中间,控制周期通常在1kHz到2kHz,也就是0.5到1毫秒执行一次。速度环的带宽一般在100Hz到500Hz。位置环在最外层,控制周期通常在500Hz到1kHz,带宽一般在20Hz到100Hz。
这里有一个铁律:外环的带宽必须显著低于内环的带宽,通常要求内环带宽至少是外环的5到10倍。为什么?因为外环在计算输出时,认为内环已经“完美跟踪”了它的指令。如果内环带宽不够,外环发出的指令内环跟不上,外环就会持续增大输出试图纠正,结果就是超调甚至振荡。这就像你让一个反应慢的人去做快速动作,你越催他越乱。
实际调试中,如果你发现位置环怎么调都抖,先别急着改位置环参数,去看看速度环的阶跃响应是不是有超调或者振荡。速度环没调好,位置环永远调不好。
1.3 各环反馈信号的来源与处理
电流环的反馈来自电机三相电流采样。通常用两个电流传感器采两相电流,第三相通过基尔霍夫电流定律算出来。采样后经过Clarke变换和Park变换,把三相静止坐标系下的电流转换到两相旋转坐标系下的Id和Iq。Id是励磁分量,Iq是转矩分量。对于表贴式永磁同步电机,Id的参考值通常设为0,所有电流都用来产生转矩。
速度环的反馈来自编码器。编码器信号经过差分处理、倍频、计数,得到位置信息,再对位置做差分得到速度。这里有个细节:低速时用位置差分算速度,分辨率不够,速度反馈会很不平滑。所以好的驱动器会在低速时切换到用编码器脉冲周期测速,或者用观测器估算速度。
位置环的反馈同样来自编码器,但通常直接用编码器的计数值,不做差分。位置环的输出是速度指令,送给速度环。
注意:编码器的分辨率直接影响位置环的精度上限。如果你用的是2500线增量式编码器,四倍频后是10000个脉冲每转,那么理论位置分辨率就是0.036度。如果要求更高的定位精度,要么换高分辨率编码器,要么加机械减速比。
2. 电流环整定:从电机参数到PI参数的计算逻辑
2.1 为什么电流环必须最先调且必须调好
电流环是整个三环系统的地基。如果电流环没调好,速度环和位置环的调试就是空中楼阁。我见过太多人跳过电流环直接调速度环,结果速度环参数怎么调都不对,最后发现是电流环响应太慢导致力矩输出滞后。
电流环调好的标志是什么?给电流环一个阶跃指令,实际电流能在1到2毫秒内上升到目标值,且没有明显超调或振荡。用示波器看,就是一条干净利落的上升曲线。
电流环为什么能调得这么快?因为电机的电气模型相对简单。在dq坐标系下,电机的电压方程可以近似为一个一阶惯性环节加一个扰动项。对于表贴式电机,d轴和q轴可以独立控制,q轴电流直接对应转矩。所以电流环本质上是在控制一个一阶系统,PI控制器就能搞定。
2.2 从电机参数计算初始PI参数
电流环的PI参数不是瞎试出来的,有明确的计算公式。你需要知道电机的两个关键参数:定子电阻Rs和定子电感Ls(对于表贴式电机,Ld约等于Lq,统称Ls)。
电流环的开环传递函数可以写成:
G(s) = Kp * (1 + Ki/(Kps)) * 1/(Rs + Lss)
为了让系统有好的动态响应,通常用零极点对消法,让PI控制器的零点对消电机的极点。电机的极点是Rs/Ls,所以令Ki/Kp = Rs/Ls。
然后根据想要的闭环带宽来定Kp。如果希望电流环带宽为ωc,那么Kp ≈ ωc * Ls。Ki = Kp * Rs / Ls。
举个例子:某伺服电机Rs = 1.5Ω,Ls = 8mH,希望电流环带宽为2000Hz,即ωc = 2π*2000 ≈ 12566 rad/s。那么Kp = 12566 * 0.008 ≈ 100.5,Ki = 100.5 * 1.5 / 0.008 ≈ 18844。
这个计算出来的值是理论初始值,实际中还要根据采样延迟、PWM死区等因素微调。但有了这个初始值,你就不用从零开始瞎试了。
2.3 实际调试中的波形判断与微调
理论计算出来的参数,实际跑起来通常会有偏差。这时候需要用示波器或者驱动器自带的波形采集功能看电流阶跃响应。
如果响应上升太慢,说明Kp偏小,适当增大Kp。如果响应有超调,说明Kp偏大或者Ki偏大。如果响应有稳态误差,说明Ki偏小。如果响应有高频振荡,可能是Kp太大导致系统进入了不稳定区。
我一般会先把Ki设为零,只调Kp,让系统有一个快速但略微欠阻尼的响应,然后再慢慢加Ki消除稳态误差。这样比同时调两个参数要容易得多。
还有一个实战技巧:电流环的响应和母线电压有关。如果母线电压不够高,电流上升速率会受限,这时候再怎么调PI也没用。所以调试前先确认母线电压是否满足电机额定电压需求。
提示:很多伺服驱动器的调试软件里有一个“电流环自整定”功能,它会自动注入小信号测量电机参数然后计算PI值。这个功能在电机参数未知时很好用,但自整定出来的参数偏保守,响应速度通常不是最优的,还需要手动微调。
3. 速度环整定:把电流环当成“理想力矩源”之后的事
3.1 速度环的控制对象模型简化
当电流环调好之后,对于速度环来说,电流环可以近似为一个带宽足够高的“理想力矩源”。也就是说,速度环输出一个力矩指令,电流环能在极短时间内让电机输出对应的力矩。这样速度环的控制对象就简化成了:力矩到速度的传递函数。
对于旋转电机,力矩T = J * dω/dt + B * ω + T_load,其中J是转动惯量,B是粘滞摩擦系数,T_load是负载力矩。忽略摩擦和负载扰动,力矩到速度就是一个积分环节:ω = (1/J) * ∫T dt。
所以速度环的控制对象是一个积分环节。对于积分环节,用PI控制器可以把它校正成一个二阶系统。这就是为什么速度环也用PI控制。
3.2 转动惯量辨识:速度环整定的前提
速度环整定最关键的一步是知道系统的总转动惯量J。这个J包括电机转子惯量和负载折算到电机轴的惯量。如果J不知道,速度环的PI参数就没法算。
实际中,负载惯量往往比电机转子惯量大很多倍。惯量比(负载惯量/电机惯量)是伺服选型的重要指标。一般建议惯量比在5倍以内,超过10倍就很难调了。如果惯量比太大,要么换大一号的电机,要么加减速机。
怎么辨识惯量?最简单的方法是用驱动器的惯量辨识功能。驱动器会给电机加一个特定的力矩指令,观察速度响应,然后反推出惯量。这个过程通常需要电机空载或者带实际负载运行。
如果没有惯量辨识功能,也可以手动估算。给电机一个已知的力矩指令,记录速度从0上升到某个值的时间,用T = J * Δω/Δt反推。但这个方法精度不高,因为摩擦和负载力矩会影响结果。
3.3 速度环PI参数的计算与手调经验
知道J之后,速度环的PI参数可以这样算:假设希望速度环带宽为ωs,那么Kp_speed = J * ωs,Ki_speed = Kp_speed * ωs / 5 到 Kp_speed * ωs / 10。
但实际中,速度环的带宽受限于电流环带宽和机械谐振频率。速度环带宽一般取电流环带宽的1/5到1/10,同时要低于机械谐振频率。如果机械系统有明显的谐振点,速度环带宽必须避开它,否则会激发振荡。
手调速度环的经验是:先把Ki设为零,逐渐增大Kp直到速度响应出现轻微超调,然后减小Kp到刚好没有超调。接着逐渐增大Ki,直到速度稳态误差消除,但注意Ki太大会导致低速爬行或者振荡。
我个人的习惯是速度环Kp取计算值的0.8倍左右,留一点裕量。因为实际系统中摩擦、间隙、弹性变形等因素都会让系统比模型更复杂,参数太激进容易在实际工况下出问题。
注意:速度环调试时一定要带实际负载。空载调好的参数,带上负载后可能完全不能用。负载的惯量、摩擦、弹性都会改变系统的动态特性。
4. 位置环整定:从“能到位”到“到位不抖”的最后一公里
4.1 位置环为什么通常只用P控制
位置环和电流环、速度环不同,它通常只用比例控制,不加积分。为什么?因为位置环的输出是速度指令,如果加了积分,当位置误差为零时,积分项仍然可能保持一个非零的速度指令,导致电机继续运动,产生超调甚至振荡。
位置环的P控制逻辑很直观:位置误差越大,速度指令越大,电机跑得越快;位置误差越小,速度指令越小,电机减速;位置误差为零,速度指令为零,电机停止。这就像一个弹簧,误差是弹簧的伸长量,速度指令是弹簧的拉力。
但纯P控制会有一个问题:如果系统存在静摩擦力,当位置误差很小时,P控制输出的速度指令产生的力矩不足以克服静摩擦,电机就停在那里不动了,形成稳态位置误差。解决这个问题通常靠速度环的积分项来补偿,或者加一个很小的位置环积分项,但要非常小心。
4.2 位置环增益与速度前馈的配合
位置环增益Kp_pos决定了系统对位置误差的响应速度。Kp_pos越大,同样的位置误差产生更大的速度指令,系统响应越快,但太大就会振荡。
位置环增益的理论上限受速度环带宽限制。一般Kp_pos取速度环带宽的1/5到1/10。比如速度环带宽是200Hz,位置环增益大概在20到40 rad/s左右。
但实际中,光靠位置环P控制,系统的位置跟踪会有滞后。特别是在做轨迹运动时,电机实际位置总是落后于指令位置。这时候需要加速度前馈。速度前馈就是把位置指令的微分(即指令速度)直接加到速度环的输入上,这样速度环不需要等位置环产生误差才开始动作,而是提前响应。
速度前馈的系数通常设为0.7到1.0。设为1.0时理论上可以完全消除跟踪滞后,但实际中因为模型误差,设太大会导致超调。我一般从0.7开始试,逐渐增大到跟踪误差最小且不超调。
4.3 定位完成后的抖动问题排查
定位完成后电机抖动,这是伺服调试中最常见的问题之一。抖动可能来自多个环节,需要逐层排查。
先看抖动频率。如果是高频抖动(几百Hz以上),通常是电流环或速度环参数太激进,或者机械谐振。如果是低频抖动(几Hz到几十Hz),通常是位置环增益太大或者速度环积分太强。
排查方法:先把位置环增益降到很低,看抖动是否消失。如果消失,说明问题在位置环,适当降低Kp_pos。如果还在抖,把速度环Ki设为零,看抖动是否消失。如果消失,说明是速度环积分太强。如果还在抖,把速度环Kp也降低,看是否消失。如果所有环都降到很低还在抖,那可能是机械问题,比如联轴器松动、导轨润滑不良、编码器干扰等。
还有一个常见原因是编码器信号干扰。如果编码器线没有屏蔽或者走线靠近动力线,编码器脉冲会受干扰,导致位置反馈跳变,电机就会抖动。这种情况下,抖动通常没有规律,且与电机运动状态无关。
提示:定位抖动排查时,可以用驱动器的波形采集功能同时记录位置误差、速度反馈和电流反馈。如果位置误差在抖动时周期性变化,说明是控制环问题;如果位置误差基本为零但电机仍然抖动,说明是机械或干扰问题。
5. 系统优化:从单环调通到整机性能提升
5.1 前馈与滤波器的组合使用
三环调通只是基础,要让系统性能上一个台阶,必须用好前馈和滤波器。
前馈有两类:速度前馈和转矩前馈。速度前馈前面说了,是把指令速度加到速度环输入。转矩前馈是把指令加速度乘以惯量加到电流环输入。转矩前馈可以进一步减小跟踪误差,特别是在高加速场合。
滤波器主要有两类:低通滤波器和陷波滤波器。低通滤波器用来滤除高频噪声,但会引入相位滞后,降低系统带宽。陷波滤波器用来抑制特定频率的机械谐振,只衰减谐振频率附近的增益,对其他频率影响小。
实际使用中,先用陷波滤波器把机械谐振压下去,然后再用低通滤波器滤高频噪声。低通滤波器的截止频率一般设为电流环带宽的1/2到1/3。
5.2 不同工况下的参数切换策略
一台伺服电机可能在不同工况下运行,比如有时需要快速定位,有时需要平稳运行。一套参数很难同时满足所有工况。这时候可以用参数切换功能。
很多伺服驱动器支持多组参数,通过数字输入或者通信指令切换。比如快速定位时用高增益参数,平稳运行时用低增益参数。切换时要注意平滑过渡,避免参数突变导致冲击。
还有一种更高级的做法是增益调度,根据速度或者位置误差自动调整增益。比如低速时用高增益保证精度,高速时用低增益保证稳定。这个功能在一些高端驱动器里有,自己写控制程序也可以实现。
5.3 通信延迟对三环控制的影响
如果你是用STM32或者PLC通过485通信控制伺服驱动器,通信延迟是一个不可忽视的因素。485通信的波特率通常为9600到115200bps,一帧数据加上处理时间,延迟可能在几毫秒到几十毫秒。
这个延迟对于位置环来说可能还好,因为位置环带宽低。但对于速度环和电流环,如果指令是通过通信下发的,延迟会严重影响性能。所以通常的做法是:通信只下发位置指令或者速度指令,电流环和速度环在驱动器内部闭环,不经过通信。
如果必须通过通信下发速度指令,那速度环的带宽必须降到通信频率的1/10以下。比如通信周期是10ms,速度环带宽最多100Hz,实际建议50Hz以下。
注意:用STM32做485控制伺服时,建议用DMA加空闲中断的方式接收数据,避免轮询导致的延迟。发送时也要注意485收发切换的时序,切换太慢会丢数据,切换太快会冲突。
6. 常见问题排查:从现象反推问题环节
6.1 电机啸叫的几种典型原因
电机啸叫是调试中最常遇到的问题。啸叫通常是人耳能听到的高频声音,频率在1kHz到10kHz之间。原因可能有以下几种:
第一种是电流环Kp太大,导致电流环振荡。这种啸叫频率通常很高,且与电机是否运动无关。解决方法是降低电流环Kp。
第二种是速度环Kp太大,导致速度环振荡。这种啸叫频率稍低,通常在几百Hz到1kHz。解决方法是降低速度环Kp。
第三种是机械谐振。电机和负载之间的联轴器、传动机构有固有频率,当控制环的带宽接近这个频率时就会激发谐振。这种啸叫通常只在特定速度或特定位置出现。解决方法是加陷波滤波器或者降低控制环带宽。
第四种是PWM载波频率与机械谐振耦合。有些电机的机械谐振频率刚好是PWM载波频率的整数倍,会产生拍频啸叫。解决方法是改变PWM载波频率。
6.2 定位超调与爬行的区分处理
定位超调是指电机到达目标位置后冲过头再回来。爬行是指电机接近目标位置时速度极慢,像蜗牛一样慢慢挪。
超调的原因通常是位置环增益太大,或者速度前馈太强,或者速度环响应太慢导致位置环输出过大。解决方法是降低位置环增益,或者减小速度前馈,或者提高速度环响应。
爬行的原因通常是速度环低速性能不好,或者静摩擦力太大,或者位置环增益太小。解决方法是提高速度环低速增益,或者加位置环积分,或者减小机械摩擦。
区分超调和爬行很简单:看位置波形。超调是冲过头再回来,爬行是慢慢靠近但迟迟不到。
6.3 负载变化后参数失效的应对
很多人在空载或者轻载下调好参数,一上重载就出问题。这是因为负载变化改变了系统的惯量、摩擦和谐振频率。
应对方法有三种:一是重新辨识惯量,重新整定参数;二是使用自适应控制,让控制器根据负载自动调整参数;三是降低控制环带宽,让系统对负载变化不敏感。
实际中最常用的是第三种,牺牲一点响应速度换取稳定性。如果负载变化范围很大,可以考虑用第二种,但自适应控制实现复杂,调试也麻烦。
提示:如果负载惯量变化超过3倍,建议用两套参数切换,或者换用更大惯量比的电机。不要试图用一套参数覆盖所有工况,那样往往两头都不讨好。
7. 自己写三环控制程序时的几个关键决策
7.1 电流采样与PWM更新的时序安排
如果你是用STM32自己写三环控制,时序安排是第一个要解决的问题。典型的做法是:PWM载波采用中心对齐模式,在计数器为零时触发ADC采样电流,ADC转换完成后触发中断,在中断里执行电流环计算,然后更新PWM占空比。
这个时序的关键是:电流采样必须在PWM周期的特定时刻进行,避开开关噪声。中心对齐模式下,计数器为零时是下桥臂全开的时候,这时候采样电阻上的电流最干净。
ADC采样到PWM更新之间的延迟就是电流环的计算延迟。这个延迟越小越好,通常要求在几微秒以内。所以电流环的计算要尽量精简,用定点数运算或者查表法,避免浮点运算。
7.2 编码器接口与速度计算
STM32的定时器有编码器接口模式,可以直接读取编码器脉冲。但要注意编码器的信号类型:增量式编码器输出A、B、Z三路信号,A、B用于计数和辨向,Z用于零位校正。
速度计算有两种方法:M法和T法。M法是在固定时间内数脉冲个数,适合高速;T法是用固定脉冲数测时间,适合低速。实际中通常用M/T法结合,根据速度自动切换。
速度计算还要注意滤波。原始速度信号噪声很大,需要加低通滤波。但滤波会引入滞后,所以滤波截止频率要权衡。
7.3 中断优先级与任务调度
三环控制涉及多个中断:电流环中断、速度环中断、位置环中断、通信中断。中断优先级安排不好,会导致控制周期抖动甚至丢中断。
原则是:电流环中断优先级最高,速度环次之,位置环再次之,通信最低。电流环中断必须严格按时执行,不能被其他中断打断。速度环和位置环可以在电流环中断的间隙执行。
如果MCU性能足够,可以把速度环和位置环放在主循环里,用定时器标志触发。但要注意主循环里不能有阻塞操作,否则会影响控制周期。
注意:自己写三环控制程序时,一定要用示波器或者IO翻转法测量实际控制周期。理论计算的中断执行时间往往和实际有偏差,特别是开了优化之后。控制周期抖动超过10%就会影响控制性能。
8. 从汇川伺服选型手册看三环参数的可调范围
8.1 选型时容易被忽略的惯量匹配问题
翻汇川的伺服选型手册,很多人只看额定功率和额定转矩,忽略了惯量匹配。手册里通常会给出电机转子惯量,但负载惯量需要你自己算。
惯量匹配的原则是:负载惯量折算到电机轴后,不要超过电机转子惯量的5倍。超过5倍,速度环增益就上不去,响应会变慢。超过10倍,基本没法调。
如果负载惯量确实很大,有两个选择:一是选大一号的电机,转子惯量更大;二是加减速机,把负载惯量折算到电机轴时除以减速比的平方。比如减速比10:1,负载惯量折算后只有原来的1/100。
8.2 不同系列伺服的电流环带宽差异
汇川的伺服驱动器分很多系列,从经济型到高性能型,电流环带宽差异很大。经济型的电流环带宽可能在1kHz左右,高性能型可以到3kHz以上。
电流环带宽直接影响速度环和位置环的带宽上限。如果你需要高动态响应,选型时就要关注这个参数。手册里通常不会直接写电流环带宽,但可以通过带宽或者响应频率来推断。
一般来说,电流环带宽越高,驱动器的价格越贵。所以选型时要根据实际需求来,不要盲目追求高性能。如果只是做简单的点位控制,经济型足够了。
8.3 手册中参数整定相关功能的解读
汇川伺服手册里关于参数整定的部分,通常会提到自整定、惯量辨识、振动抑制等功能。这些功能很实用,但要理解它们的适用场景。
自整定适合在电机和负载都接好之后做,它会自动测量系统特性并给出推荐参数。但自整定出来的参数偏保守,适合快速上手,不适合追求极致性能。
惯量辨识适合在负载惯量未知时做,它会估算负载惯量并自动设置速度环增益。但辨识精度受机械间隙和摩擦影响,如果机械系统不好,辨识结果可能不准。
振动抑制功能包括陷波滤波器和低频振动抑制。陷波滤波器用来抑制机械谐振,低频振动抑制用来消除定位时的低频抖动。这两个功能在遇到振动问题时非常有用,建议优先尝试。
提示:汇川伺服的调试软件里有一个“波形显示”功能,可以同时显示位置指令、位置反馈、速度反馈、电流反馈等信号。调试时一定要用这个功能,光靠看电机运行状态是调不好的。
9. 一个完整的调试案例:从啸叫到平稳运行
9.1 初始状态与问题现象
之前做过一个项目,用汇川某型号400W伺服驱动一个丝杠滑台,负载惯量大概是电机惯量的8倍。初始参数用的是驱动器默认值,一上电电机就啸叫,声音很尖,且电机发热严重。
用调试软件看波形,电流反馈有明显的高频振荡,频率大概在3kHz左右。速度反馈也有振荡,但频率低一些。位置反馈基本不动,因为电机被啸叫锁住了。
9.2 逐层排查与参数调整过程
第一步,先把电流环Kp降低一半,啸叫频率降低但没消失。继续降低,啸叫消失,但电流响应变慢。这时候用电流环自整定重新整定,得到一组参数,电流响应恢复快速且无振荡。
第二步,调速度环。默认速度环Kp太大,导致速度振荡。把速度环Kp降到默认值的1/3,速度振荡消失。然后加Ki,逐渐增大到速度稳态误差消除。这时候电机运行平稳,但定位时有轻微超调。
第三步,调位置环。位置环Kp降到默认值的1/2,超调减小但还有。加速度前馈,系数从0.5开始试,到0.8时跟踪误差最小且无超调。定位精度达到±1个脉冲。
第四步,加陷波滤波器。因为惯量比大,机械谐振频率大概在500Hz左右。用调试软件的频率分析功能找到谐振点,设置陷波滤波器,深度设为-20dB,宽度设为100Hz。加完之后,速度环增益可以再提高一些,响应更快。
9.3 最终参数与性能指标
最终参数:电流环Kp=85,Ki=12000;速度环Kp=0.8,Ki=15;位置环Kp=25,速度前馈=0.8;陷波滤波器中心频率500Hz,深度-20dB,宽度100Hz。
性能指标:定位时间从原来的500ms缩短到200ms,定位精度±1个脉冲,运行平稳无啸叫,电机温升正常。连续运行24小时无异常。
这个案例的关键经验是:惯量比大的系统,一定要用陷波滤波器,否则速度环增益上不去。另外,自整定功能可以作为起点,但不要完全依赖,手动微调是必须的。
10. 写在最后:三环调试没有捷径但有方法
调伺服三环这件事,说难也难,说简单也简单。难的是现象和原因之间的映射关系不是一一对应的,同一个现象可能是多个原因造成的。简单的是,只要你理解了每一环在干什么,按照从内到外的顺序逐层调试,大部分问题都能定位和解决。
我自己的习惯是:每次调试新系统,先花十分钟把电机参数和惯量辨识做一遍,然后从电流环开始,用示波器看波形,确认每一环都调好了再调下一环。不要跳步,不要凭感觉。波形不会骗人,参数有没有调好,看波形一目了然。
还有一个心得:调试时一定要带实际负载。空载调好的参数,带上负载后大概率要重调。如果实在没法带负载调试,那至少要把负载惯量估算出来,在参数上留足裕量。
最后说一个容易被忽略的点:伺服系统的性能上限往往不在伺服本身,而在机械系统。联轴器松动、丝杠间隙、导轨摩擦,这些问题靠调参数是解决不了的。遇到怎么调都不对的情况,先检查机械,再怀疑电气。