智能储能系统的设计与实现
2022-09-21江亮王慧敏张天程王本有
江亮,王慧敏,张天程,王本有
(皖西学院电子与信息工程学院,安徽六安,237012)
1 系统总设计
系统通过四个光照传感器检测光照强度,通过光照数据去控制云台转动的方向,确保太阳能板接收光照面积最大,提高太阳能板发电率,其次对于能量储能这一过程我们通过3.7V锂电池充电保护板并通过稳压二极管和防倒灌保护二极管确保充电过程安全,同时在放电这一环节我们通过降压模块使输出电压为3.3V,保证输出稳定电压。
本系统总框图如图1所示,以STM32F103ZET6作为核心处理器,主控板由光照传感模块、云台、nrf24l01无线通信模块、蓝牙模块、TFT彩屏、太阳能板等构成。通过检测光照强度反馈控制太阳能板位置,并通过无线数据传输模块实现数据发送和接受,并通过TFT彩屏显示,以及蓝牙模块将数据发送至手机端。最后我们通过无线通信模块实现数据远距离接受和发送,并通过蓝牙模块将检测到的数据发送至手机端,更加便于监测数据。
图1 系统框图
2 硬件模块
2.1 电源模块
为确保充电过程安全我们通过稳压二极管实现了防止电流倒灌现象,同时通过降压模块使输出电压稳定。
2.2 BH1750光强传感器模块
BH1750由光敏二极管、AD采集、晶振等组成,可将光信号转为电信号,通过运算放大电路后由AD采集电压,电压与光照强度一一对应,与光电特性呈线性关系,并将数据转为16位二进制数存储在内部寄存器中,与单片机采用IIC通信模式[1]。
2.3 NRF24L01 2.4G无线模块
NRF24L01 2.4G无线模块采用内部集成的协议,可以实现多个无线通信模块数据发送的接收,其传输速度可以达到2M(bps)。模块使用板载PCB天线,可实现1100米无线数据传输,发射长度和接受长度的单个数据包在1~32个字节,模块采用SPI通信模式[2]。
2.4 HC-05蓝牙模块
本设计采用HC-05蓝牙模块,模块之间可以设置主从机,主机可自主连接从机并将数据发送给从机,从机接收到主机发出指令后接收传入数据,并且从机不会主动建立连接其它模块,确保数据单向发送与接受和接受数据的准确度。其采用串口通信,可通过设置波特率改变模块的传出速率[3]。
2.5 舵机模块
舵机是一种通过伺服电机进行精确的位置控制或输出较高的扭矩。电机的周期为20ms,宽度为1.5ms的基准信号,以50HZ的频率产生脉冲,通过输入电压差控制其转动角度,电机驱动芯片通过判断电压差的正负决定电机的正反转。通过级联减速齿轮控制电位器选择,使得电压差为0,电机停止转动[7]。
3 软件设计
3.1 程序流程图
系统采用BH1750模块采集光源,并采用卡尔曼滤波算法提高光照数据的精确度,然后将数据传送给主控器,STM32F103单片机通过采集的数据预计通过PID算法控住云台,实现追光系统。同时我们通过nrf24l01模块将数据传输到另一单片机中实现了远距离传输,蓝牙模块将数据发送到手机端,便于用户监测数据,TFT液晶显示屏实时显示数据。图2主机流程图、图3从机流程图如下[1-7]。
图2 主机程序流程图
图3 从机程序流程图
3.2 自动追光系统
首先通过BH1750光照传感器检测光照强度,并将数据导入滤波算法中[5],最终得出更加精确稳定的数据,通过判断数据之间的差值决定是否需要改动太阳能板的位置,若数据之间的差值大于设定值,则通过控制云台使太阳能板向光照强度大的方向移动,反之则不,由此提高发电效率[7]。系统流程如图4所示。
图4 自动追光系统
3.3 无线数据传输系统
无线数据传输系统,通过nrf24l01模块实现数据的远距离发送和接受[2],以及蓝牙模块将数据发送至手机端[3]。首先确定俩个主控板主机和从机关系,我们将数据采集数据一端设置为发送端,显示数据那一端设置为接收端,发送数据和接受数据分别将数据保存到数组中,发送端向NRF的发送缓冲区中写入数据,接收端从NRF的接收缓冲区中读出数据,接收端将采集到的数据显示在TFT液晶屏中,同时通过蓝牙模块将数据发送至手机端。其流程图如图5所示。
图5 无线数据发送接受流程图
NRF的发送缓冲区中写入数据代码:
3.4 卡尔曼滤波算法
卡尔曼滤波(Kalman filtering)是一种用线性系统状态方程,对于每个时刻的系统扰动和观测误差(即噪声), 其算法是时域滤波,也是一种优估算法,根据已知的先验值,预算下一时刻的估算值[5]。
其线性随机微分方程:X(k)=A X(k-1)+BU(k)+W(k)
再加上系统的测量值:Z(k)=H X(k)+V(k)
其具体公式如下:
3.5 PID算法
PID算法通过比例、积分、微分三个环节提高系统的稳定性,首先比例环节我们通过放大或缩小数据差,使系统快速达到目标值,比例系数越大可能会导致系统出现大幅度振荡,积分环节通过多次累加偏差得到期望值,对于积分环节为防止最终值超过目标值通常在积分环节除以积分的时间,对于微分环节主要是解决到达目标值后出现波动给出值与目标值之间存在波动,对系统的输出有着预判作用。
4 测试方案
4.1 测试数据及测试结果
4.1.1 测试设备及条件
所用的测试设备有手电筒、万用表、秒表等。
测试条件:实验室提供场地、相关资料查询、硬件模块满足指标。
4.1.2 测试数据
(1)追光系统检测:通过测量上下左右四个方位的光照强度,判断太阳能板移动的方向,同时通过时间测量检验系统的灵敏度。
(2)电压输出: 通过万用表测量输出电压判断系统电路的稳定性。
(3)无线数据传输:通过主机检测的数据和从机接收到的数据进行对比判断检测数据传输的准确性。
4.1.3 结果分析
由表1可知:经反复测试,可得追光系统稳定且灵敏。由表2可知:输出电压与系统目标输出电压误差较小。由表3可知:主机采集的数据与从机接受的数据完全相同。
表1 追光系统数据采集
表2 降压系统数据采集
表3 无线数据模块采集
5 总结与心得
本系统采用STM32F103单片机作为主控模块,设计并制作主要包括BH1750光强传感器、云台、无线传输模块等。通过查阅资料以及通过测试数据对程序进行修改,最终技术指标达到设计要求。设计追光系统这一环节,我们通过分析各种模块的性能,并查阅资料,最终选定具有与与光电特性呈线性关系的BH1750光强传感器,并通过采集的数据反馈控制云台。经研究为稳定的控制云台转动位置,需要PID算法,经团队一起努力,最终调出制动效果最理想的参数,解决了问题,同时我们对无线数据传输过程数据是如何发送以及主从机如何设定进行深入的探究。通过这次实验提高了我们发现问题、分析问题和解决问题的能力,以及提高了小组成员工作的效率,对日后的科研有着巨大的帮助。