现在的位置: 首页ARM单片机介绍正文

基于ARM嵌入式图像处理平台的太阳跟踪系统

0 引言
  随着社会的发展和进步,环保节能已经成为人类可持续发展的必要条件。目前,再生能源的开发和利用越来越受到人们的关注。太阳能由于其普遍、无害、无限、长久等特点,成为最绿色、最理想、最可靠的替代能源。但太阳能同时存在分散,不稳定,效率低等特点,太阳能光伏系统为解决这一问题提供了条件。
  就目前的太阳能光伏系统而言,如何最大限度提高太阳能的转换率,仍是国内外的研究热点。有研究表明,和始终朝南的固定表面相比,与太阳辐射方向始终保持垂直的表面对太阳能的利用率提高约33%。太阳跟踪装置可以保证太阳辐射方向始终垂直于太阳能电池板平面,使接收到的太阳辐射大大增加,提高了太阳能的接受率与利用率,因而得到广泛的应用。
  太阳跟踪装置的分类方法有很多,按照跟踪方法,主要可分为视日运动跟踪和光电跟踪,视日运动跟踪又可分为单轴跟踪和双轴跟踪。光电跟踪装置有较高灵敏度,结构简单,能通过反馈消除累积误差,具有较大优势,但受环境影响很大。其关键部件是光电传感器,常用的是光敏电阻。由于光敏电阻安装位置不连续和环境光散射等因素的影响,系统不能连续跟踪太阳,精度有限。视日运动跟踪能够全天候实时跟踪,但是存在累积误差。其中,单轴跟踪装置结构简单,但跟踪误差大;双轴跟踪装置算法复杂,跟踪难度较大,但跟踪精度较高。
  本文用基于32位ARM解密嵌入式微控制器S3C2440来构建太阳跟踪系统,采用CMOS图像传感器来感知太阳方位,并通过微控制器计算获取太阳跟踪误差,实现对太阳的高精度跟踪。加入视日运动规律,在跟踪目标丢失时,对系统进行重新定位。同时,该系统的结构简单轻便,功耗低,环境适应能力强,能应用于各种太阳能设备。

1 硬件设计
  1.1 系统硬件结构
    系统以ARM微控制器作为主控制器,采用CMOS图像传感器采集图像,并利用双轴转台来支撑太阳能电池板。其中双轴转台集成了电机驱动与控制部分,通过串口与主控制器进行通信。
    CMOS图像传感器与太阳能电池板处在同一平面,并固连在双轴转台上;ARM处理器与双轴转台的电机驱动部分采用串口通信方式;系统的供电均由蓄电池支持(包括ARM控制板和转台),因而形成了一个独立系统。系统的基本工作原理是:根据视日运动规律或CMOS图像传感器采集的天空图像,利用ARM处理器求取系统跟踪控制参数,并通过串口来控制双轴转台的转动。

  1.2 硬件介绍
    (1) ARM微控制器。从实用角度考虑,太阳跟踪系统的低功耗设计显得尤为重要,ARM微处理器在保证高性能的前提下能够尽量降低功耗。相对于PC机,ARM微处理器占用空间较小,质量轻,可靠性强,硬件资源丰富,在简化系统结构的同时为系统功能扩展提供了可能。系统选用32位ARM嵌入式微控制器S3C2440来构建控制平台。运用ARM微控制器构建的嵌入式图像处理平台大大提高了图像的处理速度,同时有效降低了系统成本。图像处理系统还具有拆装方便,配置灵活等优点,安全性得到大大提高。
    (2) 双轴转台。系统采用集成式双轴转台,工作电压为24 V,可利用蓄电池供电。
    (3) CMOS图像传感器。图像传感器产品主要有CCD,CMOS,CIS三种。其中CMOS图像传感器集成度高,价格低廉,而且可以实现数字化输出,软件可编程控制,提高了系统设计的灵活性,同时也具有较高的抗干扰性和稳定性。系统采用的图像传感器为OmniVision公司的OV 9650型COMS摄像头,其功耗为30μW,阵列大小为1 300×1 028 pixels,焦距为4.85 mm,像素大小为3.18μm×3.18μm,支持软件可编程控制,输出图像格式包括YUV,RGB等。

2 软件设计
  2.1 跟踪控制策略
    (1)系统可设置2种工作模式,早晨6:00唤醒跟踪控制系统,系统启动跟踪控制,进入跟踪模式;下午18:00休眠系统,系统关闭跟踪控制,进入待机模式。同时系统采用粗跟踪和精跟踪2种方式,粗跟踪采用视日运动跟踪方法,精跟踪采用基于计算机视觉的跟踪方法。粗跟踪为精跟踪提供初始工作条件,精跟踪保证系统的跟踪精度。
    (2)唤醒跟踪控制系统时,采用视日运动开环计算方法进行粗跟踪。粗跟踪的基本过程是:根据太阳运行的天文规律计算,利用系统时间和给定的当地经纬度计算太阳高度角和太阳方位角,并根据计算结果来驱动并控制步进电机,从而调整太阳能电池板的角位置。粗跟踪的目的是为了让太阳进入图像传感器的视野范围,主要用于首次定位和目标丢失后的重新定位。
    (3)系统工作在跟踪模式时,周期性采集图像,采用基于计算机视觉的闭环校正方法进行精跟踪。精跟踪的基本过程是:通过对采集图像进行处理,获取太阳角度偏差量。由太阳角度偏差量可得到转台应转过的角度,从而使太阳能电池板能正对太阳。精跟踪的目的是为了保证系统跟踪精度。
    (4)系统工作在跟踪模式时,由于阴天、雨天或其他原因,太阳光线很弱或基本看不见,导致CMOS图像传感器无法捕捉到太阳。此时,太阳能电池板的工作效率很低,为了减小跟踪系统能耗,不进行电机动作并保持当前状态。同时设置累计标志S,它表示图像传感器在连续S个采样周期内没有捕捉到太阳。当S累计到设定值N时,采用视日运动开环计算方法重新粗定位,并重置累计标志S。这样在降低系统能耗的同时可以提高系统可靠性。

  2.2 基于计算机视觉的跟踪方法
    基于计算机视觉的跟踪方法,其基本过程如下:通过对采集图像进行处理,得到太阳位置偏差量。如果偏差在预设阈值范围内,则保持当前状态;如果偏差超出预设阈值F1的范围,则根据偏差的方向和大小调整转台,使得通过图像处理得到的偏差在预设阈值F2的范围内。其中阈值F1的范围比阈值F2的范围大,这样可以减小电机动作次数,降低能耗。
      (1)图像处理方法。图像传感器得到图像后,首先进行图像的灰度化。使用屏蔽字和移位操作来得到R,G,B分量,再进行比例转换,得到灰度图像。设置阈值,将图像二值化,得到的图像中的光斑即为太阳。找到太阳位置,计算光斑中心与图像中心的偏差值,将该偏差值换算为太阳方位角和高度角的实际偏差值。
      (2)偏差角计算与转台控制。记CMOS图像传感器的焦距为f,像素大小为kx×ky。假设采集图像上太阳位置偏离图像中心的偏差为px× py,则可以计算太阳偏差角如下:
    太阳方位偏差角:△α=arctan(px×kx/f);
    太阳高度偏差角:△β=arctan(py×ky/f)。
    根据太阳方位偏差角和高度偏差角,通过串口控制转台转动,使太阳能电池板正对太阳。其中转台x轴应转过的角度为太阳方位偏差角,转台y轴应转过的角度为太阳高度偏差角。

  2.3 嵌入式处理平台的实现
    系统采用S3C2440作为主控制器。利用Linux内核代码,针对本处理器和本系统特点,对内核进行相应的配置和裁剪,编译生成嵌入式内核,并选用yaffs作为根文件系统,将内核映像文件和根文件系统烧写到微控制器中,并编写相应驱动程序。
    程序在主机上设计完成后,需进行交叉编译,然后下载到处理器运行。
    首先在主机Linux系统下搭建交叉编译环境,这里采用arm-linux-gcc-4.3.2 with EABI版本的交叉编译器,并配置主机和目标板的NFS和FTP网络,以实现主机到目标板的文件下载和主机对微控制器的控制。程序编写完成后,进行交叉编译,生成可执行文件,下载到处理器运行即可。

3 结语
  本文中设计的太阳跟踪系统采用视日运动跟踪方法和基于计算机视觉的跟踪方法相结合的方式,一方面采用视日运动跟踪方法进行初始粗定位和系统丢失目标时的重新粗定位;另一方面采用基于计算机视觉的跟踪方法进行精确跟踪。基于计算机视觉的跟踪方法采用CMOS图像传感器采集太阳光斑,利用ARM微控制器处理采集到的图像,实现对太阳的实时跟踪。实验结果表明,该系统可以连续跟踪太阳的角度变化,能够达到较高的跟踪精度;当跟踪目标丢失时,能够利用视日运动跟踪方法对系统重新定位,具有较好的环境适应能力。该系统具有较低的日均功耗、较高的跟踪精度和可靠性,结构简单轻便,可应用于各种太阳能光伏系统。

在线咨询