基于STM32F4的四轴航拍飞行器
- 格式:docx
- 大小:1.66 MB
- 文档页数:17
基于STM32的四轴飞行器设计引言:四轴飞行器(Quadcopter)是一种重量轻、机动性强的飞行器,在无人机技术中应用广泛。
本文将介绍基于STM32的四轴飞行器设计。
一、STM32介绍:STM32是意法半导体公司推出的一款高性能32位微控制器系列,它具有强大的计算处理能力和丰富的外设资源,非常适合用于四轴飞行器的设计和控制。
二、硬件设计:1.处理器选择:选用性能较高的STM32系列微控制器作为飞行器的主控制单元,可根据实际需求选择合适的型号。
考虑到计算处理能力和外设资源的要求,建议采用高性能的STM32F4系列或STM32H7系列微控制器。
2.传感器:四轴飞行器需要借助多种传感器来获取飞行状态的信息,包括陀螺仪、加速度计、磁力计等。
这些传感器可以通过I2C或SPI接口与主控制单元连接,以获取实时的飞行姿态和姿态控制信息。
3.无线通信模块:可选择适合的无线通信模块,如Wi-Fi模块或蓝牙模块,用于与地面站或其他设备进行数据传输和控制指令的交互。
通过无线通信模块,可以实现四轴飞行器的遥控操作和数据传输。
4.电机和电调:四轴飞行器需要四个无刷电机和相应的电调来实现动力推力的控制。
电机和电调的选择应根据载荷和预期飞行能力来确定,同时需要考虑与主控制单元的通信接口兼容性。
5.电源系统:四轴飞行器需要一种可靠的电源系统来驱动其各个部件。
主要包括锂电池、电流传感器和稳压模块。
电流传感器用于监测整个系统的功耗,稳压模块用于为主控制单元和其他模块提供稳定的电源。
6.启动与显示模块:飞行器需要一种方便的启动与显示模块来显示系统状态和预警信息。
可以选择配备一块小型的液晶显示屏或LED指示灯,以及相关的按键和蜂鸣器。
三、软件设计:1.实时操作系统(RTOS):可以选择合适的RTOS系统,如FreeRTOS或CMSIS-RTOS,用于实现四轴飞行器的任务管理和调度。
RTOS可以提供任务优先级调度、实时中断处理等相关功能,保证飞行器的实时性和稳定性。
采用STM32设计的四轴飞行器飞控系统四轴飞行器飞控系统是一种应用于四轴飞行器上的关键控制设备。
它包括硬件和软件两个部分,用于控制飞行器的姿态、稳定性和导航等功能。
其中,采用STM32设计的四轴飞行器飞控系统因其高性能、低功耗和丰富的外设资源而受到广泛关注。
一、硬件设计:1.处理器模块:采用STM32系列微控制器作为处理核心。
STM32系列微控制器具有较高的计算能力和丰富的外设资源,能够满足飞行控制的计算需求。
2.传感器模块:包括加速度计、陀螺仪、磁力计和气压计等传感器。
加速度计用于测量飞行器的线性加速度,陀螺仪用于测量飞行器的角速度,磁力计用于测量飞行器的方向,气压计用于测量飞行器的高度。
3.无线通信模块:采用无线通信模块,如蓝牙、Wi-Fi或者无线射频模块,用于与地面站进行通信,实现飞行参数的传输和遥控指令的接收。
4.电源管理模块:对飞行器的电源进行管理,确保各个模块的正常运行。
包括电池管理、电量检测和电源开关等功能。
5.输出控制模块:用于控制飞行器的电机、舵机等执行机构,实现对飞行器的姿态和动作的控制。
二、软件设计:1.飞行控制程序:运行在STM32微控制器上的程序,用于实时读取传感器数据、运算控制算法、输出控制信号。
该程序包括姿态解算、飞行控制和导航等模块。
-姿态解算模块:根据加速度计、陀螺仪和磁力计等传感器数据,估计飞行器的姿态信息,如俯仰角、横滚角和偏航角。
-飞行控制模块:根据姿态信息和目标控制指令,计算出电机和舵机的控制信号,保证飞行器的稳定性和灵敏度。
-导航模块:利用GPS等导航设备获取飞行器的位置和速度信息,实现自动驾驶功能。
2.地面站程序:在地面计算机上运行的程序,与飞行器的无线通信模块进行数据交互。
地面站程序可以实时监测飞行器的状态和参数,并发送控制指令给飞行器。
总结:采用STM32设计的四轴飞行器飞控系统是一种高性能、低功耗的控制设备,包括硬件和软件两个部分。
硬件包括处理器模块、传感器模块、无线通信模块、电源管理模块和输出控制模块。
基于STM32的四轴飞行器设计四轴飞行器是一种常见的航空模型,它由四个电动马达驱动,通过调整转速控制飞行器的姿态和位置。
在本文中,我将介绍如何使用STM32微控制器设计一个四轴飞行器。
这项设计需要以下四个组成部分:飞行控制器、传感器、电动机和通信模块。
首先,我们需要一个飞行控制器来处理飞行器的姿态控制和位置控制。
我们可以使用STM32微控制器作为飞行控制器,因为它具有强大的计算能力和高性能的外设。
STM32微控制器通常具有多个通用输入/输出引脚,用于连接传感器和电动机。
此外,STM32微控制器还可以运行飞行控制算法并控制电动机的转速。
其次,我们需要一些传感器来感知飞行器的姿态和位置。
常见的传感器包括陀螺仪、加速度计和磁力计。
陀螺仪可以测量飞行器的旋转速度和方向,加速度计可以测量飞行器的加速度和倾斜角度,磁力计可以测量飞行器相对于地球磁场的方向。
这些传感器的测量数据将用于计算和控制飞行器的姿态和位置。
第三,我们需要四个电动机来驱动飞行器的运动。
每个电动机都连接到飞行控制器的输出引脚,并通过调整电动机转速来调整飞行器的姿态和位置。
通过控制四个电动机的转速,我们可以实现飞行器在空中的稳定飞行和准确控制。
最后,我们需要一个通信模块来与飞行器进行通信。
通常,我们使用无线通信模块,如蓝牙或无线局域网,来控制飞行器的飞行和监控其状态。
通过与通信模块连接,我们可以使用智能手机或其他设备来发送指令和接收飞行器的数据。
在设计四轴飞行器时,我们需要首先将传感器和电动机连接到STM32微控制器。
然后,我们需要编写飞行控制算法并将其加载到STM32微控制器上。
接下来,我们可以使用通信模块与飞行器连接并发送控制指令。
最后,我们可以启动电动机并观察飞行器的飞行和姿态控制效果。
总之,基于STM32微控制器的四轴飞行器设计是一个复杂而有趣的工程项目。
通过合理选择传感器、编写飞行控制算法和使用通信模块,我们可以实现一个高度稳定和可控的四轴飞行器。
基于STM32的四旋翼飞行器设计四旋翼无人机是一种多轴飞行器,由四个电机驱动四个旋翼产生升力来进行飞行。
它具有简单结构、灵活机动、携带能力强等特点,被广泛应用于航空航天、电力、农业、测绘和娱乐等领域。
本文将基于STM32微控制器,设计一个基本的四旋翼飞行器。
首先,我们需要选用一款合适的STM32微控制器作为核心控制单元。
根据不同需求,可以选择不同型号的STM32芯片。
需要考虑的因素包括处理器性能、输入输出接口、通信接口等。
接下来,我们需要选用合适的电机和电调。
电机和电调是四旋翼飞行器的动力系统,直接影响飞行器的性能。
选择电机时需要考虑电机功率、转速、扭矩等参数。
而选择合适的电调则需要考虑电流容量、控制方式等因素。
四旋翼飞行器还需要传感器来获取飞行状态和环境信息。
常见的传感器包括陀螺仪、加速度计、磁力计和气压计等。
这些传感器将实时提供飞行器的姿态、加速度、地理位置和气压等数据,用于飞行控制。
在飞行控制方面,我们需要实现飞行器稳定的控制算法。
PID控制器是常用的控制算法之一,通过调节电机转速来控制飞行器的姿态。
PID控制器的参数需要根据实际情况进行调整,以实现稳定的飞行。
此外,四旋翼飞行器还需要通信功能,以便与地面站进行数据传输。
常见的通信方式有蓝牙、Wi-Fi和无线电调制解调器等。
通信功能可以实现飞行器的遥控和数据传输,使飞行器具备更广阔的应用空间。
最后,为了实现全自动飞行,还可以加入GPS导航系统和图像处理系统。
GPS导航系统可以提供精准的飞行位置和速度信息,通过编程实现预设航点飞行。
图像处理系统可以通过摄像头获取实时图像,并进行目标识别和跟踪,实现智能飞行等功能。
综上所述,基于STM32的四旋翼飞行器设计需要考虑微控制器选型、电机电调选择、传感器使用、飞行控制算法、通信功能等方面。
通过合理的设计和编程,可以实现一个功能齐全、性能稳定的四旋翼飞行器。
论文格式***********************************************************注意:此为封面格式***********************************************************ARM—STM32校园创新大赛项目报告题目: 基于STM32F4的四轴航拍飞行器学校:武汉理工大学指导教师: 黄立文刘克中参赛队成员名单:视频观看地址:http://v。
youku。
com/v_show/id_XNjE3NzM0NTky。
html 如在报名后有修改,请在此注明。
********************************************************************注意:此为正文起始格式正文和附录中均不得大段复制源代码和原理图,只允许能充分体现创新方法或关键设计的少量源代码示例和原理图。
正文+附录尽量控制在20页内*********************************************************************题目:基于STM32F4的四轴航拍飞行器关键词:四旋翼飞行器,STM32F4,捷联式惯导,飞行控制系统,四元数,云台摘要本设计是基于STM32F4的四轴航拍平台。
以STM32F407为控制核心,四轴飞行器为载体,辅以云台的航拍系统.硬件上由飞控电路,电源管理,通信模块,动力系统,机架,云台伺服系统组成。
算法上采用简洁稳定的四元数加互补滤波作为姿态解算算法,PID作为控制器,实现飞行,云台增稳等功能。
具有灵活轻盈,延展性,适应性强好等特点。
1.引言四轴飞行器是一种利用四个旋翼作为飞行引擎来进行空中飞行的飞行器。
进入20世纪以来,电子技术飞速发展四轴飞行器开始走向小型化,并融入了人工智能,使其发展趋于无人机,智能机器人。
四轴飞行器不但实现了直升机的垂直升降的飞行性能,同时也在一定程度上降低了飞行器机械结构的设计难度。
基于STM32的四旋翼飞行器的设计与实现共3篇基于STM32的四旋翼飞行器的设计与实现1基于STM32的四旋翼飞行器的设计与实现四旋翼飞行器可以说是近年来无人机发展的代表,其在农业、环保、救援等领域的应用越来越广泛。
本文将介绍基于STM32的四旋翼飞行器的设计与实现,着重讲解硬件设计和程序开发两个方面的内容。
一、硬件设计1、传感器模块四旋翼飞行器需要各种传感器模块来获取飞行状态参数,包括加速度计、陀螺仪、罗盘、气压计等。
其中,加速度计和陀螺仪通常被集成在同一个模块中,可以采用MPU6050或MPU9250这种集成传感器的模块。
气压计则可以选择标准的BMP180或BMP280。
罗盘的选型需要考虑到干扰抗性和精度,常用HMC5883L或QMC5883L。
2、电机驱动四旋翼飞行器需要四个电机来驱动,常用的电机是直流无刷电机。
由于电机电压较高,需要使用电机驱动模块进行驱动。
常用的电机驱动模块有L298N和TB6612FNG等。
3、遥控器模块飞行器的遥控器模块通常由一个发射器和一个接收器组成。
发射器采用2.4G无线传输技术,可以通过遥控器上的摇杆控制飞行器,遥控器还可以设置飞行器的航向、高度等参数。
接收器接收发射器传来的信号,必须与飞行器的控制系统进行通信。
4、飞行控制器飞行控制器是飞行器的核心部分,它通过传感器模块获取飞行状态参数,再结合遥控器模块传来的控制信号,计算出飞行控制指令,驱动电机模块控制飞行器的不同动作。
常用的飞行控制器有Naze32、CC3D、Apm等,本文将采用开源的Betaflight飞行控制器。
二、程序开发1、Betaflight固件烧录Betaflight是一款基于Cleanflight的开源固件,它具有良好的稳定性和强大的功能。
将Betaflight固件烧录到飞行控制器中需要使用ST-Link V2工具,同时需要在Betaflight Configurator中进行配置,包括传感器矫正、PID参数调整、遥控器校准等。
西华大学610039摘要:在对我很感兴趣的项目微型四轴飞行器进行了功能描述的基础上展开了对系统深入研究的方案设计。
该系统(装置)主要由飞控,遥控,蓝牙或WIFI模块,通信模块等组成。
飞控是由stm32f103作为主控,采用MPU6050作为惯性测量单元。
遥控是由arduino作为主控。
通信运用2.4G无线模块。
在AD环境中完成对飞控的的设计。
在keil 5中完成软件的设计。
然后,通过proteus软件完成飞控的模块的仿真与调试。
最后,分析了项目的计划完成情况。
关键词:四轴飞行器控制 stm32 通信设计引言随着社会的发展和科技的进步,我们迎来了新的时代。
在这个高速发展时代,所有的物品都在日新月异的变化。
我们小时候的纸飞机玩具变成了现在的遥控飞机,其中的四轴飞行器备受大众喜欢。
但是四轴飞行器的用处还有多,如林业,侦察,航拍,运输,娱乐观赏等领域,目前热门的航拍就是基于稳定四轴及云台搭建的平台实现,然后其他邻域应用还有相当的潜力。
四轴飞行器将会是很有潜力和未来需求的,代替人类运输,派遣去危险的地方拍摄,或者是交通,个人飞行器等等。
所以四轴飞行器以后一定可以成为主流产品,在生活的方方面面都可能会用到。
1项目1.1 项目描述近年来,国内科技领域对四轴飞行器的研究如火如荼,相关技术得到了迅速的发展。
随着信息化时代的蓬勃发展, 科学技术不断更新, 飞行器被广泛的应用在军事侦查、航拍以及民用快递运输等诸多行业。
四轴飞行器结构简单,操作灵活,单位体积内可提供巨大的升力,适合在狭窄环境中飞行,携带各种电子设备可执行各种任务,例如军事侦察、定位跟踪、农田监测等,在军事、民用等领域均有广泛的应用和广阔的前景。
本项目设计了一种基于STM32的微型四轴飞行器控制系统,以STM32单片机为主控制器,MPU6050为惯性测量单元模块核心,3.7V锂电池供电,通过蓝牙模块或wifi模块实现在手机App上来控制飞行器,或者通过自制遥控器来控制。
工装设计— 128 —基于STM32的四轴飞行器设计余 亮 项平平(淮南师范学院机械与电气工程学院 安徽 淮南 232000)摘 要:设计一种四轴飞行器。
该飞行器由四片桨叶提供飞行升力,调节电机转速控制飞行姿态与路径。
采用PIXHAWK2.4.8核心开发板,STM32处理数据,陀螺仪解算姿态,电调驱动无刷电机,实现电机转速调节,控制飞行姿态,实现常规姿态飞行。
关键词:飞行器;PIXHAWK;STM32;无刷电机 中图分类号:TP29-AD 文献标志码:A1 引言四轴飞行器具有体积小、灵活度较高、操控简单等众多特点,应用前景广阔[1]。
其未来可能发展成为新概念交通工具,或者用于安保以及高危环境作业等,普遍走进人们的日常生活之中。
2 系统总体分析本设计以单片机STM32F427开发板为核心器件,STM32F103C8T6为系统I/O 口,配合电阻电容等器件,完成最小系统搭建。
其余模块围绕PIXHAWK 开发板核心部分工作。
开发板中具有诸多传感器可供系统控制使用,主要包含128K 非易失闪存FM25V01元器件,TXS0108通用电平驱动芯片,LTC4417电源管理芯片,MIC5332超低压降传感器,BQ24315电池管理芯片,TCA62724三色LED 芯片,LT3469运放, M8N 传感器,5V 供电电源为等。
硬件结构示意图如图1[2][3]。
图1 飞行器硬件结构示意图3 硬件设计系统开发板上部分传感器已焊接完整,留有部分引脚以方便连接外设传感器。
处理单元由STM32F427VIT6(168 Mhz 工作频率、256KB RAM 工作内存与2MB 的flash 闪存100Pin)与STM32F103C8T6故障保护协处理器构成,其具有四十八个引脚,用来控制输入信号采集与输出信号发射,其晶振频率为24MHz 。
开发板中带有多个传感器,包括16位陀螺仪STL3GD20为整个系统提供实时角速度数据;14位加速度计电子罗盘STLSM303D 测量飞行器加速度以及方向;MEASMS5611气压高度计起到测量飞行器飞行高度的作用;InvenSence MPU6000三轴加速度计/陀螺仪采集姿态变化。
【关键词】stm32 四旋翼飞行器变参数pid控制卡尔曼滤波随着航天技术的不断发展和成熟,四旋翼飞行器以其低成本、体积小、对环境要求低、高性能、独特构造和飞行方式等特点,被广泛应用于军事和民用领域。
本文以飞行器控制算法为研究主题,重点研究四旋翼飞行器的算法结构,设计飞行控制算法,提出一套基于卡尔曼滤波算法的姿态检测系统,并以改进的变参数pid控制算法来进行控制,实现了四旋翼飞行器的稳定飞行、悬停、航拍等功能,验证了设计的合理性。
1 飞行器工作原理四旋翼飞行器也称为四旋翼直升机,是一种有四个螺旋桨且螺旋桨呈十字形交叉的飞行器,是固联在刚性十字交叉结构上,由4个独立电机驱动的螺旋桨组成的6自由度系统。
四旋翼一般具有两种飞行模式,x飞行模式和十字飞行模式,实验证明x模式较十字模稳定且便于控制,所以本文设计中采用的是x飞行模式,结构图如图1所示。
在四旋翼的中轴处mcu 将无线模块传达的控制数据发送给电调,再通过电调控制三相无刷电机的转速变化实现俯仰运动、偏航运动、垂直起落运动和空中悬停。
飞行器在做俯仰运动过程中电机0、1或2、3转速同时增减,并且其余两个电机转速也发生变化,变化方向与其相反;偏航动作过程中电机0、2或者1、3转速增加,同时其余两个电机保持原有转速;垂直起落过程中四路电机转速同步加减,当四路电机所产生的升力与四旋翼自身重力相等时,飞行器保持悬停状态。
2 硬件设计四旋翼飞行器的硬件设计包括两部分:飞行器主体硬件结构设计、遥控器硬件结构设计。
2.1 飞行器主体硬件结构设计2.2 遥控器硬件结构设计本文的遥控器是自行设计制作的,利用cad软件设计出了遥控器外壳的双层平面模型,并利用雕刻机对亚克力进行镂空加工,设计pcb外形并导入电路板绘制工具软件,将pcb板嵌在两层亚克力模型版中。
遥控器主要mcu、无线通信模块、显示部分、飞行控制量输入部分、参数微调部分、指示部分组成。
由遥控器的mcu同样采用stm32f103vet6,无线通信模块采用大功率nrf24l01模块通过spi串行通信总线与mcu相连;显示部分由2.4寸tft彩屏和驱动电路组成,通过系统总线与mcu连接实现显示功能;飞行控制量输入部分由碳膜型遥感电位器和拨盘电位器组成,通过mcu的12位ad接口采集模拟信息,作为四旋翼的动作和云台动作控制量;参数微调部分由贴片按键实现,可以微调遥控器的飞行参数,指示部分由贴片led组成。
基于STM32F4的四轴航拍飞行器摘要本设计是基于STM32F4的四轴航拍平台。
以STM32F407为控制核心,四轴飞行器为载体,辅以云台的航拍系统。
硬件上由飞控电路,电源管理,通信模块,动力系统,机架,云台伺服系统组成。
算法上采用简洁稳定的四元数加互补滤波作为姿态解算算法,PID作为控制器,实现飞行,云台增稳等功能。
具有灵活轻盈,延展性,适应性强好等特点。
1.引言四轴飞行器是一种利用四个旋翼作为飞行引擎来进行空中飞行的飞行器。
进入20世纪以来,电子技术飞速发展四轴飞行器开始走向小型化,并融入了人工智能,使其发展趋于无人机,智能机器人。
四轴飞行器不但实现了直升机的垂直升降的飞行性能,同时也在一定程度上降低了飞行器机械结构的设计难度。
四轴飞行器的平衡控制系统由各类惯性传感器组成。
在制作过程中,对整体机身的中心、对称性以及电机性能要求较低,这也正是制作四轴飞行器的优势所在,而且相较于固定翼飞机,四轴也有着可垂直起降,机动性好,易维护等优点。
在实际应用方面,四轴飞行器可以在复杂、危险的环境下可以完成特定的飞行任务,也可以用于监控交通,环境等。
比如,在四轴飞行器上安装甲烷等有害气体的检测装置,则可以在高空定点地检测有害气体;进入辐射区检查核设施;做军事侦察;甚至搬运材料,搭建房屋等等。
本设计利用四轴搭载云台实现航拍任务,当然经过改装也可以执行其他任务。
本设计主要研究了四轴飞行器的姿态结算和飞行控制,并设计制作了一架四轴飞行器,对关键传感器做了标定,并利用用matlab分析数据,设计算法,还进行了单通道平衡试验调试,进行试飞实验取得了一定的效果。
2.系统方案本设计采用STM32F4作为核心处理器,该处理器内核架构ARM Cortex-M4,具有高性能、低成本、低功耗等特点。
主控板包括传感器MPU6050电路模块、无线蓝牙模块、电机启动模块,电源管理模块等;遥控使用商品遥控及接收机。
控制芯片捕获接收机的PPM命令信号,传感器与控制芯片之间采用IIC总线连接,MCU与电调之间用PWM传递控制信号。
软件算法才用基于四元数的互补滤波解算姿态叫,控制算法才用经典PID控制器控制云台舵机和四轴电机。
如图2-1为本设计总体框图。
3.系统硬件设计针对前面提出的整体设计方案,本设计采取模块化策略,将各个功能部分开来设计,最后组合起来。
3.1 电源管理模块四轴飞行器要求整体设计质量较轻,体积较小,因此在电池的选取方面,采用体积小、质量轻、容量大的锂电池供电最合适。
系统的核心芯片为STM32F103,常用工作电压为3.3V,同时惯性测量传感器,蓝牙通信模块的常规供电电压也为3.3V,锂电池的电压为11.4V,要使系统正常工作,需要将11.4V的锂电池电压稳压到3.3V。
常用的78系列稳压芯片已不再适用,必须选择性能更好的稳压芯片。
经综合考虑,本电路采用LM1117-3.3和LM2940-5电源部分的核心芯片。
电池电源经过LM2940-5降到5V后在输入LM1117-3.3稳压为3.3V。
由于电机部分电流较大,故在飞控电路部分加入了过流保护,使用500mA的保险丝。
电路图如下。
表3-1 四轴飞行器硬件清单4.系统软件设计软件设计上由控制核心STM32F4读取传感器信息,解算姿态角,以姿态角为被控制量融合遥控信息后,输出到四个电机及两个舵机以完成四轴飞行控制和云台的稳定补偿。
下图是软件流程:4.1.四元素计算姿态角的实现根据前面给出的姿态解算方程与四元数,即可得到姿态计算系统的计算原理如下图(4-1)本设计基于互补滤波的思想上完成的四元素算法,其核心思路为利用加速度测得的重力向量与估计姿态得到重力向量的误差来矫正陀螺仪积分误差,然后利用矫正后的陀螺仪积分得到姿态角。
首先不妨设处理后的加速度数据为:ax,ay,az,单位m/s^2。
加速度计的向量为(ax,ay,az)陀螺仪数据为:gx,gy,gz,单位rad/s。
陀螺仪向量(gx,gy,gz),由式(4-5)可得由载体到导航坐标系的四元数形式转换矩阵为:根据余弦矩阵和欧拉角的定义,地理坐标系的重力向量,转到机体坐标系,是中的第三列的三个元素,即。
所以加速的向量与估计重力向量叉积:然后利用向量的叉积,可视为误差向量,这个叉积向量仍旧是位于机体坐标系上的,而陀螺积分误差也是在机体坐标系,而且叉积的大小与陀螺积分误差成正比,正好拿来纠正陀螺。
由于陀螺是对机体直接积分,所以对陀螺的纠正量会直接体现在对机体坐标系的纠正。
用上面得到的结果校正陀螺仪:此处k为一个常量系数。
再利用二阶毕卡法解四元数微分方程(4-6),更新四元数为下一次计算做准备。
毕卡二阶算法为:最后将四元数转变为欧拉角:数据流程图如下:通过以上算法我成功得出了飞行器的姿态角,在开启电机的情况下,角度误差在+/-2°以内,满足了控制要求。
姿态计算效果如下图所示,其中红色和蓝色是直接由加速度计算出的俯仰角和横滚角,青色和黄色为姿态结算后的俯仰角和横滚角。
由图中数据可看出,解算的姿态角不仅能即时的反应角度变化切曲线平滑,说明姿态解算算法有效。
4.2.控制设计由于四轴飞行器独特的机械结构,即结构上的对称设计,使得四轴在俯仰角的控制欲横滚角的控制上有这近乎相同的控制特性,且两者相对独立。
四轴飞行器的俯仰,横滚,偏航,升降可以通过四个输入量来控制。
通过设定一个期望角度,调整电机转速,使得测得的姿态角稳定在期望角。
控制律的设计主要采用是闭环控制。
以姿态角做为被控制量,采用经典的PID控制算法。
四轴飞行器系统是一个时变且非线性的系统,采用传统PID算法的单一的反馈控制会使系统存在不同程度的超调和振荡现象,无法得到理想的控制效果。
本文将前馈控制引入到了四轴飞行器系统的控制中,有效地改善了系统的实时性,提高了系统的反应速度;并且根据四轴飞行器系统的特点,对数字PID算法进行了改进,引入了微分先行环节,改善了系统的动态特性;使得控制器能够更好地适应四轴飞行器系统的实际情况。
在姿态角的控制中,本设计将控制器捕获到的遥控器信号转换为一个角度,作为期望角,与解算出来的测量角作差,得到偏差error。
将error乘以一个比例系数kp。
在只有kp作用下,系统会有静差所以考虑利用积分ki控制消除稳态误差。
但积分控制会降低系统的动态性能,甚至造成闭环系统不稳定,因此要对积分进行限幅,防止积分过大。
对于微分,如果采用传统的D方法,在人为操纵四轴时会产生输入的设定值变化频繁且幅度较大,从而造成系统的振荡。
对人为控制十分不利,为了解决设定值的频繁变化给系统带来的不良影响,本文在姿态角控制上引入了微分先行PID算法,其特点是只对输出量进行微分,即只对陀螺仪角速度测量值进行微分,而不对姿态角的设定值进行微分。
这样,在设定值发生变化时,输出量并不会改变,而被控量的变化相对是比较缓和的,这就很好地避免了设定值的频繁变化给系统造成的振荡,明显地改善了系统的动态性能。
控制周期定为4ms,姿态控制系统示意图如下:图5-1姿态控制系统示意图通过前面一章的介绍我们已经的达到了俯仰,横滚,航向三个控制量,然后将它们分别输入三个独立的如上图所示的PID控制器,我们可以得到三个PID输出:pid_roll,pid_pitch,pid_yaw将这三个输出量做简单的线性运算输出给电机。
部分代码如下:#define PIDMIX(X,Y,Z) Motor_Thr + pid_pitch* Y+ pid_roll*X + pid_yaw*ZMOTOR1=MOTORLimit(PIDMIX(+1,+1,-1)); //REAR_R 后右电机MOTOR2=MOTORLimit(PIDMIX(-1,-1,-1)); //FRONT_R 前右电机MOTOR3=MOTORLimit(PIDMIX(-1,+1,+1)); //REAR_L 后左电机MOTOR4=MOTORLimit(PIDMIX(+1,-1,+1)); //FRONT_L 前左电机4.3. PID参数调节PID参数的整定是PID控制的关键环节,直接影响到控制的效果。
故一个PID设计的好不好往往要看其参数能否调节好,本设计的PID参数调节采用凑试法。
凑试法是通过实际的闭环系统,通过观察系统的响应曲线,在本设计中通过观察被调量,PID输出,设定值三条曲线,判断出kp,ki,kd对系统响应的影响,反复尝试,最终达到满意响应,从而达到确定控制参数的kp,ki,kd的目的。
在参数调节过程总遵循以下原则[17]:(1)在输出不振荡时,增大比例增益P。
(2)在输出不振荡时,减小积分时间常数Ti。
(3)在输出不振荡时,增大微分时间常数Td。
(4)一般步骤:a.确定比例增益P确定比例增益P时,首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0(具体见PID的参数设定说明),使PID为纯比例调节。
输入设定为系统允许的最大值的60%~70%,由0逐渐加大比例增益P,直至系统出现振荡;再反过来,从此时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID的比例增益P为当前值的60%~70%。
比例增益P调试完成。
b.确定积分时间常数Ti比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。
记录此时的Ti,设定PID 的积分时间常数Ti为当前值的150%~180%。
积分时间常数Ti调试完成。
c.确定积分时间常数Td积分时间常数Td一般不用设定,为0即可。
若要设定,与确定P和Ti的方法相同,取不振荡时的30%。
d.系统空载、带载联调,再对PID参数进行微调,直至满足要求。
(5)最终调试好的标准应该是,PID输出曲线在有一个阶跃响应来是,响应一大一小两个波,小波是大波的四分之一。
四轴飞行器的PID整定,我们首先四轴固定在单轴平衡平台上,让飞行器完成单轴平衡,主要观察姿态角的(1)稳定性,能否平衡在期望角度;(2)响应性,当操纵命令改变时,四轴能否即时的响应期望的变化;(3)操纵性,由操纵员感受四轴的姿态是否已与操纵,会不会产生响应过冲。
在参数调整时,先调P,将I,D给0,先给一个小值P1,如果飞行器不能稳定在一个角度,则P1给小了,下一次给一个较大值P2,如果飞行器产生震荡则证明P2给大了,那么合适的P在P1-P2之间,反复试验几次可找到P震荡的临界点P0,然后保持P0不变按照调P的方法来调D,D是用来消除误差的,当抖动差不多被消除时,此时我们有较合适的P0,D0,在这两个值附近再试几组参数,观察效果得到最优参数。
调好P,D后此时四轴的稳定状态与期望状态间也学会有静差,接下来加入I,参数有小到大,当静差差不多被消除时,我们再对P,I,D三组参数在小范围内联调。