1、本科毕业设计(20届)多旋翼飞行器控制系统设计所在学院专业班级电气工程及其自动化学生姓名学号指导教师职称完成日期年月I摘要【摘要】多旋翼飞行器作为一种特殊结构的无人飞行器,可以适应多种复杂环境,具有重要的研究价值。设计的多旋翼控制系统选用的控制核心是MSP430FG4619,利用加速度传感器和陀螺仪测量飞行姿态数据,通过PID控制算法进行自主调节,利用SPI通信方式和无线模块通讯,然后发送和接收无线数据,PC端利用串口通信方式和EZ430套件进行通讯,从而实现无线数据的接收和发送,并且PC机上设计了相应的上位机软件用于观察飞行器飞行姿态的相关数据和发送相应的飞行器控制指令。【关键词】多旋翼飞行
2、器;控制系统;MSP430FG4619。IIABSTRACT【ABSTRACT】MULTIROTORAIRCRAFTCANADAPTTOAVARIETYOFCOMPLEXENVIRONMENTSTHATHASIMPORTANTRESEARCHVALUEASASPECIALSTRUCTUREOFTHEUNMANNEDAERIALVEHICLESTHEDESIGNOFMULTIROTORCONTROLSYSTEMCHOSEMSP430FG4619ASTHECONTROLCORE,USINGACCELERATIONSENSORSANDGYROSCOPESMEASURETHEFLIGHTATTITUD
3、EDATA,ANDSELFREGULATIONBYTHEPIDCONTROLALGORITHM,COMMUNICATEWITHWIRELESSCOMMUNICATIONMODULEBYSPI,THENSENDANDRECEIVEWIRELESSDATA,PCCOMMUNICATEWITHEZ430KITSBYSERIAL,THENENABLEWIRELESSDATARECEPTIONANDTRANSMISSION,ANDDESIGNEDAPCSOFTWAREUSEDTOOBSERVETHERELEVANTDATAOFTHEAIRCRAFTFLIGHTATTITUDEANDSENDTHEAPPR
4、OPRIATEVEHICLECONTROLCOMMANDS【KEYWORDS】MULTIROTORAIRCRAFTCONTROLSYSTEMMSP430FG4619III目录1绪论111课题来源及研究意义1111课题来源1112研究意义112国内外研究现状1121国内研究状况及发展趋势2122国外研究状况及发展趋势213课题内容22系统硬件设计321多旋翼飞行器控制系统总体设计方案322系统主要实现的功能与技术要求323MSP430单片机FG4619简介及接口设计4231MSP430FG4169简介4232MSP430FG4619引脚及功能424LSDRF4310N01无线模块简介和接口设计9
5、241LSDRF4310N01简介9242LSDRF4310N01接口设计1025EZ430RF5137套件简介1126MMA7361三轴加速度倾角传感器简介及接口设计11261MMA7361三轴加速度倾角传感器简介11262MMA7361三轴加速度倾角传感器引脚及功能12263MMA7361三轴加速度倾角传感器灵敏度选择13264MMA7361三轴加速度倾角传感器接口设计1327ENC03陀螺仪简介及接口设计14271ENC03陀螺仪简介14272ENC03陀螺仪接口设计1528新西达30A电子调速器模块简介1529新西达2212电机16210本章小结173系统软件设计1831主程序流程18
6、32初始化子程序19321系统时钟初始化19322PWM功能初始化20323AD转换功能初始化2133特殊功能子程序21331PWM调制子函数2134软件滤波算法简介22341滤波处理2235PID控制算法简介23351P环节24IV352I环节24353D环节2436PID调试介绍24361PID处理函数2437本章小结254上位机软件2741LABVIEW简介27411工具模板(TOOLSPALETTE)27412控制模板(CONTROLPALETTE)28413功能模板FUNCTIONSPALETTE28414程序结构30415图形显示30416串口功能3142上位机软件介绍33421界
7、面介绍33422功能介绍3443本章小结345调试总结与展望3551调试与总结3552展望36参考文献37致谢错误未定义书签。11绪论11课题来源及研究意义111课题来源本课题来源于学校实验室和企业合作的项目的延伸,一方面由于自己对于单片机在控制系统方面应用的爱好,另一方面为了能够积累足够的项目设计经验和实践课堂上学习得到的专业知识。课题主要任务是设计出多旋翼飞行器控制系统,并设计相应的上位机软件用于控制和观察系统的实时运行状态。112研究意义本项目设计的多旋翼飞行器控制系统可以作为后续项目开发的参考,并且使用的传感器可以在各种运动控制中得到运用,结合陀螺仪和加速度传感器的平衡计可以作为物体运
8、动最好的检测装置,项目积累的资料可以方便用于其他运动控制方面的项目的研究,在项目中设计的控制系统可以方便调试包括PID的各种控制方法。多旋翼飞行器由于增加了旋翼的个数,可以增加更多的负重,加上稳定的姿态算法可以适应各种场合,而且可以根据实际环境灵活调整算法,大大提高了控制系统的适应能力,并且多旋翼飞行器可以用于物资的运输和航拍等工作,作为一种新型的飞行器将深入更多领域。多旋翼飞行器中最具代表性的就是四旋翼飞行器,对四旋翼的研究意义任重而道远。四旋翼飞行器实际上是一类安装有四个螺旋桨的直升机,而且四个螺旋桨在平面上呈现十字交叉的结构。四旋翼飞行器飞行的动作是通过控制和调节周边四个螺旋桨产生的综合
9、升力大小来实现的。目前传统的旋翼式直升机一般通过改变它的螺旋桨的旋转速度、叶片的倾斜角和叶片的轮列角,从而既能够调整升力的大小,还可以调整升力的方向3。但是,与传统的旋翼式直升机不同,四旋旋翼飞行器只可以通过改变四个螺旋桨的速度来实现空中飞行时的各种飞行动作。总之,四旋翼飞行器的升力是四个螺旋桨速度的合成效果,而四旋翼飞行器的旋转力矩则是由四个螺旋桨速度的差异效果综合引起的。另外,要想从单个旋翼上增加拉力是很有限的,提高飞行器飞行时的负载能力的最有效的措施之一就是采用多旋翼结构形式,配合四旋翼结构存在的控制量较多的问题,需要通过设计合适的飞行器控制系统解决,并且有效地控制系统还必须有合适的传感
10、器装置辅助。四旋翼飞行器的旋翼以对称的形式安装在飞行器的支架端,并处于空间的同一高度的水平面上,支架中间的空间用于安放飞行控制系统的电路板和电源。12国内外研究现状2121国内研究状况及发展趋势国内随着航空军事的发展,众多的飞行航模爱好者纷纷组织团队研究各种飞行器控制系统,其中以研究多旋翼飞行器的人居多,并且许多开源项目能为广大爱好者提供参考资料。台湾泰世GUAI研发设计的四旋翼飞行器系列可以方便应用于各种场合,设计的结构可以增加摄像头和舵机,从而实现航拍的目的,但是价格较高,并且无法作为研究平台进行后续开发利用。122国外研究状况及发展趋势国外针对飞行器的研究与国内相比领先较多,无论是在商业
11、还是军事领域,多旋翼飞行器都是时下的创新点。在商业方面,IPHONE更是推出了与手机相配套的四轴飞行器装置,使用时可以通过手机界面对飞行器进行控制,而且有很好的保护结构,在使用时还是比较安全的,但是由于和手机操作系统绑定,并不适合用来研究和二次开发,更有一些航模玩具生产商研发了各种商品模型,在一定程度上受到了广大消费者的青睐,也引起了广大航模爱好者的追捧。在军事方面,随着战争凝聚的科技含量越来越高,加上对生命的重视,各国逐渐开始推崇各种无人飞行器,这样一来就可以大大较少在战争中战士的伤亡人数。无人驾驶的飞行器可以方便在各种人类无法到达的地域工作,特别的,在日本因为海啸事件导致的核电站的核泄漏事
12、故中,就采用了先进的无人飞行器对现场进行侦查工作,这样就能避免工作人员因为进入事故现场而受到辐射伤害3。13课题内容通过多旋翼飞行器原理的学习,设计多旋翼飞行器的控制器,实现多旋翼飞行器的平稳飞行。多旋翼飞行器控制系统设计的主要任务1)学习多旋翼飞行器的飞行、控制原理;2)合理选择控制器,设计控制方案;3)设计多旋翼飞行器的硬件控制电路;4)设计多旋翼飞行器的平衡控制算法;5)设计飞行控制软件,实现飞行器的飞行;32系统硬件设计本设计中的整个多旋翼飞行器控制系统的电子装置分为地面和机载两个部分地面设备包括无线模块、PC机及相应的上位机软件;机载的电子设备有飞行控制器模块、三轴加速度传感器模块、
13、三轴角速度传感器模块、无线模块及电子调速器和三相无刷电机。21多旋翼飞行器控制系统总体设计方案飞行器控制系统在工作的时候通过传感器采集飞行的姿态数据用于控制电机飞行,传感器包括三轴角速度传感器(即陀螺仪)和三轴加速度传感器。飞行器上的控制器需要连接无线模块,通过无线方式和连接到PC的无线模块进行数据通讯,从而实现将控制数据实时传输到上位机,并且可以实现使用上位机对飞行器进行控制的目的。飞行器控制系统的工作原理如图21所示MCUMCU无线模块PC无线模块蜂鸣器电子调速器三相无刷电机无线通讯串口通讯SPI通信传感器图21系统结构框图22系统主要实现的功能与技术要求设计的多旋翼飞行器控制系统主要包括
14、飞行器控制器和上位机软件,并研究和应用相应的控制方法,是飞行器能够实现飞行的目的的保证,通过上位机软件又可以实时查看飞行器飞行姿态数据,从而了解飞行器控制算法的效果。根据以上目的考虑,飞行器控制器应该具备以下条件1)具备多路模拟信号的采集功能,可以将三轴加速度传感器和三轴角速度传感器等各种传感器测量的模拟信号转换成为数字信号。2)具有多路的PWM输出功能,用来驱动相应的电机工作,从而实现飞行器的飞行功能;3)具有通信接口,可以实现SPI方式和无线模块通信,从而将数据发送出去并接收控制信号;44)需要充足的FLASH空间,用来存放各种算法。23MSP430单片机FG4619简介及接口设计231M
15、SP430FG4169简介德州仪器(TI)推出的MSP430微处理器(MCU)是一类基于RISC指令架构的16位的混合信号处理器,专门为满足超低功耗(ULP)需求而设计。MSP430MCU将智能外设、易用性、低成本以及业界最低功耗等优异特性完美结合在一起,能满足数以千计的应用要求,也必然能满足项目设计的需求。TI为MSP430MCU平台提供了强大的设计支持且配套提供了技术文档、培训、工具以及软件等,有助于设计人员大幅度加速产品的开发。MSP430FG4619是美国德州仪器公司生产的MCU芯片,具有很好的适应能力,能在18V到36V的条件下正常工作,并且具有超低功耗的特点,在活动模式下,即22V
16、工作电压和1MHZ的时候工作电流为400微安,在待机模式下仅为25微安,在关闭模式下(保留RAM)仅为035微安,共有5种低功耗模式,可以在很大程度上降低功耗,延长电池的时候用寿命,并且从待机模式唤醒至多需要6微秒,从而保证足够快的反应速度。MSP430采用的是16位的RISC指令架构,具有扩展的存储空间,操作循环时间为125纳秒。具体有以下特点内部3通道的DMA带内部参考源的12位AD转换器,具有采样保持和自动扫描的功能三个可配置的运算放大器同步有双12位的DA转换器带三个捕获/比较寄存器的16位定时器A带七个捕获/比较寄存器的16位定时器B片内比较器侦测电压可编程的电源电压比较器串口通信接
17、口可以通过软件选择同步UART通信或者同步SPI通信通用串行接口(增强型UART支持自动波特率检测功能、IRDA编码器和解码器、同步SPI、IIC)板载串行编程,可编程的安全熔丝用于代码保护掉电检测器具有实时时钟功能的基本定时器集成的稳压泵可以驱动多达160段LCD232MSP430FG4619引脚及功能如图22所示为MSP430FG4619的TQFP封装及引脚配置。图23为MSP430FG4619功能框图。5表21为MSP430FG4619的引脚说明。如图22MSP430FG4619的TQFP封装及引脚配置6图23MSP430FG4619功能框图表21引脚说明引脚编号引脚名称描述1DVCC1
18、数字电源接口2P63/A3/OA1O通用的I/O接口,模拟输入,12位ADC/OA输出3P64/A4/OA1I0通用的I/O接口4P65/A5/OA2O通用的I/O接口5P66/A6/DAC0/OA2I0通用的I/O接口6P67/A7/DAC1/SVSIN通用的I/O接口7VREFADC输出的正向参考电压8XIN晶振输入接口9XOUT晶振输出接口10VEREF/DAC0外部正向参考源的输入接口11VREF/VEREF内部或者外部参考源的负端接口12P51/S0/A12/DAC1通用的I/O接口,LCD段输出端13P50/S1/A13/OA1I1通用的I/O接口,LCD段输出端14P107/S2
19、/A14/OA2I1通用的I/O接口,LCD段输出端15P106/S3/A15通用的I/O接口,LCD段输出端16P105/S4通用的I/O接口,LCD段输出端17P104/S5通用的I/O接口,LCD段输出端18P103/S6通用的I/O接口,LCD段输出端19P102/S7通用的I/O接口,LCD段输出端20P101/S8通用的I/O接口,LCD段输出端21P100/S9通用的I/O接口,LCD段输出端22P97/S10通用的I/O接口,LCD段输出端23P96/S11通用的I/O接口,LCD段输出端24P95/S12通用的I/O接口,LCD段输出端25P94/S13通用的I/O接口,LC
20、D段输出端26P93/S14通用的I/O接口,LCD段输出端27P92/S15通用的I/O接口,LCD段输出端728P91/S16通用的I/O接口,LCD段输出端29P90/S17通用的I/O接口,LCD段输出端30P87/S18通用的I/O接口,LCD段输出端31P86/S19通用的I/O接口,LCD段输出端32P85/S20通用的I/O接口,LCD段输出端33P84/S21通用的I/O接口,LCD段输出端34P83/S22通用的I/O接口,LCD段输出端35P82/S23通用的I/O接口,LCD段输出端36P81/S24通用的I/O接口,LCD段输出端37P80/S25通用的I/O接口,L
21、CD段输出端38P77/S26通用的I/O接口,LCD段输出端39P76/S27通用的I/O接口,LCD段输出端40P75/S28通用的I/O接口,LCD段输出端41P74/S29通用的I/O接口,LCD段输出端42P73/UCA0CLK/S30通用的I/O接口43P72/UCA0SOMI/S31通用的I/O接口44P71/UCA0SIMO/S32通用的I/O接口45P70/UCA0STE/S33通用的I/O接口46P47/UCA0RXD/S34通用的I/O接口47P46/UCA0TXD/S35通用的I/O接口48P45/UCLK1/S36通用的I/O接口49P44/SOMI1/S37通用的I
22、/O接口50P43/SIMO1/S38通用的I/O接口51P42/STE1/S39通用的I/O接口52COM0用于LCD的COM端53P52/COM1通用的I/O接口,用于LCD的COM端54P53/COM2通用的I/O接口,用于LCD的COM端55P54/COM3通用的I/O接口,用于LCD的COM端56P55/RO3通用的I/O接口57P56/LCDREF/R13通用的I/O接口858P57/R23通用的I/O接口59LCDCAP/R33LCD电容连接接口60DVCC2数字电源正端接口61DVSS2数字电源负端接口62P41/URXD1通用的I/O接口63P40/UTXD1通用的I/O接口
23、64P37/TB6通用的I/O接口65P36/TB5通用的I/O接口66P35/TB4通用的I/O接口67P34/TB3通用的I/O接口68P33/UCB0CLK通用的I/O接口69P32/UCB0SOMI/UCB0SCL通用的I/O接口70P31/UCB0SIMO/UCB0SDA通用的I/O接口71P30/UCB0STE通用的I/O接口72P27/ADC12CLK/DMAE0通用的I/O接口73P26/CAOUT通用的I/O接口74P25/UCA0RXD通用的I/O接口75P24/UCA0TXD通用的I/O接口76P23/TB2通用的I/O接口77P22/TB1通用的I/O接口78P21/T
24、B0通用的I/O接口79P20/TA2通用的I/O接口80P17/CA1通用的I/O接口81P16/CA0通用的I/O接口82P15/TACLK/ACLK通用的I/O接口83P14/TBCLK/SMCLK通用的I/O接口84P13/TBOUTH/SVSOUT通用的I/O接口85P12/TA1通用的I/O接口86P11/TA0/MCLK通用的I/O接口87P10/TA0通用的I/O接口988XT2OUT晶振输出接口89XT2IN晶振输入接口90TDO/TDITEST数据输出接口,TEST数据输入接口91TDI/TCLKTEST数据输入接口,TEST时钟输入接口92TMSTEST模式的选择93TC
25、KTEST接口的时钟94RST/NMI复位接口95P60/A0/OA0I0通用的I/O接口96P61/A1/OA0O通用的I/O接口97P62/A2/OA0I1通用的I/O接口98AVSS模拟电源负端接口99DVSS1数字电源负端接口100AVCC模拟电源正端接口24LSDRF4310N01无线模块简介和接口设计241LSDRF4310N01简介LSDRF4310N01无线模块是基于TI射频集成芯片CC1101的射频模块,是一款高性能射频收发器,可广泛应用于各种场合的短距离无线通信领域。具有体积小、功耗低、传输距离远、抗干扰能力强等特点,模块未配置微控制芯片,主要用于客户二次开发,根据提供的资
26、料可以轻松实现数据收发的功能。常应用于楼宇自动集抄系统、遥测通讯、工业遥感、家居无线安防、机房电源、监控云台、风机设备无线遥控报警系统、有源RFID识别、PDA、医疗仪器、智能交通调度系统等。模块的功能特点如下宽工作电源电压范围为20V36V;工作频段为43310MHZ;发射功率最大为10MW(10DBM);灵敏度高达106DBM(432999MHZ、2400BPS);2FSK、GFSK、MSK、ASK/OOLK调制方式,提高了数据抗突发干扰和随机干扰的能力;低功耗发射电流40MA,接收电流23MA,睡眠电流40A;快速通道切换0I/延时WHILEIFG1/晶振失效标志仍存在322PWM功能初
27、始化VOIDPWM_INITVOIDTBCCR020000/PWM周期TBCCTL3OUTMOD_7/TBCCR1复位/置位TBCCR31000/TBCCR1PWM占空比TBCCTL4OUTMOD_7/TBCCR2复位/置位TBCCR41000/TBCCR2PWM占空比TBCCTL5OUTMOD_7/TBCCR1复位/置位TBCCR51000/TBCCR1PWM占空比TBCCTL6OUTMOD_7/TBCCR2复位/置位TBCCR61000/TBCCR2PWM占空比P3DIR|0X10/P34输出方向P3SEL|0X10/P34选择TB1功能P3DIR|0X20/P35输出方向P3SEL|0X
28、20/P35选择TB2功能P3DIR|0X40/P36输出方向21P3SEL|0X40/P36选择TB1功能P3DIR|0X80/P37输出方向P3SEL|0X80/P37选择TB2功能TBCTL|ID_3TBSSEL_2MC0TBIE/8分频SMCLK,增计数模式323AD转换功能初始化VOIDAD_INITVOIDP6SEL|0X3F/使能AD功能输入引脚ADC12CTL0SHT0_8MSCADC12ON/打开AD转换功能ADC12CTL1SHPCONSEQ_3/设置AD转换模式ADC12IE0X40/使能AD转换中断ADC12MCTL0INCH_0/AD转换通道0ADC12MCTL1IN
29、CH_1/AD转换通道1ADC12MCTL2INCH_2/AD转换通道2ADC12MCTL3INCH_3/AD转换通道3ADC12MCTL4INCH_4/AD转换通道4ADC12MCTL5INCH_5/AD转换通道5ADC12MCTL6EOSINCH_6/AD转换的结束通道口ADC12CTL0|ENC/使能AD转换功能33特殊功能子程序功能子程序包括PWM调制子函数、滤波函数、PID控制调节函数。331PWM调制子函数VOIDPWM_TESTUNSIGNEDINTMOTOR_1,UNSIGNEDINTMOTOR_2,UNSIGNEDINTMOTOR_3,UNSIGNEDINTMOTOR_4/用
30、于调整四通道PWM的脉宽IFMOTOR_11350MOTOR_11350/限制PWM输出的大小,防止失控22IFMOTOR_21350MOTOR_21350/限制PWM输出的大小,防止失控IFMOTOR_31350MOTOR_31350/限制PWM输出的大小,防止失控IFMOTOR_41350MOTOR_41350/限制PWM输出的大小,防止失控TBCTL|TBCLRTBCCR020000/PWM周期TBCCTL3OUTMOD_7/TACCR3复位/置位TBCCR3MOTOR_1/TACCR3PWM占空比TBCCTL4OUTMOD_7/TACCR4复位/置位TBCCR4MOTOR_2/TACC
31、R4PWM占空比TBCCTL5OUTMOD_7/TACCR5复位/置位TBCCR5MOTOR_3/TACCR5PWM占空比TBCCTL6OUTMOD_7/TACCR6复位/置位TBCCR6MOTOR_4/TACCR6PWM占空比TBCTL|ID_3TBSSEL_2MC0/8分频,SMCLK,增计数模式34软件滤波算法简介软件滤波算法主要用于处理传感器经AD转换后的数据,得到稳定且可靠的数据供运算控制使用,根据数据波动的特点要选择合适的算法是关键,合适的算法能得到有利于有效控制的数据,常见的滤波算法有限幅滤波法、加权平均滤波法、算术平均滤波法、一阶滞后滤波法等。341滤波处理由于控制需要得到具体
32、的飞行姿态数据,而传感器得到的数据存在一定的干扰,所以采用以下公式/KYYYY1KKKK滤波前图像如图34232400250026002700280029003000310015099148197246295344393系列1图34滤波前图像一滤波后图像如图35230023202340236023802400151101151201251301351系列1图35滤波后图像一35PID控制算法简介PID控制方法在工业控制系统中是应用最为广泛的一种控制方式。PID控制器就是按照偏差的比例大小(PROPORTIONAL)、积分效果(INTERGRAL)和微分效果(DIFFERENTIAL)进行控制,
33、PID控制器由于原理较通俗易懂,并且简单易于实现,所以在教学中也普遍被广大师生接受,在社会的普及程度相对较高5。UKUK1KPEKEK1KIEKKDEK2EK1EK2UK1UKEK2EK1EK1EK其中,UKUK1,余下项同前。通过测试调整参数KP、KD、KI。在飞行器控制系统中,传感器在飞行时测得的姿态参数和静止时得到的姿态参数进行对比,得24到的误差值就可以作为PID控制的输入,根据多次测试和调试可以得到较合适的PID参数。351P环节比例控制器主要表现为成比例地反映控制系统的偏差信号ET,一旦控制系统有偏差产生,随即控制器马上产生控制作用,从而达到减少偏差的效果。352I环节积分控制器主
34、要用于消除系统的静差,从而提高系统的无差度。其中积分作用的大小取决于积分时间常数TI,积分时间常数越小,积分作用越强,反之则会越弱。在数字PID控制算法中,积分控制分量的引入主要是为了消除静差,提高系统的精度,但是在启动、停车或者大幅度改变设定值时,由于产生较大的偏差值,加上系统本身的惯性和滞后的效果,在积分作用下,计算得到的空置量将超出执行机构可能的最大动作范围对应的极限控制量,也就是说执行机构进入饱和状态,结果产生系统输出了较大超调现象,甚至引起系统长时间的振荡,大多数的控制系统对于这一点是不能承受的。所以可以引入积分分离PID算法,既可以保持积分作用,又可以减少超调量,是系统的控制性能得
35、到较大的改善。其中积分分离PID算法的基本思想是在偏差EK较大时,暂时取消积分的作用;当偏差值EK小于某个阈值时,才引入积分作用。353D环节微分控制器能反映偏差的变化趋势(即变化速率),并且能在偏差信号变得过大之前,引入有效地早期修正信号,从而加快系统的响应速度,在一定程度上缩短调整的时间。36PID调试介绍361PID处理函数STRUCT_PIDINTPVINTSPFLOATINTEGRALFLOATPGAINFLOATIGAINFLOATDGAININTDEADBANDINTLAST_ERRORFLOATPID_CALCSTRUCT_PIDPID25INTERRFLOATPTERM,DT
36、ERM,RESULT,FERRORERRPIDSPPIDPVIFFABSERRPIDDEADBANDFERRORFLOATERRPTERMPIDPGAINFERRORIFPTERM100|PTERMINTEGRAL00ELSEPIDINTEGRALPIDIGAINFERRORIFPIDINTEGRAL1000PIDINTEGRAL1000ELSEIFPIDINTEGRALINTEGRAL00DTERMFLOATERRPIDLAST_ERRORPIDDGAINRESULTPTERMPIDINTEGRALDTERMELSERESULTPIDINTEGRALPIDLAST_ERRORERRRETUR
37、NRESULT37本章小结本章节主要介绍了控制系统的软件设计思路,主要的控制方式为利用传感器得到的检测数据进26行判断处理,继而输出4路PWM调制的信号控制4个电机的运行。选择了常用的PID控制器作为飞行器控制系统的控制算法。PID自由的选择方式可以方便用户在实际应用过程中根据具体的环境选择合适的PID控制方式,比如单纯的P控制方式,或者PI控制方式,或者PD方式等等,在实际测试过程中发现PID控制方式比较适合飞行器控制系统,后续还可以结合更多飞行器相关学科的运动控制理论进行控制。274上位机软件本设计中选择了LABVIEW作为上位机的编程软件,主要考虑到LABVIEW的编程简单而且容易理解,
38、在编写串口通信程序时相对直观,并且编写的程序界面比较专业化。41LABVIEW简介LABVIEW(LABORATORYVIRTUALINSTRUMENTENGINEERING)使用的是一种图形化的编程语言,广泛地被学术界、工业界以及研究实验室所接受,被作为一个标准的仪器控制和数据采集的软件。LABVIEW集成了满足RS232和RS485等通信协议的硬件和数据采集卡通讯的几乎所有功能。它是一个功能强大的软件,使用它可以方便地建立自己的虚拟仪器,而且图形化的界面使得编程和使用过程都更加生动有趣。使用图形化的程序语言编程基本上不用写程序代码,而是用流程图。它提供了实现数据采集系统和仪器编程的便捷途径
39、,使用它进行原理设计、测试时,可以大大提高工作效率8。LABVIEW可生成独立运行的可执行文件,和许多的软件一样,LABVIEW提供了面向WINDOWS和LINUX等多种版本。411工具模板(TOOLSPALETTE)该模板提供了用于创建和调试VI程序的工具。不同工具具有不同的功能,可以根据实际操作需求进行选择如表41。表41工具图标图标名称功能1OPERATEVALUE(操作值)用于操作前面板的控制以及显示。2POSITION/SIZE/SELECT(选择)用于选择、移动或改变对象的大小。3EDITTEXT(编辑文本)用于输入标签文本或者创建自由标签。4CONNECTWIRE(连线)用于在流
40、程图程序上连接对象。5OBJECTSHORTCUTMENU(对象菜单)用鼠标左键可以弹出对象的弹出式菜单。6SCROLLWINDOWS(窗口漫游)使用该工具就可以在不需要使用滚动条的情况下在窗口中使用鼠标抓住面板进行拖动操作。7SET/CLEARBREAKPOINT(断点设置清除)使用该工具可以在VI的流程图上设置断点。8PROBEDATA(数据探针)可在框图程序内的数据流线上设置探针,用于观察数据的变化。289GETCOLOR(颜色提取)使用该工具来提取颜色来编辑其他的对象。10SETCOLOR(颜色设置)用来给对象定义颜色。412控制模板(CONTROLPALETTE)该模板可以给前面板设
41、置各种所需的输入控制对象和输出显示对象,如表42所示。每个图标均代表了一类子模板。表42控制模板图标子模板名称功能1NUMERIC(数值量)数值的控制和显示。2BOOLEAN(布尔量)逻辑数值的控制和显示。3STRINGDOWN控制按钮与键盘的PAGEDOWN键绑定,按下时会通过串口发送一次数据0X32STOP控制按钮与键盘的END键绑定,按下时会通过串口发送一次数据0X33422功能介绍接收串口端口上的数据帧,并显示在显示框中,也可以选择发送数据。上位机的示波器显示要求接收的数据帧格式为01XXXX02XXXX03XXXX04XXXX05XXXX06XXXX07XXXX其中,01代表信号编号
42、;XXXX代表发送的一组16进制数据的高位和低位;其余数据可依次类推,设计了7通道的示波器,故最多可以同时显示7路的数据。另外,可以自行通过串口发送特定命令作为控制指令控制飞行器上的控制器作出相应的反应。上位机软件还允许用户将当前的数据保存成EXCEL的文档,并保存到指定的目录位置下,可以方便用于后续分析处理。43本章小结利用LABVIEW可以方便的编写具有串口功能的上位机软件,使用以上上位机软件可以方便对飞行器的飞行实时数据进行显示,并可以通过键盘按钮进行数据的发送,方便作为控制器发送控制信号。355调试总结与展望51调试与总结利用LABVIEW查看飞行器的姿态在变化时,PID控制的调节作用
43、的变化情况,图51为实验调试PID控制效果的图像,图52为飞行器飞行启动的图像。图51实验调试PID控制效果由调试效果图可以看出,如当X轴的角度变化时,第一通道和第三通道的PWM值就产生了相应的变化,为了能增快调节的速度,通道一和通道三的PWM控制信号对称的进行增加和减少,从而实现总体上尽量保持飞行器不容易产生空中自旋的运动;如当Y轴的角度变化时,第二通道和第36四通道的PWM值就产生了相应的变化。说明PID控制系统能够针对飞行器姿态的变化的大小对电机的控制信号产生相应调整,在实际调试中可以通过多次实验的方式选择合适的控制调整参数,以实现有效、快速和稳定的调整目的。图52飞行器飞行启动图像由图
44、中可以看出飞行器在启动时会产生一个很大的波动,其原因主要是由于飞行器在静止时是均匀同步加速,但是四个电机由于生产工艺和安装等因素总会存在一定的差异,因此在离地时总会出现倾斜的现象。控制器在得到传感器的数据后会迅速做出判断,从而调节飞行器的电机的转速,以最快速度进行调整。52展望设计的多旋翼控制系统由于自身的资源优势,可以扩展其他功能以达到某些特殊的使用目的,在增加GPS导航、视屏等功能后能用于定点飞行和航拍等工作,具有很大的开发潜力,适合作为试验开发的平台。37参考文献1胡寿松自动控制原理M北京科学出版社,2007,062433042郑祥明,昂海松基于多传感器技术的微型飞行器智能组合导航技术研
45、究J宇航学报,2007,05118511893陈国栋,贾培发,刘艳微型飞行器十年J国外科技动态,2005,0229334韩京清自抗扰控制器及其应用J控制与决策,1998,0119235韩京清从PID技术到“自抗扰控制”技术J控制工程,2002,0313186石文蕊,李彦华微型飞行器对传统思维的挑战J航空兵器,2000,0532377翁梓华,黄太平,吴金明,林淑芬,莫位平微型飞行器的研究进展和主要技术J航空制造技术,2005,02981028宋征宇飞行控制软件可靠性设计J导弹与航天运载技术,1997,017119邓以高,田军挺,王亚锋,雷军委飞行器姿态控制方法综述J战术导弹控制技术,2006,0
46、271310王美仙,李明,张子军飞行器控制律设计方法发展综述J飞行力学,2007,021411KE,F,NEUSIPIN,KABINGGONGXUEBAO/ACTAARMAMENTARII2010,31,7,PP93994912EDGARNSANCHEZ,HECTORMBECERRA,CARLOSMVELEZCOMBININGFUZZY,PIDANDREGULATIONCONTROLFORANAUTONOMOUSMINIHELICOPTERJINFORMATIONSCIENCES,2007,177101999202213JAMESJTROYCHARLESAERIGNACPAULMURRAYHA
47、PTICSENABLEDUAVTELEOPERATIONUSINGMOTIONCAPTURESYSTEMSJJOURNALOFCOMPUTINGANDINFORMATIONSCIENCEINENGINEERING,20091214AHMEDRUBAAI,MARCELJCASTROSITIRICHEDSPBASEDIMPLEMENTATIONOFFUZZYPIDCONTROLLERUSINGGENETICOPTIMIZATIONFORHIGHPERFORMANCEMOTORDRIVESDELECTRICALANDCOMPUTERENGINEERINGDEPARTMENT,200591238附录一
48、下面的附图为实验调试的照片3940附录二下面的附图为系统总体电路设计1234ABCD4321DCBATITLENUMBERREVISIONSIZEA4DATE18MAY2011SHEETOFFILECUSERSADMINISTRATORDESKTOPNN我的毕业设计资料整理SCHF4DDBDRAWNBYDVCC11P63/A3/OA1O2P64/A4/OA1I03P65/A5/OA2O4P66/A6/DAC0/OA2I05P67/A7/DAC1/SVSIN6VREF7XIN8XOUT9VEREF/DAC010VREF/VEREF11P51/S0/A12/DAC112P50/S1/A13/OA1
49、I113P107/S2/A14/OA2I114P106/S3/A1515P105/S416P104/S517P103/S618P102/S719P101/S820P100/S921P97/S1022P96/S1123P95/S1224P94/S1325P93/S1426P92/S1527P91/S1628P90/S1729P87/S1830P86/S1931P85/S2032P84/S2133P83/S2234P82/S2335P81/S2436P80/S2537P77/S2638P76/S2739P75/S2840P74/S2941P73/S30/UCA0CLK42P72/S31/UCA0SOMI43P71/S32/UCA0SIMO44P70/S33/UCA0STE45P47/S34/UCA0RXD46P46/S35/UCA0TXD47P45/UCLK1/S3648P44/SOMI1/S3749P43/SIMO1/S3850P42/STE1/S3951COM052P52/COM153P53/COM254P54/COM355P55/R0356P56/LCDREF/R1357P57/R2358LCDCAP/R3