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

时间:2010-08-06来源:网络


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所示,上位机控制平台具有实现复位,太阳位置的跟踪、手动校准。其中“设置”按钮,可进行波特率、调整时间间隔等的设置。

3 实验数据分析
实验在苏州大学现代光学所内进行,数据观察时间为12月下旬至1月上旬。因数据量大,表1只列出2010年1月7日记录的部分数据。具体测试方法如下:

1 2 3

关键词: 跟踪 控制器 设计 实现 自动 太阳 COMS 图像 传感器 基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版