APP下载

小功率可再生能源混合发电系统设计

2022-07-21刘佐濂何清平江建钧

物联网技术 2022年7期
关键词:通信协议控件上位

刘佐濂,何清平,江建钧

(广州大学 物理与材料科学学院,广东 广州 510006)

0 引 言

可再生能源混合发电系统通常是由储能器件、发电设备和控制器组成。混合发电系统可以弥补传统单独发电系统不够灵活、能源单一、日昼发电不均衡等不足。在太阳能、风能及水能蕴藏量丰富且地处偏远的地区,混合能源发电系统可以为用电设施提供稳定的能源供给,解决能源不足的问题。现有的可再生能源混合发电系统主要存在以下问题:第一,发电系统没有对整个发电通道的电气参数进行监测和控制,只监测储能器件的充电、放电参数;然而对发电通道的电气参数监测时既能了解发电通道的工作状态,还能在发电通道参数出现异常时帮助排查硬件故障,利于系统的维护。第二,系统缺少对蓄电池的过充保护、欠压保护及充电电流的实时控制。第三,多数能源混合发电系统的人机交互仅局限于板载显示屏和操作按钮,操作起来不够直观、方便。针对以上问题,设计了一种可以兼容不同发电设备的可再生能源混合发电系统。本系统可实际应用也可以用于实验教学和科普宣传。

1 可再生能源混合发电系统框架结构

系统由上位机平板电脑、控制器、发电设备以及蓄电池组成,控制器分别与上位机平板电脑、发电设备、蓄电池连接。控制器以STM32F103RCT6为主控芯片,包括升压电路组、发电检测电路组、充电控制电路、输出控制电路、LDO稳压电源电路、充电电流检测电路、输出电流检测电路、LED指示电路组、蜂鸣提示电路、电池电压监测电路。整个系统的控制软件包括两部分:一部份通过编写程序安装在微处理器中;另一部分人机交互界面和安卓系统驱动程序安装在上位机平板电脑里。两部分通过USB口转串口进行通信,完成对能源混合发电系统的完善控制。可再生能源混合发电系统具有四路能源选择输入口,上位机能实现对蓄电池、发电通道、能源输出通道的电气参数进行管理。可再生能源混合发电系统的硬件结构如图1所示。

图1 系统硬件结构

从硬件结构框图可知,系统设计了四路发电通道,可以连接太阳能电池板(100 W)、风力发电机(100 W)、水力发电机(50 W)和手摇发电机(50 W),每路发电通道都能把输入电压从最低的直流5 V升高到直流20 V,再通过受微处理器输出PWM(脉冲调宽)信号控制的充电控制电路给蓄电池充电,PWM的占空比受总发电功率和电池储存能量两个参数控制,以决定平均充电电流的大小。控制器的工作电压由蓄电池提供。发电通道里的电流、电压检测电路将发电设备的输入电流、电压取样放大后发送给微处理器,同时微处理器实时监测蓄电池状态,控制充放电电流,防止电池的过充、过放。系统可输出直流12 V,也可以外接逆变器把直流12 V逆变成交流220 V输出。上位机平板电脑安装人机交互程序,通过控制界面选择不同的发电通道和打开或切断蓄电池的输出,也可以显示系统主要电气参数。控制器上四个LED用于指示系统的状态,蜂鸣器对系统异常发出报警声。

1.1 第一微处理器的主要I/O口分配

微处理器采用单片机STM32F103RCT6,其引脚分配如图2所示。PC13、PC15、PB4、PB5用于检测发电设备是否接入,低电平时表示接入发电设备;PA15、PC10、PC11、PC12连接LED指示灯,用于显示四个功能状态;PB6、PB7、PB8、PB9、PD2用于通道选通;PC0、PC1、PC2、PC3、PC5、PA6用于电流采样;PA0、PA1、PA2、PA3用于电压采样;PB10、PB11用于串口通信;PA13、PA14用于SWD下载程序;PB0用于蜂鸣器报警。微处理器连接外围电路构成一个完善的控制器,实现与上位机通信、读取各路发电参数、控制系统运行状态及声光报警等核心功能。

图2 单片机主要I/O口分配

1.2 LDO稳压电源电路设计

LDO(Low Dropout Regulator)低压降线性稳压器是常用的稳压器,用于较低压差的电压转换。相比于DC/DC电路而言,LDO所需的外围器件少、成本低、噪音小。本系统中的LDO稳压电路如图3所示。

图3 LDO稳压电路

控制器中主要使用了两块LDO芯片:E6210A50PG和ME6210A33PG。前者把12 V的蓄电池电压降低到5 V,主要为电流检测放大的运放电路提供工作电压;后者把5 V输入降为3.3 V给微处理器提供工作电压并为ADC提供参考电压源。ME6210A50PG的封装只有三个引脚,分别是V、V、V,并分别对应地、输入和输出,在使用的时候非常简单方便。为了让电路的可用性更高,还需要在输出电压和地之间加入电容,用于过滤噪声和滤除交流成分。

1.3 控制器升压、电流电压检测电路设计

控制器升压、电流和电压检测电路如图4所示。

在设计中使用XL6019E1作为升压电路的主控芯片,其能够工作在5~40 V的输入电压范围,以输入电压作为工作电源。XL6019E1内置振荡器和频率补偿电路,可以简化外围电路的设计。XL6019E1转换效率达到94%以上,支持TTL电压控制使能,可配合微处理器使用。XL6019E1的主要引脚:V为电源输入引脚,可以支持5~40 V的电压输入,一般会在V与GND之间接入电容进行滤波;EN为使能引脚,高电平使能芯片工作,低电平关闭芯片,使用微处理器控制此引脚可选通或关闭发电通道;SW为输出开关引脚,起过压保护作用;FB为输出电压采样引脚,输出电压V=采样引脚电压×(1+/)。本设计中XL6019E1的输出电压采样引脚电压设为1.25 V。当发电设备接入升压电路,升压到直流20 V后经R18输出到Power_IN引脚再经充电控制电路给蓄电池充电。

图4中INA199A1DCKR为电流采样放大芯片,输入电流通过R9采样被运算放大器放大50倍后送到微处理器I/O口CURR_CH2,在微处理器内部进行ADC转换;同时输入电压通过R21、R28组成的电压采样电路把输入电压送到微处理器I/O口Voltage_CH2,在微处理器内部进行ADC转换。控制器中共有4路相似的升压、电流和电压检测电路。

图4 控制装置升压、电流和电压检测电路

1.4 电池充放电及检测电路设计

电池充放电模块电路的硬件设计如图5所示。四路发电通道的再生电流从Power_IN流入,给蓄电池充电,开关管的驱动脉冲从单片机Charge_ON脚输出,脉冲宽度受电池电压和发电设备输出能量大小的控制,以便于在电池低电压的状态进行大电流充电,通过检测流过两端电压就可以得到充电电流的大小,BAT12连接电阻分压电路把电池电压参数送到微处理器处理,得到电池两端电压。通过微处理器BAT_ON引脚控制Q、Q两个MOS管的开关来控制电池输出电流,防止电池过放。

图5 电池充放电电路的硬件设计

2 软件设计

小功率可再生能源混合发电系统软件设计分为两部分:一部分为基于STM32F103RCT6的主控程序;另一部分为基于上位机平板电脑的Android Studio程序。在上位机程序设计中,使用Android Studio集成开发IDE工具,开发了一个安卓应用软件,提供一个生动有趣的人机交互界面,实时地对整个可再生能源综合应用系统进行数据监测可控制。此外,使用应用软件与微处理器STM32F103RCT6进行通信。用户只须下载开发好的程序,连接系统的OTG线,即可使用。近年来,物联网技术飞速发展,安卓生态用户的数量不断上升,利用应用软件来控制系统是一个发展趋势。

2.1 基于STM32F103RCT6的主控程序及通信协议设计

主控程序的程序流程如图6所示。可以看到,微处理器不断轮询串口数据寄存器和微处理器状态数组,如果有数据从上位机发送到单片机,单片机会根据规定好的通信协议解析数据包,获取上位机的操作指令,从而设置微处理器状态数组。微处理器会根据状态数组,对外围电路进行管理、控制和监测。STM32F103RCT6的UART模块可以让用户非常方便地配置串口通信的波特率、数据位等。微处理器提供了专门的寄存器用于串口通信数据的读写,而且利用串口中断机制可以让微处理器第一时间对接收到的数据进行处理,缩短系统的响应时间。为了让通信更加高效合理,系统设计了一个简单的通信协议。接收端将根据通信协议解析数据包,当接收到不符合通信协议的数据时把它丢弃。发送端也需要按照通信协议的要求,把数据打包成数据包后再发送出去。通信协议还加入了简单校验,提高通信的稳定度,降低通信出错的风险。简单的通信协议结构见表1所列。

图6 主控程序的程序流程

表1 通信协议结构

单次通信将发送一帧数据包,一帧数据包由2+1+1+2++1+2个字节组成,其内容依次为数据包头、数据长度、数据包类型标识、命令字、数据、校验、数据包尾。数据包头为固定的两个字节(0xAA,0x55),负责判断收到数据包是本系统中有效的数据包。数据长度为一个字节,以十六进制表示,表示在数据包中包含多少字节的数据。数据包类型标识用来表示数据包的类型,0x01表示数据包类型为“命令”,0x02表示数据包类型为“数据”,0x03表示数据包类型为“校准”。命令字为两个字节,分为B1和B2。B1表示命令,具体命令对应见表2所列;B2表示通道,分别从0x00到0x0C(本系统只用到了0x00~0x04,0x0B和0x0C)。数据为个字节,表示微处理器要发送给应用软件的数据。校验为1个字节,在一帧数据包中除了包头以外所有字节的累加,取其低8位作为校验值,用于判断数据在传输过程中是否发生错误。包尾为固定的两个字节(0x0D,0x0A)。

表2 命令字B1的具体命令

2.2 基于Android Studio的UI程序设计

2.2.1 UI程序的程序执行流程

UI程序的程序流程如图7所示。程序一开始创建CH340驱动对象(CH340为USB口转串口模块芯片),接着初始化各种布局、控件,得到布局、控件等的资源;然后等待上位机平板电脑接入系统,当应用软件检测到CH340芯片时将会向系统申请USB权限,当用户接受后软件正式启动。程序在启动后会等待用户打开串口并配置,接着开启一个读串口的线程,不断轮询是否有数据从单片机发送到安卓设备,当接收到有效数据或命令时,会根据通信协议分析数据包,得到有效的数据和指令。应用软件还会监听按钮事件,不同的按钮对应不同的指令,当发生点击按钮的事件时平板电脑将会根据通信协议向微处理器发送数据,实现平板电脑对微处理器的控制。

图7 UI程序的程序流程

2.2.2 布局XML文件

在基于Android Studio的开发平台中有非常重要的布局文件,它控制着Activity控件的布局,是决定UI是否美观的重要因素。其中RelativeLayout为相对布局,能够设置组件的相对位置;LinearLaypout为线性布局,能够让组件水平或垂直排布,使Activity布局看起来更加工整有序;GridLayout为网格布局,让组件呈网格型分布,与线性布局类似;FrameLayout为帧布局,帧布局可以覆盖在其他布局之上,合理地运用帧布局可以做出翻页的效果。在本文的应用软件UI设计中,使用较多的是线性布局和帧布局。

2.2.3 控件

控件是UI设计中最基本的部件,精美的UI界面是由一个个基本控件组成。Android Studio提供的控件有很多,本文列出本应用程序中使用到的基本控件。TextView为文本控件,用于显示文本,可设置文本的大小、字体、颜色、加粗等;Button为按钮控件,创建一个按钮供用户点击,可以在程序中编写按钮监听函数,当用户点击按钮时将运行监听函数,Button控件是UI交互中最重要的控件之一;EditText为编辑文本控件,用户可以在编辑文本控件上进行文本编辑,可以在程序中获取用户输入的文本;ImageView为图片控件,用于显示图片或设置图标,可以配合按钮,做出图标变化的特效。应用程序用到的控件虽然不多,但发挥个人的想象力也可以做出生动有趣的UI。图8为本系统的UI界面,分两页显示。

图8 系统UI界面

3 结 语

根据实际情况对可再生能源进行利用、调配在工业生产上是有重要意义的。可再生能源的利用能有效实现国家碳排放和碳中和的战略目标。本系统能实现小功率四路可再生能源发电设备输出能源的调配和吸收。用工业平板电脑作为上位机显示发电参数,同时实现对系统的监测和调控。系统成本较低,控制软件设计合理,用户界面友好。小功率可再生能源混合发电系统无论在工业应用、科普教学或学生实验等方面都具有很好的意义。由于时间关系,系统在感知发电设备输出能量和电池状态、得到充电控制(PWM)脉冲宽度的算法方面还需要进一步的实践修正,同时转换效率也有待提高。

猜你喜欢

通信协议控件上位
特斯拉 风云之老阿姨上位
基于Z-Stack通信协议栈的红外地温采集电路设计
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
基于DMX512通信协议的多路转发器设计与研究
基于NS-3的PLC多频通信协议仿真平台设计与实现
以新思路促推现代农业上位
ASP.NET服务器端验证控件的使用
RSSP-I、RSSP-Ⅱ及SAHARA三种安全通信协议实现技术简介
Spreadsheet控件在Delphi数据库系统中的编程与应用