汪老师分享 -基于51单片机控制的太阳能光伏双轴自动追光系统设计


🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机控制的太阳能光伏双轴自动追光系统设计

1 系统的硬件设计

1.1 51单片机模块

单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。

图1-1 单片机最小系统

1.2 光电转换、步进电机模块

电路板上安装有4个不同方位的光敏电阻,光敏电阻的电阻值在强度不相同的环境太阳光照射下会不断发生相应的变化,电压同样也会随着光敏电阻值的变化而产生变化。光敏电阻值越大,光敏电阻的外电压越大。通过pcf8591模数转换芯片将模拟信号转换成数字信号。然后单片机通过不同的电压值来判断光敏电阻接收到的不同光照强度,从而控制步进电机转到一个合适的位置。

ULN2803是一个8输入8输出的驱动芯片,这里用的是五线四相步进电机,其实质是单片机控制IO口循环驱动。

U4RL210KAINOVDDAtNIAOUTAFN2VREFATN3AGNDRLOIOK

1-2 光电转换模块电路图

P27I

N[NNNNNN[N

rlTlT1T1rlT1T1T1rTrrrTrTrrrTrrrru-uuuuuuuooooooooGNDVCC—ULN2803GNDVCC卜1817|16|~isr14

疙盈机P35432步进电机

1-3 步进电机模块电路图

1.3 时钟、按键模块

时钟芯片的1脚、4脚是分别是VCC、GND为时钟供电,2、3脚接一个晶振,为时钟提供一个基准频率。SCLK(时钟)、IO(IO数据)、RST(使能复位)三个管脚与单片机进行通信外接一个4.7K的上拉电阻来提高通信的稳定性,还有1个VCC接备用电池,持续为时钟供电,使时钟不同停止。

按键其中一端接的是地,而另一端接的是单片机IO口,又因为单片机IO口默认是高电平,所以当按键被按下的时刻,其实相当于IO口与地进行相连接,IO口电平被强制拉低了,当按键松开时,IO口又变成低电平,所以说只要检测哪个按键接的IO口是低电平,就可以知道明确的哪一个按键是被按下的。

图1-4 时钟模块电路图

图1-5 按键模块电路图

1.4 液晶显示模块

有十六个管脚,其中有8个管脚是数据传输管脚,专门负责与单片机进行数据交互(D0-D7)的工作,还有三个管脚是模块数据命令使能端,也就是控制管脚,它们分别接单片机的P0、P11、P2管脚,有两组VCC、GND,1组是为液晶的背景进行供电,另一组是为液晶整个模块进行供电。VO管脚是对比度调节管脚,经过一个3K电阻进行接地来达到一个比较好的显示状态。LCD1602液晶显示模块

图1-2 液晶显示模块电路图

2 系统的软件设计

2.1系统整体软件设计

本系统设计整体软件程序流程图如下图所示:

图2-1 整体软件流程图

主程序如下: void main(void)

{

TMOD=0x01;//定时器初始化配置

TH0=0xf6;//定时器0赋初值

TL0=0x3b;

EA=1;//打开总中断

//打开定时器0中断//打开定时器0//AD部分初始化cls();//液晶屏初始化ET0=1;

TR0=1;

init();

LCD1602

Init_time_ds1302(16,12,14,16,5,30,3,12);//DS1302 默认时间模式化 16

年12月14日X时X分X秒星期X最后是校准值

Read_alltime_ds1302(Time); //读取 DS1302 中的所有时间数据

Read_dat_ds1302(Time+7,0xC3,4);//读取 DS1302 中的启动停止时间数据

while(1) {

if(state==0)Read_time_ds1302(Time);//如果是系统处于非设置状态则去读取当前时间数据 ShowCode();//液晶显示函数调用

ButtonCode();//按键控制函数调用

〃上光敏电阻读值〃下光敏电阻读值〃左光敏电阻读值〃右光敏电阻读值AD_Down=read_add(0x00); AD_Up=read_add(0x01);

AD_Right=read_add(0x02);

AD_Left=read_add(0x03);

AD_Down==0 | |AD_Up==255| | AD_Up==0 | ||| AD_Left==255 || AD_Left==0)if(AD_Down==255 || AD_Right==255 || AD_Right==0

{

//判断传感器是否错误SYS_ERROR=1;

}else

{

SYS_ERROR=0;

}

//调用自动控制函数ProcCode();

}

}

自动模式流程图:

自动模式下,单片机通过采光板上的四个光敏电阻,来检测采光板上下左右四个方向的光强度值,然后控制步进电机工作,使采光板正面移动到与光强度值最大的一方垂直。

控制部分程序如下:

voidinit_1()interrupt1//定时器0中断服务程序每2.5ms中断一次

{

TH0=0xf6;

TL0=0x3b;//重新赋初值

if(Up_CB)//步进电机转动控制程序部分〃上转转动标志位触发

{

P2=P2&0xf0 |FirstSet_FWD [loop];〃上转动控制

}elseif(Down_CB)〃下转转动标志位触发

{ P2=P2&0xf0|FirstSet_REV[loop];〃下转动控制

}else {

P2=P2&0xf0;〃停止转动

if(Left_CB)//左转转动标志位触发

{

P2=P2&0x0f |Secondset_FWD[loop];//左转动控制

}elseif(Right_CB)//右转转动标志位触发

{

P2=P2&0x0f |Secondset_REV[loop];//右转动控制

}else

{

P2=P2&0x0f;〃停止转动

}

loop=(loop+1)%8;//循环变量自加

if(SYS_ERROR==1)〃如果传感器错误

{

blink_ms++;

if(blink_ms>39)//如果传感器连续错误超过100ms系统错误错误指示

{

blink_ms=0;

led_1=!led_1;

led_2=led_1;

}

}

ms++;

if(ms>200)〃以1S的速度显示各个光敏电阻的数据

{

ms=0;

s1=!s1;//设置时间时以1S的闪烁数据做设置项提示

ShowDat1=AD_Up;//显示数据赋值

ShowDat2=AD_Down;

ShowDat3=AD_Left;

ShowDat4=AD_Right;

}

  • 21
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 基于STC89C51单片机太阳能双轴自动追光系统的研究与设计太阳能电池板是将太阳能转化为电能的装置,但是由于太阳的角度和位置的变化,使得太阳能电池板的效率受到了一定的影响。为了最大限度地利用太阳能设计了基于STC89C51单片机太阳能双轴自动追光系统。 本系统基于STC89C51单片机进行控制,通过红外传感器探测太阳的位置来实现精确的自动追踪。系统通过连接两个舵机来控制太阳能电池板的水平和垂直方向的旋转,确保电池板始终朝向太阳。 在系统设计中,首先需要引入红外传感器进行太阳位置的检测。红外传感器安装在太阳能电池板上方的支架上,它可以发射红外光并接收反射回来的红外光。通过比较接收到的红外信号和预设的阈值,可以判断出太阳的位置。 接着,使用STC89C51单片机对红外传感器的输出进行采样和处理。当太阳偏离预设位置时,单片机将通过PWM信号控制舵机的转动来调整太阳能电池板的角度,保证其始终朝向太阳。 同时,单片机还可以接收来自其他传感器的输入,如光强传感器可以实时检测太阳能电池板的光照强度,一旦光强低于一定阈值,系统可以根据预先设定的算法,调整太阳能电池板的角度以保持最大的太阳能转换效率。 最后,通过LCD显示模块,可以实时显示系统的工作状态和太阳能电池板的角度等信息,提供人机交互界面。 基于STC89C51单片机太阳能双轴自动追光系统的研究与设计将提高太阳能电池板的工作效率,实现对太阳能的最大化利用。同时,该系统还具备稳定性高、响应速度快等优点,具有广泛的应用前景。 ### 回答2: 基于STC89C51单片机太阳能双轴自动追光系统是一种利用光敏电阻感应太阳光角度变化的智能化控制系统。 该系统太阳能板、光敏电阻、舵机和STC89C51单片机等组成。太阳能板通过光敏电阻感应到太阳的光线角度变化,并将信号输入到STC89C51单片机中。单片机通过接收到的信号,计算出太阳的位置,然后控制舵机实现太阳能板的自动转向。 在设计中,首先需要根据环境条件和需求选择合适的太阳能板和光敏电阻。然后,将光敏电阻与单片机进行连接,通过模拟输入引脚接收光敏电阻的信号。 接下来,编写程序控制单片机进行信号处理和计算。通过读取光敏电阻的电压值,将其转换为太阳的角度。然后,根据太阳的当前位置和期望位置,计算出舵机需要旋转的角度。 最后,通过PWM信号控制舵机的转动,使太阳能板随着太阳的移动而自动调整位置。当太阳能板保持垂直于太阳光时,太阳能板具有最佳的能量捕捉效率。 这种基于STC89C51单片机太阳能双轴自动追光系统具有自动调节和高效能量收集的特点。它可以广泛应用于太阳能发电系统太阳能热水器等领域,实现可持续能源的利用和节能环保。 ### 回答3: 基于STC89C51单片机太阳能双轴自动追光系统是一项研究与设计的项目,旨在利用太阳能板收集太阳能的效率,通过自动跟踪太阳的运动以最大化能源利用。 该系统设计包括以下主要模块:太阳能板、双轴追踪机构、光敏电阻、电机驱动电路以及STC89C51单片机控制模块。 首先,太阳能板是该系统的能量收集主要部件,其将太阳光转化为电能。太阳能板安装在双轴追踪机构上,具有水平和垂直两个轴,可以自动跟踪太阳的位置。 使用光敏电阻传感器监测环境光线强度,传感器会将环境光线强度的变化转化为电信号,传递给STC89C51单片机。 接下来,STC89C51单片机控制模块是该系统的核心,它通过接收光敏电阻传感器的信号,计算光线的方向和强度,并通过控制电机驱动电路实现太阳能板的自动跟踪。 在程序设计方面,STC89C51单片机会根据环境光线强度的变化计算出太阳的方位角和仰角,并与预设值进行比较,以确定太阳能板的转动方向和角度。然后,单片机控制电机驱动电路,通过改变电机的转速和方向,实现太阳能板的自动转动,保持其与太阳光的正交。 通过这样的设计太阳能双轴自动追光系统可以根据太阳的运动自动调整角度和方向,使太阳能板始终与太阳光保持正交,从而最大程度地收集太阳能,提高太阳能的利用效率。 总的来说,基于STC89C51单片机太阳能双轴自动追光系统是一种具有高效能源利用的智能控制系统,可以在太阳能应用领域具有潜在的应用前景。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值