基于51单片机的太阳自动跟踪系统的研究
0 引言
随着社会经济的快速发展,人类所面临的能源问题越来越突出,太阳能作为一种清洁能源,无疑受到各国的普遍重视。在相同条件下,光照强度越大,太阳能电池输出功率越大。因而增大太阳能电池受光面的光照强度,就可增大太阳能电池输出功率。除了提高太阳光电池本身的转换效应和提高蓄电池充放电效应外,对太阳的自动跟踪是太阳光伏发电系统中另一种提高转换效率的有效手段。因此,在太阳能的利用过程中,实施太阳跟踪是很有必要的。
对太阳进行跟踪的方法很多,但不外乎为采用确定太阳位置所用的两种坐标系统,即赤道坐标系和地平坐标系,并分为双轴跟踪和单轴跟踪。单轴跟踪已在很多文献作了介绍,本文要讨论的为双轴跟踪。为了叙述方便,在以后的陈述中将两种坐标系下的整个系统统称为太阳能板。
本文采用在地平坐标系下的太阳跟踪及程序跟踪和传感器跟踪相结合的控制方式,即采用程序控制,利用光学传感器对太阳能板做自动定位和误差校正,而通过单片机控制步进电机来实现。单片机利用时钟提供的日期和时间,计算出太阳能板的预期位置,与编码器提供的当前位置比较,输出控制信号。驱动装置根据单片机提供的信号控制俯仰角电机和方位角电机使太阳能板运行至太阳垂直照射点,从而进行跟踪。传感器在太阳能板位置出现误差时进行校正。
1 系统组成
系统由时钟、单片机、驱动装置、编码器、太阳能板和传感器6部分组成。系统的核心部件是传感器和单片机。太阳跟踪系统原理见图1。
1.1 智能单元与双坐标步进电机控制系统
本文的控制系统选用了AT89C51单片机作为智能单元。AT89C51是一种低功耗、低电压、高性能的8位单片机。片内带有一个4 KB的FLASH可编程、可擦除只读存储器。文中所述系统为地平坐标系的双轴自动跟踪控制系统,因此采用双坐标步进电机控制,双坐标步进电机控制就是在x轴方向控制1台步进电机,在y轴方向控制1台步进电机。这2台步进电机同时驱动同一个对象,使对象在一个平面上以任意曲线运动。二维步进电机控制系统原理如图2所示。
AT89C51单片机通过P2口输出控制脉冲信号,P2.0~P2.3为一路,P2.4~P2.7为一路,分两路各控制1台步进电机。P3.2~P3.5设置为行程保护开关,作二维步进电机正反向最大行程保护。功率放大电路中采用74LS05将单片机P2口脉冲信号进行放大,经9014控制光电耦合器,隔离后,由功率管DK63驱动步进电机的各相绕组,图中L11,L12即为步进电机的各相线圈。 1.2 光电传感器
本控制系统中所采用光电传感器为6块相同的硅光电池,其中4块用来制作四象限硅光电池,进行误差校正。2块作为判断光照强弱的信号输出传感器。
太阳跟踪传感器是本系统的关键部件。为了保证太阳能板的受光面始终与太阳光线保持垂直而不发生偏离,采用特制的四象限硅光电池作为太阳跟踪误差校正用传感器。
如图3所示为四象限跟踪太阳传感器原理图。当光轴对准太阳时,光斑的中心在光轴上。四个象限接收到相同的光功率,输出相同的电压信号。当光轴未对准太阳时即太阳光与光轴成一角度θ时,光线经光学系统照射到四象限光电池上形成的光斑必然发生偏移即(x≠O,y≠O)。由于各象限的光功率与各象限的光斑面积成正比,每个象限被光斑覆盖的面积不同,因此各象限光电池产生的电压不尽相同。根据上述将Vx,Vy进行模数转换,然后送入单片机。单片机通过驱动设备可控制俯仰角电机和方位角电机转动,直到Vx=Vy=O,即x=O,y=O,则表明系统光轴已经对准太阳,根据以上原理即可对太阳能板位置误差进行校正。
判断光强信号传感器由两块光电池组成,一块接受太阳辐射,另外一块受光面背光。如图4所示,前一块光电池的作用是:判断太阳直射辐射的强度,在直射辐射较弱时不启动跟踪程序,从而避免多云天气的盲目跟踪。后一块光电池的作用是当长时间阴天或多云转晴后太阳重新出现时,判断太阳直射辐射的强度,来决定是否启动跟踪程序。
1.3 采样保持与A/D转换电路
本系统选用的A/D转换为MAXIM公司生产的MAXl86转换器,是串行输出CMOS芯片。其转换速度快,精度高,耗电省,接线简单,适用于各种仪器仪表和自动控制系统中的数据采集。MAXl86转换器自带有采样保持器,因而系统不再设计采样保持电路。而且与AT89C51为串行连接,接口电路如图5所示。
1.4 时钟芯片DSl302
DSl302与AT89C51单片机接口采用3线(RST,SCLK和I/O)连接,AT89C51为主芯片负责控制2芯片之间的数据通讯。RST为数据通讯的使能信号,为O则允许通讯;为1则禁止通讯。SCLK为数据通讯的位同步脉冲信号,I/O是双向串行数据传输线。RST,SCLK都是单片机发出的控制信号,如图6所示。
- 关于RTX51 TINY的分析与探讨(05-30)
- 浅析8051模块化编程技巧(05-28)
- 基于DSP和单片机通信的液晶显示设计方案(07-20)
- 锁相环控制及初始化简析(08-27)
- 基于MSP430自动胀管控制器的研究(09-07)
- 嵌入式C实现延时程序的不同变量的区别(03-01)