太阳跟踪课程设计_第1页
太阳跟踪课程设计_第2页
太阳跟踪课程设计_第3页
太阳跟踪课程设计_第4页
太阳跟踪课程设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、滨江学院课程设计论文题 目: 太阳跟踪仪系统设计 院 系: 自动控制系 专业班级: 自动化 组 长: 组 员:孔维斌(02)、金城(18)、刘阳(06)、陶恒(22)、 姜小龙(21)、赵伟(20)、陈骏(09)、潘佳笛(30)、方超(01)、童波(27)、徐宏武(23)、韩卫(26)、俞家伟(20)、蔡一正(29)、张润科(15)、王璐(31)、焦彬(实验班45)指导教师: 周旺平 二一三 年 一 月 十三 日太阳跟踪仪系统设计 南京信息工程大学滨江学院自动化专业,江苏 南京 210044摘要:本论设计的是一个太阳方位全自动跟踪仪,实现了利用摄像头来始终跟踪太阳。实验以单片机89系列芯片ST

2、C89C51作为主控芯片来设计高精度的太阳跟踪仪,分别通过高精度的永磁力矩直流电机精确控制其角位移。跟踪仪利用摄像头采集信息,根据得到的图像灰度值,设定一个阀值进行二值化,确定两个方向的偏差,接着用PID算法来分别控制x和y两个方向的偏差最终实现摄像头实时精确地跟踪太阳。 关键词:太阳跟踪,单片机89C51 ,摄像头,二值化 ,PID算法引言太阳跟踪仪是使得摄像头能够跟踪上太阳中心,如果可以实现这一功能,则在实际应用中,可以改进使得太阳能电池板随时正对太阳,让太阳光的光线随时垂直照射太阳能电池板的动力装置,采用太阳能跟踪仪能显著提高太阳能光伏组件的发电效率。所以本文是实现太阳能高效率利用的前提

3、实验。1. 硬件介绍1.1单片机模块单片机又称单片微控制器, 是在一块芯片中集成了CPU( 中央处理器)、RAM( 数据存储器)、ROM( 程序存储器)、定时器/ 计数器和多种功能的I/O( 输入/ 输出) 接口等一台计算机所需要的基本功能部件,从而可以完成复杂的运算、逻辑控制、通信等功能。在简单了解了什么是单片机之后,然后我们来构建单片机的最小系统,单片机的最小系统就是让单片机能正常工作并发挥其功能时所必须的组成部分,也可理解为是用最少的元件组成的单片机可以工作的系统。对51 系列单片机来说, 最小系统一般应该包括: 单片机、时钟电路、复位电路、输入/ 输出设备等。STC89C52单片机的引

4、脚图1-1-1所示:图1-1-1 STC89C52单片机引脚图1.1.1 单片机最小系统 单片机的最小系统框图如图1-1-2所示,单片机的最小系统的仿真图如图1-1-3所示:图1-1-2 单片机最小系统框图图1-1-3 单片机最小系统仿真电路图1.1.2 单片机复位电路复位是单片机的初始化操作,只要给RESET引脚加上2个机器周期以上的高电平信号,即可使单片机复位。除了进入系统的正常初始化之外,当程序运行出错或是操作错误使系统处于死锁状态时,为了摆脱死锁状态,也需要按复位键重新复位。在系统中,为了实现上述的两项功能,采用常用的按键电平复位电路,这样复位键有复位和停止两个功能,如图1-1-4所示

5、:图1-1-4 复位电路从图中可以看出,当系统得到工作电压的时候,复位电路工作在上电自动复位状态,通过外部复位电路的电容充电来实现,只要Vcc的上升时间不超过1ms就可以实现自动上电复位功能。在本系统中,采用10uF的电容和100k的电阻来实现复位电路。当系统出错时,直接按开关实现模拟系统上电复位的功能,从而实现系统重新复位启动。1.1.3 时钟电路时钟电路是用于产生单片机工作时所必需的时钟信号。时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准的,有条不紊地一拍一拍地工作。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。在本系统中采用外部时钟方式的电路,

6、如图1-1-5所示:图1-1-5 系统时钟电路在本设计中的电容C1、C2典型值为30±10 pF。外接代内容的值虽然没有严格的要求,但是电容的大小会影响振荡器的稳定性和起振的快速性。同时,在系统中采用12MHz的晶体振荡器来产生时钟脉冲。这样可以满足系统在设计时的机器周期的需要。1.2图像采集模块1.2.1 摄像头ov7620的介绍 OV7620 是美国OmniVision 公司开发的CMOS 彩色图像传感器芯片, 该芯片将CMOS 传感器技术与数字接口组合, 用于视频图像应用。OV7620 芯片的基本参数为:1) 单片1/ 3 英寸彩色/ 黑白数字图像传感器, 48 引脚。2) 隔

7、行扫描或逐行扫描。3) 图像尺寸: 4. 86* 3. 64 mm。像素尺寸:7. 6 um ×7. 6 um4) 有效像素: 664* 492, 默认值: 640* 480;5) 内部10 bit 双通道A/ D 转换, 8/ 10b it 输出。6) 曝光设定500: 1;7) 信噪比> 48 dB; OV7620 是高性能的数字图像传感器, 可提供彩色/ 黑白多种格式的输出, 且支持8/ 16 Bit 60H Z YCrCb 4: 2: 2格式, 8/ 16 Bit RGB RAW 数据, 和CCIR601/ CCIR656 格式。并可用SCCB 进行内部寄存器编程。在输

8、出数字视频流的同时还提供像素时钟PCLK、水平参考信号HREF、垂直同步信号VSYNC 便于外部电路读取图像, 并可编程设置HREF、V SYNC 在图像局部开窗, 输出窗口图像。它被广泛应用在网络摄像头、摄像手机等产品中。由它组成的图像采集系统,比较常见的设计方法为OV7620搭配OV5ll+或CPLDFPGA。OV7620有4个同步信号,VSYNC(垂直同步信号)、FODD(奇数场同步信号)、HSYNC(水平同步信号)和PCLK(像素同步信号)。采用连续扫描方式时,只使用VSYNC和HSYNC、PCLK三个同步信号,为检测OV7620扫描窗口的有效大小,还引入HREF水平参考信号。ARM的

9、三个外部中断引脚分别作为3个同步信号的输入,在内存中定义一个二维数组存储图像数据,一维用于水平同步信号计数,二维用于像素同步信号计数。图像采集的流程为:初始化好OV7620后,使能VSYNC对应的中端,在中断服务程序中判断是否已取得一帧数据,接收到则进行数据处理。1.2.2 工作原理图像传感器即摄像头,是组成机器视觉系统的非常重要的元器件。根据其原理不同分摄像头主要分为两种:CCD(Charge Coupled Device)摄像头,CMOS摄像头。CCD也称电耦合器件,其工作原理是:被摄物体反射光线到摄像头上,经过镜头聚焦到CCD感光芯片上,感光芯片根据光线的强弱积聚相应电荷,经周期性放电而

10、产生表示图像的电信号。CMOS摄像头其实跟CCD差不多,也是将光转换成电信号的器件。它们的差异之处就是图像的扫描方式不同,CCD是采用连续扫描方式,即它只有等到最后一个像素扫描完成后才进行放大;CMOS传感器的每个像素都有一个将电荷放大为电信号的转换器。 CMOS传感器的图像采集方式为主动式, 感光二极管所产生的电荷直接由晶体管放大输出,不需要外加电压,5V的电压就可以工作,所以CMOS的功耗比CCD要小。由于CMOS功耗小,较CCD要便宜,而且图像质量满足要求。 本次设计采用的OV7620这一款摄像头。1.2.3 工作时序 OV7620的同步信号时序如下:场同步信号VSYN为两个正脉冲之间扫

11、描一帧的定时,即完整的一帧图像在两个正脉冲之间;行同步信号HREF扫描该帧图像中各行像素的定时,即高电平时为扫描一行像素的有效时间;像素同步信号PCLK为读取有效像素值提供同步信号,高电平时输出有效图像数据。VYNSC 是判断是否一幅图像开始,周期是 20ms, 其中高电平持续时间很短;HREF 是判断是否一行图像的开始,周期是 63us 左右,其中高电平持续时间为 40US,低电平持续时间 23US.摄像头实物图如图1-2-1所示: 图1-2-1 摄像头实物图PIN1-PIN8 灰度信号输出接口 Y0-Y7PIN11 SCCB数据接口 SDAPIN12 奇偶场同步信号 PODDPIN13 S

12、CCB数据时钟 SCLPIN14 行中断信号 HREFPIN16 场中断信号 VSYNPIN18 像素同步信号 PCLK(也叫TCLK)PIN32 模拟信号输出接口 VTO1.3电机驱动模块1.3.1 L298N芯片的介绍L298N是SGS公司的产品,是具有15引脚的芯片,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。L298N的引脚图如图1-3-1所示: 图1-3-1 L298N引脚图1.3.2 L298N的内部原理 L298N有两路电源分别为逻辑电源和动力电源,上图中VSS

13、接6V为逻辑电源,VS接12V为动力电源。IN1、IN2接控制信号,EnA使能端A接入低电平。OUT1与OUT2分别为单片机控制两个电机的输入端。L298N的内部原理图如图1-3-2所示,L298N的逻辑功能如表1-3-1所示: 图1-3-2 L298N的原理图 表1-3-1 L298N的逻辑功能IN1IN2EA电机状态XX0停止101正转011反转000停止110停止1.3.3 电机驱动电路的仿真由单片机直接输出的脉冲不足以驱动步进电机正常工作所以需要驱动电路给直流电机提供电源,我们所使用的电机一般为直流电机,主要用到永磁直流电机、伺服电机及步进电机三种。直流电机的控制很简单,性能出众,直流

14、电源也容易实现。在本设计中采用型号为L298N的芯片,使直流电机正常工作。驱动信号由P1口的P1.0、P1.1、P1.2、P1.3输出,分别与驱动芯片的IN1、IN2、IN3、IN4相连,电路如图1-3-3所示: 图1-3-3电机驱动电路1.4电源模块1.4.1电机驱动电源:可调电源可调电源是采用当前国际先进的高频调制技术,其工作原理是将开关电源的电压和电流展宽,实现了电压和电流的大范围调节,同时扩大了目前直流电源供应器的应用。与传统电源相比高频直流电源就较具有体积小、重量轻、效率高等优点,同时也为大功率直流电源减小体积创造了条件,此电源又称高频可调式开关电源。可调直流稳压电源保护功能齐全,过

15、压、过流点可连续设置并可预视,输出电压可通过触控开关控制。但其缺点也很明显,大功率的可调电源体积庞大,携带不方便。可调电源实物如图1-4-1所示: 图1-4-1 可调电源1.4.2单片机稳压电源:LM2940LM2940是常用的串联型线性稳压管,它具有纹波小、电路结构简单的优点,对于单片机,需要提供稳定的5V电源,由于LM2940的稳压的线性度非常好,所以选用LM2940单独对其进行供电;LM2940/2940C还含有一个静态电流降低电路,当输入输出压差超过3V时,可以减少地电流。在输出电流为1A或输入输出压差为5V时,静态电流仅为30MA.此外,该电路内还设有防反接电路,防止输入电压反接对电

16、路造成损害。因此,LM2940/2940C特别适合于汽车、机动车辆、船舶等的使用。LM2940CT的接线图如图1-4-2所示: 图1-4-2 LM2940CT接线图 输出电压固定的低压差三端稳压器;输出电压5V;输出电流1A;输出电流1A时,最小输入输出电压差小于0.8V;最大输入电压26V;工作温度-40+125;内含静态电流降低电路、电流限制、过热保护、电池反接和反插入保护电路。LM2940CT的实物图如图1-4-3所示,LM2940引脚图如1-4-4所示: 图1-4-3 LM2940CT实物图 图1-4-4 LM2940CT引脚介绍1.5系统原理叙述本方案的太阳光跟踪系统是有OV7620

17、摄像头、STC89C52单片机、时钟电路、稳压电源模块、电机驱动模块等主要模块组成。经过摄像头OV7620采集图像,通过对采集到的图像经过单片机计算出相应的太阳相对的角度值,太阳光控制电路根据太阳的位置移动。系统总框图如图1-5-1所示,系统进程框图如图1-5-2所示: 图1-5-1 系统总框图 图1-5-2 系统进程框图2. 系统程序设计2.1程序流程 系统的总体程序流程如图2-1-1所示: 图2-1-1 总体程序流程图2.2 C语言实现用C语言实现图像的二值化和中心的确定,将拍出来的图像看做一个数组,用0、1分别代表明、暗,这样拍出来的图像就相当于0和1组成的矩阵,求出值为0的区域的中心就

18、是太阳的中心。2.2.1 图像的二值化首先,采集到的图像是一个个灰度值,我们需要用一个阀值来使这些灰度值二值化,凡是小于阀值的都设1,大于阀值的都设为0。下面就是二值化的子程序:void ezh() / 二值化子程序 int i,j; for(i=0;i<hang_max;i+) for(j=0;j<lie_max;j+) if(pic_dataij>=fz) /像素值大于阈值,将该像素设为0 pic_dataij=0; else /像素值小于阈值,将该像素设为1 pic_dataij=1; 2.2.2 确定太阳的中心 二值化以后,能够给出太阳的大概轮廓,是一块为像素为0的连

19、续区域。如图2-2-1所示:1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 11 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 11 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

20、 1 1 1 1 1 1 1 图2-2-1 二值化后的矩阵图灰度值为0的点的坐标为(x,y),由于区域连续,首先求二值化后的矩阵中值最小的那一行为中心点x值,接着求二值化后的矩阵中值最小的那一列为中心点y值,这样得到的(x,y)这个点就是太阳的中心点。求太阳中心的程序如下:void center() /求中心点子程序 int min=20,i,j,sum=0; for(i=0;i<hang_max;i+) /求二值化后的矩阵中值最小的那一行为中心点x值 for(j=0;j<lie_max;j+) sum=sum+pic_dataij; if(min>sum) min=sum;

21、 center_x=i; /中心行号 sum=0; sum=0;min=20; for(i=0;i<lie_max;i+) /求二值化后的矩阵中值最小的那一列为中心点y值 for(j=0;j<hang_max;j+) sum=sum+pic_dataij; if(min>sum) min=sum; center_y=i; /中心列号 sum=0; 2.2.3误差的PID算法采用增量式的控制算法如下:signed int pid(signed int a ) / pid算法子程序 float q0,q1,q2; /定义比例项,积分项,微分项输出项 ei=center_imgx-

22、a; /x轴向误差 if(k=0&&ti=0&&td=0) /比例项系数,积分项,微分项系数为0时各项输出为0 q0=0; q1=0; q2=0; if(k!=0&&ti!=0) /比例项,微分项系数不为0时,通过pid公式计算各项输出值 q0=k*(ei-e1); q1=k*Ts*ei/ti; q2=k*td*(ei-2*e1+e2)/Ts; if(ti=0) /积分项系数为0时,各项输出值 q0=k*(ei-e1); q1=0; q2=k*td*(ei-2*e1+e2)/Ts; e2=e1; /将上一次所的误差赋值给e2e1=ei; /将这一

23、次所的误差赋值给e1 if(q1>5)q1=5; if(q1<-5)q1=-5; op=op+q0+q1+q2; /计算最后输出值 if(op>5)op=5; /限幅 if(op<-5)op=-5; return op; /返回最后输出值2.2.4 单片机控制电机正反转 的PWM信号下面就是电机正反转的子程序:void zfzx() /x轴电机正反转子程序 if(opx>0) /x轴pid输出误差为正向误差,电机正向转动 fzx=0; /关闭x轴l298n反向桥路zzx=px; /将电机驱动信号给x轴l2980n正向桥路 if(opx<0) /x轴pid输出

24、误差为负向误差,电机反向转动 zzx=0; /关闭x轴l298n正向桥路fzx=px; /将电机驱动信号给x轴l2980n反向桥路 void zfzy() /y轴电机正反转子程序 if(opy>0) /y轴pid输出误差为正向误差,电机正向转动 fzy=0; /关闭y轴l298n反向桥路zzy=py; /将电机驱动信号给y轴l2980n正向桥路 if(opy<0) /y轴pid输出误差为负向误差,电机反向转动 zzy=0; /关闭y轴l298n正向桥路 fzy=py; /将电机驱动信号给y轴l2980n反向桥路 3.软件的调试3.1 把程序送到单片机我们把写好的程序送给单片机用到了

25、Stc-isp这个软件,使用如下:第一步 打开stp_isp_v480.exe 如图3-1-1所示: 图3-1-1 stp_isp_v480.exe文件第二步 选择单片机类型、com口、最低和最高波特率 如图3-1-2所示: 图3-1-2 步骤二附图 第三步 打开并添加要烧录的文件。如图3-1-3所示: 图3-1-3 步骤三附图第四步 点击下载,如图3-1-4所示: 图3-1-4 步骤四附图第五步 给单片机开发板上电,如图3-1-5所示: 图3-1-5 步骤五附图第六步 烧录程序完成,如图3-1-6所示: 图3-1-6 步骤六附图3.2 模拟电路仿真 在绘制完电路图后,将编好的程序输入软件内检

26、查所编程序是否正确,检查程序无误后装入单片机内,用Proteus进行仿真,该环节主要模拟了将太阳跟踪系统的X,Y轴向的误差转换成电机所需要的驱动信号。本方案的Proteus仿真图中的KEY1模拟了太阳中心处于以摄像头OV7620中心为原点的坐标的第一象限,设Y轴正方向为向上,X轴正方向为向下。即在X轴,Y轴上两方向的误差均属于正向误差位移,此时将该误差转换成电机驱动信号,控制X轴方向的电机与控制Y轴方向的电机均向正方向转动 ,到达太阳中心。同理,KEY2模拟了第二象限的误差位移,KEY3模拟了第三象限的误差位移,KEY4模拟了第四象限的误差位移。而KEY5则模拟了X,Y电机在转动过程中,从而摄

27、像头OV7620不断接近太阳中心,每按下KEY5则减小电机驱动信号的占空比,当到达太阳中心,此时的占空比为0,电机也停止转动,从而实现成功跟踪太阳。Proteus仿真图如图3-2-1所示: 图3-2-1 Protueus仿真图系统进入仿真模式后,令KEY1按钮闭合,代表了太阳中心处于以摄像头OV7620中心为原点的坐标的第一象限,使X轴直流电机正转工作,Y轴直流电机正转工作,到达太阳中心。此时需要不断调整KEY5来使误差不断减小,最后使X轴直流电动机和Y轴直流电动机同时停止工作,即已经到达太阳中心。当按下KEY1时的仿真图如图3-2-2所示,当按下多次KEY5时的仿真图如图3-2-3所示: 图

28、3-2-2 按下KEY1时的仿真图 图3-2-3 多次按下KEY5后的仿真图3.3程序的调试心得 一,用头脑去分析思考与错误征兆有关的信息。二,避开死胡同。三,只把调试工具当做手段。利用调试工具,可以帮助思考,但不能代替思考,因为调试工具给的是一种无规律的调试方法。四,避免用试探法,最多只能把它当做最后手段。五,再出现错误的地方,可能还有别的错误。六,修改错误的一个常见失误是只修改了这个错误的征兆或这个错误的表现,而没有修改错误本身。如果提出的修改不能解释与这个错误有关的全部线索,那就表明只修改了错误的一部分。七,注意修正一个错误的同时可能会引入新的错误。八,修改错误的过程将迫使人们暂时回到程

29、序设计阶段。修改错误也是程序设计的一种形式。九,修改源代码程序,不要改变目标代码。4. 总结4.1团队管理的心得体会 对于每一个小组成员,我们都应明确他所善长和能胜任的方面,并且每一成员都应自发地承接自己所擅长的工作,遇到问题时要与大家一起商量讨论,找出切实可行的方案,这样才能发挥每一个成员的作用,发挥出小组团队的能力,更好的完成课题。 我们小组在本此课题中正是这样做的。我们首先共同商讨,根据小组成员能力和一些技术上的问题,发挥自己的创新意识和对现实的应用价值,一起确定了设计思想。小组成员根据自己能力提出自己接受的任务,最后再根据实际情况,大家一起均衡分配工作任务。并在各自完成任务的同时,周期

30、性地一起讨论课程的进程,并对遇到的一些问题,提出来一起解决,这样我们小组成员可对整个项目有一个全面的了解,知道自己下一步该如何做,其中最重要的是解决遇到的问题,不会因一个小方面的问题而使整个项目无法完成,与此同时还要善于与其他小组交流,并一起对所交流问题一起研讨。这样才能从讨论中找出最好的方法,这就是我们小组在本次课题中的基本过程。 在设计中,我们遇到了很多问题和困难,在程序的编写上,我们始终无法实现实验的要求,于是我们组的成员们冒着严寒跑到图书馆里参考相关的书籍,有的组员利用研究生还没有回这个机会,抓紧时间去请教研究生学长,最后经过同学们的努力,我们的程序终于调试成功了。我们的成功来之不易,

31、凝聚着成员们多少辛勤的汗水啊! 4.2 课程设计的心得体会 在通过本次课程设计中,我们遇到很多问题,与此同时,我们也学到了很多,对于本次课题的心得体会,我们觉得有以下几点: 1、不管做什么事,计划是很重要的。没有一个完好的计划,做事情就会没有一个好的顺序,做事情会比较乱,很难成功。而有一个好的计划,不管做什么事都会事半功倍,而且做事心中有数,明确重点和缓急,不会有疏漏。这样才能提高成功率。 2、做事要多动脑,选出最好的方法。一件事往往有多种解决方法,一个好的方法,不仅能使事情事半功倍,而且往往决定最后的成与败,所以做事时一定要多动一下脑筋,想出最好的方法。 3、要注意细节。细节决定成败,这句话

32、在这次课题中不仅一次得到了印证,特别是在软件的编程过程中,一点点的错误就会使你整个程序不能运行。因此我们不仅仅要有整体意识,也要注意细节,不要因一个关键地方的一个细节而导致满盘皆输。 4、团队合作很重要。团队做一件事时,要发挥出门一个人的长处。人无完人,但一个团队可以互相帮助,互相补充,只要互相合作,个人完成各自专长的,离成功就只有一步之遥。除此之外,人人总是有疏漏的方面,但是只要互相合作,互相交流,就会考虑问题更全面化,在本次课题中,我们组团结合作不仅事半功倍,而且发现了一些好的有趣的构想,使我们对单片机有了更浓的兴趣。 5、最后,也是最重要的一点,通过这次课题,我们学到了很多有关单片机方面

33、的知识,也对单片机有了更深入的了解,使我们受益匪浅。参考文献: 1 苑玮琦, 刘丽微. 基于视觉的太阳方位检测装置的研究 J .计算机测量与控制, 2008, 16( 7) : 911- 913. 2 吴静. 太阳自动跟踪系统的研究 D . 重庆: 重庆大学, 2008. 3 付忠良. 图像阈值选取方法Otsu 方法的推广 J . 计算机应用, 2000, 20( 5) : 37- 39. 4 刘京诚, 任松林, 李敏, 等. 智能型双轴太阳跟踪控制系统的设计 J . 传感器与微系统, 2008, 27( 9) : 69- 71. 5 刘巍, 王志超, 沈垣, 等. 太阳自动跟踪系统的研究与设

34、计 J . 水电能源科学, 2009( 27) : 215- 218. 6 吕文华, 贺晓雷, 于贺军, 等. 全自动太阳跟踪器的研制和应用 J . 光学精密工程, 2008, 12( 16) : 2544- 2550. 7 关继文; 孔令成; 张志华; 高精度太阳能跟踪控制器设计与实现 自动化与仪器仪表,2012年03期 8 杜云峰,基于单片机的太阳自动跟踪系统的研究1、湖南文理学院电气与信息工程学院,湖南常德415000;2、电子科技大学自动化工程学院,四川成都610054) 9 刘京诚 , 任松林, 李敏 , 罗勇 , 杨庆峰,智能型双轴太阳跟踪控制系统的设计(1. 重庆大学光电技术及系

35、统教育部重点实验室,重庆400044; 2. 四川理工学院机电系,四川自贡643000)10 一种新型的太阳自动跟踪系统研究邹建, 姬兴, 杜海涛; ( 1. 光电技术及应用教育部重点实验室, 重庆400044; 2. 重庆大学光电工程学院, 重庆400044)11 施玉川.太阳能应用M.陕西科学出版社,2001.12 高峰,孙成权,刘全根.太阳能开发利用的现状及发展趋势J.世界科技研究与发展,2001,23(4):35-39.13 任松林.主动式太阳跟踪及驱动系统研究与设计D.重庆大学,200814 詹华,姚士洪.对我国能源现状及未来发展的几点思考J.能源工程, 2003(3):1-4.15

36、 张宝星.太阳能利用的跟踪与聚焦系统研究D.合肥工业大学,2006.16 幻余海.太阳能利用综述及提高其利用率的途径J.能源研究与利用, 2004,79(3):8-9.17 贺晓雷,于贺军,李建英.太阳方位角的公式求解及其应用J.太阳能学报, 2008,29(1):69-72.18 王炳忠,汤洁.几种太阳位置计算方法的比较研究J.太阳能学报,2001, 22(4):413-417.19 王国安,米鸿涛,邓天宏.太阳高度角和日出日落时刻太阳方位角年变化范围的计算J.气象与环境科学,2007,30:161-163.20 王延杰,宋建中.一种实时自适应图像二值化方法J.光学精密工程, 1994,5(

37、2):7-2021 李鉴庆,左坤隆.图像阈值选取的一种快速算法J.计算机与现代化, 2001,6:11-14.22 孙光灵,周庆松,方传刚.基于最小类内方差的快速阈值分割算法J.安徽理工大学学报(自然科学版),2005,25(1):39-42.23 陈冬岚,刘南京,余玲玲.几种图像阈值选取方法的比较与研究J.电气技术与自动化,2003,2(1):77-80.24 Ashok Kumar Saxena and V.Dutta A VERSATILE MICROPROCESSOR BASED CONTROLLER FOR SOLAR TRACKING,Photovoltaic Laboratory

38、 ,Centre for Energy Studies Indian Institute of Technology , New Delhi (INDIA)25 D.C. Riawan and C.V. Nayar, Senior Member, IEEE Analysis and Design of a Solar Charge Controller Using Cuk Converter,Department of Electrical and Computer Engineering Curtin University of Technology, Perth, WA 6845, Aus

39、tralia附录1:太阳跟踪误差模拟仿真程序代码#include<reg52.h>#include<math.h>char center_x; /摄像头拍摄图像中心char center_y;sbit zzx=P10; /x轴电机正转信号输出口sbit fzx=P11; /x轴电机反转信号输出口sbit zzy=P12; /y轴电机正转信号输出口sbit fzy=P13; /y轴电机反转信号输出口sbit ox=P20; /摄像头与预定图像中心点误差处于第一象限sbit twx=P21; /摄像头与预定图像中心点误差处于第二象限sbit thx=P22; /摄像头与预定

40、图像中心点误差处于第三象限sbit fx=P23; /摄像头与预定图像中心点误差处于第四象限int opx=0,opy=0; /x,y轴轴向pid控制后输出误差int a=0,b=0,c=0;int px; /x,y轴电机驱动信号int py;int flag; /定义标志位void main(void) /主函数 TMOD=0x01; /选用定时器一 EA=1; /开总中断EX0=1; /开外部中断0IT0=1; /外部中断下降沿有效 ET0=1; /开定时器0中断TL0=0x18; /定时初值1ms TH0=0xfc;TR0=1; /开定时器0 while(1); /循环等待中断 chuz

41、hi() / 设定center_x,center_y初值函数 if(ox=0) /当ox端为低电平时,表示中心点在第一象限 flag=1; /令标志位为1,为下面pid处理做准备 center_x=4; /设置太阳中心点x,y坐标在第一象限的值center_y=5; if(twx=0) /当twx端为低电平时,表示中心点在第二象限 flag=2; /令标志位为2,为下面pid处理做准备 center_x=-4; /设置太阳中心点x,y坐标在第二象限的值 center_y=5; if(thx=0) /当thx端为低电平时,表示中心点在第三象限 flag=3; /令标志位为3,为下面pid处理做准

42、备 center_x=-4; /设置太阳中心点x,y坐标在第三象限的值 center_y=-5; if(fx=0) /当fx端为低电平时,表示中心点在第四象限 flag=4; /令标志位为4,为下面pid处理做准备 center_x=4; /设置太阳中心点x,y坐标在第四象限的值 center_y=-5; signed int pidx(signed int x ) /x轴pid调整 int i=1; if(flag=1) /标志位为1,中心点x坐标在第一象限 if(x=0) /调整后的中心点与期望中心点重合时,误差为0 x=0;else /调整后的中心点与期望中心点不重合时,调整误差 x=x

43、*i; /误差值 x-; /x轴电机正转,误差减1 if(flag=2) /标志位为2,中心点x坐标在第一象限 if(x=0) /调整后的中心点与期望中心点重合时,误差为0 x=0;else /调整后的中心点与期望中心点不重合时,调整误差 x=x*i; /误差值 x+; /x轴电机反转,误差加1 if(flag=3) /标志位为3,中心点x坐标在第三象限 if(x=0) /调整后的中心点与期望中心点重合时,误差为0 x=0;else /调整后的中心点与期望中心点不重合时,调整误差 x=x*i; /误差值 x+; /x轴电机反转,误差加1 if(flag=4) /标志位为4,中心点x坐标在第四象限 if(x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论