APP下载

基于STM32 的可级联交流充电桩设计

2021-07-11马丽娟

电子设计工程 2021年13期
关键词:充电器级联总线

马丽娟

(西安外事学院工学院,陕西 西安 710077)

截止2019 年底,中国电动自行车保有量达到3亿量。每年电动自行车在楼内充电引起的火灾日益增多,严重危害了居民的生命财产安全。可室外安装的便于操作的交流充电桩需求日益增大,现有的充电桩都是固定通道数量的产品[1],无法实现动态级联及数量的扩充,应用不便。因此,一种易于安装和扩展、安全性高、成本较低的新型交流充电桩的开发显得迫在眉睫。文中设计了一种基于STM32 控制器和CAN 总线的交流充电桩,可以方便实现级联,容易满足不同场合对充电桩数量的不同需求,且每通道都有独立的安全保护,适用于社区、厂房、商业广场等不同的应用场合。

1 充电桩硬件组成与原理

可级联充电桩由主控单元、充电单元、通信线路、供电线路组成。其总体结构如图1 所示。

图1 充电桩总体结构

主控单元和充电单元间采用CAN 总线方式[2]进行通信,每个充电单元作为一个CAN 总线节点,在一定范围内可以自由地增加或减少充电单元的数量,通过级联可以满足不同场合对不同充电通道数量的需求。新增充电单元只需通过串口向充电单元发送其编码来配置不重复的通道号即可将其连入系统,通道扩展非常方便。

1.1 主控单元

主控单元是AC220V 总供电入口,内部带有漏电保护、开关电源、电源系统、STM32、EEPROM、4G模组、拨档开关、按键及LED、时钟复位电路、CAN 接口转接输出,其组成结构如图2 所示。

图2 主控单元组成结构

主控单元通过4G 模组接收服务端指令[3],用于启动或结束某通道的充电过程,并通过4G 模组上传当前充电状态,包括总通道数量、当前占用通道、在用通道功率、充电时间、故障信息、某通道充电器插拔信息等。

主控单元内部采用STM32F103 系列微控制器作为核心控制器件,实现与充电单元的通信及控制。其内部自带的FLASH 和RAM 可在不外接存储器的条件下直接工作,减小了电路板体积,并节约资源与成本[4]。

EEPROM 用来保存服务器发送的配置信息,包括设备编号、上限功率、充电器移除后的等待时间、最大充电时间[5]等。

时钟复位电路选用DS1302 芯片实现,每天通过4G 网络进行一次对时,以保证各充电单元充电通道开始、结束时间的准确性。

拨档开关用来设置充电桩的通道数量,根据CAN 总线的节点数量要求,在保证通信绝对可靠性的前提下,该充电桩最大可支持128 通道充电数量。

按键及LED 用来实现人机交互,设置最大通道数量、维保操作、上线下线控制等。

CAN 接口用来实现主控单元和充电单元的通信。STM32F103 自带CAN 总线控制器,外接SN65HVD230D 型基于3.3 V 供电的CAN 收发器即可实现稳定的CAN 通信[6]。微控制器的CAN 通信电路如图3 所示。

图3 CAN总线接口电路

为保证CAN 总线通信的稳定性及抗干扰性能,图3 中SN65HVD230D 芯片电源加入了电感和电容进行滤波,同时在该芯片输出端加上了TVS 二极管P6KE6.8CA 进行保护,总线输出回路中串入了自恢复保险WH250-120 进行过流保护,还加入了共模电感WCM3216-222T,用于对总线进行滤波保护[7]。

STM32 通过4G 模组接收服务器端的控制命令后,经过解析后通过CAN 总线传输到多个充电单元的CAN 节点,各充电单元根据自身地址编码读取CAN 信息后进行解析,实现充电的启停,并将充电过程的状态信息通过CAN 总线再传输给主控单元[8]。

1.2 充电单元

充电单元通过CAN 总线接收主控单元的控制命令,实现充电过程的启停控制,并计算充电功率、判断充电器是否插入或拔出以及电路是否故障、显示充电时间等。基于成本控制,每个充电单元管理两路充电通道,其硬件结构如图4 所示。

图4 充电单元硬件组成

充电单元除了通过光耦驱动电路来控制继电器实现充电插座的供电外,还要通过电压检测电路检测继电器输出端是否有电压[9],以确保充电无误,并判断继电器是否损坏。电压检测电路如图5 所示。

图5 电压检测电路

图5 中,利用二极管IN4007 实现半波整流,通过R1限流,利用TLP521-1 光耦实现隔离,输出端V1_IN 接STM32 的GPIO 引脚,通过程序判断即可实现电压检测[10]。该电路仅实现交流电压的有无检测,不计算具体值。

电流检测电路实现充电负载精准电流值测量[11],以计算充电功率,如图6 所示。

图6 电流检测电路

由于STM32的AD转换器量程为电源电压(3.3 V),因此要实现交流电流的测量,需要将交流电流通过穿线式电流互感器变换成在0~3.3 V 范围的信号。故在图6 中,利用R4和R5实现分压并经运放U1 跟随产生1.65 V 的基准电压(Vref_1.65V),该基准电压一端接互感器T1,T1 的另一端接电阻R5后产生交变电压信号,该信号进入STM32 的ADC0 通道,利用ADC0 实现转换后经均方根算法实现交流电流的准确测量。

2 充电桩程序设计

2.1 主控单元程序设计

主控单元的功能是通过4G 接收服务器端控制命令,并将充电单元的状态返回给服务端,主要完成报文解析、通信转发、状态暂存、配置信息存储等业务[12],其流程图如图7 所示。

图7 主控单元程序流程图

主控单元上电初始化后,重点是通过4G 网络建立与服务器的连接,也就是上线通知,告诉服务端设备编号及通道数量等信息[13],便于服务端管理。同时,从服务端获取配置信息,如单位价格的充电时长、插头拔掉后多长时间断电、允许的最大功率、保护功率等。

2.2 充电单元程序设计

充电单元要完成CAN 通信、继电器控制、电压检测、电流检测(功率计算)等功能,其程序流程如图8所示。

图8 充电单元程序流程图

初始化部分需通过拨档开关确定两通道的通道号,并初始化AD 转换器、定时器、CAN 总线控制器、LED 显示器等。

功率计算主要是计算充电电流[14],采用定时器定时200 μs,并采用中断方式,每隔200 μs 采样ADC通道,这样在交流电的一个周期20 ms 内可采样100个点。为保证计算精度,连续采样5 个周期即500 个点的数据,再利用均方根算法计算交流电流有效值[15],计算时注意不同电路引起的系数不同[16]。

充电单元两通道电流值的计算代码如下:

为保证采样和计算的连续性,用两个二维数组保存500 个采样数据,计算其中一组数据的均方根时,另一组继续用于存储采样值。

经实际测试表明,继电器刚接通瞬间,由于充电器的瞬间接入,电流值的计算会有跳跃,从而造成计算结果不准确,因此实际电流的选取要避过该阶段。表1 列举了该方案中不同实际电流情况下的测量值。

表1 电流实际值与测量值比较

从表1 中可以看出,选用的是量程为5 A 的电流互感器,当电流过小时,经过互感器后的波形幅值太小,导致测量精度不高。但是常见电动车的充电器功率范围在130~650 W 之间,也就是电流范围在0.6~3 A 之间,因此,该低成本的电流采样设计完全可以满足实际需要。

2.3 主控单元与充电单元通信协议设计

主控单元通过CAN 总线与各充电单元通信,转发充电命令,接收充电过程数据。主控单元ID 设为0x555,所有充电单元ID 都设为0x666,每个充电单元用通道号来区分。

CAN 总线每次发送最大字节数为8,主控单元发送的启停命令格式见表2。

表2 主控单元控制命令格式

充电单元返回给主控单元的数据格式见表3,每条报文最多6 字节,其中字节0 总是充电单元自身的通道号。

表3 充电单元返回数据格式

表3 中充电停止原因定义如下:1 表示时间到;2 表示充满;3 表示拔出时间到;4 表示过载;5 表示故障;6 表示APP 命令结束。

3 结束语

基于STM32 及CAN 总线通信技术实现的可级联交流充电桩,在128 通道范围内可灵活配置,适应性强,同时加入电压检测,可有效判断继电器故障;加入电流检测,可精确计算充电功率,为阶梯收费提供依据。此外,电流检测还可实现充电器的插入拔出检测,在被别人误拔出时为用户及时推送消息,在10 min 内不断电,保证用户可及时处理,提高了设备的人性化设计。若10 min 内仍未插入充电器,则自动结束充电,防止插座带电产生安全隐患。同时,每个充电单元带有独立的板载保险,大大提高了设备使用的安全性。

猜你喜欢

充电器级联总线
头脑充电器
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
级联LDPC码的STBC-OFDM系统
便携式多功能充电器的设计
基于级联MUSIC的面阵中的二维DOA估计算法
多通道ARINC429总线检查仪
LCL滤波器在6kV级联STATCOM中的应用
H桥级联型STATCOM的控制策略研究
苹果:或制定充电器统—标准