第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个主要状态:

  1. 状态A(空闲):充电桩待机,CP电压12V
  2. 状态B(连接):插枪完成,CP电压降到9V
  3. 状态C(就绪):车辆闭合S2开关,CP电压降到6V
  4. 状态D(充电中):充电桩输出PWM,开始传输能量
  5. 状态E(故障):检测到异常,立即停止充电
  6. 状态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既能在中国用,也能在欧洲用。到时候见。