电子文章 | 电子资料下载 | 家电维修 | 维修资料下载 | 加入收藏 | 全站地图
您现在所在位置:电子爱好者电子文章传感技术基于COMS图像传感器的太阳自动跟踪控制器设计与实现

基于COMS图像传感器的太阳自动跟踪控制器设计与实现

11-20 00:36:56 | http://www.5idzw.com | 传感技术 | 人气:146
标签:传感技术知识,传感器与检测技术,http://www.5idzw.com 基于COMS图像传感器的太阳自动跟踪控制器设计与实现,http://www.5idzw.com

     太阳跟踪的方法很多,主要可以分为两种方式,即光电跟踪和根据视日运动轨迹跟踪。光电跟踪装置优点是灵敏度高,结构设计简单,能通过反馈消除累计误差,具有较大的优势。其关键部件是光电传感器,常用的是光敏电阻。由于光敏电阻安放位置的不连续和环境散射光的影响,系统不能连续跟踪太阳,精度有限。

  因此需对光敏电阻的结构进行优化,而通过增加光敏电阻个数的方法则会造成装置结构复杂,成本提高。通过分析,采用图像传感器代替了光敏电阻检测太阳位置的变化,可以准确、快速地获得太阳位置信息,从而提高了跟踪精度。同时其结构简化,成本降低。

  1 系统总体设计

  该系统主要由平面镜跟踪装置、控制和驱动电路、方位限位电路、CMOS图像传感器(附巴德膜滤波片)等部分组成。系统总体设计框图如图1所示。跟踪装置实物图如图2所示,图像传感器固定在平面镜中心。图像传感器产品主要分为CCD,CMOS以及CIS传感器三种。目前CMOS型不仅价格低廉,而且已经实现数字化输出,软件可编程控制,大大降低系统设计的难度,提高系统设计的灵活性、抗干扰性和稳定性。



  CMOS图像传感器满足系统设计要求。跟踪控制器采用罗技公司的QuickCam系列网络摄像头,具有功耗小、成本低、单一电源驱动、易于实现片上系统集成等特点。其开窗特征可以根据实际需要设置有效图像数据窗口的大小,从而避免了对无效数据的采集,减小存储空间。

  由于太阳光十分强烈,因此在图像采集时,需要给摄像头加上巴德膜滤波片。实验表明加两层滤波片后,所得到的图像效果较佳。

  系统工作过程为:启动时,上位机VC++调用视日运动规律中的sun函数,获取太阳的高度角与方位角,并转化为俯仰和水平步进电机的运行步数,通过RS 485总线与单片机通信,驱动跟踪装置运转,确保太阳光斑装入CMOS图像传感器视角内。

  通过MCC实现VC++与Matlab联合编程,实时控制图像传感器采集太阳光斑图像。VC++程序设置为每隔5 min自动调用传感器拍一次照,传回的图像经Matlab处理,计算出太阳光斑质心坐标与图像中心坐标的偏差,转化为水平和俯仰电机需调整的步数,返回给 VC++,再次送给单片机,驱动步进电机动作,进而细微调整平面镜跟踪装置,使太阳光斑始终在图像中心位置。

  当厚云层挡住太阳时,或者由于其他原因太阳光斑无法出现在传感器视角内,则VC++调用时钟跟踪算法,继续跟踪,直到云层过去后,再重新使用图像传感器跟踪。

  2 图像传感器实时跟踪太阳的设计

  2.1跟踪控制器的首次定位

  启动时,上位机中VC++程序首先调用视日运动规律中的sun函数(此后跟踪过程中无需再调用),返回此时的太阳高度角和方位角,换算成俯仰和方位步进电机所需的步数,数据送给单片机,驱动跟踪装置运转,确保太阳光斑装入图像传感器视角内。子程序得到所需要运行的步数,列出部分代码:


  sun()函数中各个变量的含义:


  而PC与单片机通信协议如下:


  状态各位定义如下:


  其中:6,5必须同时为1时,系统复位。

  2.2 图像传感器的自动跟踪原理

  VC++设置为每隔5 min自动调用传感器拍一次照,传回的图像经Matlab处理,计算出太阳质心坐标与图像中心坐标的偏差,并转化为水平和俯仰电机需调整的步数,再次送给单片机驱动步进电机,进而细微调整平面镜跟踪装置,实现对太阳连续自动跟踪。

  FYP定义为俯仰步进电机应运行步数,FWP表示方位步进电机应运行步数。方位步进电机每动作一步实际为(1.8/100)°,俯仰步进电机每动作一步实际为(1.8/52)°。当系统实际运行时,光斑在图像中心时设定坐标为(160,120),向下移动出图像FYP为50;向右移动出图像FWP为 160。若太阳光斑不在中心点时,如图3所示,经Matlab程序执行结果为光斑图像坐标(115,117),光斑个数为1,对应FYP为1,FWP为 -46。



  图像处理过程中运用了最大类间方差法Otsu,是根据最小二乘原理推导出来的,它基于直方图来选取阈值,其基本思路是将直方图在某一阈值处分割成两组,当被分成的两组的方差为最大时,得到阈值。方差是灰度分布均匀性一种量度,方差值越大说明构成图像的两部分差别越大,当部分目标错分为背景,或部分背景错分为目标都会导致两部分差别变小,所以使类间方差最大的分割意味着错分概率最小。Otsu算法具有简单、分割速度快等优点,对噪音和目标大小十分敏感,对于信噪比较高的图像具有很好的分割效果,被认为阈值自动选取的最优方法之一。

  图4为拍摄到太阳光斑存在干扰时的图像,对比图4(a)和图4(b)可发现用Otsu法分割处理后,能有效消除图像中细微干扰。图4(c)由Otsu法处理后得到图4(d),光斑图像坐标(160,120),光斑个数为2,对应FYP和FWP为O。由此判断拍摄的图像存在明显干扰,程序将FYP和FWP置为O,确保系统的可靠性。


  一般情况下使用图像传感器跟踪,但当阴天或出现厚云层时,太阳光斑无法出现在传感器视角内,VC++立即调用时钟算法,根据太阳在天空中每分钟运动的角度,计算出跟踪控制器5 min应转动的角度,从而确定出步进电机的转速,使得装置根据太阳位置而相应变动。

  2.3 系统软件设计

  软件的主要部分为PC机部分,PC机环境为Windows XP,使用软件Microsoft Visual C++6.0和Matlab 7.0。启动时VC++负责调用一次sun函数,返回当前时刻太阳的高度角和方位角,并转化为FYP和FWP运行步数。通过调用Windows API函数,实现上位机与单片机间数据的传递。通过MCC实现VC++与Matlab的联合编程,控制摄像头采集太阳光斑图像,根据太阳光斑质心坐标与图像中心坐标的偏差转化为FYP和FWP校正步数。

  上位机可执行程序控制界面如图5所示,上位机控制平台具有实现复位,太阳位置的跟踪、手动校准。其中“设置”按钮,可进行波特率、调整时间间隔等的设置。

[1] [2]  下一页

,基于COMS图像传感器的太阳自动跟踪控制器设计与实现