基于状态机的充电桩控制系统设计
2021-07-27肖连军张鸿恺
肖连军,张鸿恺
(1.合肥学院 人工智能与大数据学院,安徽 合肥 230022;2.安徽建筑大学 电子与信息工程学院,安徽 合肥 230022)
汽车是现代社会主要交通工具之一,随着全球工业化程度的推进,环境污染和能源危机日益突出,电动汽车作为一种新能源汽车,具有排放污染小、噪声污染低等优点,发展也越来越受到全世界各个国家的重视。充电桩是电动汽车产业链中的重要组成部分,随着电动汽车的迅速发展,对充电桩的要求也越来越高。目前充电桩的功能越来越强,主要包含车辆通信,电源模块通信,读卡器通信、电表通信、触摸屏通信、服务器通信等,具有数据量大、控制逻辑复杂事件响应速度快、通信接口多等特点,因此一款好的充电桩要能高效、快速、稳定、可靠的为电动汽车进行充电。王煊赫等研究了电动车充电桩的结构并对结构进行了改进,解决充电桩空间操作的便捷性问题[1];黄丽霞等研究了电动车充电桩的安全问题,提出了一种基于MSP430单片机为核心的交流充电桩设计方案,以解决充电桩的安全问题[2];邵伟伟研究了充电桩的效能问题,采用V2G技术提出太阳能与电网结合的充电桩方案设计,解决充电桩效能问题[3];吴钰等研究了有限状态机分类、设计流程、设计思想和电路实现[4-5];陈改霞等研究了小型燃煤锅炉的工作原理,基于有限状态机思想以单片机为主控制器设计了一种智能锅炉控制器,实现锅炉的温度、液位等信息的采集与控制[6];莫建麟等研究了基于卷积神经网络的嵌入式系统图像分类算法,为嵌入式系统设计提供可借鉴参考案列[7],张思聪等研究了系统远程升级问题,基于IAP原理提出了一种以STM32为控制器的充电桩系统远程升级方案设计,可有效解决系统远程升级问题[8]。刘建梁等研究了三相交流电进行电动车充电的优点,提出了一种基于STM32的三项交流电充电桩设计方案,解决充电桩效率问题[9];刘建梁等研究了系统掉电保护问题,提出一种掉电情况下基于STM32的断电保护系统,保证核心控制器在掉电情况下进行现场保护[10];谢永超研究了以STM32为控制器的应用拓展问题,提出了以STM32为控制器的电子积木思想设计方案[11]。本文在以上研究基础上,结合电动车充电桩的工作原理,以STM32F107VCT6为控制器,基于状态机的思想,设计了一款两枪充电桩控制系统,并制成样机,经过测试,满足国标要求。
1 充电桩设计原理
1.1 控制引导电路设计
本充电桩设计采用带有车辆插头和供电插头的独立活动电缆组件将电动汽车与交流电网联接,接口设计符合GB/T 18487.1-2015标准充电模式3连接方式B,通过供电控制装置控制交流电网对电动汽车充电。控制引导电路原理如图1所示。
图1 控制引导电路原理图
1.2 充电控制设计
充电过程可用6个正常状态、一个异常状态共7个状态表示,因此充电桩对汽车充电控制可用一个有限状态机(Finite State Machine,FSM)进行控制,其中状态1为初始状态,以各端点检测信号作为状态转移条件,状态机根据状态转移条件进行相应状态转移,完成充电过程控制,具体状态图如图2所示。
图2 状态图
2 控制系统设计
本充电桩供电控制装置的控制系统主要包括主控制器和辅助模块,主控制器选用STM32F107,其是一款基于ARM的32微控制器,具有工作频率高,运算速度快,片内资源丰富,外部引脚数多的优点,完全满足充电桩对处理器运算内存和功能的需求。辅助模块包括读卡器、通信接口、温度检测、电压电流检测、电能表、触摸屏、PWM和继电器控制等模块,主要完成充电桩状态检测、身份识别、充电桩操控、电压电流测量、电能计量、PWM、远程通信以及接口控制等,控制系统结构如图3所示。
图3 控制系统结构图
2.1 RFID接口设计
系统设计采用射频IC卡存储用户ID和数据,用户通过在阅读器上刷卡实现身份识别并对充电桩控制系统进行控制,阅读器与主mcu的PB12~PB15通过接口相连,通信方式为SPI,其中RFID_SDA为阅读器数据信号,接主mcu的PB12,RFID_SCLK为阅读器的时序信号,接主mcu的PB13,RFID_SDI接主mcu的PB14,RFID_SDO接主mcu的PB15,RFID_RST为复位信号,接主mcu的PD8。RFID接口电路如图4所示。
图4 IC卡接口电路
2.2 PWM电路设计
系统PWM电路设计如图5所示,有光电耦合器和推挽电路组成,其中光电耦合器HCPL-2503起到信号前后级隔离的作用,完成电信号—光信号—电信号的转换,两个三极管9012、9013构成的推挽电路主要实现将主mcu输出的3.3V PWM转换成+12V到-12V的PWM。
图5 PWM电路设计
2.3 继电器驱动电路设计
继电器在充电桩系统中起到控制充电信号通断和交流回路通断的作用,本设计选用两种类型继电器(电路设计如图6所示),其中继电器943-1C-12DS用在引导控制电路中,控制CP线在+12V和PWM之间切换;继电器835-1A-B-C作为一组控制电子锁的打开与闭合。继电器的控制电路主要有74AHC245D、TLP521-1、ULQ2803LW组成,其中74AHC245D为总线收发器,起到主MCU信号输出缓冲作用(电路设计如图7所示),TLP521-1为光耦,起到信号隔离作用(电路设计如图8所示),ULQ2803LW为达林顿阵列,起到信号放大控制继电器的作用(电路设计如图9所示)。
图6 控制继电器
图7 总线收发器
图8 信号隔离电路
图9 信号放大电路
2.4 485通信
系统采用与电表通信读取电表计量电能数据作为用户充电消费电能数据,控制系统与电表之间采用485方式通信,接口芯片选用RSM3485CHT,其与传统485电路相比,具有非常好的电气隔离性,CON为其方向控制端口,与主CPU的PA8相连接,当其CON为低电平时,485为发送状态;当其CON为高电平时,485为接收状态。具体电路设计如图10所示。
图10 485通信接口电路
2.5 信号检测电路
信号检测电路采用TL072CN设计(如图11所示),其内部集成了两个J-FET型的运算放大器。AD1为检测点1,经过电阻分压后接入跟随器的同向输入端,跟随器的输出接反相减法器的反向输入端,减法器的输出接主MCU的AD输入引脚。
图11 信号检测电路设计
3 软件设计
充电桩的工作原理主要是通过人机交互、数据采集和监测等实现汽车充电过程的控制和能耗的计量等,根据系统功能将其分为7个任务,分别为:
(1)充电状态控制,该任务主要负责充电状态的切换;
(2)屏幕通信处理,该任务接受屏幕发送的数据帧,主要负责与触摸屏通信,完成对屏幕的控制;
(3)屏幕数据更新,该任务主要负责更新屏幕显示的数据;
(4)功率测量,该任务主要完成功率的测量、计算、比较等;
(5)监视任务,该任务主要负责对电压、电流监视,以防止电压电路的出现异常、如过压、欠压、过流、欠流等;
(6)左端充电引导控制任务,主要负责左端充电引导继电器的控制,完成左端充电时的引导控制;
(7)右端充电引导控制任务,主要负责右端充电引导继电器的控制,完成右端充电时的引导控制。
充电过程控制实际为状态机的状态切换,可通过FSM来控制状态的切换。充电准备过程通过检测点1处的信号区间为状态转移条件。无车辆充电时,S1的开关接到12V电源,充电枪检测点1处信号区间为0~0.1V,有车辆充电且充电枪连接就绪检测点1处采集到的信号区间为0.3~0.5V;车载充电机准备就绪时,检测点1信号区间为0.7~0.9V;此时将S1的开关接到PWM上,采集到的信号区间为1.42~1.43V,进入充电状态,自动闭合交流回路,进行充电。当车载充电机检测到电池充满时,断开S2,检测点1的信号区间为1.38~1.39V,断开交流回路,电池停止充电。当充电枪断开连接时,检测点1的信号区间为1.34~1.35V,当停止PWM后,状态回到初始状态1。PWM的停止,既可选择在用户拔出充电枪后(即状态6),也可选择在S2断开之后(即状态5),本系统设计时选择状态5,使得状态机进一步简化,为应对异常情况,系统设计了一个状态0,对应除上述所有情况之外的状态,当出现状态0时,系统断开交流回路,停止充电。检测点1信号区间表如表1所示。
表1 检测点1信号区分表
本系统设计基于UCOSII实时操作系统,共使用了7个任务,所有的功能都是在任务中完成,为保证任务的独立运行每个任务都有自己的堆栈区,任务的各种参数(如表2所示)由任务控制块进行记录,其中有三个最重要的参数:任务函数指针、任务堆栈指针、任务优先级。
表2 任务参数一览表
3.1 FSM
FSM任务从状态1开始,根据检测点1的信号值实现状态转移(流程图如图12所示)。本设计是基于“双充”任务,所以左右两充电端口都有FSM控制,系统需区分左右端口。
图12 FSM流程图
3.2 触摸控制
本任务主要是处理来自触摸屏的指令帧。当系统判断触摸屏有指令帧后,接受指令帧并对指令帧进行解析,系统根据解析结果做出对应响应。具体流程如图13所示。
图13 触摸控制任务流程图
3.3 TFT数据更新
本任务的主要功能是保持屏幕显示数据实时更新,包括电压、电流、功率等,显示数据来自于电表的实时通信数据。流程如图14所示。
图14 TFT数据更新任务流程
3.4 左(或右)端控制
本任务要控制两充电枪口电子锁的开闭锁,分为左右两端。系统设计用双继电器来控制电子锁的闭锁与开锁。两个继电器分别可输出+12、-12V电压,公共端连接到电子锁正端(接线端),电子锁负端接地,当接线端输入+12V电压时,电子锁闭锁;当接线端输入-12V电压时,电子锁开锁。流程如图15所示。
图15 控制任务流程图
3.5 电量检测
本充电桩的电量计量数据来自电表。具体较量方式为:当右车辆进入充电状态,系统首次读取电表数据,系统与电表保持实时通信,将通信数据记录并实时得到充电消费电量;当确定停止充电时,将消费电量乘以每单位电量的价格,便得到本次充电所花费的费用。流程如图16所示。
图16 电量监测任务流程
3.6 电压电流监测
系统通过读取电压与电流值并与设定的电压值阈值和电流值阈值相比较,比较结果作为是否停止充电依据。设定电压的阈值为正负10%,常用电压值为220V,所以,电压超过242V或者低于198V时,系统自动停止充电。电流的设置只有高阈值,为17.6A,即当电路超过该值时,系统停止充电。流程如图17所示。
图17 电压电流监测任务流程
结语
本充电桩分析了直流充电桩的工作原理,给出了直流双枪充电桩控制系统的硬件设计和软件设计,系统以STM32F107为核心,实现了充电桩的人机交互、充电过程控制、电量检测、电量计费、射频IC卡付费、数据存储、工作状态监测、充电保护等功能。该系统满足直流充电桩的充电要求,经制作样机测试,实现一个主控制器完成对两个充电枪的双枪控制,对于推进电动汽车的普及具有重要的意义。