收藏 分享(赏)

太阳光跟踪系统设计.doc

上传人:精品资料 文档编号:9516711 上传时间:2019-08-12 格式:DOC 页数:13 大小:171.50KB
下载 相关 举报
太阳光跟踪系统设计.doc_第1页
第1页 / 共13页
太阳光跟踪系统设计.doc_第2页
第2页 / 共13页
太阳光跟踪系统设计.doc_第3页
第3页 / 共13页
太阳光跟踪系统设计.doc_第4页
第4页 / 共13页
太阳光跟踪系统设计.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、太阳光跟踪系统设计石强机电工程学院04085159太阳光跟踪系统设计1,设计理念太阳能是一种应用前景无限宽广的新型能源,如何高效的运用太阳能是当前的一大研究主题,应用太阳能一方面是要有很好的光能转化效率,最基本的是要能充分的利用能接收光照的时间,另一方面则是要降低系统设计的功耗,即尽可能少的消耗能量。本设计利用光敏电阻构成的测光电路对太阳光方向进行检测,将检测信息传给 CPU,CPU 通过传来的检测信息,改变控制舵机的信号使检测系统能调整到正对太阳光的方向,即实现了对太阳光的跟踪;太阳的方位在一天的时间中总是在改变,能始终捕获到太阳的方向,就相当于可以提高接收光能的时间,这样就可以尽可能多的获

2、取太阳能。超低功耗处理芯片的使用,及小型舵机的使用,加上系统的低功耗设计模式(如一般分压时采用大的电阻来降低电流损耗)可以为系统尽可能的减小功耗。本设计旨在能最大限度的使用新型能源太阳能;因为有了对太阳光方向的跟踪,就可以实时的将系统调整到太阳光正对的方位,如太阳能电池板等,这样就可以获得最大的太阳光能量。2,创意来源当今社会,随着对新能源技术的重视度加深,新能源应用技术方面也得到了很大的发展;太阳能作为最有潜力的新型能源,其利用将是极具吸引力的。当前由于太阳能的使用受到诸多的局限,一方面是自然条件的局限,因为太阳的方向是时刻改变着的,而基本架设的太阳能电池板是固定不动的,这样,在一天的时间内

3、,固定方向的太阳能接收能力自然是有限的;另一方面是科技水平的局限,即当前生产出来的太阳能电能转化设备的效率并不高,以至于无法提供较大的功率。虽然后者本人暂时无能为力,但是却可以在前者上下功夫;曾听闻舍友说清华曾今有全太阳能供电车设计,这种车全身装载太阳能电池板,可以载一人(当然对人的体重还是有限制的) ,这就说明,相对较高的光电转化设备已经在展现,如果在此同时能提高接收光照的时间的话,效果定然更好。本系统设计通过光照检测,最终达到系统能自动识别光照方向,实现自动调整,始终跟踪太阳光;至于加载高性能的太阳能电池板对系统进行供电,暂时不作扩充,但是本设计的最终目的在于配合太阳能电池板的使用,提高光

4、能的使用效率。3,系统框图设计4, 系统主要元器件选择(1)CPU 的选择控制系统只需要输出 PWM 调制波形即可,一般的 MSP430 系列单片机均能满足要求,这里选用常用的 MSP430F149 单片机作为核心处理器件;通过软件的编程,周期的唤醒 CPU 以降低在其上的功耗。 MSP430F149 引脚图(2)舵机的选择系统要求在满足需求的情况下尽量降低功耗,由于小型的太阳能电池板本身不是很重,一般的小型舵机足以满足载动需求,舵机采用 4.8V 供电,要满足两个自由度方向调整,需小型舵机两个技术参数:产品尺寸: 23x12.2x29mm产品扭矩: 1.6kg/cm(4.8V)反应速度: 0

5、.1sec/60degree(4.8v)工作电压: 4.8V使用温度: 0-55 度动作死区: 10us齿轮介质: 尼龙工作模式: 模拟5,系统电路图设计1 2 3 4ABCD4321DCBA TitleNumber RevisionSizeA4Date: 14-Nov-2010 Shet of File: E:低低低低低低MyDesign.db Drawn By:DVc1 P6.3/A32 P6.4/A43P6.5/A54 P6.6/A65 P6.7/A76VREF+7 XIN8 XOUT/TCLK9VeREF+10 VREF-/VeREF-1 P1.0/TACLK12P1.1/TA013

6、P1.2/TA114 P1.3/TA215P1.4/SMCLK16P1.5/TA017P1.6/TA118P1.7/TA219P2.0/ACLK20P2.1/TAINCLK21P2.2/CAOUT/TA022P2.3/CA0/TA123P2.4/CA1/TA224P2.5/Rosc25P2.6/ADC12CLK26P2.7/TA027P3.0/STE028P3.1/SIMO029P3.2/SOMI130P3.3/UCLK031P3.4/UTXD032P3.5/URXD0 3P3.6/UTXD1 34P3.7/URXD135P4.0/TB0 36P4.1/TB1 37P4.2/TB2 38P4.

7、3/TB3 39P4.4/TB440P4.5/TB5 41P4.6/TB6 42P4.7/TBCLK 43P5.0/SET1 4P5.1/SIMO145P5.2/SOMI1 46P5.3/UCLK1 47P5.4/MCLK 48P5.5/SMCLK49P5.6/ACLK50P5.7/TBoutH51XT2OUT52XT2IN53TDO/TDI54TDI55TMS56TCK57RST/NMI58P6.0/A059P6.1/A160P6.2/A261AVss62DVss63AVc64 U?F14XMoter2MSP430F149Moter1Y14MC130pFC230pFKEY3 D3LED_1D

8、4LED_1Y232.768kHzKEY2KEY4X1INX1OUTX2INX2OUTTDID2LED_1X1INKEY1X1OUTTDOC4106RSTX2INX2OUTRSTD1LED_11 2 3 J13PIN-1 C31041 2 3 J23PIN-11 23 45 67 89 101 1213 14JP1HEADER 7X2+5V TMS+3.3VTCKMoter1R110kR410kTCKMoter2TMS+3.3VTDOTDIR210kR310k+3.3V KEY1KEY2KEY3KEY4原理图说明(图中用光敏二极管代表光敏电阻):除单片机最小系统的基本外设外,通过两个 3 孔排

9、针,用来连接方位控制用的舵机,舵机的信号分别由 MSP430F149 的 P4.1 和 P4.2 口输入,使用第二功能,即分别接的是 TB1 和 TB2 口,通过 PWM 调制来控制转动方向。测光系统由四只光敏电阻组成,四只光敏电阻分别放在正四面体的四个面上,通过分压之后接入单片机的 A/D 端口;光敏电阻在暗光条件下,阻值在几百千欧或者几兆欧,而在光照条件下阻值降到几千欧;当系统复位后,接收光照的光敏电阻阻值下降,使端口呈现接地(电路使用的是 100K 的电阻与光敏电阻串联后接地) ,通过对 A/D 采样值的比较及对控制算法的设计,可以调整到最终四个光敏电阻均对太阳光方向,从而实现太阳光跟踪

10、。6,设计难点设计主要使用到 MSP430F149 的定时器 B 来输出 PWM 波,定时器 A 作辅助设计,A/D 采集模拟信号,舵机控制要求必须是周期为 20ms,脉冲宽度在0.52.5ms 间的 PWM 波,不同脉冲宽度对应的是舵机转动的不同角度,一般给定的参数如下:0.5ms转到 0位置;1.0ms转到 45位置;1.5ms转到 90位置;2.0ms转到 135位置;2.5ms转到 180位置;此为舵机在控制时的理论控制角度,实际的转动角度须经过实测得到,以免出现角度超过,损坏舵机;而且,舵机的一次转动角度不宜过大,尤其是当负载较重时,因为舵机的转动速度比较快,转动的负载会有一定的惯性

11、,而舵机内部是塑料齿轮的卡位,容易损坏。7,MSP430F149 的 TA 定时器(用到的主要是 TB)TA 定时器分为主计数器和比较/ 捕获模块两部分,主计数器负责定时,计时或计数,只需定时,计数功能时,可以只能使用主计数器部分。在 PWM 调制,利用捕获测量脉宽,周期等应用时,需要比较/捕获模块配合。在本设计中,主要使用的是 PWM 调制,所以需要使用比较/捕获模块。TA 定时器的主计数器相关的控制位都位于 TACTL 寄存器中,主计数器的计数值存放于 TAR 寄存器中;每个比较/捕获模块还有一个独立的控制寄存器TACCTLx,以及一个比较值/捕获值寄存器 TACCRx(x=0,1,2 )

12、 。在一般的定时应用中,TACCRx 可以提供额外的定时器中断触发条件;在 PWM 输出模式下,TACCRx 用于设定周期占空比;在捕获模式下,TACCRx 存放捕获结果。TASSELx:TA 计数器的时钟源选择IDx:TA 计数器的预分频系数MCx :TA 计数器的计数模式TAIFG:TA 计数器溢出标志位(中断标志位)当通过控制位选择 TA 的捕获 /比较模式后,TACCRx 的值由软件写入,并通过比较器与主计数器的计数值进行比较;每次相等产生 EQU 信号,该信号触发输出逻辑,通过 OUTMODE 控制位可以配置输出逻辑,通过不同的输出逻辑配置来产生各种输出波形;整个过程无需 CPU 干

13、预,软件只需改变 TACCRx的值即可改变波形的某些参数。TA 比较模块有 8 种输出模式(1)模式 0(电平输出) 在模式 0 下,TAx 管脚与普通的输出 I/O 口一样,可以由软件操作 OUT 控制位来控制 TAx 管脚的电平高低(2)模式 1 与模式 5(单脉冲输出) 利用比较模块的模式 1 和模式 5,可以代替单稳态电路,产生单脉冲波形(3)模式 3 和模式 7(PWM 输出) 脉宽调制(PWM)是最常用的功率调整手段之一,所谓脉宽调制,是指在脉冲方波周期一定的情况下,通过调整脉冲(高电平)的宽度,从而改变负载的通断时间的比例,达到功率调整的目的(4)模式 2 与模式 6(带死区的

14、PWM 输出) PWM 调制不仅能用于功率调节,还被广泛地用于逆变器,开关电源,变频调速,斩波器等高效功率变换应用。在这些应用中,因为涉及电压变换或者要求输入与输出之间隔离,常用变压器作为能量传递部件。变压器只能传递交流能量,所以在电路设计中常用推挽电路或者半桥式电路来获得交流大功率信号(5)模式 4(可变频率输出,移相输出) 输出模式 4 下,TA 计数器每次到达 TACCRx 值时,TAx 管脚电平自动取反。因此改变 TA 的计数周期可以改变 TAx 管脚的输出频率;同时,若改变 TACCRx 的值可以改变波形的相位8,程序设计程序设计由 PWM 产生程序及 A/D 采集程序组成PWM 波

15、形由 TB 定时器产生,主要是由于 1 系列内部没有 BT 定时器,本人习惯将 TA 配置成 BT 定时器形式,方便后续编程使用A/D 采集程序,主要用于检测光敏电阻的接受光照情况,从而判断太阳光方向由于太阳光的改变时间很长,所以不需要舵机在短时间作出反应,所以程序设计时,将舵机的动作时间定为每 2s 改变一次,而 TB 定时器输出波形无需CPU 干涉,所以在程序执行的大部分时间中,可以使 CPU 进入低功耗模式,降低系统功耗PWM 产生程序(TB 定时器)#include “msp430x14x.h“int volatile a,b;/*名称:Two_Channel_PWM_Produce(

16、);功能:产生两路电机控制方波,P4.1(TB1); P4.2(TB2)*/void Two_Channel_PWM_Produce()P4DIR |= BIT1; /将 P4.1 置为输出P4SEL |= BIT1; /将 P4.1 设置为第二功能P4DIR |= BIT2; /将 P4.2 置为输出P4SEL |= BIT2; /将 P4.2 设置为第二功能TBCTL |= TBSSEL_1+ID_0+MC_1; /时钟源选择 ACLK, 无分频,增计数模式TBCCTL1 =OUTMOD_7; / TB1 高电平 PWM 输出,模式 7TBCCTL2 =OUTMOD_7; /TB2 高电平

17、 PWM 输出,模式 7TBCCR0=655; /PWM 总周期TBCCR1=a; /设置 TB1 占空比 TBCCR2=b; /设置 TB2 占空比/实际舵机在调整时,有极限角度限制/*12 位 AD 采集四路的光敏电阻的信息通过转换给 CPU 进行处理*/#include “msp430x14x.h“unsigned int ADC12_Out4;int ADC12_Flag;/ADC 初始化void ADC12_Init()P6SEL = 0x0f;/将 P6.0P6.3 设置为输入for(int i=0;i=3;i+)ADC12_Outi = 0;ADC12CTL0 = ADC12ON

18、 + REFON + REF2_5V;/序列通道单次转换 void ADC12_SampleAll()ADC12CTL0 ADC12CTL0 = ADC12ON + REFON + REF2_5V + SHT0_5 + MSC; /SHT0 SampleTime=96CLKADC12CTL1 = ADC12SSEL_0 + SHP + CONSEQ_1+ CSTARTADD_0; /ConvertTime=13CLK ADC12MCTL0 = SREF_1 + INCH_0; ADC12MCTL1 = SREF_1 + INCH_1; ADC12MCTL2 = SREF_1 + INCH_2;

19、 ADC12MCTL3 = SREF_1 + INCH_3+ EOS; ADC12IE = BIT3;_EINT();ADC12CTL0 |= ENC + ADC12SC; /开始转换/ADC 转换完成中断#pragma vector = ADC_VECTOR_interrupt void ADC12_IRQ(void)ADC12_Out0 = ADC12MEM0;ADC12_Out1 = ADC12MEM1;ADC12_Out2 = ADC12MEM2;ADC12_Out3 = ADC12MEM3;ADC12_Flag = 1;_low_power_mode_off_on_exit();/*

20、本段程序为舵机随光程序用 AD 通过光敏电阻采集到光照方向的相关信息通过算法,具体调整没有给出,得到相应舵机控制的 PWM 波*/#include “msp430x14x.h“#include “ADC_12.h“#include “PWM.h“int volatile temp1,temp2;int i;void Init_TimerA()TACTL=TASSEL_1+DIVA_0+TACLR; /选择 ACLK,晶振 32.768k,不分频,清除 TARTACCTL0=CCIE; /CCR0 允许中断TACCR0=4096-1; /频率是 8HZ,频率=晶振频率/计数值TACTL|=MC_

21、1; /增计数模式void main( void )WDTCTL = WDTPW + WDTHOLD;/关闭看门狗/初始化a=47; /上路舵机控制,中间 ,172537b=30; /下路舵机控制,中间 ,174781,此舵机参数为之前的设置Two_Channel_PWM_Produce(); /舵机初始化Init_TimerA();/定时器 A 初始化_EINT(); /开中断while(1)for(i=0;i500;i+);/略等待while(TA_IFG = 0)LPM3;TA_IFG = 0;TA_Count+;/以下程序每 2s 执行一次If(TA_Count=16)TA_Count=0;temp1=ADC12_Out0-ADC12_Out2;temp2=ADC12_Out1-ADC12_Out3;/其中相减的两路为正对的两路信号,与接线有关系/由于接收光照的光敏电阻与未接收光照的光敏电阻的差别,可以根据结果设计算法#pragma vector = TIMERA0_VECTOR_interrupt void TA0_IRQ(void)TA_IFG = 1;_low_power_mode_off_on_exit();

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报