标题:基于STM32单片机的新能源汽车充电系统
一、系统总体框架图
首先,一个简化的系统框架图如下所示:
text
[市电输入] -> (EMC滤波 & 浪涌保护) -> (交流电计量单元) -> (接触器/继电器) -> [充电枪] -> -> -> [新能源汽车] ↑ | [人机交互HMI] <-> [主控STM32] <-> [电表/电量计量] <-> [接触器驱动] <-> [锁枪控制] | | | [身份识别/RFID] [通信模块] [温度/电压/电流检测] | | [LCD/指示灯] [4G/以太网/Wi-Fi/BLE]
二、硬件架构 (Hardware Architecture)
硬件部分是整个系统功能实现的基础。
-
主控芯片 (MCU):
-
STM32F4系列 (如F407, F427): 带FPU,处理性能强,适合做复杂的计算和通信协议栈。
-
STM32F1系列 (如F103C8T6): 成本低,基本功能齐全,适合低成本或简易方案。
-
STM32H7系列: 高性能,适合需要复杂GUI、多任务、高实时性要求的场景。
-
关键外设需求: 多个UART(用于通信)、ADC(用于采样)、SPI/I2C(连接外设芯片)、CAN(车规通信)、Timer(产生PWM、捕获信号)。
-
-
电源模块 (Power Supply):
-
AC-DC电源模块: 将220V市电转换为系统所需的低压直流电,例如+12V、+5V、+3.3V,为MCU、继电器、通信模块等供电。
-
-
电能计量模块 (Energy Metering):
-
专用计量芯片 (如ADI的ADE7953, 炬能的ATT7030AU): 高精度测量交流电压、电流、功率、电能等参数,通过SPI或I2C与STM32通信。这是计费的基础。
-
-
控制与驱动模块 (Control & Drive):
-
接触器/继电器驱动电路: STM32的IO口输出信号通过光耦隔离和三极管/MOSFET放大,来控制大功率接触器(主继电器)的吸合与断开,从而通断充电电源。
-
锁枪控制电路: 控制充电枪上的电子锁,防止充电过程中被意外拔出。
-
-
安全监测与保护模块 (Safety & Protection):
-
漏电保护器 (RCD): 硬件漏电保护,安全底线。
-
过流/过压保护: 通过电流/电压传感器(如霍尔传感器)采样,信号送入STM32的ADC,软件判断是否超过阈值并触发保护。
-
温度检测: 使用NTC热敏电阻或数字温度传感器(如DS18B20),监测充电枪头、PCB板、线缆等关键点的温度,防止过热。
-
绝缘检测: (可选,更高安全要求) 检测电路与地之间的绝缘电阻。
-
-
人机交互模块 (HMI - Human Machine Interface):
-
显示屏: LCD屏(如TFT LCD),用于显示电量、金额、时间、状态等信息。
-
指示灯与按钮: LED状态灯(电源、充电、故障)、急停按钮、启动/停止按钮。
-
身份识别: RFID读卡器(用于用户刷卡启动充电和支付),或扫码模块。
-
-
通信模块 (Communication):
-
车载通信 (CAN总线): 通过CAN控制器和收发器(如TJA1050)与车辆BMS进行通信,交互充电参数(最大允许电压/电流、SOC等)。这是核心通信协议,遵循国标GB/T 27930。
-
网络通信:
-
4G Cat.1/NB-IoT模块: 将充电桩数据远程上传至云平台,实现远程监控、支付、管理。是目前主流方案。
-
以太网: 用于固定场所的高速有线联网。
-
Wi-Fi/蓝牙(BLE): 用于近场配置、调试或小程序控制。
-
-
本地通信: UART与电表、RFID等模块通信。
-
三、软件架构 (Software Architecture)
软件是系统的大脑,负责协调所有硬件并实现业务逻辑。通常采用前后台或实时操作系统(RTOS) 结构。
-
底层驱动层 (Driver Layer):
-
STM32 HAL/LL库: 使用ST提供的库函数初始化MCU所有外设:GPIO, ADC, SPI, I2C, UART, CAN, Timer等。
-
外设驱动: 编写/移植特定芯片的驱动程序,如LCD驱动、RFID驱动、电表驱动等。
-
-
中间层 & 协议栈 (Middleware & Protocol Stack):
-
CAN通信协议栈: 实现GB/T 27930协议,解析和组帧与BMS通信的消息。
-
TCP/IP协议栈: 如果使用以太网或4G,需要集成LwIP等协议栈。
-
MQTT/HTTP客户端: 用于与云平台进行数据交换。
-
操作系统 (可选): 如FreeRTOS, uC/OS,用于任务调度和管理,提高系统的实时性和可靠性。
-
-
应用层 (Application Layer):
-
主状态机 (Core State Machine): 这是软件的核心。充电过程被定义为一系列状态,STM32根据条件和输入切换状态。
-
空闲态 -> 鉴权/连接确认 -> 充电配置 -> 充电中 -> 充电结束 -> 故障态
-
-
任务模块:
-
BMS通信任务: 定时与车辆BMS交互,获取需求,发送状态。
-
电量计量任务: 从电表读取数据,计算费用。
-
安全监控任务: 循环检测电压、电流、温度是否正常,执行保护逻辑。
-
人机交互任务: 刷新屏幕,处理按钮和刷卡事件。
-
云平台通信任务: 上报充电数据,接收远程控制指令。
-
-
四、工作流程简述
-
待机与连接: 车辆插枪,STM32通过检测CP(控制导引) 信号的电压变化判断枪已连接。显示屏亮起。
-
身份认证与启动: 用户刷卡或扫码,STM32验证通过后,通过平台或本地指令启动充电。
-
充电参数协商: STM32通过CAN总线与车辆BMS通信,获取电池的最高允许电压、最大允许电流等信息。
-
启动充电: STM32闭合主接触器,开始供电。同时持续监测计量模块和安全模块的数据。
-
充电过程: 持续与BMS通信,根据BMS的需求实时调整输出(通过PWM信号控制CP线来告知车辆当前最大可用电流)。实时计量,更新显示信息。
-
充电结束: 当BMS发送“充电结束”信号、用户刷卡停止、或达到预设条件(金额、电量)时,STM32断开接触器停止供电。
-
故障处理: 在任何阶段,一旦检测到过流、过压、漏电、过热等故障,立即断开接触器,进入故障状态,显示错误代码。
五、关键技术与注意事项
-
安全第一: 硬件和软件都必须有冗余的安全保护机制。硬件保护是最后防线,不能完全依赖软件。
-
EMC/EMI设计: 充电桩处于强电磁干扰环境,PCB的布局布线、屏蔽、滤波至关重要,否则系统会不稳定。
-
合规性: 必须遵循中国国家标准,如GB/T 18487.1(充电系统通用要求)、GB/T 20234(连接器)、GB/T 27930(通信协议)。
-
可靠性: 工业级元件选择,软件看门狗,异常恢复机制等。