1. 引言
随着社会经济的发展和生活水平的提高,人们在追求更加舒适生活的同时,也消耗着更多的资源,而世界范围内能源供应紧张状况日益加剧,能源将成为制约各国经济的主要因素。太阳能作为清洁的可再生能源,越来越受到人们的重视。太阳能光伏发电研究非常活跃,而提高光电转换效率成为研究的热点,太阳光的自动追踪方法关系到光电板采光是否充分,与固定式太阳能光电转换装置相比太阳能光电板平面向光控制器调整光电板使光电板充分受光有利于最大限度的利用太阳能。因此,太阳能光电板平面向光控制器也是值得研究的一项重要课题。
目前,人们在自动跟踪方面也提出了很多研究方案,多数方案根据不同时间太阳方位不同;不同纬度太阳高度角不同;同一纬度太阳高度角随季节有规律的变化,以纬度位置、时间、季节来确定太阳的实时具体方位,调整光电板的面向,实现对太阳能光电池板对太阳的实时追踪。然而此法虽能实现对太阳的实时追踪,但以纬度位置、时间、季节来确定太阳的实时具体方位,要想实现精准的实时追踪,就需要实地测量电池板安装位置的纬度,安装精准的计时系统。实测的纬度位置和校对后的准确时间需输入控制系统参与运算,太阳方位角高度角随纬度、季节、时间的规律性变化量化为具体的表达式,算法复杂,这就造成了程序编写的麻烦,安装的不便;在阴雨天此装置仍然随时间转动造成不必要的耗能,日积月累浪费极大;且不必要的转动造成的磨损又减少了装置的使用寿命;纬度的精确度,计时的精确性都严重影响着实时追踪效果。
鉴于上述方案的缺点,本方案摒弃了以季节、时间、纬度位置等相关变量对太阳位置的测算从而调整电池板向光的调控方式,只将太阳光线与电池板的相对位置关系作为唯一相关变量,利用光敏二极管组成的感光阵列对光源位置的自动识别与判断,并自动响应调整转向,实现对太阳的实时追踪,使光电板与光线呈垂直方向,达到光电板充分受光的目的。因而,此向光控制器中光检测模块的光感阵列利用光敏二极管的开关特性和独立键盘接入方式与单片机相连作为输入控制信号,不用进行A/D转换,简化了电路,降低了成本,其应用不受纬度位置、季节变化和安装地点影响,无需计时系统以及相关的纬度调整、时间调节键盘,简化了系统,节省了成本,提高了可靠性;另外,可在阴雨天保持静止减少能耗和磨损,增长使用寿命。
2. 平面向光控制系统组
2.1. 系统构成原理
面向小型太阳能电池板使用的平面向光控制器主要由光感测单元(光敏二极管组成的感光阵列)、信号处理单元(单片机)、驱动电路、执行单元(步进电机)等四部分组成,系统结构如图1所示(系统整体采用5 V直流电源供电)。
各部分结构功能如下:

Figure 1. Block diagram of planar light controller system
图1. 平面向光控制器系统框图
光感测单元:位于太阳能光电板上的光敏二极管组成的感光阵列,进行光信号采集,利用光敏二极管的开关特性,按照独立键盘接入方式与单片机相连实现光信号到电信号的转换,并传送到单片机,完成信号采集。
电机控制电路:以51系列单片机为控制核心,进行控制单元的软硬件设计,处理传送来的采集信号形成控制信号,将控制信号输出接入步进电机专用驱动芯片,在控制指令作用下实现步进电机带动光电板平面进行方向调整。
驱动电路:选用ULN2003专用电机驱动芯片,把单片机输出的控制信号放大,以驱动步进电机。
执行单元:采用两个双向步进电机,在控制信号作用下携带太阳能电池板转动来调整二维平面的朝向。
整个系统采用5 V光电池供电。
2.2. 平面向光控制器实现电路
控制器电路核心是一个单片机最小系统 [1] ,如图2。
其中,D1~D4是光敏开关管,根据受光与否输出0、1信号,分别与单片机P0.0~P0.3口相连,用于判断是否受光平衡;P1.0~P1.2、P1.0~P1.2 作为输出控制信号,分别接至垂直和水平两个方向转动电机的驱动电路上,根据光感测单元检测到的信号、通过程序转换输出控制信号,决定那个电机转动、转动方向、转动角度的大小,从而使D1~D4平衡受光,完成太阳能电池板面向太阳光的调整动作。
3. 向光机理和软件实现
3.1. 采光方案
采光方案如图3,四只光敏二极管呈正方形排列与四个角,然后用两块互相垂直的挡板将正方形等分成四个区域,使四只二极管处于不同区域,形成感光阵列对太阳光线与光电板的相对位置进行检测形成光检测信号 [2] ,完成信号采集。
光从任意方向射来由于挡板的存在,只要不是垂直射入都只能照射到四只二极管的一只或两只,给四只二极管分别按顺时针编号1、2、3、4。当2或3受到光照导通时电机1开始工作使电池板随之转动使得1或4单独受到光导通时电机1停止工作,继而电机2开始工作使得1、2、3、4全受光导通(即光线与电池板垂直)使电机1、2都停止工作。
光线传感器安放在太阳能电池板上,感受四个方位的光线信号,根据光敏二极管的通断来控制步进电机1、2的正转反转停止以达到光线垂直入射太阳能光电池板。
3.2. 向光机理
光线传感器安放在太阳能电池板上,感受四个方位的光线信号,根据受光与否输出0、1信号来控制步进电机1、2的正转反转停止以达到光线垂直入射太阳能光电池板。由于正交遮挡板的存在只要不是垂

Figure 2. Plane to light controller hardware connection diagram
图2. 平面向光控制器硬件连接图

Figure 3. Schematic diagram of lighting program
图3. 采光方案示意图
直射入就只能照射到四只二极管的一只或两只,给四只二极管分别按顺时针编号1、2、3、4。当2或3受到光照导通时电机1开始工作使电池板随之转动使得1或4单独受到光导通时电机1停止工作,继而电机2开始工作使得1、2、3、4全受光导通(即光线与电池板垂直)使电机1、2都停止工作。
3.3. 软件实现
太阳能光电板平面向光控制的程序流程设计时,在主函数之前应先确定号步进电机的步序、管脚定义、电机正反转子函数、可调节延时时长的延时函数,太阳能光电板平面向光控制器向光校准流程如图4。
平面向光控制器软件设计部分程序 [3] 如下:
电机正反转步序
uchar code fz[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};
uchar code zz[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};
延时子函数
void delaynms(uint aa)
{
uchar bb;
while(aa--)
{
for(bb=0;bb<115;bb++)
{
}
}
}
电机1电机2正反转控制函数
void motor1_zz (void)
{ uchar i,j;
for(j=0;j<8;j++)
{
for(i=0;i<8;i++)
{
P1=zz[i];
delaynms(10);
if(k0==1,k3==0,k2==0,k1==0)
break;}
if(k0==1,k3==0,k2==0,k1==0)
break;
}
}
void motor1_fz(void)
{
uchar i,j;
for(j=0;j<8;j++)
{
for(i=0;i<8;i++)
{
P1=fz[i];
delaynms(10);
if(k0==1,k3==0,k2==0,k1==0)
break;
}if(k0==1,k3==0,k2==0,k1==0)
break;
} }
void motor2_zz (void)
{ uchar i,j;
for(j=0;j<8;j++)
{
for(i=0;i<8;i++)
{
P2=zz[i];
delaynms(10);
if(k0==1,k2==1,k3==1,k1==1)
break ;}
if(k0==1,k2==1,k3==1,k1==1)
break; } }
void motor2_fz(void)
{
uchar i,j;
for(j=0;j<8;j++)
{
for(i=0;i<8;i++)
{
P2=fz[i];
delaynms(10);
if(k0==1,k2==1,k3==1,k1==1)
break;}
if(k0==1,k2==1,k3==1,k1==1)
break; } }
4. 结果
经过实验验证上述软硬件设计方案切实可行,达到了太阳能电池板对太阳的实时跟踪。利用光敏二极管的感光特性进行太阳光的检测,并将检测到信号送入单片机处理后形成控制信号通过电机驱动模块控制两个不同方向的电机转动以实现对太阳的实时追踪。此装置中光检测模块利用光敏二极管的开关特性和独立键盘接入方式与单片机相连作为输入控制信号,不用进行A/D转换,无需模数转换等元件,节省了成本。在使用上此向光控制器不受纬度位置影响,不受季节、纬度变化影响,适用于任意地区,安装方便。且在夜间和阴天保持不动,可降低能耗、延长使用寿命。因此,此向光控制器灵敏度高、对天气的适应性好,有望在现实生活得到应用。
基金项目
国家级大学生创新创业训练计划项目(201510719272);陕西省大学生创新创业训练计划项目(1428)。