4. 电机控制基础:直流有刷/无刷电机原理、PWM调速、H桥驱动电路、电流环/速度环/位置环
各位工程师朋友,大家好。这一章我们聊聊电机控制。说实话,在分拣机这个行当里,电机就是整个系统的“手脚”。你算法写得再好,视觉识别得再准,最后电机执行不到位,一切都是白搭。我在产线上见过太多因为电机抖动、过冲导致分拣失败的案例了。所以,这一章我们把它吃透。
4.1 直流有刷电机与无刷电机:你该选哪个?
先说说最基础的区别。直流有刷电机,结构简单,成本低。你给它通上电,它就转。换向靠的是电刷和换向器。我早期做的一个小项目,用的是有刷电机,控制起来确实方便,两根线一接,PWM一给,转速就出来了。
但它的缺点也很明显。电刷会磨损,会产生火花。在分拣机这种需要长时间连续运行的场景下,有刷电机的寿命是个大问题。我记得有一次,产线连续跑了72小时,有刷电机的电刷就磨掉了一半,碳粉把换向器都糊住了。从那以后,我对有刷电机在工业长时应用上就格外谨慎。
无刷电机就不一样了。它没有电刷,换向靠电子控制器(ESC)。说白了,就是靠霍尔传感器或者反电动势来检测转子位置,然后通过MOS管切换电流方向。它的优点是效率高、寿命长、噪音小。现在主流的分拣机,尤其是高速分拣,几乎清一色用的是无刷电机。
核心区别总结:
- 有刷电机:控制简单,成本低,但寿命短,有火花干扰。
- 无刷电机:控制复杂,成本高,但寿命长,效率高,适合高速高精度场景。
4.2 PWM调速:不只是给个占空比
PWM,脉冲宽度调制。说白了,就是通过快速开关电源,改变平均电压来控制电机转速。你想想看,一个12V的电机,你给它100%占空比,它就是12V全速跑。你给50%,平均电压就是6V,转速就降下来了。
但这里有个坑。PWM的频率不能随便选。频率太低,电机会“咔咔”响,甚至抖动。频率太高,MOS管的开关损耗会急剧增加,发热严重。我个人习惯,对于直流有刷电机,PWM频率选在1kHz到10kHz之间。对于无刷电机,因为需要更平滑的电流,频率通常会选在16kHz以上,甚至到20kHz,这样人耳就听不到那个尖叫声了。
我的经验: 我曾经在一个项目中,PWM频率选得太低,电机在低速时抖动得像筛糠一样。后来把频率从500Hz提到4kHz,问题立刻解决。记住,PWM频率要避开机械共振点。
4.3 H桥驱动电路:正反转的秘密
电机要正转,也要反转。怎么实现?H桥。它由四个开关管(通常是MOSFET)组成,形状像个“H”。
控制逻辑很简单:
- 正转:导通Q1和Q4,电流从左到右流过电机。
- 反转:导通Q2和Q3,电流从右到左流过电机。
- 刹车:导通Q1和Q3,或者Q2和Q4,电机两端短路,快速停止。
- 滑行:所有开关管断开,电机自由旋转。
嗯,这里要注意。H桥最怕什么?怕“直通”。就是Q1和Q2同时导通,或者Q3和Q4同时导通。那相当于电源直接短路,瞬间电流能把MOS管烧掉。所以,在软件里一定要加死区时间。也就是在切换方向时,先关断所有管子,等几微秒,再导通另一组。
警告: 千万不要忽略死区时间!我见过一个实习生,为了追求响应速度,把死区时间设成0,结果一上电,MOS管直接冒烟。死区时间一般设在1-5微秒,具体看MOS管的关断延迟。
4.4 电流环/速度环/位置环:三环控制的精髓
分拣机对电机的要求,不只是“转起来”,而是要“转得准”、“转得稳”。这就引出了经典的三环控制:电流环、速度环、位置环。
你可以把它们想象成三层管理架构:
- 电流环(最内层):管力矩。它响应最快,保证电机输出你想要的力矩。说白了,就是控制电流大小。
- 速度环(中间层):管速度。它根据目标速度和实际速度的误差,输出给电流环一个目标电流。
- 位置环(最外层):管位置。它根据目标位置和实际位置的误差,输出给速度环一个目标速度。
为什么会这样设计?因为每一层都有自己擅长的频段。电流环处理高频扰动(比如负载突变),速度环处理中频扰动(比如摩擦力变化),位置环处理低频扰动(比如累积误差)。
在实际调试中,我建议的顺序是:先调电流环,再调速度环,最后调位置环。电流环调不好,上面两层都是空中楼阁。
调试口诀:
- 电流环:先给一个固定占空比,看电流反馈是否稳定。PID参数先给P,再给I,D一般不用或者给很小。
- 速度环:给一个阶跃速度指令,看响应是否过冲。P决定响应速度,I消除稳态误差。
- 位置环:给一个阶跃位置指令,看是否超调。位置环的P一般给得比较小,避免震荡。
4.5 实战中的避坑指南
最后,分享几个我在产线上踩过的坑。
- 电流采样噪声:电流环对噪声非常敏感。我曾经因为采样电阻的布线太长,引入了高频噪声,导致电流环震荡。解决办法是把采样电阻尽量靠近电机驱动芯片,并且加一个RC低通滤波。
- 编码器分辨率:位置环的精度取决于编码器。分拣机一般要求定位精度在毫米级,对应的编码器分辨率至少要达到每转1000线以上。如果分辨率太低,位置环会抖动。
- 启动电流冲击:电机启动时,电流会很大。如果电源功率不够,会导致电压跌落,甚至系统复位。我建议在软件里做“软启动”,也就是PWM占空比从0逐渐增加到目标值,时间控制在几十毫秒。
一个小技巧: 在调试速度环时,可以用示波器同时观察速度指令和实际速度波形。如果实际速度波形有“毛刺”,说明电流环响应太快或者有噪声。如果波形有“低频振荡”,说明速度环的P太大或者I太大。
好了,这一章的内容就到这里。电机控制是个实践性很强的东西,光看理论是不够的。我建议你找一块开发板,亲手调一调三环参数,感受一下每个参数对系统响应的影响。下一章,我们会聊聊传感器选型与信号处理,敬请期待。