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

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

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

  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算法具有简单、分割速度快等优点,对噪音和目标大小十分 敏感,对于信噪比较高的图像具有很好的分割效果,被认为阈值自动选取的最优方法之一。

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:10
一地鸡毛 2015-03-02
顶一个!!楼主辛苦!!
0   回复
举报
发布
蝙蝠魔 2015-01-27
有点古老
0   回复
举报
发布
XSG 2015-01-20

顶一个!!
0   回复
举报
发布
一地鸡毛 2014-07-25
感谢分享!!帮顶!!
0   回复
举报
发布
原来你也在这里 2014-07-24
顶一个!!
0   回复
举报
发布
easy 2014-04-22
谢谢分享!!顶起!!
0   回复
举报
发布
凤舞九天 2014-04-21
谢谢分享!!
0   回复
举报
发布
yiyi 2014-04-21
顶了,谢谢分享
0   回复
举报
发布
Alax 2014-03-28
顶起啊,谢谢分享,顶了!
0   回复
举报
发布
apple 2014-01-13
路过,顶一个
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子