2015年电子设计大赛风板控制系统_第1页
2015年电子设计大赛风板控制系统_第2页
2015年电子设计大赛风板控制系统_第3页
2015年电子设计大赛风板控制系统_第4页
2015年电子设计大赛风板控制系统_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

2015Th赛I【高职高专组】2015815要MSP430PID据需求变化MPU6050位置变化并将液晶器上显示PWM驱。录1、角度检测、电机驱动、显示、电源组成,下面分别论证这几个的选择。与选择851的51TIMSP430F149综合比较以上两个方案,选择TI430设计需求。角度检测方案一:采用MMA7260MMA7260QT运动方的传据物运动方的电A/D,检测其运动方。mpu6050快速且测围,快速、直接将检测给制。制帆板角度是个快速处理的,方案一需采电路对AD进行采转化为数字量,综合考虑选择方案二。电机驱动设计的的在制机的因此电机驱动是不种。率晶体管路构法结构易实现路中了大量晶体管相互连接路复杂抗干扰力差我们知道实际实践程中重因此此中宜例如L298N、L297N等电机驱动芯部已考虑到了抗干扰安全靠行我们应时只考虑到连接问题就此种能性不需电设计,将重点放在算法实现软设计中,大大的提高了工作效率。上理论分,电机驱动选用方案二。显示44128x64驱动、角度检测等提供压分别降芯片机在78127805等率并且根据供角度确定动过需检测角度通过速度据以测得风板角度速度与角度存下关风速控制角度pid,片机输出PWM波形风板快速、准确调整。通过断调整P例)、I)、D微分值得到明响也快了各个参规律知例 P使反变快微DIPD与程序设计硬件设计机模块声光报警模块源模块单片机角度检测模块显示模块按键操作

MSP430F149、复位、时钟具设计角度测量设计

原理图本中要实时监控风板角度mpu6050角度从而馈给进行相操作。显示模块设计LCD12864

LCD12864L298N482123425、7、0、2ABMAB,对转速进行调节供电系统电路在在子及设备中般都需要稳定直流源供小功率稳压源组成它由源变压稳压分组成。直流稳压直流稳压源LM2596功能描述。:在键盘按下定板的角度后板15s内处于指定位置并55算法整来整板的位置。键盘置出相应板达到指定位置。:器板位置维持时间。思路系统程序由角度检测PID角度通过获取测量角度值来反馈给单片单片PWM节,从而达到需的角度。同时将对时采集的角度和按键值信息进行。流图程序总体程如所PWM程如所12864程如所。NYY 节 NNPYPWM128644、模拟示波器、示波器、万用、指针式万用、量角器、秒。1、硬件测试对各个模块进行测试,测试通过后使用。2、软件仿真测试对错误和不能正确实现部分进行调节和改正。3、硬件软件联调对整体功能实现进行进一步调节。406080100120130150405981101120131150pwm测试次数测试次数设定角度测试结果测试误差完成时间145265不带砝码38549051156135745865985带砝码10901111512135测试分析与结论PWM~s1、转PWM调控且成正比关系。2、实际与传感器检155设计总结不说我们在电赛中学到新知识是多么有价值也不用说它拓宽了多少眼界只是说它让我们力到提高就已足成为我们努力付回报。D动程。当我们动用,焊接技术它增我能力合作精神一个团队队员从第一个合作项目十分家各分工共同讨日后工作能力打下基础。给予家一交流习互帮互助增合作意老师帮助让感觉老师仅仅一个指像一个家长带领跟老师紧密感谢指老师也祝愿此圆满!1:原理图2:源程序#include<>#include""#defineP_DATA#defineI_DATA0#defineD_DATA0typedef{structPIDintSetPoint;//DesiredValuelongSumError; //doubleProportion//ProportionalConstdoubleIntegral//IntegralConstdoubleDerivative//DerivativeConstintLastError//Error[-1]intPrevError;//Error[-2]}PID;staticPIDsPID;staticPID*sptr=&sPID;voidIncPIDInit(inttarget){Const}

sptr->SumError 0; //的sptr->LastError0//Error[-1]sptr->PrevError0//Error[-2]sptr->Proportion=P_DATA//Proportionalsptr->Integral =I_DATA;//积分常数IntegralConst//微分常数sptr->SetPoint =target; ////PIDvoidPID_dat(unsignedinttarget){sptr->SetPoint=target; //}intIncPIDCalc(intNextPoint){registerintiError,iIncpid;//iError=sptr->SetPoint-NextPoint;//iIncpidsptr->Proportion*iError//E[k项-l*rk]项+e*;k]项sptr->PrevError=sptr->LastError;sptr->LastError=iError;//返回值}//位置式PID控制设计unsignedintLocPIDCalc(intNextPoint){registerintiError,dError;iError=sptr->SetPoint-NextPoint;//差sptr->SumError+=iError; //dError=iError-sptr->LastError;//微分sptr->LastError=iError;return(sptr->Proportion*iError//比例项+sptr->Integral*sptr->SumError//积分项+sptr->Derivative*dError);//微分项}#include<>#include""#include""#include<>#include<>intcunt=0;uchardis[5]; //(-511512)intdis_data;floatTvae(){int data_xyz[3];floatRoll,Pitch,zz,Q,T,K;data_xyz[0]=GetData(ACCEL_XOUT_H); //data_xyz[1]=GetData(ACCEL_YOUT_H);data_xyz[2]=GetData(ACCEL_ZOUT_H);Q=(float)data_xyz[0]*; //X,Y,Z10的T=(float)data_xyz[1]*;K=(float)data_xyz[2]*;Roll=(float)((atan2(K,T)*180/-90); //Xreturn-Roll);}voidlcd_printf(uchar*s,inttemp_data){if(temp_data<0){temp_data=-temp_data;*s='-';}else*s='';*++s=temp_data/100+'0';temp_data=temp_data%100; //*++s=temp_data/10+'0';temp_data=temp_data%10; //*++s=temp_data+'0';*++s='\0';}voidInitMPU6050(){//Single_WriteI2C(PWR_MGMT_1,0x80); //Single_WriteI2C(PWR_MGMT_1,0x00); //Single_WriteI2C(SMPLRT_DIV,0x07); //Single_WriteI2C(CONFIG0x06); //Single_WriteI2C(GYRO_CONFIG0x18); //Single_WriteI2C(ACCEL_CONFIG0x01);//加速计,G}//**************************************//合成数据//**************************************intGetData(ucharREG_Address){charH,L;H=Single_ReadI2C(REG_Address);return(H<<8)+L; //}//**************************************//1286410//**************************************intDisplay10BitData(intvalue){value/=64; //转换为10位lcd_printf(dis,value); //转换显//csj(y,x,dis);returnvalue;}voidI2C_Start(){SDA1; 拉高线SCL1; delayus(5); //延时SDA0; delayus(5); //延时SCL0; //拉低时钟线}//**************************************//I2C停止信号//**************************************voidI2C_Stop(){SDA0; //SCL1; //delayus(5); //SDA1; //上升沿delayus(5); //}//**************************************//I2C发送应答信号//入口参:ack(0:ACK1:NAK)//**************************************voidI2C_SendACK(ucharack){SDAOUT;if(ack)SDA1;elseSDA0;// SDA=ack; //写应答信SCL1; //delayus(5); //SCL0; //delayus(5); //}//**************************************//I2C接收应答信号//**************************************ucharI2C_RecvACK(){ucharcy;SCL1; //SDAIN;delayus(5); //if(SDADATA){cy=1;}else{cy=0;}// cy=SDA; //SCL0; //delayus(5); //SDAOUT;returncy;}//**************************************//I2C一个字节数据voidI2C_SendByte(uchardat){uchari;for(i=0i<8i++) //8{if((dat<<i)&0x80){}else{}

SDA1;SDA0;//SDA=cy; //SCL1; //delayus(5); //SCL0; //delayus(5); //}I2C_RecvACK();}//**************************************//I2C一个字节//**************************************ucharI2C_RecvByte(){uchari;uchardat=0,cy;SDA1; 使能内部上,准备读取SDAIN;for(i=0i<8i++) //8器{dat<<=1;SCL1; //delayus(5); //if(SDADATA){cy=1;}else{cy=0;}dat|=cy; //SCL0; //delayus(5); //}SDAOUT;returndat;}//**************************************//I2C一个字节//**************************************voidSingle_WriteI2C(ucharREG_Address,ucharREG_data){I2C_Start(); //起始信号I2C_SendByte(SlaveAddress); //发送地+信I2C_SendByte(REG_Address); //内部寄存器地址,I2C_SendByte(REG_data); //内部寄存器,I2C_Stop(); //发送停止信号}//**************************************//I2C取一个字节//*************************************

温馨提示

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

评论

0/150

提交评论