刘剑光,李 慧,张 育,刘宏华
(中国电子科技集团公司第二十七研究所,河南 郑州 450047)
现有技术条件下,在传统的能量供应系统中,电池作为主要的储能单元广泛使用。随着科学技术的发展和保护环境的需求,超级电容器[1]因其容量大、寿命长、可提供短时间的高功率脉冲、放电速度快、工作温度范围宽、可串并联使用等优点而备受关注。STM32F103系列是常用的基于ARM核心的增强型微控制器,芯片集成有USB、定时器、I2C、UART等多种功能,非常适合作为应用控制的编程芯片。ADXL345是一种常用的三轴数字加速度计,分辨率高,测量范围大,配合陀螺仪ITG3205使用,可以测量运动的动态加速度和倾斜角度,非常适合移动设备应用。
本文通过电路对超级电容器组进行电压控制,基于STM32F103控制芯片,对加速度计和陀螺仪芯片采集运动设备的状态信息进行处理判断,通过控制继电器的开关实现对超级电容器的充/放电管理。
能量管理器系统主要由以下几个部分组成:超级电容器组及其控制电路、数据采集、中控模块和保护继电器,如图1所示。
超级电容器组包括并联的两组超级电容器组,其中一组包括串联的6个功率型超级电容器,另一组包括串联的6个能量型超级电容器。每个功率型电容器和能量型电容器分别设置有独立电压控制电路。两组超级电容器组并联,与保护继电器串联后接入用电设备的充放电电路。在用电设备工作时提供大部分能量,降低电池等蓄电设备的电流能量输出压力。用电设备启动后,它的发电部分可对超级电容器组快速充电。
数据采集模块采用加速度计ADXL345和陀螺仪ITG3205实时监控采集设备的运动信息,并将运动信息发送到中控模块;中控模块基于STM32F103RE芯片,根据上述运动信息判断设备的运动状况,控制保护继电器的通断,实现自动供/断电。其中,保护继电器与超级电容器组串联。模块供电既可使用超级电容器,也可使用设备蓄电池。
图1 超级电容器能量管理器组成
超级电容器由两种电容混合组成,其两级主要由具有高比表面积的活性炭(AC)电极材料组成。根据内部电极材料的不同,超级电容器分为功率型和能量型两类。功率型超级电容器工作范围较宽,内阻较小,可以大电流充放电,是瞬间大功率应用的优选方案;能量型超级电容器在功率型超级电容器的基础上,电极材料中加入了锂(Li)材料,自放电和漏电流相比电池小很多,甚至在温度恶劣的环境下,能长时间保持较高电量。将二者合并使用,可瞬间放电,同时压降较小。
两个超级电容器组各包括六个超级电容器,每个超级电容器配置独立的电压控制,主要通过并联稳压电路完成。该稳压电路包括可调精密电压基准集成芯片、两个三级管、电压调整电阻网以及若干限流电阻[2]。
如图2所示,其中Q1为可调精密电压基准集成芯片,内部含有一个2.5 V的基准电压。当在调整端引入输出负反馈时,器件可以通过从阴极到阳极很宽范围的分流控制输出电压。超级电容器的最大输出电压为2.7 V,为安全起见,将该电压定位2.67 V。六个超级电容器串联后,超级电容器组最大输出电压为16.0 V。
图2 超级电容器电压控制电路
除了基准电压源Q1外,并联三极管D1,以及在三级管D1集电极端串联三极管D2组成达林顿管进行扩流,组成大电流的基准电压源。这样电流放大倍数是D1和D2的放大倍数乘积。当加载在超级电容器上的电压高于设定的基准电压时,一部分电压经R4~R7大功率电阻卸放,大部分经三极管D1、D2卸放。并联后的超级电容器组的正极串入一个熔断丝,在负载设备有短路等故障产生时,及时切断电路保护超级电容器组安全,再串入一个大电流保护继电器,继电器的开启由中控模块统一控制。超级电容器组采集超级电容器监控电压,输出至发光二极管,以指示工作状态。
中控电路采用基于ARM核心的STM32F103RE芯片,通过I2C总线连接数据采集芯片,根据采集的加速度和角速度信息,经过判断控制两个MOS管的通断,进而控制保护继电器的开关,如图3所示。
STM32F103RE芯片使用GPIO端口连接ADXL345和ITG3205。遵循I2C总线协议规定,使用两电阻把总线电平拉高至3.3 V。芯片使用GPIO端口PB12和PC5分别连接MOS管Q1和Q2的G极。MOS管BSS138N的S极接地,D极一路通过连接电阻接至8 V电压,另一路连接继电器。ARM芯片不间断重复读取加速度计采集的数据,结合陀螺仪采集的信息进行调整,判断设备的状态。通过设置PB12和PC5管脚的0/1电平,控制MOS管BSS138N的开关,从而控制继电器关断。
ADXL345采集设备X、Y和Z轴的线性动作加速度数据[3]和ITG3205采集设备偏转、倾斜时的角速度数据,通过总线发送给ARM芯片,作为判断设备状态的依据,如图4所示。
图3 中控模块及外围电路
图4 数据采集模块电路
模块供电采用两种方式,一是使用超级电容器供电,电压为15 V,缓慢掉电时不影响控制模块性能;二是使用设备蓄电池供电,电压约为12 V。ARM芯片、加速度计和陀螺仪芯片工作电压为3.3 V,因此电路中采用了集成稳压器。
集成稳压器与超级电容器组、中控模块以及数据采集模块连接。集成稳压器包括78M08稳压器、78M05稳压器和LM1117-3.3芯片。通过78M08稳压器保证前端电压在10~15 V变动时,稳定输出8 V电压;通过78M05稳压器和LM1117-3.3芯片配合使用,78M05稳压器稳定输出5 V电压,LM1117-3.3芯片将5 V转换为3.3 V,供ARM芯片、加速度计和陀螺仪使用。
软件部分主要是对STM32F103RE的程序控制,采用C语言设计,具体模块包括配置ARM芯片、配置加速度计、陀螺仪、采集数据处理转换、输出显示和电平控制。首先,程序对电路中需要使用的资源进行初始化,对时钟和定时器配置用于延时控制,GPIO配置用于管脚输出电平控制和I2C总线模拟,USART配置用以控制芯片和计算机之间的数据通信,ADXL345和ITG3205初始化定义器件内部地址和总线地址。其次,设定延时,采用固定时间间隔的方式读取加速度计和陀螺仪的数据,再对采集到的三轴X、Y、Z原始数据进行转化处理(取余运算、角度换算等)。最后,通过串口把处理后数据传输至计算机显示,同时按照预设的阈值控制GPIO输出0/1电平,控制MOS管通断,进而控制保护继电器开关[4]。
由于STM32的片内外设I2C模块直接使用存在问题,因此程序中使用GPIO模拟了I2C总线的数据和时钟,保证了控制芯片和采集芯片的良好通信。
本文通过基于STM32F103RE芯片的电压控制电路,对超级电容器组进行能量输出控制,实现了超级电容器组为运动设备供电或通过设备为其充电的操作。控制电路中的数据采集模块使用三轴数字加速度计ADXL345和三轴MEMS陀螺仪ITG3205,采集用电设备的信息,并将信息发送到中控模块;中控模块根据信息判断用电设备的状态,控制保护继电器的通断,实现了电容器组的精确实时控制。本文的超级电容器能量管理器可以在提供瞬间大电流放电的同时,保证相对高的电量和相对较小的压降,已在运动设备上进行了测试验证。