引言
太阳能是资源丰富、无污染的能源替代品,怎样提高对其的利用率逐渐成为各国的研究焦点。太阳能的利用存在以下问题:首先,太阳能虽然资源丰富,但能量分散,集中在某点的能量较少,同时太阳能的方向性决定了较长时间内不可能在固定方向一直获取较大的能量;第二,太阳能受环境条件的制约,只有在白天太阳光线较好的情况下,才能获得稳定的太阳能;第三,太阳能电池板的转换效率不高,目前世界上太阳能电池板的转换效率最高也只有30%,而国内使用的转换效率大都在20%左右。
本课题主要针对太阳能利用率低这一问题,利用太阳定位算法以及光敏电阻传感器反馈法, 并通过Fusion系列单片机模数混合的FPGA协调控制电机,驱动太阳能
电池板实时追日,以提高太阳能的利用率。后续通过FPGA的PWM模块对蓄电池进行智能充电和电源管理,最后在开发板的LCD单元中显示天气和电源状态信息,并同时通过串口及时反馈相关信息到PC机上。
1 系统设计
1.1 系统整体设计
本系统主要由中央处理单元、智能采光、电源管理和上位机软件4个部分组成。系统主要实现了太阳能利用率的提高,太阳能的转换和存储,UPS功能。本设计还提供了对系统的检测和管理。
如图1所示,系统包括控制处理单元、电源管理单元、供电和输电单元(包括太阳能电池板、蓄电池、市电、电能输出接口)、接口单元、LCD显示单元、按键、指示和报警单元、步进电机驱动单元和采光单元。利用FPGA—AFS600作为控制处理单元,主要通过Verilog HDL硬件逻辑和core51软核实现数据采集、处理、电机的驱动控制以及电源管理单元的控制。 采光单元和步进电机驱动单元主要实现采集光强数据以及控制机械传动改变太阳能电池板的方位的功能。电源管理单元与供电和输电单元实现蓄电池充/供电切换、市电供电和蓄电池供电切换、太阳能充/供电切换、电能变换输出。
图1 系统结构框图
1.2 智能采光的设计
系统提供两种方式对太阳方位进行跟踪:光敏电阻阵列自适应控制算法和定位跟踪算法。其中以光敏电阻阵列自适应控制算法为核心,以定位跟踪算法为辅助校正。这两种方式有机结合,以增强系统的鲁棒性和抗干扰性,使其能更好地适合各种环境。
1.2.1 光敏电阻阵列
光敏电阻是电阻性传感器,在所受到的光强度发生变化时,其电阻值相应变化,可将光信号转换为电信号。
(1) 阵列布局设计
如图2右侧所示,P1~P8为光敏电阻,分别布置在圆筒内外东、南、西、北四个方位。P1~P4裸露在外,东
图2 太阳光入射模型
西对称的一对(P1,P3)用于粗略检测太阳方位角θA;另一对(P2,P4)用于粗略检测太阳入射角θZ;P5~P8在圆筒内部,东西对称的(P5,P7)用于精确检测太阳方位角θA;另一对(P6,P8)用于精确检测太阳入射角θZ。采光板设置了一个保护圆筒,它可以较大程度屏蔽外界环境的散射光及其他干扰光线,使得外界的干扰光源对跟踪效果的影响降到较低,提高跟踪精度。
(2) 跟踪原理
布置在外部的4个光敏电阻P1~P4能反映出当前天气情况,例如阴天、晴天或者黑夜,从而可以决定是否需要调整太阳能电池板;布置在内部的4个光敏电阻P5~P8用于精细调整电池板的方位。
当太阳光偏离垂直方向一个较小的角度时,由于受环境散射光的影响,外部光敏电阻不会反映出太阳光线的变化;而内部光敏电阻受到了圆筒对环境散射光的屏蔽保护,它们接收的照度会出现差值,即偏离信号。当太阳光偏离了一个较大的角度时(阴雨天,乌云过后或者日夜交替),筒内的光敏电阻可能接收不到太阳光,筒外的光敏电阻就能反映出照度差值。控制单元通过对信号再进行判断和处理,控制太阳光接收装置角度的调整,直到太阳能电池板对准太阳。详细的自适应跟踪流程见2.2节。
(3) 设计参数的选取
粗略认为太阳在24 h内转过360°,本系统设计指标为每半小时跟踪1次,所以跟踪的灵敏度为7.5°,即当太阳角度偏转7.5°(θ=7.5°)的时候,光敏电阻P5被遮挡,而P7能被光线照射。此时采光板就要进行调整,以跟踪太阳的方位。
根据实物的布局要求,设定圆桶的直径D=5 cm,S=0.5 cm。因此,得到内部传感器之间距离为L=(5-2×0.5)=4 cm。上述的参数选定以后,根据H=S/tan(θ),即H=S/tan(2π×7.5/360),把S=0.5 cm代入,最后得到H=3.79 cm。实际中考虑到光线的散射和干扰,选取圆桶高度为6 cm。
1.2.2 定位跟踪算法
因为地球自转一周为24小时,可以粗略认为太阳每小时自东向西偏移15°(360°/24),设时角为w,磁偏角(赤纬角)为,太阳入射角(天顶角)为θZ,太阳方位角为θA, 为当地纬度。经计算得到:
根据公式(1)、(2),考虑到南京经度为e118.77,纬度为n32.0,海拔为50 m以下,再参考大数估计算法和相关的校正参数,在Matlab中编程计算出太阳方位角和高度角。由于此计算复杂庞大,会大量消耗FPGA的资源,不利于在FPGA的51软核下运行。考虑到本系统只针对南京地区,地形上忽略海拔和纬度的变化,时间上忽略时区和分钟的变化,在Keil C中重新精简程序,并把前后算法所得数据以及实际测量数据进行对比描绘曲线,如图3所示。
图3 太阳方位角和高度角计算值与实测值对比曲线
图3为根据2008年2月19号8:25~16:25每隔1小时南京太阳天顶角θZ和方位角θA以及实际测量的相应值而描绘得出。其中左图表示太阳方位角(θA)随时间变化自东向西偏转的轨迹;右图表示太阳高度角(90-θZ)随时间变化的轨迹。通过对比,证明经过Keil C的简化,并未带来明显的轨迹偏差,而且定位算法所得到的轨迹与实际测量轨迹基本吻合。这样便使系统通过自行计算太阳方位来实现追日成为可能。图中曲线还表明对于太阳方位角和高度角,计算值整体比测量值大,这主要是由于大气对太阳光折射以及测量的误差而造成的,在实际调试中可以做出一定的修正,以改善追日效果。
2 系统流程设计与仿真测试
2.1 系统流程设计
图4 主程序流程
本系统采用前后台系统。主程序是一个无限循环,循环中通过调用相应的函数完成相应的操作,而对于与时间关系很强的关键操作通过中断处理完成。主程序软件流程如图4所示。
利用该FPGA的core51核作为控制处理单元的核心,通过所提供的带有模拟功能的AD模块对多路AD采样的数据进行处理和分析;由core51核配置,门驱动核输出,控制电机驱动的脉冲信号,实现对系统采光的机械驱动,从而调整太阳能电池板的方位。由于太阳光的变化是比较缓慢的,所以影响本系统数据采集精度的主要因数是AD自身转换的误差以及瞬时强光干扰。系统通过51核用软件的方法对AD输入的数据进行平滑滤波。
该FPGA还为用户提供了可编程的脉宽调制(PWM)核,即可以通过软件的方式改变输出脉冲的周期和占空比。其中PWM模块提供了PWM_addr、PWM_data输入信号,用于修改PWM波形的周期和占空比。通过core51核的配置,PWM核输出PWM控制信号,实现对蓄电池充电的控制。最后通过LCD实时显示天气和蓄电池状态信息,并通过串口反馈到PC。
2.2 自适应的采光定位流程设计
为了实现的方便,本系统东西方向上对太阳跟踪的详细流程如图5所示(南北方向的跟踪原理是一样的)。系统先通过AD采集到外部4个以及内部东西方向的2个光敏电阻电压,外部4路与所设门限比较,判断当前天气情况。
如果连续3次采样值低于黑夜的门限时,则认为是黑夜,系统将停止工作。如果判为阴天,则系统控制太阳能电池板,让其方位保持不变。如果为晴天,则按照所采到的内部两路光敏电阻电压差值进行判别,当差值大于所设门限时、则认为电池板方
位需要进行调整。调整原则为:若东边电压值大于西边,则电池板向东边转动1.8°;反之,向西边转动1.8°。调整以后再返回到数据采集,重复上述过程。系统对于太阳方位角度的计算,可以作为一种备用和补充校正方案,即当光敏电阻损坏或者向光采光电路出现故障时,所采到的数据会出现异常(例如长时间的为0或者电压过高),可以通过上位机发命令,用定位算法所得结果调整太阳能电池板的方位。
图5 采光定位控制流程
在不同的环境下反复测试并改善遮光效果,得到内电阻采样电压再判别晴天、阴天和黑夜的门限分别为6.1 V、5.8 V和0.1 V(采用6.2 V电源供电);在太阳光偏离一定角度时,内电阻因遮光筒遮光而产生的电压差值在1 V左右;在白天由于突然而来的强光而产生的外部电阻采样电压波动在0.2 V左右。通过改变内电阻采样电压差值门限发现,门限电压过低将使得电机转动过于灵敏,浪费电能;门限电压过高,将导致不能实时追日。最终设门限为0.8 V,达到最佳效果。
2.3 AD的仿真
由于AFS600有16路12位的AD,因此用5位表示通道号,用12位表示对应的数据。在设计AD数据与core51的数据交换中,采用分3字节的传输方式把17位数据分高、中、低3个字节分别传给core51,测试激励与仿真结果,如图6所示。
图6 AD的仿真与测试
av_0为通道1,r_clk为core51的读命令端口,在一次数据有效(DATAVALID产生一个脉冲)分别读取3个字节的数据。先把十六进制的采样数据转换成十进制,除以4 095再乘以8,([D(0x9c4)/4 095]×8),计算得到4.88 V,而实际值为5 V,误差为2.4%。av_1为通道4,同理得到转换结果为2.91 V,实际值为3 V,误差为3%。
2.4 上位机软件
上位机软件共包括两个模块: 显示模块,负责刷新界面上的状态、数据等;通信模块,与MCU进行通信,并且将通信的结果放入上位机内存,调用显示模块刷新界面。
上位机软件通过串口与MCU连接后,若没有传递经纬度时间信息的命令,则每隔3 s上位机向单片机请求1次数据;若有传递经纬度时间信息的命令,则优先发送该命令。任何命令发送给MCU以后,如果1 s内没有收到MCU的回应,则判断已经断开了连接。
结语
本系统的设计和调试虽只是在实验阶段,但基本能实现预定功能,而且所得数据和调试结果将为相关方面的研究提供宝贵经验。目前,仍有需要改进的地方:首先,考虑到阴雨天气系统仍能正常工作,则采光筒的保护需要完善;第二,完善太阳跟踪机械装置的设计,提高装置的精度、稳定性、节能性;第三,本系统只实现了太阳在东西方向的跟踪,在南北方向上的跟踪还需要进一步的完善。
本系统稍加成本便可以较大幅度提升太阳能的转化和利用性能,并且具有良好的扩展性;还可结合具体背景广泛应用到汽车、家居、公共场所和工业现场等用电领域。