柯熙政,王 欢
(西安理工大学自动化与信息工程学院,陕西西安 710048)
太阳能因其可再生、无污染等优点,近年来受到越来越多的关注。但因其稳定性差,能流密度低,使得利用率低于预期状态[1-3]。太阳能利用率主要受太阳辐射接收效率的影响。因此,对太阳进行精确跟踪,能有效提高能量利用率[4]。
目前,专家们为提高太阳能使用效率已经做了大量工作。Sunger等人利用PLC设计并实现了一个多轴机电太阳跟踪系统,并证明双轴太阳跟踪系统相比固定系统获得的能量增加了42.6%[5],但是会产生累积偏差。Arbab等人研究了一种基于条形阴影计算机图像处理的太阳跟踪系统,该系统不受地理位置和周期性校准的影响[6]。Song等人将图像传感器应用在太阳跟踪器中,从图像角度保证了太阳跟踪器的精度[7]。Bentaher 研制了一种简单的光电跟踪器跟踪系统,对光敏电阻之间的最佳角度进行了数值计算和实验研究[8]。Jerin设计了一种基于单片机的太阳能跟踪器,用混合算法定位太阳位置,可以在所有天气条件下利用最佳的太阳能[9]。通过上述研究发现,动态反馈控制器的闭环光电跟踪系统具有成本较低、灵敏度高、跟踪精度高等优点;缺点是受天气条件的影响较大,系统工作的稳定性低[10-11]。而视日运行轨迹跟踪是一个无反馈系统,可实现全天候跟踪,不受外界气象环境干扰;但会形成累积误差,需要按时纠正[12-13]以消除其影响。
本文采用将两种方法混合的跟踪方式,既可以解决光电跟踪在多云天气无法进行太阳跟踪的问题,又可以修正视日运行轨迹跟踪带来的累积误差。本文以PLC和ARM处理器为控制核心,根据PLC控制库,进行太阳位置算法实现方法的研究,获取其实际位置的高度角及方位角信息。利用CMOS图像传感器拍摄图片传至ARM处理器进行图像处理,计算太阳偏转角度。再通过串口发送给PLC后控制步进电机的转动,使碟架在任意时刻都能正对太阳。
太阳自动跟踪系统的硬件架构框图如图1所示,上位机软件在PC机上运行,完成下位机控制器数据采集、远程调试及数据记录等功能。下位机控制器采用PLC和ARM处理器构建伺服控制系统,并分为3部分:斯特林碟架的水平/垂直电机与相应传感器部分;电机驱动器部分;自动跟踪控制算法部分。其中图像处理算法与太阳位置算法是整个自动跟踪对准系统的核心。
图1 系统硬件架构框图
(1)ARM处理器。系统采用32位TQIMX6_E9V3卡片电脑,其具有丰富的接口,强悍的性能,体积较小,易于拆装,出厂时已内置Ubuntu、QT+Linux系统,智能化程度高,应用于图像处理部分,可有效提高其处理速度和精度[14]。
(2)PLC控制器。西门子S7-1200小型可编程控制器具有强大的运算指令,可以满足对视日运行轨迹跟踪中太阳位置算法的精准运算。利用RS485和RS232通讯模块,S7-1200可以实现点对点的通讯。与GPS模块进行串口通讯,配置协议后,输出经度、纬度、时间、海拔等信息[15]。
(3)双轴转台。斯特林碟架具备水平和垂直步进电机,因此采用双轴转台。系统使用的是混合式步进电机,需要配合相应的驱动电路才可正常工作[16-17]。系统选用SM-80A,SM-90A细分驱动器,可驱动各类两相和四相电机,具有较好的性能。
(4)CMOS图像传感器。其所有功能集成于内部芯片,能有效降低成本,使得跟踪装置简约化,性能优良,可以达到稳定传输图像的效果[18]。本文采用的图像采集设备为0521V2型CMOS摄像头,其像素大小为3.0 μm×3.0 μm,焦距为12 mm,视场角为27°×15°,并提供3种分辨率,可根据实际情况进行选取。
(5)陀螺仪姿态测量传感器。在视日运行轨迹跟踪模式下,为了将SPA算法得到的太阳方向角和高度角信息用于校准斯特林碟架,系统采用磁场传感器角度测量陀螺仪传感器来测量得到碟架的实时角度方位,测量精度在0.05°[19]。这里地磁传感器的三维角度基准为:X轴以正东方向为0,并逆时针旋转90°定向Y轴基准线,Z轴则与其余两轴所构成的平面垂直,角度数值变化符合右手准则。
太阳自动跟踪装置实物图如图2所示,其中图2(a)为碟架装置图,CMOS图像传感器位于杠杆最顶端,方便采集阳光,水平和垂直电机则内嵌于铜管内;图2(b)为控制系统,由7部分构成。
(a)碟架装置图
(b)控制系统图2 太阳跟踪系统实物图
太阳自动跟踪控制系统的算法流程图如图3所示。其工作原理为:系统初始化完成后进入太阳位置算法粗跟踪模块,即通过GPS模块输出时钟、日期、经纬度、海拔、天文历表等相关参数,并将其发送到PLC处理器,采用SPA算法处理得到当前时刻太阳的高度角和方位角信息[20]。根据以上结果调整碟架的位置。完成视日运行轨迹跟踪后,进入图像处理精跟踪方式,基于图像处理的跟踪算法,其核心在于由图像处理计算得到太阳的质心位置。CMOS图像传感器将采集到的天空图像以固定的帧频发送给ARM处理器,对图像经过一系列的处理以提取太阳中心实际位置。
图3 系统总体算法流程图
采用上述算法得到太阳光斑实际位置后,通过判断其是否在视场范围内以决定系统进一步操作。若光斑中心位置在CMOS传感器视野区域中,则进行闭环控制。首先在图像处理算法精跟踪模块内获取光斑中心相对于视场中心的偏移量,并由ARM处理器将其计算转换成电机偏转角数据。然后将该数据发送至PLC控制器,完成对应脉冲数的计算及发送。驱动器接收数据并操纵步进电机运行,使得视场中心与光斑中心重合。若没有提取出太阳光斑,此时图像处理算法提取光斑质心失败,转入视日运行轨迹跟踪方式,即采用SPA算法得到的太阳位置控制水平、垂直双轴传动机构,调整斯特林碟架的角度,完成对太阳的跟踪动作。
图4为PLC核心控制模块原理图,其中PLC作为整个系统的主控机构,主要完成3方面的工作:一是完成视日运行轨迹跟踪的太阳位置算法;二是接收ARM处理器中图像处理算法的最终偏转角度结果;三是控制执行机构,即驱动步进电机转动碟架至最佳视场范围内。
图4 PLC核心控制模块原理图
太阳位置算法用于计算太阳实际方位的相关数据,包含方位角及高度角。其原理如下[21]:
sinh=sinφsinδ+cosφcosδcosω
(1)
(2)
式中:h为太阳高度角;γ为太阳方位角;δ为太阳赤纬角;ω为太阳时角;φ为当地地理纬度。
基于以上天文学公式,SIMATIC公司在TIA Portal软件系统中改进了SPA算法并将其模块化。图5为该算法的功能程序块示意图。与传统太阳位置算法相比,该SPA算法可有效减小累积误差,提高算法精度,同时使用户更加方便地得到太阳高度角和方位角实际角度。
图5 太阳位置算法功能程序块示意图
太阳图像处理算法利用CMOS相机采集和传输太阳图像,并通过ARM处理器对太阳图像进行处理,获取高度角及方位角偏差角度,传送至执行机构。其中基于ARM处理器的处理算法包含3部分:图像二值化处理、质心求取和坐标转换。
3.2.1 图像二值化处理
针对摄像头的图像采集部分,系统采用5.0+0.25%的Astro Solar组合滤光片进行可见光滤除。同时,本文采用最大类间方差法(OTSU)来降低图片背景杂光对计算结果的干扰[22-23]。图6(a)为太阳光斑原始图像,图6(b)为滤光膜组合后拍摄的太阳光斑图片,图6(c)为OTSU算法处理后得到的二值化图像。通过对比发现,滤光膜组合后的图像滤除了原图像中大部分可见光。OTSU算法处理后能有效消除图像中的细微干扰。
图6 图像处理对比图
3.2.2 质心求取
二值化图像的质心求取是实现整个太阳跟踪系统的关键点,同时也决定着系统的跟踪精度和运行可靠性。本文采用二进制质心跟踪算法,对太阳图像光斑进行定位。假设光斑范围内共有n个像素点,它们的坐标可由式(3)表示:
(3)
则目标区域质心坐标(xt,yt)如下[24]:
(4)
根据上述公式,二值化图像质心求取的结果如图7所示。图中的点为太阳光斑的质心和图像中心的质心。
图7 二值化图像质心求取
3.2.3 坐标转换
坐标转换是将根据质心求取算法获得的太阳光斑和图像中心坐标转换为步进电机水平及垂直方向偏转角度。图8是太阳光斑视场坐标差示意图。建立如图8所示的二维坐标,并记图像中心的坐标为(x0,y0),光斑中心的坐标为(x,y),则两者之间的横坐标差为Δx,纵坐标差为Δy。
图8 太阳光斑视场坐标差示意图
根据所获图像坐标差求取转台水平轴和垂直轴转动角度,其原理为[25]:
(5)
式中:α和β分别为水平轴和垂直轴的转动角度;摄像头实际视场角为θ×δ=27°×15°;M、N分别为图片横、纵向的像素大小,实际系统中取值为640和480。
则建立上述坐标轴后,图像中心的实际坐标为(320,240)。
根据式(5)求出的水平和垂直轴的偏转角度范围是0~360°。当其取值大于180°时,碟架需大幅度转动才可修正偏转角度。因此,本文引入范围判断,即当计算角度大于180°时,采用其互周角作为修正角度控制碟架,如式(6)所示:
(6)
将获取的偏转角度传送至PLC控制器,进行执行机构的控制。
执行机构包括步进电机、蜗杆以及斯特林碟架。其中电机内嵌微处理器,发送控制指令。PLC通过ARM处理器串口获取水平及垂直偏转角角度,并将其转为脉冲数,分别发送至相应驱动器。驱动器驱使水平、垂直步进电机进行转动,使得碟架转到视场范围内,实现对太阳实际位置的跟踪。
本系统采用TQIMX6_E9V3作为主控制器完成太阳图像跟踪。首先在PC机上分别构建基于Linux及Qt的交叉编译环境,其中Linux下交叉编译器选用天嵌科技的gcc-linaro-5.3版本。然后在Qt Create软件环境下运行太阳光斑图像处理算法程序生成ARM处理器的可执行文件,并利用SD卡进行下载。
图9为ARM处理器上图像处理算法运行最终结果,由图9可知本算法可计算并输出转台水平轴和垂直轴的转动角度α和β,并通过RS232接口协议,将其发送给PLC控制器。PLC控制器完成偏差量的校正并转换为输入PWM脉冲,发送给水平和俯仰电机驱动器。电机收到驱使,带动斯特林碟架完成转动,最终达到实时跟踪太阳光斑的效果。
图9 图像处理算法运行结果图
实验在铜川市某实验基地完成,数据观测时间为10月初到11月底,因实验数据量较大,文中只对11月21日太阳自动跟踪系统的系统误差进行分析,图10和图11分别为碟架高度角和方位角的实际跟踪误差曲线。
图10 高度(俯仰角)实际跟踪误差曲线
图11 方位(方位角)实际跟踪误差曲线
通过对图10、图11的数据分析表明:该混合跟踪系统中,高度角实际跟踪误差不超过±0.05°,方位角实际跟踪误差不超过±0.07°,采用了混合跟踪方式的太阳自动跟踪系统,在精度和稳定性方面都得到了很大提高。但由于风力的影响和水平机械间隙较大等原因,现有的跟踪效果比系统真正的跟踪效果要差,如果排除掉这些外部因素,系统跟踪会有更好的效果。
本系统将视日运行轨迹跟踪方法和光电跟踪方法相结合,以PLC和ARM处理器为核心构建控制回路,完成对太阳的实时跟踪。当太阳光斑可被检测时,利用ARM处理器根据采集的图像计算获取相关跟踪所需数据;无法检测到太阳光斑时,利用SPA算法得到太阳实际的方位角和高度角。再将数据发送给PLC,控制水平、垂直双轴转动机构调整斯特林碟架的角度,完成对太阳的跟踪动作。本文设计的混合跟踪方式系统相比现有跟踪技术具有如下优点:
(1)系统既可以解决光电跟踪方式在多云天气无法进行自动跟踪的问题,又可以消除视日运动轨迹跟踪方式带来的累计误差;
(2)系统跟踪误差不大于±0.1°,使得碟架达到稳定跟踪效果的同时提高了太阳能的使用效率。
实验过程中,因为碟架自身的安装和设计问题以及风力影响,使得实际效果与理论效果存在一定差异,未来进一步的研究中,主要以如何减少外界影响带来的误差为方向,方法是在风力较强的地方测试太阳跟踪器,来实现对跟踪装置的改进。