2. 电机控制基础
在FPGA电机控制系统中,控制器并不是“通用地驱动所有电机”,而是针对不同电机的电磁结构、换相方式和反馈信号,采用不同的时序逻辑与定点运算策略。理解直流电机、步进电机、永磁同步电机与无刷直流电机的工作原理,是后续设计PWM发生器、换相状态机、电流环和速度环的前提。本节从电磁转矩产生机制出发,对比四类电机的控制需求,并给出FPGA实现时的关键参数与判断依据。
一、核心原理:转矩从何而来
电机旋转的本质是定子磁场与转子磁场相互作用产生转矩。直流电机依靠机械换向器和电刷,将外部直流电转换为电枢绕组中的交变电流,使电枢磁场始终与定子磁场保持接近正交,从而获得连续转矩。其转矩近似与电枢电流成正比:
T = Kt × Ia
E = Ke × ω
U = Ia × Ra + E
其中 Kt 为转矩常数,Ke 为反电动势常数,Ia 为电枢电流,ω 为角速度。控制需求集中在电流闭环与PWM占空比调节,FPGA通常只需一路PWM和一路电流采样即可完成基础调速。
步进电机则将电脉冲直接转换为固定角位移。每输入一个脉冲,转子前进一个步距角,因此它本质上是“位置开环”或“位置半闭环”执行器。两相混合式步进电机的步距角常为1.8°,即200步/转;若驱动器采用16细分,则每个脉冲对应0.1125°。FPGA需要生成频率可调、脉冲数可计数的脉冲序列,并管理方向信号与使能信号。
永磁同步电机(PMSM)的转子为永磁体,定子为三相绕组,必须通过逆变器产生旋转磁场。其控制核心是磁场定向控制(FOC):将三相电流经Clarke变换和Park变换到dq旋转坐标系,分别控制d轴电流(通常为0)和q轴电流,从而独立控制磁链与转矩。无刷直流电机(BLDC)在结构上与PMSM相似,但反电动势通常为梯形波,采用六步换相,每60°电角度切换一次导通相,控制上更接近“电子换向的直流电机”。
二、方法流程:从电机类型到控制架构
在FPGA项目中,确定电机类型后,控制架构可按以下流程展开:
- 识别反电动势波形:正弦波对应PMSM,梯形波对应BLDC,方波脉冲对应步进,直流电压对应有刷直流。
- 确定换相方式:机械换向、脉冲分配、六步换相或SVPWM连续调制。
- 选择反馈信号:霍尔传感器、增量式编码器、旋转变压器或无位置传感器过零检测。
- 划分FPGA模块:PWM发生器、换相状态机、电流采样接口、Clarke/Park变换、PI调节器、SVPWM或脉冲分配器。
- 设定定点位宽:根据电流、电压、速度和角度范围,确定Q格式与饱和保护策略。
关键判断:如果电机反电动势为正弦波且要求转矩平稳,优先选择FOC;如果只要求成本低、控制简单,BLDC六步换相更合适;如果位置精度要求不高且负载稳定,步进电机开环方案即可满足。
三、案例/场景:四类电机的FPGA控制参数
下表给出典型应用场景下的控制需求对比,便于在FPGA设计初期快速选型。
| 电机类型 | 换相方式 | 典型反馈 | FPGA核心模块 | 关键参数 |
|---|---|---|---|---|
| 有刷直流 | 机械换向 | 编码器/电流采样 | PWM + PI电流环 | PWM频率 20kHz,电流环 1kHz |
| 步进电机 | 脉冲分配 | 限位/编码器 | 脉冲发生器 + 细分表 | 步距角 1.8°,细分 16,脉冲频率 0~50kHz |
| PMSM | SVPWM | 编码器/旋变 | Clarke/Park + PI + SVPWM | 载波 10~20kHz,电流环 1~5kHz,Q15定点 |
| BLDC | 六步换相 | 霍尔/过零检测 | 换相状态机 + PWM | 换相角 60°,PWM 20kHz,死区 1μs |
四、误区/复盘:常见设计陷阱
误区一:把BLDC当作PMSM直接套用FOC。BLDC反电动势为梯形波,若强行使用正弦FOC,会导致转矩脉动增大,且需要额外处理换相点。正确做法是先确认反电动势波形,再选择控制策略。
误区二:步进电机开环一定不丢步。步进电机在高速或大负载下可能失步,FPGA应保留编码器接口或堵转检测,以便在异常时降速或报警。
误区三:忽略死区时间与采样同步。PMSM和BLDC的逆变桥上下管必须插入死区,否则直通会损坏功率器件;电流采样应与PWM中心对齐,避免开关噪声干扰。
复盘时,建议用示波器同时观察PWM、相电流和霍尔信号,确认换相点与电流过零点的相位关系。对于PMSM,还需检查Park变换所用角度是否与转子实际电角度对齐;对于BLDC,则要确认过零检测延时30°电角度后再换相。只有把电机原理、反馈信号和FPGA时序统一起来,后续的定点优化和时序收敛才有可靠基础。