第2章:国标GB/T 18487.1核心解读
各位工程师朋友,今天我们来啃一块硬骨头——GB/T 18487.1。说实话,我刚入行那会儿看这个标准,第一反应是「这也太枯燥了吧」。但干久了你会发现,所有充电系统的设计逻辑,都藏在这份标准里。
这一章,我带你从四个维度把它拆开揉碎:充电接口长什么样、控制导引电路怎么工作、CP和CC信号到底在传什么、以及整个充电流程的状态机是怎么跑的。嗯,咱们开始。
2.1 充电接口定义:7个引脚各司其职
国标交流充电接口,说白了就是咱们车上那个7孔的插座。我见过不少新手工程师,上来就问「这7个孔是不是随便接?」——千万别,每个引脚都有它存在的意义。
| 引脚编号 | 信号名称 | 功能描述 | 线径要求 |
|---|---|---|---|
| 1 | L(火线) | 交流电源输入,单相220V | 2.5mm² 或 4mm² |
| 2 | N(零线) | 交流电源回路 | 2.5mm² 或 4mm² |
| 3 | PE(地线) | 保护接地,安全第一 | 2.5mm² |
| 4 | CC(充电连接确认) | 检测插头是否插到位 | 0.5mm² |
| 5 | CP(控制导引) | 传输PWM信号和状态信息 | 0.5mm² |
| 6 | NC1(备用) | 预留,用于未来扩展 | — |
| 7 | NC2(备用) | 预留,用于未来扩展 | — |
核心要点:L/N/PE是功率回路,CC和CP是信号回路。千万别把功率线和信号线搞混,我在项目里见过有人用2.5mm²线接CP信号,结果压接端子根本塞不进去——这种低级错误,犯一次就记住了。
2.2 控制导引电路原理:一个电阻网络的故事
控制导引电路,说白了就是通过几个电阻和二极管,让充电桩和车「对话」。你想想看,充电桩怎么知道车已经插好了?怎么知道车想要多大电流?全靠这个电路。
标准里定义了三个关键电阻:
- R1(1.5kΩ):在充电桩侧,用于上拉CP信号到+12V
- R2(2.7kΩ):在车辆侧,用于分压检测
- R3(1.3kΩ):在车辆侧,用于确认连接状态
我个人习惯把这三个电阻记成「1.5-2.7-1.3」,念两遍就顺口了。它们的组合决定了充电桩能识别出什么状态:
| 状态 | CP电压(V) | 含义 |
|---|---|---|
| 状态A | 12V | 充电桩空闲,未连接车辆 |
| 状态B | 9V | 车辆已连接,但未就绪 |
| 状态C | 6V | 车辆已连接,且准备充电 |
| 状态D | 3V | 车辆需要通风(针对电池类型) |
避坑指南:我曾经在测试时发现CP电压一直卡在9V上不去,查了半天发现是R2电阻焊错了,用了2.2kΩ而不是2.7kΩ。这种问题用万用表一量就现原形,但如果你没经验,可能会怀疑是充电桩坏了。
2.3 CP/CC信号解析:PWM占空比里藏着秘密
CP信号不只是直流电压,它还叠加了一个1kHz的PWM波。这个PWM的占空比,直接告诉车载充电机「你能吃多大电流」。
标准里给出了一个简单粗暴的公式:
充电电流(A) = 占空比(%) × 0.6
举个例子:如果充电桩发出20%的占空比,那最大充电电流就是12A。你想想看,这个设计多巧妙——不用额外通信协议,一根线就把功率信息传过来了。
CC信号呢?它更简单,就是一个电阻分压。车辆通过检测CC引脚对地的电阻值,来判断充电线缆的额定电流能力:
- CC电阻 = 1.5kΩ → 线缆支持 10A
- CC电阻 = 680Ω → 线缆支持 16A
- CC电阻 = 220Ω → 线缆支持 32A
注意:CC电阻的值决定了线缆的「物理能力」,而CP占空比决定了充电桩的「输出能力」。两者取最小值,才是实际充电电流。我见过一个案例,用户用32A线缆插在只支持16A的充电桩上,结果充电桩按16A跑——安全机制就是这么设计的。
2.4 充电流程状态机:从插枪到充满的完整旅程
状态机是充电控制的核心。说白了,就是一套「如果...那么...」的规则。国标里定义了6个主要状态:
- 状态A(空闲):充电桩待机,CP电压12V
- 状态B(连接):插枪完成,CP电压降到9V
- 状态C(就绪):车辆闭合S2开关,CP电压降到6V
- 状态D(充电中):充电桩输出PWM,开始传输能量
- 状态E(故障):检测到异常,立即停止充电
- 状态F(结束):充电完成,断开接触器
嗯,这里要注意一个细节:状态C到状态D的切换,需要车辆先闭合S2开关。S2是什么?就是车载充电机内部的一个继电器。我刚开始做设计时,总觉得这个开关可有可无,直到有一次S2粘连导致充电桩误判——从那以后,我对S2的选型格外谨慎。
实战经验:状态机里最容易出问题的是「状态B到状态C」的过渡。如果车辆侧的R3电阻值偏差太大,充电桩可能永远检测不到6V,导致充电无法启动。我的建议是:量产前一定要做电阻容差分析,把R2和R3的精度控制在±1%以内。
最后,我整理了一个简单的状态转换伪代码,供你参考:
// 充电状态机伪代码
enum State {
IDLE, // 状态A
CONNECTED, // 状态B
READY, // 状态C
CHARGING, // 状态D
FAULT, // 状态E
DONE // 状态F
}
State currentState = IDLE;
while (true) {
float cpVoltage = readCPVoltage();
switch (currentState) {
case IDLE:
if (cpVoltage < 10.5V) currentState = CONNECTED;
break;
case CONNECTED:
if (cpVoltage < 7.5V) currentState = READY;
break;
case READY:
if (cpVoltage < 4.5V) currentState = CHARGING;
break;
case CHARGING:
if (cpVoltage > 10.5V) currentState = FAULT;
if (batteryFull()) currentState = DONE;
break;
case FAULT:
// 执行安全停机
break;
case DONE:
// 断开接触器
break;
}
}
这一章的内容就到这里。GB/T 18487.1看似复杂,但拆开来看,无非就是「接口、电路、信号、状态」四个维度。你把这些吃透了,后面讲欧标IEC 61851的时候,会发现很多逻辑是相通的。
下一章,我们聊聊欧标和国标的差异——说白了,就是怎么让你的OBC既能在中国用,也能在欧洲用。到时候见。