摘要:针对碟式斯特林太阳能热发电中的太阳跟踪问题,提出了基于GPS的开环程序粗跟踪和四象限硅光电池跟踪校准的闭环跟踪解决方法。以ATmega128单片机为主控制器,根据GPS模块和反馈装置获得的信息,控制碟转向机构的水平、俯仰两个方向运动,实现对太阳位置的跟踪,形成了一个精度高、受环境影响较小的闭环控制系统,能够保证碟式聚光器的光斑始终落在斯特林发动机的接收器上。
关键词:太阳自动跟踪;ATmega128;混合控制;碟式斯特林
引言
碟式斯特林太阳能热发电装置是一种通过聚焦太阳光产生高温,进而推动斯特林发动机(热气机)输出电能的装置。图1为典型碟式斯特林太阳能热发电装置系统原理图。它通过碟式聚光器聚焦太阳光,使之进入太阳光接收器,并转化为热能推动发电机运转和输出电能。装置中设计有转向机构,可保证装置通过调节聚光器的仰角及水平角度实现追踪太阳的目的,以提高太阳能利用率。为了使转向机构实现其功能并最大限度地利用太阳能,需要设计一个能够实时对太阳进行大范围跟踪的太阳跟踪系统,使太阳光始终聚集在斯特林发动机的太阳光接收器上。
本文采用混合控制方式,结合了开环跟踪与闭环控制的优点,以ATmega128单片机为主控制器,设计了一款碟式斯特林太阳跟踪控制系统,实现大范围的各种天气状况下的太阳跟踪,使碟式聚光器聚焦光斑都落在斯特林发动机的接收器上,提高系统的安全性和发电效率。
1 系统原理
通过GPS接收器,得到碟式斯特林太阳能热发电装置所在地的经度、纬度以及UTC时间;通过开环的程序跟踪,计算出太阳高度角和方位角,确定太阳当前的位置;输出PWM信号,驱动转向机构的水平与俯仰步进电机,使碟式聚光器达到预期位置;采用四象限硅光电池对碟式
聚光器做自动定位和误差校正,进行闭环控制,微调聚光碟的位置,确保太阳光通过碟式聚光器聚焦都落在斯特林发动机的接收器上,以保证发动机的效率最大化。系统组成原理框图如图2所示。
2 系统硬件
2.1 微控制器ATrnega128
ATmega128单片机是基于AVR RISC结构8位低功耗CMOS微处理器,为AVR单片机系列中的高性能单片机。ATmega128单片机内部带有128 KB的在系统可编程Flash程序存储器、4 KB的EEPROM、4 KB的SRAM、53个通用I/O端口线、32个通用工作寄存器、8通道10位ADC、53个可编程I/O端口线、4个灵活的具有比较模式和PWM功能的定时器/计数器(T/C),能够很方便地控制步进电机。
2.2 天气模块
天气模块主要用于天气状态的检测,如光强、风速和阴雨等。当风速达到或大于设定值时,ATmega128单片机发出指令,通过接口电路驱动转向机构,使碟式聚光器保持安全位置状态,从而保证系统的安全。当系统采集的实时环境光强和实时时间都小于设定的最小经济发电光强时,碟式斯特林太阳能热发电装置做出相应处理,等待光强达到设定值时再次运行。
2.3 GPS接收器
GPS接收器采用Motorola公司的M12模块,M12模块接收卫星信号,通过串口输出信息。ATmega128单片机解码出当地的经度、纬度以及UTC时间,根据天文公式,计算出当前太阳高度角和方位角。由于ATmega128单片机和M12模块的I/O操作电压范围不同,所以两者的串口之间需通过光电耦合器进行电平转换才能保持稳定通信,其电路如图3所示。
2.4 碟转向机构
在时刻t,太阳的高度角h和太阳的方位角α分别为:
其中,φ为当前碟安装地点的地理纬度,δ为太阳的赤纬角,ω为太阳时角。
碟转向机构主要由水平方向调整电机、俯仰方向调整电机和减速箱组成。当ATmega128单片机根据M12模块得到当前位置的经纬度和时间,根据公式(1)、(2)计算出当前的太阳高度角增量和方位角增量,输出一定数量的PWM信号,驱动电机在水平和俯仰两个方向上进行调整,实现对太阳的初步跟踪。
2.5 反馈调整部分
如图4所示,系统采用四象限硅光电池作为太阳跟踪误差校正用传感器。假设太阳光经光学系统在四象限硅光电池上成一圆斑状的光斑且分布均匀,设其中心坐标为(X,Y)。当碟式聚光器对准太阳时,四象限硅光电池的光轴对准太阳,圆斑的中心在光轴上,四个象限的硅光电池接收到相同的光功率,输出相同的电压信号,经过和差运算放大器对信号处理后,输出为零。当碟式聚光器未对准太阳时,即四象限硅光电池的光轴未对准太阳,则太阳光与光轴成一角度θ,光线经光学系统照射到四象限光电池上形成的光斑必然发生偏移(X≠0,Y≠0),则各象限光电池产生的电压不尽相同。和差运算放大器的输出也随之产生相对位移方向上的正负变化,ATmega128单片机根据该变化计算出需要调整的角度,输出PWM信号,使俯仰角电机和方位角电机转动,直到和差运算放大器输出为零,表明系统已经对准太阳。根据以上原理即可对碟式聚光器位置误差进行校正。
2.6 触模屏
触模屏主要用来对碟式斯特林系统进行参数设置或运行控制,并对系统的实时运行状态输出显示,是一个带触摸功能的工业平板电脑。与ATmega128单片机之间通过RS-232进行信息交换。
3 系统软件描述
ATmega128单片机软件开发采用Atmel公司的AVR STUDIO3.53集成开发环境,提供AVR ASSEM-BLER编译器、AVR STUDIO调试功能、AVR PROG串行/并行下载功能、JTAG ICE仿真功能,本设计采用的是JTAG ICE仿真调试。软件设计包括单片机初始化设计、GPS模块接口程序设计、主程序设计和上位机程序设计。
3.1 单片机初始化设计
ATmega128单片机在工作前,需要对其进行初始化,主要设置ATmega128单片机以及外设的工作方式,使其能满足系统工作要求。初始化工作主要有I/O端口初始化、ADC初始化、PWM初始化和串行口初始化等。其中串行口初始化usart0_init()的程序如下:
3.2 GPS模块接口程序设计
系统只需要M12模块提供经纬度,单片机与M12的接口程序流程如图5所示。ATmega128首先请求M12模块输出定位数据(向M12模块发出指令“@@EqmC”),然后等待M12模块回送数据。当M12模块回送数据后,ATmega128首先做出判断,确认其收到的是否为预期的定位信息,然后将定位信息(经纬度数据)截取下来,最后将串口的接收缓冲区清空,以免下次接收信息时出错。
3.3 主程序设计
主程序main()函数是一个无限循环程序,它能实现运行后根据太阳角度调整碟式斯特林系统的位置,根据反馈信号进行微调,产生脉冲信号驱动电机转动,实现太阳跟踪。当监测到有中断产生时,主程序停止运行,中断程序设计包括天气危害检测处理和步进电机驱动芯片异常处理,中断程序完成后再回到主程序。主程序流程如图6所示。
3.4 上位机程序设计
上位机程序设计采用Visual C++6.0,利用ActiveX控件简化程序的设计难度。ActiveX控件包括一系列的属性、方法和事件,使用ActiveX控件的应用程序和ActiveX控件之间的工作方式是客户/服务器方式,即应用程序通过ActiveX控件提供的接口来访问ActiveX控件。上位机串口的打开、串口参数的设置以及初始化变量的操作可以通过函数CTestDld::OnInitDialog()实现,代码如下:
4 应用结果
所研制的自动跟踪控制系统在碟式斯特林太阳能热发电装置上投入了应用,在实际应用中,通过GPS获得太阳赤经纬度和时角,计算出太阳方位角和高度角,输出一定的脉冲数,驱动伺服电机转动,控制碟式聚光器跟踪太阳。根据传感器反馈信息,把太阳光光斑准确聚集在斯特林发动机的接收器上,碟式聚光器的光斑边沿与斯特林发动机的接收器边沿几乎完全重叠。随着太阳方位角的变化,该光斑能够一直保持在斯特林发动机的接收器内,光斑的偏离误差在1cm以内,满足了碟式斯特林太阳能热发电的工作需要;当天气变化时,系统能够做出相应处理,确保整个发电装置的安全。
结语
开环的程序跟踪虽然在任何天气下都可以正常工作,但是在跟踪过程中,产生的累积误差自身并不能消除。闭环控制能够通过反馈来消除误差,但作为反馈信号源的感光元件,在稍长时间段内接收不到太阳光,会导致跟踪系统的失效。本文设计的基于GPS的开环程序粗跟踪和四象限硅光电池跟踪校准的闭环跟踪太阳方式,既弥补了开环跟踪控制的缺点,又克服了光电跟踪方式受环境影响较大的缺点,最终形成了一个精度较高、受环境影响较小的闭环控制系统。实际应用结果证明,效果良好,具有一定的设计参考价值。