缩略图

基于不同充电桩信号的转化与可拆式电源接口

作者

陈一涵 单莹 邱奕寒 汪嘉伟 牛静宁

上海师范大学 作者邮编:201418

电动汽车正以前所未有的速度重塑全球汽车产业格局,电池技术的突破是电动汽车发展的核心动力。因为兼容性不同的问题,导致仅仅使用普通的转接头,不同品牌的充电桩发出的充电信号仍无法被其他不同的品牌的车辆接收。为了实现任何品牌、接头的车辆都能在需要充电时能使用就近的任意充电桩,本文就不同充电桩信号的转化与可拆式电源接口进行研究分析。

1.1接头转换模组

本项目为解决接头不适配的问题,特采取以下设计:产品侧面含两对称螺纹孔,配合可拆卸接头使用。可拆卸接头使用通体为一圆柱体,底部有与主体螺纹孔互补的螺纹,以供拆卸使用。上面有GB/T、NACS、CCS三种不同接头的孔位以及互补的插销。运用模块化组装方式,具有便捷性与灵活性,可依据不同车型需求,拆卸插头部分以达到适配相应的充电接口目的显著提高了接头转换的效率。

1.2信号转换模组

因为兼容性不同的问题,导致仅仅使用普通的转接头,不同品牌的充电桩发出的充电信号仍无法被其他不同的品牌的车辆接收(例如特斯拉充电桩无法为国产电车充电,反之亦然),因此不同品牌的充电设备是无法相互使用的。这与我国共用充电桩的分布不均匀的现实相矛盾,因此为了实现任何品牌、接头的车辆都能在需要充电时能使用就近的任意充电桩,未来通用适配转接头的研究趋势必有嵌入如下功能的内置软件系统:

转变充电信号的软件系统采用一个嵌入式软件系统,主要用于接收充电桩的充电信号、转变车辆电池可接收的充电信号、将转变后的信号输出给车辆。它可以协调充电桩与电池之间的交互,让不相同的充电桩与电池依然可以适配。

1.3主体部分

转接头主体外观为一边圆柱体,其中一面附有液晶显示屏以及调控按钮,侧面含两对称螺纹孔,配合可拆卸接头使用。

螺纹孔内部接连触头,向内链接功率控制模组,向外与配合的插头连接。出头材料仍需经过材料学的学习以及不断实验来确定,此处不多赘述。

信号转换模组

模组概述

多方协议不同导致充电信号无法互相接收,这使得即使国产电车及特斯拉都拥有GB/T接口,也无法互相使用充电桩。转变充电信号的软件系统采用一个嵌入式软件系统,主要用于接收充电桩的充电信号、转变车辆电池可接收的充电信号、将转变后的信号输出给车辆。它可以协调充电桩与电池之间的交互,让不相同的充电桩与电池依然可以适配。

软件开发

安装合适的集成开发环境(IDE),如Keil MDK(针对ARM微控制器)或GCC(可用于多种硬件平台)。以Keil MDK为例,安装完成后,配置好对应的微控制器型号,如STM32F4系列等,确保编译、调试等功能可用。配置GPIO(通用输入输出)引脚:比如设置与充电接口连接的引脚为输入或输出模式,用于检测充电连接状态或控制充电电路的开关。如果涉及到串口通信(如与外部设备调试或信息交互),也要实现串口相关代码。

根据接收到的充电参数(如电压、电流限制等),控制充电过程。比如调整PWM(脉冲宽度调制)信号来控制充电功率。监测充电状态,如过流、过压保护等逻辑。使用IDE的调试功能,设置断点,逐步执行代码,检查变量值是否正确,确保通信和控制逻辑正常运行。对代码进行优化,如减少内存占用、提高执行效率等,例如通过合理的数据类型选择和算法优化来实现。

2.1.3软件架构设计

硬件抽象层(HAL):这一层主要负责与底层硬件进行交互,对微控制器的各种外设(如GPIO、定时器、CAN总线、串口等)进行初始化和驱动。例如,将不同型号微控制器的GPIO操作封装成统一的函数接口,像hal_gpio_set_pin(GPIO_PORT_A, GPIO_PIN_0, GPIO_PIN_SET)用于设置某个引脚的电平状态,这样上层软件无需关心具体硬件细节,提高了软件的可移植性。

驱动层:基于硬件抽象层,实现对充电转换器相关硬件设备的驱动,如充电接口的驱动、电流电压传感器的驱动等。比如编写函数driver_read_current_sensor()来读取电流传感器的实时电流值,为上层逻辑提供数据支持。

应用逻辑层:处理充电转换器的核心业务逻辑,包括充电协议的处理(如与电动汽车和充电桩的通信协议交互)、充电控制策略(如根据输入输出参数调整充电功率)以及安全保护逻辑(过流、过压、漏电保护等)。例如,在这一层实现根据ISO 15118协议进行充电握手的功能函数handle_charging_handshake()。

用户接口层(可选):如果充电转换器配备显示屏、按键等用户交互设备,该层负责处理用户输入和显示相关信息。比如编写函数ui_display_charging_status()用于在显示屏上显示当前的充电状态(充电电流、电压、剩余时间等)。

2.1.4划分模块并定义接口

通信模块:负责与电动汽车和充电桩进行数据通信,支持CAN、以太网等通信协议。定义接口函数,如can_send_message(uint8_t* message, uint8_t length)用于通过CAN总线发送消息,eth_receive_data(uint8_t* buffer, uint16_t max_length)用于从以太网接收数据。充电控制模块:根据通信模块获取的充电参数和指令,控制充电过程。接口函数可以有charging_control_set_power(int power)用于设置充电功率,charging_control_start()启动充电过程等。状态监测模块:实时监测充电过程中的各种状态参数(电压、电流、温度等)。提供函数status_monitor_get_voltage()获取当前电压值,status_monitor_get_temperature()获取温度值等。安全保护模块:基于状态监测模块的数据,执行安全保护逻辑。例如safety_protection_check_overcurrent()检查是否过流,safety_protection_shut_down()在发生严重故障时关闭充电转换器。

2.1.5.设计数据流向和交互机制

充电开始时,通信模块与电动汽车和充电桩进行握手,获取充电参数(如额定电压、电流等),并将这些参数传递给充电控制模块和状态监测模块。态监测模块实时采集电压、电流等数据,一方面提供给应用逻辑层进行分析和显示,另一方面传递给安全保护模块进行异常检测。当安全保护模块检测到异常情况(如过流、过压)时,立即通知充电控制模块停止充电,并通过通信模块向电动汽车和充电桩发送故障信息。充电控制模块根据接收到的参数和指令,调整充电功率等参数,并反馈充电状态给通信模块,以便与外部设备交互,采用模块化设计,每个模块的功能相对独立,模块之间通过清晰的接口进行交互。这样在需要添加新功能(如支持新的充电协议)或修改现有功能时,只需对相关模块进行调整,而不影响其他模块。编写详细的注释和文档,对每个模块的功能、接口参数、数据流向等进行说明,方便后续的开发和维护。例如在每个函数定义前添加注释,说明函数的功能、输入参数和返回值等信息。

本项目的实施和推广紧跟汽车行业科技的发展趋势,依托成熟可靠的技术方案,同时考虑技术标准化、数据安全以及成本效益等方面的挑战。我们将持续关注技术创新与发展,尽力去更新技术要求,随时关注市场动向与技术环境的发展。通过不断优化发展,提供物美价廉、使用便捷的产品,更好服务于公民的日常需要与生活便利,同时推动汽车行业的充电方式转型升级。