基于图像处理的光伏发电自动跟踪控制系统

2018-12-07 08:32
单片机与嵌入式系统应用 2018年11期
关键词:质心像素点图像处理

(南京工程学院,南京 211167)

引 言

太阳能作为绿色、可再生能源,它的合理使用不会对环境产生污染,可以源源不断地使用。很多国家都在改革太阳能的采集技术,以便更高效地利用太阳能源,但目前太阳能采集技术比较传统,存在很多弊端。太阳能板是固定装置,而太阳的位置时刻在变化,这种方式无法充分利用太阳资源,转换效率较低。另外,太阳能板安装在室外,容易受粉尘污染,如果不及时清理,会导致发电效率降低,被遮蔽的光伏电池会变成不发电的负载电阻,消耗相连电池产生的电力,造成发热,这就是“热斑效应”。此过程会加剧电池板老化,减少光电转化率,严重时会引起火灾。本文提出了一种基于图像处理的嵌入式太阳能自动跟踪控制系统设计,一方面可以实时调整太阳能板的方位角与倾斜角,使太阳能板始终正对着太阳,从而使太阳能板获得最大的发电量,确保提高光电转换效率,有效提高太阳能的利用率;另一方面,也可以实时观察太阳能板灰尘度,及时清理,延长太阳能板的寿命。

1 太阳跟踪总体系统设计

系统方案总体框图如图1所示。系统主要由处理器Smart210开发平台、电机、单片机、GPS模块等组成。主要工作原理是:处理器通过读取GPS模块输出的纬度及时间等参数,大致计算出此时太阳的高度角和方位角,再计算出电机转动次数,实现对太阳方位的初始定位,然后通过对摄像头采集的太阳图片进行图像信息处理,计算得到跟踪系统的误差,驱动电机再次定位,从而实现对太阳的精确跟踪。这个跟踪过程分为以下两个步骤完成:

图1 太阳方位跟踪系统总体框图

① 跟踪装置初始位置确定—视日运动轨迹跟踪策略,由于太阳轨迹有一定规律,所以通过视日运动跟踪算法能够计算某地任意时刻的太阳高度角和方位角,进而驱动电机使装置正对太阳。采用视日运动轨迹跟踪有两个主要原因: 一是实现跟踪设备的初始定位;二是当天气阴天没有太阳出现时,系统也可以正常工作。

② 摄像头拍摄太阳图像以形成闭环反馈,通过摄像头收集太阳斑点图像,并对太阳斑点图像进行计算,求出太阳图像的质心,获取太阳位置的偏差,反馈给跟踪系统,校正跟踪装置,然后完成对太阳位置的精确跟踪。

太阳的高度角、方位角通过一定的算法处理后,将此加载到控制系统中,控制逻辑电路计算出对应太阳移动的位置,最后控制器控制电路驱动电机旋转,从而使太阳能板保持与太阳光垂直。设计采用双轴追踪模型,一个电机控制水平转动,另外一个电机控制垂直方向,这样可以实现水平方向和垂直方向调整,实现了全方位追踪。系统工作时,根据太阳轨迹算法和太阳质心识别算法得到太阳的高度角和方位角,方位角参数控制水平转轴,高度角参数控制垂直转轴,从而使得太阳能板始终对着太阳。精密摄像头与太阳能板安装在一个平面上,便于采集太阳图像[1-3]。

2 太阳跟踪系统软件设计

2.1 太阳自动跟踪软件系统设计

系统有两种控制模式:时间控制模式和图像处理模式。软件设计环境采用嵌入式QT编程,系统上电, QT系统启动后,先读取GPS模块,得到当前时间,通过时间判是白昼还是夜晚。如果是夜晚,系统进入休眠状态;如果是白昼,系统读取GPS模块得到此地的经纬度和时间,再通过视日运动算法计算此时太阳的方位角和仰角,然后驱动电机定位太阳最开始的位置,接下来就是图像处理模块。初始定位后,摄像头采集此时的太阳图像,通过图像处理,精确定位太阳位置。由于篇幅限制,这里对于基于视日运动轨迹计算太阳的方位角与高度角的方法和实现不做详细描述,重点讲述图像处理跟踪方法。

2.2 基于图像分析太阳跟踪算法的设计

2.2.1 图像处理算法流程图

利用图像处理的方法实现太阳跟踪,需要通过摄像头采集太阳图像,再对图片进行去噪声处理,处理完成后,图像中只有单一的太阳光斑,接下来进行质心定位,计算中心偏差,然后计算电机转动的次数。软件流程图如图2所示。

图2 太阳图像处理操作流程图

2.2.2 太阳光斑图像预处理

(1)太阳光斑图像采集方案的设计

太阳光照很强,摄像头直接采集太阳图像,得到的图像比较模糊,时间较长会损坏摄像头,所以在采集太阳图像时要加保护措施,使太阳光间接在摄像头内成像。

本文采用在摄像头前加上专用薄膜的方法,目前最常用的专用薄膜是德国发明的巴德膜,借用巴德膜采集太阳图像更加有效,更能显现太阳的真实色彩,还能滤除云朵等反射的较弱光。实验选择密度为5.0、透光性约为十万分之一的巴德膜。

由于巴德膜的透光性弱,可以得到质量良好的太阳光斑图像。图3中左图是没有加巴德膜摄像头采集的太阳图像,右图是增加保护膜后拍摄的太阳图像。对比两图可以看出,使用巴德膜作为太阳滤镜可以取得更好的像质,噪声点较少,有利于后续的图像处理,另外,对摄像头也起到保护作用,避免烧伤。

图3 两次拍摄的太阳图像对比图

(2)太阳图像的预处理

由于巴德膜的折痕导致图像处理过程中会产生不可避免的噪声点,这些噪声点会影响到最终的识别效果,因此需要对这些噪声点进行滤除,这里采取开运算与闭运算[4-6]。开运算就是先腐蚀后膨胀,用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。闭运算是先膨胀后腐蚀,用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积。

① 腐蚀。两组集合A、B,结构元素B对A的整个腐蚀过程如下:用B结构元素扫描图像A的每一个像素,结构元素中的每一个像素与其覆盖的像素进行“与”运算,如果结果均为1,该像素为1,否则为0。腐蚀过程的结果是将原始二值图像缩少一圈。

② 膨胀。用B结构元素扫描图像A的每一个像素,结构元素中的每一个像素与其覆盖的像素进行“与”运算,如果两者均为0,则图像的该像素为0,否则为1,膨胀过程使二值图像大一圈。

本文对原始图像先进行开运算填充太阳图像中的孔,再闭运算去除噪点。图4中,左图和右图是经过开闭运算前后的对比图。对比两图可知,运用开运算和闭运算等方法能够完善噪声滤除、形态识别、图像分割等问题。

图4 开闭运算前后的太阳图像

2.2.3 光斑质心定位

上述所做的预处理工作都是为了找到太阳质心的精确位置,而能否找到质心的位置是整个太阳跟踪系统的关键。光斑质心定位的办法有很多种,比如图像匹配算法、图像边界跟踪算法等。由于本文中预处理之后的光斑比较单一,所以采用图像轮廓跟踪算法求质心[7-8]。

(1)图像轮廓跟踪算法——Canny算法

Canny算法实现分为几个步骤:利用高斯滤波器来消除噪声,达到平滑图像的目的;计算图像中的强度梯度;应用非最大抑制(non-maximum suppression)技术消除边误检;应用双阈值方法来检测可能的(潜在的)边界;利用滞后技术来跟踪边界[9-10]。具体步骤如下:

① 图像平滑-高斯去噪

图像信息的原始数据要经过高斯去噪声来减少对边界检测的影响,采用的方法是原始数据与高斯mask作卷积,得到的图像与原始图像相比有点模糊。高斯滤波器核的生成方程式为:

1≤i,j≪(2k-1)

(1)

假设图像数据矩阵为A,则经过高斯滤波(卷积)之后,平滑后的像素点亮度值为:

(2)

② 寻找图像中的梯度和方向

Canny算法的核心是寻找一幅图片中灰度强度变化最强的位置,即梯度和方向。滤波后的图像每个像素点的梯度可由不同的算子(例如Roberts、Prewitt、Sobel等)来计算,这里采用Sobel算子来获得。用于边缘检测的Sobel算子返回水平Gx和垂直Gy方向的一阶导数值,由此确定像素的梯度和方向,如下式(G表示梯度强度,θ表示梯度的方向):

(3)

(4)

在水平x和垂直y方向的Sobel算子是:

(5)

图5 Sobel算子的方向坐标图

其中Sx用于检测垂直方向的边缘算子,Sy表示用于检测水平方向的边缘算子。在笛卡尔坐标中,Sobel算子的方向坐标如图5所示。

假设图像矩阵为A,利用Sobel算子进行卷积计算后,像素e点在x和y轴方向上的梯度值分别是Gx和Gy,表达式如下:

(6)

(7)

所以,计算结果x方向Gx值和y方向的梯度值Gy,代入式(3)和式(4),计算出梯度和方向。

③ 非极大值抑制

非极大值抑制采用边缘稀疏技术,目的是削薄边缘。非极大值抑制就是保留每个像素点上梯度强度的最大值,而删除其他值。梯度图像中每个像素点的非极大值抑制操作如下:

a. 将当前像素的梯度强度与梯度方向为正负梯度的两个像素进行比较;

b. 如果当前像素的梯度强度与其他两个像素梯度相比最大,则该像素点保留,否则删除该像素点。

④ 双阈值检测

经过非极大值抑制后图像仍有很多噪声点,Canny算法采用了一种双阈值技术来进一步降低这些噪声。即设定一个阈值的上限和一个阈值的下限;图像中的像素点强度如果大于阈值的上限,则认为是强边界;小于阈值的下限,则不是边界;如果像素点的梯度值大于低阈值小于高阈值,则认为是弱边界,需要进一步处理。

⑤ 抑制孤立的弱边界点

经过双阈值检测得到了强边缘和弱边缘,对于强边缘,可以认为它是实际的轮廓。对于弱边缘,它不一定是实际边缘,需要抑制孤立边缘。原理为:如果弱边界的8个邻域边缘中存在强边缘,则保留边缘;反之,则抑制该弱边缘。

通过上述步骤完成了Canny算法对图像进行边缘检测,图6为Canny算法之后的边缘图。

图6 Canny算法之后的边缘图像

(2)计算太阳轮廓的质心

获取到太阳轮廓后,计算太阳质心就比较简单了,步骤如下:查找最大的轮廓;计算轮廓的空间矩;计算质心。

图7所示为太阳图像的质心检测结果,图中小圆圈为太阳质心位置。

图7 光斑质心检测结果

2.2.4 控制电机运转实现太阳跟踪

摄像头安装在太阳能板上,摄像头采集太阳图像的大小为320×240,图像左下角为坐标原点,图像中心位置的坐标是(160,120),当太阳光斑位于图像中心时,太阳能板正对着太阳。太阳光斑移动示意图如图8所示。

图8 太阳光斑运动示意图

通过实验测试得知步进电机转动的角度与质心像素点的移动存在线性关系,步进电机转动1个单位,质心像素点移动5个像素点。假设太阳光斑图像某一刻坐标为(X,Y),步进电机转动次数设为Cx、Cy(分别表示水平、垂直转动次数),则有:

Gx=(X-160)/5

(8)

Gy=(Y-120)/5

(9)

步进电机转动相应次数,完成跟踪。

2.2.5 计算太阳能板粉尘覆盖率

截取太阳能板图像,计算太阳能板的面积,对太阳能板图像二值化,进行Canny算法,寻找粉尘覆盖轮廓,计算轮廓面积,求取灰尘覆盖率。由于篇幅有限,这里不做详细介绍。

3 基于图像信息处理实现太阳自动跟踪测试结果

图9 系统晴天时跟踪太阳的图像

实验测试需要在晴天环境下操作,通过GPS模块知道此地的经纬度为北纬31.55度,东经118.52度。首先将装置面朝正北方,将转台复位,然后开启系统。系统每隔15分钟追踪太阳,系统的工作步骤为:每次跟踪之前,先通过太阳轨迹运动规律算法定位太阳大致方位,然后通过图像处理算法找到太阳精确位置,这里为了减小误差,进行了5次图像处理,以达到更高的精确性。图9为系统晴天时跟踪太阳的图像,图9(a)是太阳图像初始位置,图9(b)是根据太阳图像分析处理调整电机旋转后的位置,接近坐标的中心位置,说明太阳能板已经正对着太阳。注:(144.2,143.7)代表太阳初始位置坐标,(157.7,121.4)是调整后的坐标。

结 语

猜你喜欢
质心像素点图像处理
重型半挂汽车质量与质心位置估计
基于GNSS测量的天宫二号质心确定
基于局部相似性的特征匹配筛选算法
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
基于图像处理的定位器坡度计算
一种海洋测高卫星质心在轨估计算法