第四节:电机参数与硬件接口

好,咱们进入第四讲。这一节,说白了就是讲“硬件怎么跟软件打交道”。你FOC算法写得再漂亮,如果连电机参数都搞不清楚,或者传感器信号都读不准,那都是白搭。我个人习惯,在写一行代码之前,先把硬件接口吃透。今天咱们就聊聊直流电机、BLDC、PMSM的参数,还有编码器、霍尔和电流采样那些事儿。

4.1 三种电机的参数理解

先说说直流电机。这玩意儿简单,两根线,通电能转。但做FOC控制时,我们关心的参数其实不多。主要是电枢电阻R和电感L。R决定了铜损,L决定了电流的响应速度。我在项目中遇到过,有人拿了个大直流电机,没测电感就直接上PI参数,结果电流震荡得一塌糊涂。嗯,这里要注意,直流电机的电感通常很小,尤其是空心杯电机,你得小心电流环的带宽设计。

小提示: 直流电机的反电动势常数Ke,也是关键参数。它决定了你空载时的转速。我建议用“堵转法”测R,用“LCR电桥”测L,别偷懒。

再说BLDC(无刷直流电机)。很多人以为BLDC和PMSM是一回事,其实不然。BLDC的反电动势是梯形波,而PMSM是正弦波。这就决定了它们的控制策略有差异。BLDC的参数,除了R和L,还要关注极对数Pp。极对数决定了电角度和机械角度的关系。公式很简单:电角度 = 机械角度 × 极对数。你想想看,如果极对数搞错了,你的Clark变换和Park变换全都会乱套。

最后是PMSM(永磁同步电机)。这是FOC控制的主力。它的参数更复杂一些。除了R、L、Pp,还有永磁磁链Ψf。这个Ψf直接决定了你的转矩常数Kt。我记得有一次调试一个高速PMSM,怎么调都感觉力矩不够。后来一查,是磁链参数给错了,差了20%。所以,我建议你拿到一个新电机,第一件事就是做参数辨识。别信数据手册,那都是理想值。

参数 直流电机 BLDC PMSM
反电动势波形 直流 梯形波 正弦波
关键参数 R, L, Ke R, L, Pp R, Ld, Lq, Ψf, Pp
控制方式 电压/电流控制 六步换向 / FOC FOC
转矩脉动 较大(换向时)

4.2 编码器与霍尔传感器接口

传感器是FOC的眼睛。没有准确的位置反馈,你的电流矢量就转不到该去的地方。

先说编码器。常用的有增量式和绝对式。增量式编码器输出A、B、Z三相信号。A和B相差90度,用来判断方向和计数。Z信号是零位脉冲,每转一圈输出一次。我建议你在上电时,先让电机找一下Z信号,确定一个绝对零点。否则,你每次上电的位置都是随机的,做闭环控制会很麻烦。

接口上,NXP的MCU通常有正交解码模块(比如eQADC或FTM)。你只需要把A、B、Z信号接到对应的引脚上,配置好滤波和计数模式就行。我曾经遇到过一个问题:编码器线太长,信号有毛刺,导致计数不准。后来加了硬件RC滤波,并在软件里做了“防抖”处理,才搞定。

注意: 编码器的供电电压通常是5V或3.3V,一定要跟MCU的IO电平匹配。不匹配的话,加个电平转换芯片,别硬接。

再说霍尔传感器。霍尔传感器只有三个信号:H1、H2、H3。它们组合成6种状态,对应电机的6个扇区。霍尔传感器的精度很低,只有60度电角度。所以,它通常只用于启动时的初始位置检测,或者低速时的换向。在高速运行时,我一般会切换到编码器或无传感器观测器。

霍尔信号的接口很简单,就是三个GPIO。但要注意,霍尔信号在换向瞬间会有抖动。我建议你在软件里做“去抖”处理,比如连续采样3次,值一致才认为有效。否则,你可能会在换向时听到电机“咔咔”响。

4.3 电流采样电路

电流采样是FOC的核心。没有准确的电流值,你的电流环就是瞎子的眼睛。

常用的采样方式有两种:单电阻采样和三电阻采样。单电阻采样成本低,但只能在特定的PWM状态下采样,算法复杂。三电阻采样更直接,每个下桥臂串联一个采样电阻,通过运放放大后送给ADC。我个人的习惯,在开发阶段用三电阻采样,调试方便。量产时如果成本敏感,再考虑单电阻。

采样电路的关键是运放的选择。你需要关注几个指标:

  • 带宽: 至少要能覆盖PWM的开关频率。比如20kHz的PWM,运放带宽最好在1MHz以上。
  • 共模抑制比: 越高越好。电机驱动是强干扰环境,共模噪声很大。
  • 偏置电压: 越小越好。否则你的采样值会有固定的偏移,需要软件校准。

我记得有一次,采样出来的电流波形总是有毛刺。查了半天,发现是运放的供电纹波太大。后来在运放供电脚加了个LC滤波,问题就解决了。嗯,这里要注意,采样电路的PCB布局也很关键。采样电阻要靠近电机相线,走线要短而粗,避免引入额外的电感。

核心要点: 电流采样的精度,直接决定了FOC的转矩控制精度。我建议你在量产前,做一次“电流校准”。给电机通一个已知的直流电流,然后读取ADC值,拟合出实际的增益和偏移。这样能消除元器件差异带来的误差。

最后,提一下ADC的采样时刻。你需要在PWM的“下桥臂导通”期间采样,因为此时采样电阻上的电压才是真实的相电流。如果采样时刻不对,你可能会采到续流二极管的反向恢复电流,那数据就完全没用了。

好了,这一节的内容就这些。电机参数是基础,传感器是眼睛,电流采样是手感。这三样搞定了,你的FOC算法就有了可靠的“身体”。下一节,咱们开始真正写代码,从初始化开始。