基于 FPGA XC3S1500开发板的太阳能自动跟踪系统
首先系统根据计时模块计算出当前的时间,包括当日在一年中的日期序数dn(单位:日)及当前的时刻T(单位:h),然后再根据日出日落时间计算模块确定当日的日出和日落时间,以便判断当时时间是否在日出后日落前。在程序计算过程中,利用太阳高度角和方位角计算模块计算当前太阳的位置,并与上次计算的太阳的位置作差,分别计算出当前跟踪装置高度和方位需要调整的角度及其旋转方向,并随后进入步进电机脉冲驱动模块。首先调整高度角,判断高度角差值的正负,驱动高度方向的步进电机旋转。高度角步进电机停止旋转后调整方位角。判断方位角正负,驱动方位角步进电机按照偏差旋转相应的角度。一次跟踪后,在一定的时间间隔T后,系统再次提取时间计算、判断、旋转电机。当日落时间到时,控制步进电机旋转至次日太阳升起的位置并恢复初始状态。由此本系统就实现了对太阳的全天候、实时跟踪。
太阳跟踪系统模块图如图4所示。这里对基于FPGA的太阳实时跟踪系统建立的计时模块、日出日落时间计算模块、高度角方位角计算模块、步进电机脉冲产生模块的设计及结果进行详细的介绍。

3.1 计时模块
视日运动跟踪方法需要时间和地理纬度信息,一般的太阳跟踪系统的位置固定,可以自行设定其地理纬度值。对于时间建立了计时模块,通过对时钟进行多级分频输出视日运动跟踪算法所需的间信息。
3.2 太阳日出日落时间计算模块
此模块计算每天太阳的日出日落时间,据此保证在太阳的照射时间范围内,太阳跟踪系统正常运行,在非照射时间,太阳跟踪系统处于休眠状态。太阳的日出日落时间即太阳的高度角为零的时间。由高度角计算公式(8)和时角计算公式(9)推出太阳的日出日落时间公式(10)。

太阳日出日落时间计算模块仿真波形如图5所示,输出为10 b Q4格式,dn为时间序号,其中richu代表日出时刻,riluo代表日落时刻。对太阳日出日落模块输出结果分析如表1所示,dn为仿真随机选取的日期,太阳日出日落时间只与dn有关。对该模块输出的10 b Q4格式的时间计算其实际的代表值,并与理论计算值做比较,经计算其输出时间误差很小,该模块能够准确计算出日出日落时间。

评论