2. 三电系统基础
三电系统是新能源汽车动力域的核心,由动力电池、驱动电机与电机控制器(常与整车控制器、BMS 合称“电控”)构成。自动化测试与回归工程要建立在对三电对象的结构、信号与接口的准确理解之上,否则用例只能停留在“点按钮、看现象”的层面。本节从组成原理出发,梳理关键信号、常见接口与测试关注点,为后续的测试框架、用例建模与回归策略打基础。
一、组成原理:三条能量与信息通路
从能量视角看,动力电池输出高压直流电,经高压配电与逆变环节转换为三相交流电驱动电机,电机通过减速器输出机械转矩;制动或滑行时,能量反向回流实现能量回收。从信息视角看,BMS 采集电芯电压、温度、电流并估算 SOC/SOH,通过 CAN 或 CAN FD 上报整车控制器;VCU 根据驾驶需求计算扭矩请求,经 CAN 发送给 MCU;MCU 完成矢量控制与 PWM 调制,驱动 IGBT/SiC 功率模块,并把转速、扭矩、温度、故障码回传。三条通路——高压能量通路、低压控制通路、通信信息通路——共同决定了三电测试的边界。
二、关键信号:从模拟量到报文
三电测试中真正需要断言的对象是信号。按物理形态可分为四类:模拟量(电芯电压、母线电流、电机温度、旋变正余弦)、数字量(继电器状态、使能信号、故障硬线)、频率/占空比量(部分转速或 PWM 反馈)、总线报文(CAN/CAN FD 上的状态与指令)。测试用例设计时,应把“信号名—物理含义—量程—采样率—超时阈值—故障判定”作为一条完整链路来建模。
| 对象 | 典型关键信号 | 常见接口 | 测试关注点 |
|---|---|---|---|
| 动力电池 / BMS | 单体电压、总电流、SOC、绝缘电阻、继电器状态 | CAN / CAN FD、高压互锁 HVIL、硬线唤醒 | 采样精度、SOC 跳变、预充时序、绝缘告警 |
| 电机控制器 MCU | 三相电流、母线电压、IGBT 温度、转速、扭矩 | CAN、旋变/霍尔、PWM 驱动、高压直流母线 | 扭矩阶跃响应、过流保护、降功率一致性 |
| 驱动电机 | 转子位置、绕组温度、振动、反电动势 | 旋变、PT100/PT1000、加速度传感器 | 位置解码误差、温升、NVH 与效率 MAP |
| 整车控制器 VCU | 扭矩请求、驾驶模式、故障等级、能量分配 | CAN / CAN FD、LIN、以太网(部分车型) | 仲裁逻辑、模式切换、故障降级策略 |
三、常见接口与自动化测试接入方式
自动化测试台架通常需要同时接入高压、低压与通信三类接口。高压侧通过高压电源、电子负载或真实电池包模拟母线条件;低压侧用可编程电源模拟 12V/24V 供电与唤醒;通信侧使用 CAN 卡、CAN FD 卡或以太网接口收发报文。对旋变、霍尔等位置信号,可用信号发生器或 dSPACE 等实时系统模拟。测试脚本通过 CAPL、Python(can-isotp、python-can)或台架 API 控制激励并采集响应。
# 示例:用 python-can 监听 BMS 与 MCU 关键报文
import can
bus = can.Bus(interface="vector", channel="CAN1", bitrate=500000)
target_ids = {0x18F, 0x2A0, 0x3B1} # BMS状态、MCU状态、VCU扭矩请求
for msg in bus:
if msg.arbitration_id in target_ids:
print(f"ID=0x{msg.arbitration_id:X} DLC={msg.dlc} DATA={msg.data.hex()}")
四、案例与场景:扭矩阶跃响应回归
某车型在 OTA 升级 MCU 固件后,出现低速起步轻微顿挫。测试团队设计了一条扭矩阶跃用例:VCU 在 200ms 内将扭矩请求从 0 提升到 120N·m,同时以 100Hz 采集 MCU 回传的实际扭矩、三相电流与转速。回归比对发现,新固件在扭矩上升沿多了一个约 40ms 的平缓段,原因是电流环 PI 参数被调整。该问题若只做功能通过性测试很难暴露,必须依赖信号级回归。
五、测试关注点清单
- 高压安全:预充时间、继电器粘连检测、绝缘电阻阈值、HVIL 回路完整性。
- 电池:单体压差、温度分布、SOC/SOH 估算误差、均衡策略、热失控告警。
- 电机与 MCU:扭矩精度与响应、效率 MAP、过流/过温保护、旋变解码、主动短路。
- 电控与通信:CAN 周期与超时、故障码一致性、模式切换、降功率与跛行策略。
- 回归工程:基线快照、信号差异比对、故障注入可重复性、版本与配置可追溯。