APP下载

基于STM32 的塔式太阳能热发电定日镜双轴控制实验系统设计与实现

2021-03-23王常策崔家瑞潘月斗库都斯

实验室研究与探索 2021年2期
关键词:塔式双轴脉冲

冯 涛,李 擎,王常策,崔家瑞,潘月斗,库都斯

(北京科技大学a.自然科学基础实验中心;b.自动化学院,北京 100083)

0 引言

资源枯竭已经成为当前制约人类经济社会持续发展的重大困扰和难题,太阳能热发电技术因其显著的优点而成为新能源开发和利用的重要发展方向[1-4]。太阳能热发电系统有多种形式,其中塔式太阳能发电系统是通过大规模的反射镜群将太阳光聚焦到发电场中央集热塔顶部的接收器上,对其中的工质进行高温加热产生蒸汽来驱动发电机发电,实现太阳能到电能的转换。这种太阳能热发电形式因其热传输路径短、发电效率高、热损耗小等特点成为世界各国研究的重点[5-6],其中定日镜对太阳位置及光线角度的持续精确跟踪是塔式太阳能热发电系统中的重点和难点[7-9]。由于需要对太阳的高度角和方位角进行同步跟踪,塔式太阳能热发电的定日镜需要实现双轴独立控制,由独立的步进电机分别控制定日镜的水平角度和俯仰角度以实现对太阳追踪。

目前市面上成品的运动控制器均采用ARM/DSP+CPLD/FPGA的架构,这种架构具有极强的运算能力,能够实现4 轴甚至6 轴的曲线、圆弧插补[10-11]。定日镜的运动控制只需要2 轴插补,使用成品运动控制器性能严重过剩。对于塔式太阳能热发电场来说,其定日镜规模庞大,考虑到镜群组网和远程控制的要求,定日镜运动控制系统占电场总体建设成本的比例较大,采用这种成品的运动控制器会造成极大的成本压力。因此有必要专门针对塔式太阳能发电场的定日镜控制需求,开发一款成本低、控制灵活、易于大规模组网的双轴运动控制系统。

1 定日镜双轴控制系统整体工作流程

定日镜需要根据当前所在的经度、纬度,以及当前的时间和季节,利用太阳在天空的轨迹运行规律调整自身的角度来实现对太阳的追踪,整体控制流程如图1 所示。

图1 定日镜太阳追踪控制流程图

根据地球绕太阳旋转的规律,可以得到太阳的高度角为[12]

式中:H为太阳高度角;φ为定日镜当前所在位置的纬度;α为赤纬角;ω为太阳时角。

太阳方位角为

式中,β为太阳方位角。通过式(1)、(2),系统可以计算出当前太阳的所在高度角和方位角,驱动步进电动机实现对太阳的追踪。

2 定日镜双轴控制系统总体设计要求及设计方案

根据定日镜控制流程,定日镜双轴控制系统的总体要求如下:

(1)要求实现Modbus-TCP工业总线协议,并且数据响应延迟要低于50 ms,能够与中央控制主机进行实时稳定通信;

(2)能够驱动两路步进电动机,分别控制定日镜的俯仰角度和水平旋转角度,并要求根据步进电动机的机械特性,对步进电动机实现平滑加减速控制,避免步进电动机失步与过冲;

(3)要求具备非易失性数据存储和完善的过热报警、保护功能。

系统方案整体框图如图2 所示。

图2 系统整体框图

系统主要由微控制器及其外围电路、WiFi 通信模块、步进电动机驱动器等组成。系统可以实现Modbus-TCP通信协议,具备现场大规模组网和通信能力,以集中对发电场内所有定日镜进行远程控制。系统可产生两路脉冲及方向信号输出给专用的步进电动机驱动器,以驱动两台步进电动机分别控制定日镜的俯仰角度和水平角度,并能实现步进电机的平滑加减速。系统带有RS-232 接口,以和专用的手持操作器通信,方便维护人员对定日镜进行现场控制。此外,系统还集成有非易失性数据存储器,以存储经纬度、通信地址和其他控制参数。系统同时还带有温度传感和报警功能,以监测当前环境温度,防止系统在室外工作过程中出现过热等现象。

3 定日镜双轴控制系统设计实现

3.1 单片机系统资源分配

根据上面的总体设计要求,选用STM32F407VGT6单片机作为主控芯片。STM32F407VGT6 单片机集成的是高性能的Cortex-M4 内核,工作频率在168 MHz,并且带有浮点计算功能,运算能力得到进一步加强[13]。该单片机内部集成了极为丰富的外设资源,如I/O口、定时器、UART、I2C接口等,各个外设模块可以与多个I/O口进行功能复用,使用相当灵活。在本系统中单片机的内部资源分配如表1 所示。

表1 系统功能与资源分配

3.2 非易失性数据存储功能实现

系统使用EEPROM 芯片24LC02 来存储经纬度、通信地址等非易失性参数。24LC02 内部包含有256 Byte的存储空间,采用I2C 接口,并带有写保护功能,可防止系统出现意外故障使得程序意外写入导致数据损坏。24LC02 的电路原理图如图3 所示。

图3 24LC02电路原理图

在软件实现上,这里使用STM32 单片机I/O口软件模拟的方式来实现与24LC02 芯片之间的I2C 总线通信和数据读写。I2C协议使用SCL与SDA两根线来实现双向数据传输,SCL 作为时钟线,SDA 作为数据线。将STM32 的对应I/O 口进行相应的配置,根据I2C总线协议规范和24LC02 的手册要求,来实现对SCL和SDA 线的控制,从而实现对24LC02 的数据读写。

3.3 Modbus-TCP远程通信功能实现

为了对塔式太阳能热发电场的定日镜进行统一的控制和状态监测,要求控制系统具有较强的数据通信能力,这里采用的是Modbus-TCP 协议来实现定日镜控制系统的大规模组网。Modbus-TCP 协议是运行在TCP/IP网络协议上的Modbus 通信规约,广泛地应用于工业控制领域,能够与多种PLC、通用控制器实现对接[14]。

本系统中Modbus-TCP 协议的实现以WiFi 模块USR-WiFi232-B作为物理层。USR-WiFi232-B 模块是一款一体化的802.11 b/g/n WiFi模块,采用工业级高性能嵌入式架构,在本系统中它的电路如图4 所示。

图4 USR-WIFI232-B模块电路原理图

USR-WiFi232-B模块已经处理了WiFi 数据通信中的大部分细节,系统根据Modbus 通信规约要求来实现Modbus-TCP通信协议。Modbus-TCP协议的实现采用有限状态机模型来实现,状态转移图如图5 所示。

图5 Modbus-TCP数据处理状态转移图

没有收到网络数据时,系统处于“空闲”状态。收到网络数据后,系统转移到“数据接收”状态,此时随着数据传输的不断进行,会根据Modbus-TCP 的协议约定,对数据帧完整性进行持续判断。当接收到完整的数据帧之后,进入“数据帧解析”状态,会对数据帧的正确及有效性进行进一步的判断,验证访问的寄存器有没有超过范围等。如果数据帧验证通过,则对其中的功能码进行对应的处理。Modbus 协议支持多种功能码,针对不同的功能码,系统对相应地址的寄存器进行读写,然后把读写结果组成回复数据帧进行数据发送。数据发送完毕,再次进入“空闲”状态,一次通信即告结束,等待远程控制主机发起下一次Modbus通信。

Modbus协议支持多种功能码,在本系统中实现的功能码见表2。

表2 系统已实现的Modbus功能码

3.4 脉冲信号可控输出功能实现

本系统中,对步进电机的控制需要由系统提供相应频率的脉冲输出,脉冲输出的频率决定了电动机的旋转速度,脉冲输出的数量决定了步进电机的旋转角度,因此需要实现脉冲频率、数量的可控输出[15-16]。相对于采用CPLD/FPGA 的较为复杂的方案,本系统采用STM32 单片机内部的高级多功能定时器进行相互级联使用,实现步进电机脉冲信号频率和数量的可控输出。该方案的组成框图如图6 所示。

图6 STM32单片机定时器级联框图

图6 中,定时器1 由STM32 的内部高频时钟提供时钟源,时钟经过分频和定时器1 的计数器计数,产生PWM信号输出到外部。同时定时器2 对PWM信号进行计数,当计数个数达到设定值时,进入定时器2 的ISR,改变定时器1 的寄存器设置,从而改变脉冲输出的频率。脉冲输出都是由定时器硬件完成,软件只需要在预设的脉冲个数输出完毕时才会介入以对后续的脉冲频率、个数进行修改,实现了系统的软硬件优化,对硬件结构实现了简化,在保证系统性能的基础上,实现了系统成本的显著降低。

4 实验测试

在实验室环境下,采用数字存储数字示波器以及专用的通信测试软件对系统进行了详尽的实验测试。控制系统电路板及测试环境如图7 所示。

图7 定日镜双轴控制系统电路板及实验室测试环境

将系统与上位机接入同一个局域网,然后在上位机上运行Modbus Poll 测试软件,对系统进行连续的Modbus寄存器读写操作,同时让系统对24LC02 芯片进行连续的读写操作,并与此同时输出频率、数量可控的脉冲信号。使用这样的方式,对系统的Modbus-TCP通信、24LC02 芯片读写、脉冲信号可控输出等功能进行完整的压力测试。

Modbus通信波形如图8 所示,图中,通道1 是中央主机发送过来的控制和查询指令,通道2 是本系统的回复数据。由图可见,从主机指令发送结束到本系统数据回复起始之间的时间延迟约为10 ms,满足系统的实时性要求。Modbus通信测试界面如图9所示。经过24h的连续测试运行,上位机与系统总计进行了6.5 ×105包的Modbus-TCP 通信数据交换,出错次数为0,这说明本系统实现的Modbus-TCP具有较高的通信稳定性,满足系统的稳定性需求。

图8 Modbus-TCP通信波形图

用示波器抓取的系统对24LC02 芯片进行读写操作的I2C通信波形如图10 所示,波形满足I2C 协议中所规定的操作时序要求和建立保持时间条件。测试过程中,对24LC02 芯片整个数据区域进行了连续104余次的读写操作,数据读取与写入均成功,达到系统设计要求。

图9 Modbus-TCP通信测试界面图

图10 I2C总线操作波形图

在系统进行Modbus-TCP通信与EEPROM数据读写操作的同时,让系统周期性地输出两路频率、数量可控的脉冲信号,如图11 所示。

图11 脉冲可控输出波形图

对上面两路输出脉冲的数量、周期进行统计分析,结果见表3~5。

表3 两路脉冲输出数量统计

由上面的测试可见,系统稳定的实现了Modbus-TCP协议通信、EEPROM 数据读写、脉冲信号可控输出等各项功能。由于使用了STM32单片机内部的高级定时器,以硬件的方式来产生可控的脉冲输出,将CPU的工作负载大大降低,使得CPU有足够的时间去处理Modbus-TCP 通信、24LC02 的I2C 读写操作等其他功能,使系统的整体稳定性和响应速度得到了有效保证。

表4 两路脉冲最大输出周期统计

表5 两路脉冲最小输出周期统计

5 现场测试与应用

本系统已经成功应用于位于北京某太阳能热发电实验电站。该实验电站是国家“十一五”863 计划重点项目的一部分,是我国首个、同时也是亚洲最大的塔式太阳能热发电电站。电站总占地面积约19 200 m2,集热塔高119 m,镜场安装有100 面定日镜,总发电规模为1 MW,年可发电量达2 ×107kW·h。经过实验电站长期的运行测试表明,本系统能够对定日镜群实现平滑稳定的逐日跟踪,并且能够在中央控制室调度下对定日镜群实现实时远程统一控制,达到了预期的设计目标。应用调试现场如图12 所示。

图12 定日镜控制系统应用现场

6 结语

本文基于STM32F407 单片机,设计了一套定日镜双轴运动控制系统,实现了定日镜对太阳的独立连续跟踪。系统实现了Modbus-TCP 远程通信、步进电机脉冲信号可控输出、EEPROM 参数本地存储等功能。相对于成熟的通用运动控制器,该系统结构精简,能大幅降低塔式太阳能热发电场的建设成本,同时具有运行稳定、响应速度快、联网能力强的特点,取得了明显的经济社会效益。

猜你喜欢

塔式双轴脉冲
具瞬时脉冲接种与非瞬时脉冲接种效应的一类新的SIR传染病模型研究
双轴向粗粉分离器流动特征研究
西夏塔式擦擦造像艺术
转塔式砂轮架B轴回转机构设计
黄芩苷脉冲片的制备
简易双轴立铣头装置设计与应用
基于SolidWorks对双轴搅拌机的静力学分析
恶劣海况下海洋石油116内转塔式FPSO装配载优化
基于Hopkinson杆的窄脉冲校准系统
5000年前“塔式壶”的迷思