基于STM单片机的智能充电桩控制系统

基于STM单片机的智能充电桩控制系统

新能源汽车以无污染、使用成本低等优点正在逐渐替代燃油汽车,但是新能源汽车的电池容量一直是阻碍该类型汽车的推广,充电桩的智能化控制是弥补这一缺点的主要手段。但是公用充电桩的现状是安装数量少、故障率高、充电效率缓慢,即使有些可以快速充电的充电桩也是通过大电流为电池供电,这种方法会极大缩减电池的使用寿命,这也使得很少有人在长途旅行时选择驾驶新能源汽车。对于以上这些问题充电桩的智能化设计是具有较大实际意义的。对于智能充电桩控制系统的设计有以下几种思路:基于模糊控制理论的节能控制方法;基于Smith预估控制器的控制方法;基于BP神经网络的控制方法。针对于这些方法国内外研究人员都进行了深入研究但是这些方法都存在有一定缺陷。例如基于模糊控制理论的PID节能控制方法虽然实现了对充电桩输入输出的智能化控制,但是该控制系统极易受到外界干扰使系统工作不稳定。而基于Smith预估控制器的闭环控制系统虽然具有较为优良的能源控制方法,但是系统的总体安装成本较高不具有普遍适用性。

一、总体设计方案

1.设计方案概述。智能充电桩的总体设计要求是具有良好的输入输出控制能力并且系统设计成本以及功耗较低,所以本设计采用了一款低功耗的STM32L4x6型号单片机作为系统控制核心,该控制系统的核心是STM32主控制电路,传感器电路的设计包括充电数据信号采集、电流传感器、绝压传感器、差压传感器以及相关调理电路的设计,这些数据均由型号为S3C2440ARM微处理器的AD采样模块同步采样,AD采样模块可以分为两部分,第一部分是数据采集部分,第二部分是数据处理部分数据采集部分是将采集到的模拟信号储存到静态随机存储器中,数据处理部分是将模拟信号转换为数字信号,方便主控制电路进行数据处理。微处理器将这些数据传递到主控制电路,主控制电路再将控制信号传递给AD采集系统,这样就实现了控制电路对输入输出的智能化控制。在确定好控制系统的总体设计方案后还需要分析控制系统的性能指标,本文设计的充电桩控制系统的工作电压在220V~360V之间,系统的平均采样频率为150KHz,最高采样频率为250KHz,并且为了简化系统移植的操作难度,该型号单片机采用引脚兼容,并且支持SDIO接口容量扩展以及脉冲宽度调制,控制系统具有优良的兼容性和扩展性,控制系统的额定功率为120mW额定电压为12V。

2.开发环境。一般单片机的嵌入式软件开发采用的是交叉编译环境,编程的开发环境安装在电脑系统或者网络计算机服务器中,编译完成的系统再安装在微处理器中运行,本文涉及的软件开发也是基于这种思路,开发环境是Linux操作系统,为了方便在Linux环境下编译的文件能直接移植到Windows系统中,开发环境选择Cygwin,分别对8位和16位微处理器进行嵌入式编程,硬件连接方式是电路板通过网线和路由器连接,路由器再与计算机连接,其次电路板通过232串口和USB接口直接和计算机连接,单片机通过外部储存器地址加载程序片内只读储存器执行程序,主控制电路采用8个32位计时器4路组联合方案的设计。

二、具体设计方案

1.硬件电路设计。经过上一节总体设计方案的分析对智能充电桩控制系统电路进行模块化设计,优化充电桩的工作性能,硬件电路的设计主要包括STM32主控制电路、计时电路、传感器电路、RTC模块电路等等,而复位电路和动态显示电路设计较为简单不需要具体分析。STM32主控制电路是整个硬件电路的核心,该主控制电路的技术指标如下:额定输入电压为12V,I/O端口电压为24V,AD转换器采样通道为8通道同步、异步输入,采样时钟频率为150Hz。经过ARM处理器的倍频处理形成20MHz的内核频率,时序控制逻辑模块接收主控制电路的输出特征显示和数据采集通过信号转换形成逻辑控制信号脉冲。计时电路模块是数字信号处理的基础,本文采用独立的计时芯片进行计时,虽然主控制电路中的单片机一般都内置有计时模块,但是价格较为低廉的单片机的计时模块很容易受到环境干扰,而计时精确的单片机价格都较为昂贵,并且独立的计时芯片电路布置都较为简单,本文采用型号为CAT24WC256的计时芯片,总共只有8个引脚,通过外接有源晶振输入脉冲信号进行计时。传感器电路主要设计的是传感器的接口电路。将充电信号、电流传感器、绝压传感器、差压传感器等传感器的数据进行采集,采用并行外设接口构建控制系统的传感器模块最多支持8个采样频率同时进行数据采集。采用双路16位电流输出型AD转换器最大支持16位输入输出数据转换,这些设计实现了对于新能源汽车智能充电数据的实时采样。RTC模块电路主要包含有放大电路模块、滤波电路模块、检测电路模块。这些模块都是通过S3C2440ARM微处理器构建的LCD控制电路实现。对于采样频率有三种处理方案,第一种是借助主控制电路信号脉冲作为采样频率;第二种是外接晶振产生震荡信号作为采样频率;第三种是不采用持续性采样的方式而是采用RGB数据信号模型对输入信号进行放大、滤波、检测处理。对于第一种方式主控制电路的时序控制较为复杂无法提供持续性信号脉冲;第二种方案外接晶振产生的震荡信号可能会影响数据采集的精度,所以只能采用第三种方案。

2.软件开发过程。在软件开发过程中首先需要对系统进行初始化处理,通过对话框的形式对串口进行初始化,借助高级语言源程序实现串口地址断点的设置,堆栈位置进程管理实现控制系统的启动以及远程控制,使用通用I/O端口模拟串行外设接口。软件的总体开发过程如下需要对硬件电路的控制方式进行仿真,分别编写高级语言源程序和汇编语言源程序,本文所采用的高级语言源程序是C++,通过编译器形成目标文件,汇编语言源程序通过汇编器转换为机器语言形成目标文件,借助链接器将两个目标文件转换成可执行文件,将可执行文件输入到调试器中,如果在调试器中出现错误就要重新对控制方式进行仿真并且重复上述操作流程,在调试器测试可执行文件没有错误后可以直接嵌入到目标系统中或者进行格式转换编写EPROM固化程序再嵌入到目标系统中。为了测试智能充电桩控制系统的可靠性,需要对完成的控制系统进行实际测试,借助Qt5.12开发软件建立程序编译平台,API函数FreateFile()作为信号输入输出的控制函数,通过控制函数打开设备,信号数据处理的5根地址线作为编译器的信号输入,以输入输出信号的幅值波形和频响曲线作为控制系统可靠性的参考依据,通过实际实验得出控制信号的输入输出幅值均较为平稳,频响曲线也符合预期值,控制信号的调制和解调性能均较为优良,说明控制系统具有良好的信号控制能力。

作者:王硕楠 单位:陕西天天出行科技有限公司