第2章:伺服驱动器硬件架构

做伺服驱动这么多年,我始终觉得硬件架构是固件的根基。你固件写得再漂亮,硬件选型出了问题,一切都是白搭。今天咱们就来聊聊伺服驱动器的硬件架构,重点说说主控芯片、功率驱动、电流采样、编码器接口和通信接口这几个核心模块。

2.1 主控芯片选型

主控芯片是伺服驱动器的「大脑」。我个人习惯把选型要点归纳为三点:算力、外设、生态。

算力方面,伺服控制的核心是电流环、速度环、位置环的实时运算。电流环的周期通常在 50μs~100μs,速度环 500μs~1ms,位置环 1ms~10ms。你想想看,一个周期内要完成 Clarke/Park 变换、PID 计算、SVPWM 调制,还得处理编码器数据,这计算量可不小。

我建议主频至少 200MHz 以上,最好带硬件浮点运算单元(FPU)。没有 FPU 的芯片做浮点运算,那效率简直惨不忍睹——我在一个早期项目里吃过这个亏,后来老老实实换了带 FPU 的芯片。

常用主控芯片选型参考:
芯片系列 主频 FPU PWM分辨率 ADC采样率 典型应用
STM32G4 170MHz 单精度 16位 5Msps 中低端伺服
TMS320F28379D 200MHz 双精度 16位 3.5Msps 高端伺服
GD32F470 240MHz 单精度 16位 2.5Msps 国产替代方案

外设方面,我最看重的是 PWM 定时器和 ADC。PWM 定时器要支持互补输出、死区插入、硬件刹车。ADC 最好支持多通道同步采样,而且触发源要灵活——能跟 PWM 定时器联动,在特定时刻触发采样,这样电流采样时机才精准。

嗯,这里要注意:有些芯片的 ADC 采样率标得很高,但实际用起来受限于转换精度和噪声,有效位数会打折扣。我建议选型时看看芯片的 ENOB(有效位数)指标,别光看采样率。

2.2 功率驱动电路

功率驱动电路说白了就是把控制信号放大,驱动电机转动。核心器件是 IGBT 或 MOSFET,配合栅极驱动芯片使用。

我一般按功率等级来选型:

  • 小功率(< 500W):用 MOSFET,开关频率可以做到 20kHz~40kHz
  • 中功率(500W~5kW):用 IGBT,开关频率 8kHz~16kHz
  • 大功率(> 5kW):用 IPM(智能功率模块),集成度高,保护功能齐全

驱动电路设计有个关键点——死区时间。上下桥臂不能同时导通,否则就是短路。死区时间设得太短,有直通风险;设得太长,电流波形畸变,电机噪音大。我曾经在一个项目中,死区时间设了 2μs,结果电机嗡嗡响,后来调到 500ns 才搞定。这个值跟 IGBT 的关断延迟有关,得看数据手册。

避坑指南: 栅极驱动电阻的选择很讲究。电阻太小,开关速度快但 EMI 大;电阻太大,开关损耗高。我一般先按数据手册推荐值起步,再用示波器看栅极波形,调到振铃幅度不超过 10% 为止。

2.3 电流采样电路

电流采样是伺服控制的「眼睛」。采样不准,控制精度就无从谈起。常用的采样方式有三种:

  1. 采样电阻法:成本低,精度高,但有损耗。适合小功率场合。
  2. 霍尔电流传感器:隔离性好,无损耗,但带宽有限。适合中功率。
  3. 电流互感器:只能测交流,不能测直流。适合大功率。

我个人最常用的是采样电阻法,配合差分放大器。采样电阻要选低温度系数的,比如锰铜合金或康铜合金。放大器的偏置电压和温漂要小——我习惯用零漂移运放,比如 AD8628 或 OPA2188。

采样时机也很关键。电流采样最好在 PWM 周期的中间点进行,因为这时候电流纹波最小,采样值最接近平均值。你看,这就是为什么前面说 ADC 触发源要灵活——你得让 PWM 定时器在特定时刻触发 ADC 采样。

小技巧: 如果芯片的 ADC 输入范围是 0~3.3V,而电流信号是双极性的(有正有负),你得加一个偏置电压,把信号抬到 1.65V 中点。我习惯用 2.5V 基准源分压得到 1.65V,这样精度更高。

2.4 编码器接口电路

编码器接口负责读取电机的位置和速度信息。常见的编码器类型有:

  • 增量式编码器:输出 A、B、Z 三路信号。A、B 相差 90°,用于判断方向和计数;Z 信号每圈一个脉冲,用于找零位。
  • 绝对式编码器:输出多圈位置值,掉电不丢失。常用协议有 BiSS、SSI、EnDat。
  • 旋转变压器:输出正余弦信号,抗振动、耐高温,适合恶劣环境。

接口电路设计要注意差分信号处理。编码器信号通常是 RS-422 差分电平,抗干扰能力强。我建议用专用的差分接收器,比如 AM26LS32,而不是用运放搭。为什么?因为差分接收器有滞回特性,能滤除噪声。

对于绝对式编码器,通信速率通常很高(BiSS 可以到 10MHz),布线时要特别注意信号完整性。我曾经在一个项目中,编码器线长了 5 米,结果通信老是丢帧。后来加了终端电阻,又把线缆换成双绞屏蔽线,问题才解决。

2.5 通信接口电路

伺服驱动器需要跟控制器(PLC、运动控制器)通信,常用的接口有:

接口类型 速率 距离 典型应用
RS-485 10Mbps 1200m Modbus、CAN
CAN/CANopen 1Mbps 40m 工业现场总线
EtherCAT 100Mbps 100m 高端运动控制
Pulse/Dir 500kHz 10m 步进替代方案

通信接口电路设计,我最关注的是隔离和防护。工业现场干扰多,不隔离的话,通信芯片很容易烧。我习惯用数字隔离器,比如 ISO7240 或 ADuM1401,把控制侧和通信侧隔离开来。

另外,终端电阻不能省。RS-485 和 CAN 总线都需要在两端加终端电阻,匹配阻抗,防止信号反射。我见过太多人省了终端电阻,结果通信时好时坏,查了半天才发现是这个问题。

我的经验: 通信接口的 TVS 管和共模扼流圈一定要加。TVS 管防浪涌,共模扼流圈滤共模干扰。这两个器件成本不高,但能省很多售后麻烦。

2.6 硬件架构总览

说了这么多,咱们用一张图把整个硬件架构串起来:

伺服驱动器硬件架构总览 主控芯片 STM32G4 / TMS320F28379D 功率驱动电路 IGBT/MOSFET + 栅极驱动 电流采样电路 采样电阻 + 差分运放 编码器接口电路 增量式/绝对式/旋变 通信接口电路 RS-485 / CAN / EtherCAT 伺服电机 PMSM / BLDC / 异步 位置/速度反馈

这张图把整个硬件架构串起来了。主控芯片是核心,它通过 PWM 信号控制功率驱动电路,同时读取电流采样和编码器反馈,再通过通信接口跟外部控制器交换数据。说白了,这就是一个闭环控制系统——主控芯片算好控制量,驱动电路执行,采样电路反馈,编码器提供位置信息,通信接口负责跟外界打交道。

每个模块都有它的设计要点,咱们后面几章会逐一深入。今天先把框架搭好,后面填内容就顺了。