付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘中工业化要求,引起人们的极大的研究。课题使用瑞萨的编程软件CubeSuite+进行编程,全部代码包含了飞行数据获得,加速度计滤波,数据融合,PID控制,生成等部分,同时预留了无线通讯模块,便:四轴飞行器;瑞萨;姿态控FouraircraftcontrolsystemWiththeimprovementofthelevelofindustrialization,peopleputforwardthenewrequirementsofindustrialinligentoperationoftheairfield,thereisaneedforanaircrafttomeettherequirementsoftheseadvantages:carryingcapacity,flightstability,fastandconvenient,flexibleoperation.Multiaxleaircraftfullyqualifiedfortheserequirements,whilefouraircraftbecausefeweraxes,easytocontrol,andotherconditionsmeettherequirementsofindustrialization,whichattractedmuchresearchinterest.Basedonsomeexistingtechnology,combinedwiththeexistinghardwareresources,Icompletethefouraircraftcontrolsystemdesigned,andachievedthebasicflightfunctions,completetheassignedflightattitudeandperformthespecifiedflightroutes.ThesubjectusetheRenesasdedicatedprogrammingsoftwareCubeSuite+programmingcodethatcontainsalltheflightdataacquisition,accelerometerfiltering,datafusion,PIDcontrol, part,andreservesthewirelesscommunicationmodule,tofacilitatefutureexpansion.:Fouraircraft;Renesas;attitude第1章引 课题研究背景和意 四轴飞行器的发展历 研究现状及发展趋 四轴飞行器的特 第2章整体思路和器件设 整体的设计思 飞行模式设 电子调速器的设 瑞萨R5F100LEA介 第3章设计的主体内 硬件电路部 软件实现部 四元 欧拉 数据融 代码部 第4章结果分析和讨 第5章结 致 参考文 附 1章引言课题研究背景和意,就有明朝万户绑着47根火箭飞天的故事,在文艺复兴时期,伟大的科学家,博学家也曾设计出一种很独特的飞行器,令世人惊叹其艺术价值和科学研究1903行,给人类的飞行历史拉开了异常光彩的大幕。1907年Breguet兄弟设计并制造了人类第一架旋翼式飞行器[2],这是由四根作为支架的飞行器只能携带离地1.5m,并且没有用到任何控制1-1。1-1Breguet-Richet1921年,GeorgeDeBothezat与军方合作,在部制作了一架大型的四旋翼直升机[3],如图1-2。其中,这四个旋翼都是由同一个发动机带动,并且完成了拉器的表现不很满意,没有达到军方的要求,导致没有继续。1-2DeBothezat1-3Oemichen1953RollsRoyceTMR,用于10分钟飞行用油,性能很差,如图1-41956年,Convertawing公司在纽约制造了一架四旋翼直升机[5],如图1-5。它5.79m,整个设计工程获得很大的成功,但是由于后来缺乏对四旋翼飞行器的研究的,导致整个项目的停止。1-5Convertawings来执行空中任务,例如定点巡线,航拍,空中,地形勘察,人员搜救等飞行任务,目前,在航模四轴飞行器中,以Drgnflyer公司的DrgnflyerⅢ为典型代表,它是世界著名的航模四轴飞行器,常用于航拍[6]。规格尺寸为长76.2m,18m481.1g28mPU控9.6V、600mAh5min30g。DraganflyerX-Pro是DraganflyerⅢ的增强型版本,和DraganflyerⅢ相比,拥有新3000mAh5~6min。在自主飞行器系统方案中,GTMARS设计了一种典型的CAD在第17届直升机学生设计竞赛中获得第一名,它重20kg,旋翼半径0.92m,30minGTMARS随四面体着陆器登陆火星后,能自动将机构展72km/h,还能返回到着陆器补充能量[7]。做OS4究的控制算法有很多,其中有PID,LQ,Backstep,Sliding-mode等算法,主要用于飞2006年OS4II实现了基于惯性导航的自主悬停。HMX4为最主要代表,该四轴飞行器在飞著名的公司2014年也推出了一个ProjectTango的实验项目[8],由宾夕法eicoptr的飞行器则开创了四轴飞行以完成多飞行器协同飞行和自主飞行。,我国的四轴飞行器起步较晚,大2000年时开始研究,现在国防科技大学,哈尔滨工业大学航天航空大学和西北工业大学等都已经建立了动力学方程和运动学关键技术仍待解决,有很多仍需面对。,四轴飞行器的保证四轴飞行器能稳定快速准确的抵抗各种飞行状况的干扰,平稳的按照预定程序飞进步发挥应有的作用。R5F100LEA对四轴飞行器姿态的解算和控制的研2章整体思路和器件设置整体的设计思2-1整机由11.1v电源同时给和电机供电,其中R5F100LEA为瑞萨,作为整个飞行控制的部件需要5v电压所以在11.1v电源和瑞萨间加了一个电源转换模块,为瑞萨提供电源。11.1v电源可以直接加在电调上,驱动电机。MPU6050实时测量当前机体的角速度和直线加速度,然后由R5F100LEA通过IIC协议实时获得当前的数据,然后通过相应的算法计算电机的信号,通过发送给电调,由电调控制电机到达期望的转速,获得期望的态,如果和期望不一致,则MPU6050就会检测到不一致的信号,则瑞萨会通知电飞行模式设的力,飞行器的旋转,这样就可以维持整个飞行器的平衡。而四轴飞行器则是通过四个旋翼的旋转方向的不同来防止飞行器发生自旋的。其平衡。在四轴飞行器的飞行模式中,有X在十字模式中,飞行器的飞行是沿着电机的连线进行旋转和飞行,因为在十字模式2,即可完成指定的姿态,因此,这个控身调整时间较长。在X2-2中的X-Y轴进行飞行和旋转,前进方向与两个电机中间本文使用的是X态是偏航,翻转,倾斜,以及沿着xyz2-2:2-2x3,41、2号电机不同则会产生翻转的3、41、2号电机,则尾部上翘,反之,则头部上翘。沿着x轴的平移2、3号电机速1、4号电机速度不同,并且保持一2、31、4号电机时,整机向右平移,沿着y轴的倾斜2、3号电1、4号电机速度不同,则会产生倾斜2、31、4号电机,则右倾,反之,左倾。沿着y轴的平移3、4好电机速度持1、2号电机不同,则会产生沿y3、41、2号电机时,向前平移,反之,航,即以z2、4号电机扭矩大时,为逆时针旋转。2-164量程±2000dps,16IIC量程±8G,16直径:450MM283870DYS40A桨10453300mAh20c2-3电子调速器的设未统一设置电调的工作模式的时候,测得信号和电机的转速之间的关系如2-48000转的差值,并且很多时候会发生,一个电机转速很快,而另一个电机还没有开启,将油门打到最高,电调接上电池2秒,鸣叫“哔哔”5秒,会鸣叫“56712”特殊提示音,表示已经进入编程模式。后,3“哔-哔-”,为连续两个短音时,其含义表示为选择电池类型,有“锂电5080%动,进角为低进角。此时测得占空比和步进电机转速之间的关系如图25:2-5瑞萨R5F100LEA介在研究四轴飞行器的资料中,基本上大部分都是使用的热门的STC系列单片机,而本课题则是以瑞萨的R5F100LEA为。瑞萨RF100LEA是一款常用于医疗领域的MCU,其中,晶振频率是32MHZ,拥有8位*32个通用寄存器,16位定时器,IIC通信串行接口,VDD为1.6-5.5V。在设计中, 输出端口,即3,21,39,40端口,这也是本次课题的难点和关键3章设计的主体内容硬件电路部根据相应的管脚图和资料,首先焊接电源部分,为瑞萨MCU和MPU6050供电,再将瑞萨和MPU6050焊接起来,测试其是否能正常工作。然后,将四路完毕后,拆下螺旋桨,方便以后再测试代码部分。本次设计使用的是瑞萨RL78/G13开发套件,套件的硬件部分包括Emulator板,即仿真器,其USB接口,用于连接PC5-pin引脚则是连接瑞萨的MCU部分,其中,将Emulator板的跳线连接,就可以给MCU板供电(5,<200mAMCU部分的硬件器件则是瑞萨的MCU板,其包括RL78/G13(R5F100LE)和全部的编程软件Cubesuite+编写相应的实现代码,生成HEX文件,通过调试或者直接烧录程序到MCU中,完成代码的编写和调试。软件实现部为q=w+xi+yj+zk,其中,xyz0时,q为实数,z0时,为以前学习的复数,当xyz0时,wxyz就是所谓的四元数了。可以按照旋转xyzyz的次序依次旋转xyz轴,也可以选定一个旋转轴,围绕该旋转轴直表示为θ,3-1:w
(3-XYZx轴的向量,现将其绕y轴旋转至平行于zz轴的旋转都改变不了向量其中,wxyz为四元数参数,φθψ 2wxyz)
y2
zx))
(3-
xy) arctan 12(y2z2MCUMPU6050传感器中实时获得陀螺仪和加速度计的数据,但是解决数据的处理问题,即将上述数据通过一定的算法得到飞行器的实时的姿态。SebastianO.H.Madgwick提出了梯度下降法计算姿态[9],MarkEuston提出了运算量互补滤波法是由MarkEuston3-1。代码部
3-1RL78/G13开发套件编写开发而成,有专门的使用说明书和快速入门教程,其中代码编程部分则是使用瑞萨的编程软件CubeSuite+编写的,有的代码断及四路输出,然后生成代码的框架。由于在代 中已经定义了部分需要的数据地址,但是由于还需要和MPU6050进行IIC通信,所以,也需要将MPU6050的头文件等信息写入,同时,在整r_main输出,占空比为50%,持续7秒,给步进电,然后初始化PU605,设置PID1ms1ms32。 延时7s,MPU6050,PID参数,r_cg_timer_userr_cg_era_usr包含全部具体处函数有MU6050_ea,Da_ yss,A_er,Get_Attitude等函数,主要是由定时MPU6050数据,Acc滤波,3-2r_main.c文件重要内容如下void R_TAU0_Channel0_Start();//开启输出,50%占空比Delay(7000);//7sPid_init();//PIDwhile(1U){}//进入死循环}在r_cg_serial_user,r_cg_timer_user中编写相应的数据处理和控制算法的内容。飞行器的性较大,也不便来回烧录程序进行实际飞试,因此在未进行飞试interruptstaticvoid{staticuint8_tms0;//2msstaticlongnn=0;//定时函数,在测试四轴飞行器的定时停机的功能时可以使用 ACC_Fliter();//acc滤波。if(ms==2)//定时2ms,则执行内部语{Get_Attitude();//获取姿态Control(Q_ANGLE.X,Q_ANGLE.Y,Q_ANGLE.Z,0,0,0);//2ms产生一次控制ms=0;//将ms0,用于后续的定时执行。 #defineMoto_Max//根据具体的定时器选择合适的floatGet_MxMi(floatnum,floatmax,floatmin)//将幅度限制为min到max之间{if(num>max)returnmax;elseif(num<min)returnmin;elsereturnVoidMoto_Rflash(uint16_tMOTO1_,uint16_tMOTO2_,uint16_t{if(MOTO1_>Moto_Max)MOTO1_=Moto_Max; MOTO2_=Moto_Max; MOTO3_=Moto_Max; MOTO4_=Moto_Max;if(MOTO1_<0)MOTO1_=0;if(MOTO2_<0)MOTO2_=if(MOTO3_<0)MOTO3_=0;if(MOTO4_<0)MOTO4_=//防 过大或者过小时,螺旋桨转速变化过大,出现事TDR01=MOTO1_+90;TDR02=MOTO2_+20;TDR03=MOTO3_+195;TDR04=MOTO4_; 的具体产生方式;根据具体步进电机特性,小幅度修 的数值}voidControl(floatrol_now,floatpit_now,floatyaw_now,floatrol_tar,floatpit_tar,floatyaw_tar)对当前姿态与期望姿态进行整合与计算,从而产生去驱动电调以达到期望 floatrolrol_tarrol_now;//将当前翻转角,倾斜角,偏航角加上增加的角度。floatpit=pit_tar+pit_now;floatyaw=yaw_tar+yaw_now;PID_ROL.IMAXthrottle/100;//限制PIDPID_PITCH.IMAX=PID_ROL.poutPID_ROL.P*rol;//对翻转角,倾斜角进行PPID_PITCH.pout=PID_PITCH.P* pit_now*pit_now<36)//当在小角度的时候,进行积分调节,减小变化角度,维持四{PID_ROL.iout+=PID_ROL.I*rol;PID_PITCH.iout+=PID_PITCH.I*PID_PITCH.iout=Get_MxMi(PID_PITCH.iout,PID_PITCH.IMAX,-AX);}//认为在平衡位置(小角度内动态平衡)时,积分进行更新,积分进行PID_ROL.dout=PID_ROL.D*//进行DPID_PITCH.dout=PID_PITCH.D*//将ROL,PITCH,YAW的PID调节后的值相加,就是需要调整的数值PID_ROL.OUT=PID_ROL.pout+PID_ROL.iout+PID_ROL.dout;PID_PITCH.OUTPID_PITCH.poutPID_PITCH.ioutPID_PITCH.dout;PID_YAW.OUT=PID_YAW.pout+PID_YAW.iout+PID_YAW.dout;moto1=throttle-PID_PITCH.OUT-PID_ROL.OUT;moto2=throttle+PID_PITCH.OUT-PID_ROL.OUT;moto3=throttle+PID_PITCH.OUT+PID_ROL.OUT;moto4=throttle-PID_PITCH.OUT+PID_ROL.OUT;if(moto1<0)moto1=0;if(moto2<0)moto2=0;if(moto3<0)moto3=0;if(moto4<0)moto4=0; Moto_3-33-44章结果分析和讨论扰的抵抗性能,调节p参数,测试其回复力,将四轴一边倾斜,松手后,飞行器能迅速i参数在固i参数,使得四轴飞行器不会因为长时间数值运算导致误差越来越大,将四大,所以,通过在最后的输出的过程前,给每个电机加上适当的占空比5章结论器的整体调试,同时还要测试四个步进电机的不同时的转速,工作量较大,本GPS模块,使得飞行更加稳定,并完成整个毕业设计和。[1]四轴飞行器-百科,自由的百科全书[3],四旋翼飞行器自动驾驶仪设计[M].航空航天大学[4],四旋翼飞行器控制系统设计[M].哈尔滨工业大学[5],四旋翼无人直升机先进飞行控制方法及实现研究[M].航空航天大学2013[6],三自由度飞行器模型的模糊PID控制研究[M].东学[7],小型四旋翼飞行器飞行控制系统研究与设计[M].交通大学网易数码谷歌ProjectTango项目:飞行器在室内也能准确飞往目标位 SebastianO.H.Madgwick,AndrewJ.L.Harrison,RaviVaidyanathan.EstimationofIMUandMARGorientationusingagradientdescentalgorithm[J].IEEEInternationalConferenceonRehabilitationRobotics.2011.MarkEuston,PaulCoote,RobertMahony,JonghyukKimandTarekHamel.AComplementaryFilter InternationalConferenceonIn ligentRobotsandSystems.2008.r_cg_serial_user.c内voidData_ysis(void)//获取实时的加速度计所测得的直线加速度和陀螺仪测得的角{staticuint8_tGYRO_OFFSET_OK=0;//陀螺仪标志位staticuint8_tACC_OFFSET_OK =0;//加速度计标志位-MPU6050_ACC_LAST.Y=((((int16_t)mpu6050_buffer[2])<<8)|mpu6050_buffer[3])-MPU6050_ACC_LAST.Z=((((int16_t)mpu6050_buffer[4])<<8)|mpu6050_buffer[5])-MPU6050_GYRO_LAST.X=((((int16_t)mpu6050_buffer[8])<<8)|mpu6050_buffer[9])-GYRO_OFFSET.X;MPU6050_GYRO_LAST.Y=((((int16_t)mpu6050_buffer[10])<<8)|mpu6050_buffer[11])-GYRO_OFFSET.Y;MPU6050_GYRO_LAST.Z=((((int16_t)mpu6050_buffer[12])<<8)|if(!GYRO_OFFSET_OK)//清除陀螺仪初始误{staticint32_ttempgx=0,tempgy=0,tempgz=0;staticuint8_tcnt_g=0;{tempgx=tempgy=tempgz=cnt_g=1;}tempgy+=MPU6050_GYRO_LAST.Y;tempgz+=if(cnt_g==200)//累加200{ t_g;// cnt_g=GYRO_OFFSET_OK1;//一个常量来零偏,这样就不用开机计算零偏了;}}if(!ACC_OFFSET_OK)//清除加速度的零{staticint32_ttempax=0,tempay=0,tempaz=0;staticuint8_tcnt_a=0;{ACC_OFFSET.Z=tempax=tempay=tempaz=cnt_a=1;}tempay+={ cnt_a=ACC_OFFSET_OK=}}}voidACC_Fliter(void)//acc{staticuint8_t staticuint8_tFILTER_NUM=20;//累加static ACC_X_BUF[20],ACC_Y_BUF[20],ACC_Z_BUF[20];//数int32_ttemp1=0,temp2=0,temp3=0;//临时累加数uint8_t t]={temp1+=ACC_X_BUF[i];temp2+=ACC_Y_BUF[i];temp3+=}ACC_AVG.Z=temp3/ GYRO_I.ZMPU6050_GYRO_LAST.Z*Gyro_G*0.001;//0.001floatmath_rsqrt(floatnumber)//1/sqrt(number)sqrt函数了,为了加快运行速度使用一{longfloatx2,x2=number*0.5F; =number; =*(long*)&y;//evilfloatingpointbitlevelhacking =0x5f3759df-(i>>1);//whatthe =*(float*) =y*(1.5F-(x2*y*y));//1stiterationreturn1/y;}voidIMUupdate(floatgxfloatgyfloatgzfloatax,floatayfloataz)//四元数融合数{floatnorm;floatvx,vy,vz;floatex,ey,floatq0q0=q0*q0;floatq0q1=q0*q1;floatq0q2=q0*q2;floatq1q1=q1*q1;floatq1q3=q1*q3;floatq2q2=q2*q2;floatq2q3=q2*q3;floatq3q3=norm math_rsqrt(ax*axay*ayaz*az);//acc数据归一ax=axnorm;//ayaynorm;//表征重力在三个轴上的分量,即表示机体的姿态az=az/norm;//属于测量值//estimateddirectionofgravityandflux(vandvx=2*(q1q3 //余弦矩阵最后一行,表示机体zvy2*(q0q1q2q3);//XYZvz=q0q0-q1q1-q2q2+q3q3//errorissumofcr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- ISO 19085-162021 木工机械.安全.第16部分台式带锯和带锯标准立项发展报告
- 即墨市2026-2027学年三年级数学第一学期期末监测模拟试题含解析
- 云南体育运动职业技术学院《英语听说(Ⅰ)》2026-2027学年第一学期期末试卷含解析
- 邛崃市教育系统招聘考试真题2025
- DNA聚合酶基因作为肝胆肿瘤标志物的研究及结直肠癌肝转移免疫基因预后分型的构建
- 基于硼酸酯键的可溶性水凝胶制备及性能研究
- 数字经济背景下数据安全治理体系构建的理论与实践
- 平台经济形态下数字生态系统演化机制与治理研究
- 挤塑板保温施工方案
- 仓库打包员绩效工资考核
- GB 47501-2026旋转电机安全技术规范
- 2026年4月自考13683管理学原理(中级)试题试题及答案
- 月球基地能源系统优化-洞察与解读
- 学校中层管理岗位选聘与考核管理方案(2026年修订版)
- 2026中国镁期货品种开发必要性及路径选择报告
- 雨污分流管道清淤与维护方案
- (2025年)哈密市伊吾县辅警考试公安基础知识考试真题库及参考答案
- 2026年浙江省杭州市中考科学试题卷(含答案)
- (正式版)DB50∕T 1915-2025 《电动重型货车大功率充电站建设技术规范》
- GB/T 23932-2025建筑用金属面绝热夹芯板
- 货运夏季安全常识培训课件
评论
0/150
提交评论