1. 伺服控制基础:伺服系统概述、三环控制原理、FPGA在伺服控制中的角色
1.1 伺服系统到底是什么?
先聊聊伺服系统。很多人一听到「伺服」就觉得高大上,其实没那么玄乎。
伺服系统,说白了就是一个能精确跟随指令的自动控制系统。你让它转1圈,它不会转0.9圈;你让它停在某个位置,它不会抖来抖去。我做过一个项目,客户要求定位精度到0.01度,当时心里也没底,后来发现只要把三环调好了,这事儿真能成。
伺服系统通常包含这几个部分:
- 控制器:大脑,负责算位置、算速度、算电流
- 驱动器:执行器,把控制信号变成电机能用的功率
- 电机:干活的主力,常见的有永磁同步电机(PMSM)、直流无刷电机(BLDC)
- 反馈装置:眼睛,编码器、霍尔传感器这些
你想想看,如果没有反馈,那就是开环控制。开环控制能干啥?步进电机那种,丢步了它自己都不知道。伺服就不一样,闭环控制,实时纠偏。
核心要点:伺服系统的本质是「测量-比较-纠正」的循环。这个循环跑得越快,系统性能就越好。
1.2 三环控制原理:位置环、速度环、电流环
三环控制是伺服系统的灵魂。我刚开始学的时候,总觉得这三环是分开的,后来做项目才明白——它们是嵌套的,一层套一层。
先看这张图,一目了然:
1.2.1 电流环——最内层,最快
电流环是三个环里跑得最快的。为什么?因为电流变化快啊。电机线圈里的电流,微秒级就能变一次。
电流环的任务很简单:让电机实际电流紧紧跟随给定电流。一般用PI控制器,比例项管响应速度,积分项管稳态精度。
我的经验:电流环的PI参数,我一般先调比例项。比例项调好了,电流响应基本就快了。积分项加太多反而容易震荡。有一次我调一个200kHz的电流环,积分系数设大了,电流波形抖得像心电图,后来减了一半才稳下来。
1.2.2 速度环——中间层,不快不慢
速度环在电流环外面。它给电流环发指令:「喂,电流环,你让电机转这么快!」
速度环的输入是速度给定和实际速度的差值,输出是电流给定。速度环的频率一般在10~50 kHz,比电流环慢一些。
这里有个坑:速度反馈的延迟。编码器采样有延迟,算速度也有延迟。我曾经用M法测速,低速的时候速度值跳得厉害,后来换成T法才解决。
1.2.3 位置环——最外层,最慢
位置环在最外面。它给速度环发指令:「速度环,你让电机跑到这个位置!」
位置环的频率最低,一般1~10 kHz就够了。为什么?因为位置变化慢啊。你想想看,电机转一圈,位置才变360度,速度都变了好多次了。
位置环的控制器,我建议用P控制器就够了。加积分项容易产生超调,位置超调了再拉回来,那抖动看着就难受。
注意:三环的带宽必须逐级递减。电流环带宽 > 速度环带宽 > 位置环带宽。如果速度环比电流环还快,系统会不稳定。这个原则我在项目里验证过好几次,违反一次炸一次。
1.3 FPGA在伺服控制中的角色
说到FPGA,很多人第一反应是「这玩意儿不是做通信的吗?」其实FPGA在伺服控制里,优势非常明显。
1.3.1 为什么用FPGA?
传统的伺服控制器用MCU或DSP。MCU便宜,但算力有限。DSP算力强,但指令流水线有延迟。
FPGA呢?硬件并行执行。电流环、速度环、位置环,三个环可以同时算,互不干扰。我做过对比:同样一个三环算法,在DSP上跑需要5微秒,在FPGA上只需要1微秒。
| 对比项 | MCU | DSP | FPGA |
|---|---|---|---|
| 控制周期 | 50~100 μs | 10~50 μs | 1~10 μs |
| 并行能力 | 弱(单核) | 中(流水线) | 强(全并行) |
| 灵活性 | 高(软件可改) | 中 | 高(硬件可重构) |
| 功耗 | 低 | 中 | 中高 |
| 典型应用 | 简单位置控制 | 中高端伺服 | 超高速/高精度伺服 |
1.3.2 FPGA具体做什么?
在伺服系统里,FPGA主要负责这几块:
- 电流环加速:Clark变换、Park变换、PI运算,全部用硬件流水线实现。我做过一个设计,电流环从采样到输出PWM,总共只用了8个时钟周期。
- 编码器解码:增量式编码器的正交解码、绝对值编码器的SSI/EnDat协议解析,FPGA做这个简直是降维打击。
- PWM生成:空间矢量调制(SVPWM),FPGA可以精确控制死区时间、互补输出,比MCU的PWM模块灵活多了。
- 故障保护:过流、过压、堵转检测,FPGA可以在纳秒级响应,直接封锁PWM输出。
一句话总结:FPGA把伺服控制中最耗时的计算和接口任务硬件化了,让控制周期从微秒级降到纳秒级。这就是硬件加速的价值。
1.3.3 一个实际案例
我记得有个项目,客户要求电机在1000转/分钟的时候,速度波动小于0.1%。用DSP做,速度环跑到20kHz,波动在0.3%左右,死活降不下来。
后来换成FPGA,速度环跑到100kHz,电流环跑到200kHz。你猜怎么着?速度波动直接降到0.05%。为什么?因为控制周期快了,系统对扰动的响应也快了。
避坑指南:FPGA不是万能的。如果你只需要一个简单的伺服,MCU就够了。FPGA的优势在于极致性能和高度定制。如果你的控制周期要求小于10微秒,或者需要同时控制多个轴,那FPGA就是最佳选择。
1.4 本章小结
伺服控制的基础,说白了就是三环嵌套。电流环最快,速度环居中,位置环最慢。FPGA的角色,就是把这三环用硬件实现,跑得更快、更稳。
嗯,这一章的内容就到这里。下一章我们会深入电流环的FPGA实现,包括Clark变换、Park变换的硬件设计,到时候我会分享一些具体的代码和时序图。
公众号:蓝海资料掘金营,微信deep3321