太阳光跟踪系统设计_第1页
太阳光跟踪系统设计_第2页
太阳光跟踪系统设计_第3页
太阳光跟踪系统设计_第4页
太阳光跟踪系统设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

经典word整理文档,仅参考,双击此处可删除页眉页脚。本资料属于网络整理,如有侵权,请联系删除,谢谢!石强机电工程学院040851591,设计理念能少的消耗能量。给CPU,CPU通过传来的检测信息,改变控制舵机的信号使检测系统能调整到可以尽可能多的获取太阳能。超低功耗处理芯片的使用,及小型舵机的使用,加上系统的低功耗设计模式(如一般分压时采用大的电阻来降低电流损耗)可以为系统尽可能的减小功耗。样就可以获得最大的太阳光能量。2,创意来源当今社会,随着对新能源技术的重视度加深,新能源应用技术方面也得到了很大的发展;太阳能作为最有潜力的新型能源,其利用将是极具吸引力的。当前由于太阳能的使用受到诸多的局限,一方面是自然条件的局限,因为太提供较大的功率。虽然后者本人暂时无能为力,但是却可以在前者上下功夫;曾听闻舍友说清3,系统框图设计(2)舵机的选择产品尺寸:23x12.2x29mm产品扭矩:1.6kg/cm(4.8V)反应速度:0.1sec/60degree(4.8v)工作电压:4.8V使用温度:0-55度动作死区:10us齿轮介质:尼龙工作模式:模拟5,系统电路图设计0000000000除单片机最小系统的基本外设外,通过两个3孔排针,用来连接方位控制用MSP430F149的P4.1和P4.2即分别接的是TB1和TB2口,通过PWM调制来控制转动方向。测光系统由四只光敏电阻组成,四只光敏电阻分别放在正四面体的四个面上,通过分压之后接入单片机的A/D端口;光敏电阻在暗光条件下,阻值在几的光敏电阻阻值下降,使端口呈现接地(电路使用的是100K的电阻与光敏电阻A/D采样值的比较及对控制算法的设计,可以调整到最终四个光敏电阻均对太阳光方向,从而实现太阳光跟踪。6,设计难点设计主要使用到MSP430F149的定时器B来输出PWMA作辅助设计,A/D采集模拟信号,舵机控制要求必须是周期为20ms,脉冲宽度在0.5~2.5ms间的PWM波,不同脉冲宽度对应的是舵机转动的不同角度,一般给定的参数如下:0.5ms——转到0°位置;1.0ms——转到45°位置;1.5ms——转到90°位置;2.0ms——转到135°位置;2.5ms——转到180°位置;此为舵机在控制时的理论控制角度,实际的转动角度须经过实测得到,以免出现角度超过,损坏舵机;而且,舵机的一次转动角度不宜过大,尤其是当负载是塑料齿轮的卡位,容易损坏。7,MSP430F149的TA定时器(用到的主要是)TA定时器分为主计数器和比较/或计数,只需定时,计数功能时,可以只能使用主计数器部分。在PWM调制,利用捕获测量脉宽,周期等应用时,需要比较/捕获模块配合。在本设计中,主要使用的是PWM调制,所以需要使用比较/捕获模块。TA定时器的主计数器相关的控制位都位于TACTL数值存放于TAR寄存器中;每个比较/捕获模块还有一个独立的控制寄存器,以及一个比较值/捕获值寄存器(x=0,1,2应用中,TACCRx可以提供额外的定时器中断触发条件;在PWM输出模式下,TACCRx用于设定周期占空比;在捕获模式下,TACCRx存放捕获结果。:TA计数器的时钟源选择:TA计数器的预分频系数MCx:TA计数器的计数模式TAIFG:TA计数器溢出标志位(中断标志位)当通过控制位选择TA的捕获/比较模式后,TACCRx的值由软件写入,并通过比较器与主计数器的计数值进行比较;每次相等产生EQU信号,该信号触发输出逻辑,通过OUTMODE控制位可以配置输出逻辑,通过不同的输出逻辑配置来产生各种输出波形;整个过程无需CPU干预,软件只需改变TACCRx的值即可改变波形的某些参数。TA比较模块有8种输出模式(1)模式(电平输出)在模式0下,TAx管脚与普通的输出I/O口一样,可以由软件操作OUT控制位来控制TAx管脚的电平高低(2)模式1与模式5(单脉冲输出)利用比较模块的模式1和模式5以代替单稳态电路,产生单脉冲波形(3)模式3和模式7(PWM输出)脉宽调制(PWM)是最常用的整脉冲(高电平)的宽度,从而改变负载的通断时间的比例,达到功率调整的目的(4)模式2与模式6(带死区的PWM输出)PWM调制不仅能用于功率调节,还被广泛地用于逆变器,开关电源,变频调速,斩波器等高效功率变换应路或者半桥式电路来获得交流大功率信号(5)模式4(可变频率输出,移相输出)输出模式4下,TA计数器每次到达TACCRx值时,TAxTA的计数周期可以改变TAx管脚的输出频率;同时,若改变TACCRx的值可以改变波形的相位8,程序设计程序设计由PWM产生程序及A/D采集程序组成PWM波形由TB1系列内部没有BT习惯将TA配置成BT定时器形式,方便后续编程使用A/D采集程序,主要用于检测光敏电阻的接受光照情况,从而判断太阳光方向由于太阳光的改变时间很长,所以不需要舵机在短时间作出反应,所以程序2sTB定时器输出波形无需CPU干涉,所以在程序执行的大部分时间中,可以使CPU进入低功耗模式,降低系统功耗PWM产生程序(TB定时器)#include"msp430x14x.h"intvolatilea,b;/**********************************************************名称:;功能:产生两路电机控制方波,P4.1(TB1);P4.2(TB2)**********************************************************/voidTwo_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高电平PWM输出,模式7TBCCR0=655;TBCCR1=a;TBCCR2=b;//PWM总周期//设置TB1占空比//设置TB2占空比}//实际舵机在调整时,有极限角度限制/*****************************************12位AD采集四路的光敏电阻的信息通过转换给CPU进行处理*****************************************/#include"msp430x14x.h"unsignedintADC12_Out[4];intADC12_Flag;//ADC初始化voidADC12_Init(){P6SEL=将P6.0~P6.3设置为输入for(inti=0;i<=3;i++)ADC12_Out[i]=0;ADC12CTL0=ADC12ON+REFON+REF2_5V;}//序列通道单次转换voidADC12_SampleAll(){ADC12CTL0&=~ENC;ADC12CTL0=ADC12ON+REFON+REF2_5V+SHT0_5+MSC;//SHT0SampleTime=96CLKADC12CTL1=ADC12SSEL_0+SHP+CONSEQ_1+CSTARTADD_0;//ConvertTime=13CLKADC12MCTL0=SREF_1+INCH_0;ADC12MCTL1=SREF_1+INCH_1;ADC12MCTL2=SREF_1+INCH_2;ADC12MCTL3=SREF_1+INCH_3+EOS;ADC12IE=BIT3;_EINT();ADC12CTL0|=ENC+ADC12SC;//开始转换}//ADC转换完成中断#pragmavector=ADC_VECTOR__interruptvoidADC12_IRQ(void){ADC12_Out[0]=ADC12MEM0;ADC12_Out[1]=ADC12MEM1;ADC12_Out[2]=ADC12MEM2;ADC12_Out[3]=ADC12MEM3;ADC12_Flag=1;__low_power_mode_off_on_exit();}/******************************************本段程序为舵机随光程序用AD通过光敏电阻采集到光照方向的相关信息通过算法,具体调整没有给出,得到相应舵机控制的PWM波******************************************/#include"msp430x14x.h"#include"ADC_12.h"#include"PWM.h"intvolatiletemp1,temp2;inti;voidInit_TimerA(){//选择晶振32.768k,不分频,清除TARTACCTL0=CCIE;TACCR0=4096-1;TACTL|=MC_1;//CCR0允许中断//频率是频率=晶振频率/计数值//增计数模式}voidmain(void){WDTCTL=WDTPW+WDTHOLD;//关闭看门狗//初始化a=47;b=30;//上路舵机控制,中间,17~25~37//下路舵机控制,中间,17~47~81,此舵机参数为之前的设置Two_Channel_PWM_Produce();Init_TimerA();//定时器A初始化;//开中断//舵机初始化while(1){for(i=0;i<500;i++);//略等待while(TA_IFG==0)LPM3;TA_IFG=0;;//以下程序每2s执行一次If(TA_Count==16){;temp1=A

温馨提示

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

评论

0/150

提交评论