4、电流环PID调优:PID参数整定、电流采样电阻计算、过流保护
电流环是步进电机驱动的“心脏”。位置环和速度环再花哨,最终都得靠电流环去执行。说白了,电流环调不好,电机就是“虚胖”——看着能动,一上负载就丢步。
我个人习惯把电流环调优分成三块:PID参数怎么给、采样电阻怎么选、过流保护怎么兜底。这三块缺一不可,咱们一个一个来啃。
4.1 PID参数整定:从“抖”到“稳”
电流环的PID,核心是PI,D项用得少。为什么?因为电流采样噪声大,微分项容易把噪声放大,反而让系统更抖。我早期一个项目,加了D项后电流纹波从5%飙到15%,查了两天才发现是采样毛刺被放大了。从那以后,我默认只用PI。
4.1.1 整定流程
我的整定方法很简单,三步走:
- 先给一个保守的P值:比如P=0.5,I=0。看电流响应,如果上升慢,就加P。
- 找到临界振荡点:慢慢加P,直到电流出现等幅振荡。记下这个P值,叫临界增益Kc。
- 引入I消除静差:把P降到Kc的0.6倍,然后加I。I从0.01开始往上加,直到稳态误差消失。
4.1.2 参数范围参考
不同电机和驱动器的参数差异很大,但有个大致范围可以参考。我整理了一个表格,是我在几个项目里用过的典型值:
| 电机类型 | 额定电流(A) | P范围 | I范围 | PWM频率(kHz) |
|---|---|---|---|---|
| 42步进电机 | 1.0-1.5 | 0.8-1.5 | 0.02-0.05 | 20 |
| 57步进电机 | 2.0-3.0 | 1.0-2.0 | 0.03-0.08 | 20 |
| 86步进电机 | 4.0-6.0 | 1.5-3.0 | 0.05-0.12 | 16 |
嗯,这里要注意:P值太大,电流会过冲,电机“嗡嗡”响;I值太大,电流会低频振荡,电机“咯噔咯噔”的。你想想看,这两种声音一听就知道参数没调好。
4.2 电流采样电阻计算:别让电阻“烧”了你的设计
采样电阻是电流环的“眼睛”。电阻选大了,功耗高、发热大;选小了,信号太弱,ADC都读不准。
4.2.1 电阻阻值怎么定
核心公式就一个:
R_sense = V_ref / (I_max * 增益)
其中:
- V_ref:ADC参考电压,通常是3.3V或5V
- I_max:电机最大相电流
- 增益:电流检测放大器的放大倍数
举个例子:我做过一个项目,电机额定电流2A,ADC参考电压3.3V,放大器增益20倍。那么:
R_sense = 3.3 / (2 * 20) = 0.0825Ω
实际选型,我会选0.1Ω的电阻。为什么?因为标准阻值好买,而且留了点余量。
4.2.2 功率计算
采样电阻的功率也不能忽视。公式:
P = I² * R
还是上面那个例子,2A电流、0.1Ω电阻:
P = 2² * 0.1 = 0.4W
我一般选额定功率2倍以上的电阻,也就是0.8W以上。实际选型,我会用1W或2W的电阻,留足余量。你想想看,电阻发热后阻值会漂,电流采样就不准了,整个电流环都会受影响。
4.3 过流保护:最后一道防线
过流保护是“兜底”的。参数整定再完美,也挡不住电机堵转、线缆短路这些意外。没有过流保护,MOS管说烧就烧。
4.3.1 硬件过流 vs 软件过流
我习惯两种都做:
- 硬件过流:用比较器+参考电压,电流超过阈值直接关断PWM。响应时间在微秒级。
- 软件过流:在电流环中断里检测,超过阈值后软件关断。响应时间在毫秒级。
硬件过流是“急救”,软件过流是“体检”。两者配合,才能万无一失。
4.3.2 阈值怎么设
阈值设置有个经验公式:
I_threshold = I_max * 1.2 ~ 1.5
比如电机额定电流2A,我会把硬件过流阈值设在3A,软件过流阈值设在2.5A。为什么硬件阈值更高?因为硬件触发后直接关断,不能太灵敏,否则正常启动时的浪涌电流也会触发。
4.4 电流环调优的整体逻辑
说了这么多,咱们用一张图把整个流程串起来。这是我做电流环调优时的思维框架:
从图上可以看得很清楚:先有电机参数,才能整定PID;PID调好了,采样电阻才能选得准;采样电阻选好了,过流保护阈值才有依据。这是一个环环相扣的过程,跳不过任何一步。
嗯,最后说一句:电流环调优没有“万能参数”,每个电机、每个驱动器都有自己的脾气。我的经验是——先让系统“动起来”,再让系统“稳下来”。别一上来就追求完美,先把电机转起来,再慢慢调细节。这样效率最高,也最不容易出错。