3. EPS执行器与控制器:无刷直流电机原理与控制、EPS控制器(ECU)硬件架构、功率驱动电路与故障保护

好,咱们进入第三章。这一章是EPS系统的“心脏”和“大脑”——执行器与控制器。说白了,就是电机怎么转,ECU怎么管,功率管怎么扛得住。我当年刚接触EPS时,觉得电机控制就是给电就转,结果烧了好几块驱动板才明白,这里面的门道深着呢。

3.1 无刷直流电机(BLDC)原理

EPS用的电机,99%都是无刷直流电机。为什么不用有刷的?你想想看,有刷电机那碳刷磨出来的粉末,在车里晃几年,迟早出问题。无刷电机没有机械换向器,靠电子换向,寿命长、效率高、噪音小。

BLDC电机的基本结构:定子上有三相绕组(U、V、W),转子上贴永磁体。我习惯把转子想象成一块磁铁,定子绕组通电后产生旋转磁场,拉着转子跑。这就是“同步”的含义——转子转速和磁场转速一致。

关键点来了:怎么知道转子位置?靠霍尔传感器或者无传感器算法。EPS里主流是用霍尔传感器,三个霍尔元件相隔120°安装,输出6个状态组合,对应6个换向时刻。

核心公式:反电动势 E = Ke × ω,其中Ke是电机常数,ω是转速。这个公式在故障诊断时特别有用——测反电动势就能估算转速,不用额外传感器。

3.2 六步换向与PWM调制

BLDC最经典的控制方式是六步换向。说白了,就是每60°电角度换一次相,一个电周期换6次。每次只有两相通电,第三相悬空。

举个例子:U+、V-通电,电流从U流入,V流出,W悬空。转子转到某个位置后,切换到U+、W-,以此类推。我在项目中遇到过换向时序搞反的情况,电机嗡嗡响就是不转,查了半天发现是霍尔信号接反了。

PWM调制呢?就是控制平均电压。EPS里常用的是“上管PWM,下管常开”或者“互补PWM”。我个人习惯用前者,简单可靠,死区时间好控制。

// 六步换向状态表(霍尔信号 -> 导通管)
// Hall: 101 -> U+ V- 
// Hall: 100 -> U+ W-
// Hall: 110 -> V+ W-
// Hall: 010 -> V+ U-
// Hall: 011 -> W+ U-
// Hall: 001 -> W+ V-

void BLDC_Commutation(uint8_t hallState) {
    switch(hallState) {
        case 0x05: // 101
            SetPhase(U_HIGH, V_LOW, W_FLOAT);
            break;
        case 0x04: // 100
            SetPhase(U_HIGH, W_LOW, V_FLOAT);
            break;
        // ... 其他状态
    }
}

避坑指南:我曾经在调试时发现电机低速抖动,后来发现是PWM频率太低(只有8kHz),人耳都能听到啸叫。EPS电机建议PWM频率设在16-20kHz,避开人耳敏感区,同时保证电流纹波可控。

3.3 EPS控制器(ECU)硬件架构

EPS的ECU,说白了就是一个专用的嵌入式系统。我拆过不少ECU,基本架构都差不多:主控芯片(MCU或DSP)、电源管理、驱动电路、电流采样、CAN收发器、传感器接口。

主控芯片:现在主流是Infineon TC2xx系列或者NXP的S32K系列。为什么选这些?车规级、带硬件PWM模块、有安全核(lockstep)。我记得有一次项目选型,为了省成本用了工业级芯片,结果EMC测试死活过不了,最后还是换回了车规级。

电源管理:ECU需要多路电压——5V给MCU,3.3V给CAN,12V给驱动电路。我习惯用一颗集成PMIC搞定,省空间、可靠性高。但要注意,EPS的电源必须能扛住发动机启动时的电压跌落(低至6V),所以要有欠压保护。

模块 典型器件 关键参数
主控MCU Infineon TC275 双核锁步,200MHz
预驱芯片 TI DRV3205 三相驱动,SPI配置
MOSFET Infineon IPB180N 40V, 180A, 低Rds(on)
电流采样 分流电阻+运放 0.5mΩ, 差分放大

3.4 功率驱动电路详解

功率驱动电路,就是ECU里最“暴力”的部分。三相全桥,6个MOSFET,把电池的12V电压转换成电机需要的三相电流。

结构很简单:上桥3个N沟道MOSFET,下桥3个N沟道MOSFET。为什么不用P沟道?因为N沟道Rds(on)更小,导通损耗低。但N沟道上管需要自举电路来驱动——栅极电压要比源极高10V才行。

预驱芯片的作用就是干这个的:把MCU的3.3V PWM信号升压到10-15V,驱动MOSFET的栅极。我常用的预驱芯片有TI的DRV3205、Infineon的TLE9185。这些芯片还集成了故障检测——过流、过温、欠压,一有异常就拉低使能信号。

警告:MOSFET的栅极电阻不能乱选。太小了,开关速度快但EMI大;太大了,开关损耗高。我一般取10-22Ω,具体要看MOSFET的Qg和驱动电流。曾经有个同事用了47Ω,结果MOSFET发热严重,开关波形像正弦波一样圆润——那效率可想而知。

3.5 故障保护机制

EPS是安全件,故障保护必须做到位。我总结了几类关键保护:

  • 过流保护:硬件级和软件级双重保护。硬件靠比较器,阈值设120A(峰值);软件靠ADC采样,阈值设100A,超过就降PWM占空比。
  • 过温保护:MOSFET和电机绕组都有NTC测温。我习惯设三级:80℃降额,100℃报警,120℃关断。
  • 欠压/过压保护:电池电压低于9V或高于16V,立即停止助力,防止MOSFET进入线性区烧毁。
  • 堵转保护:电机堵转超过2秒,电流持续大,必须降功率或关断。我记得有次客户抱怨方向盘突然变重,查日志发现是堵转保护误触发——电流阈值设得太低了。

关键设计:故障响应时间必须在100μs以内。为什么?因为MOSFET的短路耐受时间只有几微秒。硬件比较器直接关断栅极,不经过MCU——这叫“快速关断路径”。MCU只负责记录故障码和恢复逻辑。

3.6 电流采样与矢量控制

EPS控制的核心是电流环。你想想看,驾驶员打方向盘,ECU要知道需要多大助力,然后控制电机输出对应的扭矩。扭矩和电流成正比(T = Kt × I),所以控制电流就是控制扭矩。

电流采样常用两相采样法:只采样U相和V相电流,W相电流 = -(Iu + Iv)。采样时刻要避开PWM开关瞬间,否则噪声大得没法看。我习惯在PWM周期中点采样,那时电流最平稳。

矢量控制(FOC)是更高级的控制方式。六步换向是方波驱动,有转矩脉动;FOC是正弦波驱动,转矩平滑、效率高。但FOC需要知道转子精确位置(用旋变或编码器),EPS里用得不多——成本高、算法复杂。大部分EPS还是用六步换向加电流闭环,够用了。

// 电流PI控制器(位置式)
float CurrentPI_Calc(float target, float actual) {
    float error = target - actual;
    integral += error * Ki;
    // 抗积分饱和
    if (integral > INTEGRAL_MAX) integral = INTEGRAL_MAX;
    if (integral < INTEGRAL_MIN) integral = INTEGRAL_MIN;
    return error * Kp + integral;
}

个人经验:PI参数整定,我习惯先调Kp,让电流响应快但不振荡;再加Ki消除静差。EPS电流环带宽一般设在500Hz-1kHz,太高了系统不稳定,太低了助力响应慢。调试时用示波器看电流波形,调到阶跃响应超调量小于5%就差不多了。

3.7 故障诊断实战案例

最后分享一个我遇到的案例。某款EPS在耐久测试中,跑了200小时后出现助力异常——时有时无。查故障码,显示“功率驱动过流”。

我怀疑是MOSFET老化导致Rds(on)增大,导通损耗变大,温度升高,最终触发过流保护。用热成像仪一照,果然有一个MOSFET温度比其他高20℃。拆下来测,Rds(on)从1.2mΩ涨到了3.5mΩ。

根本原因是什么?散热设计余量不足。MOSFET的结温在极限工况下达到了150℃,长期高温导致性能退化。解决方案:换用更低Rds(on)的MOSFET,同时优化散热片设计,增加导热硅脂厚度。

嗯,这一章内容不少。电机原理、ECU架构、驱动电路、故障保护,环环相扣。你想想看,任何一个环节出问题,EPS就可能失效。所以做设计时,一定要把故障保护当成功能的一部分来设计,而不是事后补丁。