7.3.1 太/氢/锂混合能源无人机能源系统松耦合管理与控制半实物实验
1.实验目的
(1)熟悉半实物仿真平台,学习飞行载荷模拟控制,以及姿态变化时太阳能电池发电特性的模拟控制。
(2)了解松耦合能源管理策略的实施方法,回顾模糊控制主动能源管理策略,理解松耦合能源管理策略的特点。
2.实验内容
(1)飞行任务载荷模拟实验。
(2)动态辐照下太阳能电池模拟实验。
(3)太阳能电池/氢燃料电池/锂电池混合系统松耦合能源管理实验。
7.3.1节实验参考程序
3.实验设备及软件
本实验所需的主要设备包括半实物实时仿真机、光伏阵列模拟器、安全供氢系统、氢燃料电池、锂电池、MPPT控制器、DC/DC转换器、状态机控制器、电子负载、电流电压传感器、混合能源管理模块、上位机、交换机、电子负载上位机软件、串口通信软件、以及ARM嵌入式集成开发环境、实时仿真软件,如表7-1所示。
表7-1 本实验所选用设备及软件
本实验为了实现太阳能电池性能随飞行状态变化的实时动态模拟,选用IT-M3902C-85-40SAS双向源作为光伏阵列模拟器,并选用IT-M3902C-80-40双向源作为电子负载。这两种电源的外形相同,如图7-8所示,其主要参数指标如表7-2所示。该系列双向源是一种回馈式的双向可编程直流电源,集双向电源和回馈式负载功能特性于一体,因此可以作为电子负载使用;而且,该双向源支持CAN通信对负载进行编程控制,支持网络通信对光伏模拟进行在线实时控制,因此本例选用该系列型号联入半实物仿真系统,其详细功能可参见手册《双向可编程直流电源IT-M3900C系列用户手册》。
图7-8 IT-M3900C系列双向可编程直流电源
表7-2 两款双向源主要参数指标
4.实验过程
1)设备连接
根据图7-9所示的实验系统架构,保持锂电池断开,暂缓氢气供应,将其他设备线路连接完成后,仅打开上位机、iHawk实时仿真机,以及STM32F767开发板,等待设备启动完毕。
2)状态机能源管理策略准备
本部分根据6.1.1节中的状态机控制策略的流程,基于MDKμVision开发环境编写嵌入式算法程序,将其编译成功后下载到STM32F767开发板中。
3)半实物仿真机准备
本部分主要是建立飞行任务模型,包括飞行过程中的需求载荷和辐照变化时的太阳能电池四个工程参数,用于模拟飞行过程中的电力载荷和太阳能电池特性。
(1)任务建模与实时仿真机连接。在上位机中建立无人机飞行任务的需求功率模型,以及飞行过程姿态变化的辐照模型,如图7-10(a)所示;然后,通过无缝集成的实时仿真接口SimWB,登录进入实时仿真机,如图7-10(b)所示。
(2)建立RTDB变量并上传至实时仿真机。选择“RTDB Creator”选项卡进入图7-11所示的界面,设置RTDB变量名(如Chapter7_SM),然后创建并上传RTDB变量。创建执行过程会在MATLAB命令窗口显示。
图7-9 太阳能/氢燃料电池/锂电池混合能源松耦合控制半实物系统
图7-10 无人机飞行任务模型与实时仿真接口
(a)飞行任务模型;(b)实时仿真入口
图7-11 建立RTDB变量并上传到实时仿真机
(3)编译并上传至实时仿真机。选择代码生成选项卡“Code Generator”,进入图7-12所示的界面,然后将所建立的Simulink模型编译成实时仿真机可执行的代码,并上传至实时仿真机。执行过程在MATLAB命令窗口显示。
图7-12 生成可执行代码并编译
(4)加载RTDB变量。打开实时仿真机的Simulation Workbench软件,选择所建立的RTDB变量(如Chapter7_SM),并加载,如图7-13所示。
图7-13 在实时仿真机中加载RTDB变量
(5)创建通信接口变量。进入“Analog Points”界面,分别创建CAN通信的接口变量和网络通信的接口变量,如图7-14所示。其中,CAN通信用于控制电子负载,网络通信用于控制光伏阵列模拟器。
图7-14 创建CAN通信和网络通信接口变量
(6)输入输出I/O映射。进入“I/O Mappings”界面,选择“CANIO ESD405-1”选项卡,在输出01通道设定CAN通信的ID为0x0601,然后设置8个数据位的字节,并选择上一步建立的接口变量映射到对应位置,如图7-15(a)所示。然后,选择“NET I/O-1”选项卡,设置网络通信的接口变量映射,如图7-15(b)所示。
(7)编写接口驱动程序。进入“User Programs”界面,输入接口驱动模型名称(如Chapter7_IO),选择前面步骤所建立的RTDB变量Chapter7_SM,新建立一个C model。打开Chapter7_IO文件夹下的Chapter7_IO.c文件,如图7-16所示,在给定代码框架下编写Simulink模型与接口变量的函数关系,从而对接口变量赋值。
图7-15 创建CAN通信和网络通信接口变量映射
(a)CAN通信接口变量映射;(b)网络通信接口变量映射
图7-16 接口驱动程序示例
(8)建立测试工程。进入“Tests”界面,输入新建测试的名称(如Chapter7_SM),选择前面步骤所建立的RTDB变量Chapter7_SM。在同步模型窗口空白处右击,在simulink目录下选择Chapter7_SM模型,在user program目录下选择Chapter7_IO模型,并进行数据流的连接,如图7-17所示。
(9)建立测试科目。进入“Test Sessions”界面,输入新建测试科目名称(如Chapter7_SM),如图7-18所示,单击“运行”图标按钮,进行代码测试,仿真正常启动后,即可停止仿真运行。
(10)数据监测设置。进入“Real-Time Viewer”界面,选择需要监测的数据,添加到列表或图表即可,如图7-19所示。观察显示的数据,判断程序是否执行正常。
4)飞行任务载荷模拟实验
为用作电子负载的双向源上电,确认CAN通信接口连接正常,在实时仿真机中运行所建测试科目,观察双向源的功率设置与仿真机是否一致。若一致,则载荷模拟实验成功,停止仿真运行;若不一致,则需要重新调试仿真与双向源的通信。
5)动态辐照下太阳能电池模拟实验
保持电子负载关闭,为光伏阵列模拟器上电,待初始化完成后,在实时仿真机中运行所建测试科目,从光伏阵列模拟器前面板显示屏观察太阳能电池参数的设置变化。若其与仿真机的设置保持一致,则实验成功,停止仿真运行;若不一致,则需要重新调试仿真与光伏阵列模拟器的通信。
图7-17 接口驱动程序示例
图7-18 接口驱动程序示例
图7-19 接口驱动程序示例
6)启动燃料电池并确认状态反馈正常
堵住氢气软管出口,打开高压氢气瓶的阀门,调节减压阀,将输出压力调节至燃料电池进气口的允许压力范围(0.5~0.6 bar);手动脉冲式排气测试出口压力基本稳定后,插入燃料电池进氢口,启动燃料电池,听到三声连续排气后,燃料电池启动正常。然后,观察LCD和串口助手,确认流量计流率和燃料电池电压显示正常。
7)设置DC/DC转换器的稳压初始值为25 V
按STM32的【KEY1】键,将DC/DC转换器的输出电压设置为25 V,通过电子负载显示面板观察DC/DC输出电压设置结果。若电压显示不正常,则再次按【KEY1】键进行设置。
8)接入6S锂电池,并确认电压和电流采集正常
将锂电池接入电路后,从显示屏和上位机串口助手数据栏窗口观察锂电池电流显示是否正常。此时,锂电池电流可以为负值,表示处于充电状态。
9)启动状态机能源管理算法
打开上位机的串口助手软件,打开串口接收,确认回传电流、电压等状态信息正常后,按【KEY0】键即可启动状态机能源管理算法。
10)光伏阵列模拟器和电子负载上电运行
启动光伏阵列模拟器和电子负载,并运行实时仿真机中所建的测试科目,开始全系统松耦合管理测试。
11)结束实验
待测试科目执行完毕后,单击串口助手界面的“保存窗口”按钮,将数据保存;然后,断开锂电池→断开光伏阵列模拟器→关闭电子负载→关闭STM32开发板电源;最后,关闭氢气瓶阀门,断开燃料电池进氢软管,并将管内剩余氢气排入氢气柜或室外。
5.讨论与思考
(1)实验过程如何体现能源系统与飞行平台之间的松耦合特征?·
(2)本实验与6.3.5节的实验有何区别和联系?请给出具体分析。
(3)如何在飞行任务中考虑能源系统状态的影响?