stm32的四轴飞行器设计与制作
摘 要四轴飞行器作为低空、低成本的摇控平台,具有不稳定、非线性、强耦合等特性,姿态控制是四轴飞行器飞行控制系统的核心,是实现四轴飞行器平稳飞行的基础与重点。本文通过分析四轴飞行器的飞行原理,该系统采用stm32系列32位处理器控制板作为主控制器,使用MPU6050传感器模块用于姿态数据的读取;通过空心杯电机进行高速旋转,所以需要电机驱动元件来进行电流放大,才能够使电机进行高速转动,本文先以系统的仿真先来做验证,在通过KEIL4,PROTEL等软件进行辅助设计。
目录
引言 1
一、硬件部分的设计方案 2
(一)总体设计框图 2
(二)方案的对比与选择 2
(三) 硬件设计 3
1.STM32F103C8T6单片机 3
2.MPU6050模块 5
3.空心杯电机驱动电路 6
4.2.4G无线模块 7
5.四轴状态指示部分 7
6.拓展模块 8
二、软件的设计方案 9
(一)动力学模型与原理 9
(二)主程序的设计 10
(三)姿态的测量与控制 11
1.姿态测量 11
2.传感器矫正 11
3.姿态调整控制 12
三、系统仿真与调试 13
(一)软件介绍 13
(二)系统仿真结果 14
(三)电机解锁频率调试 15
(四)四路PWM波产生 15
(五)数据仿真与调试结果 16
四、实物制作中的问题 17
(一)电机的选择问题 17
(二)螺旋桨不转问题 17
(三)失控掉落问题 18
结论 19
致谢 20
参考文献21
附录 22
(一)原理图 22
(二)PCB图 24
(三)实物图 26
(三)源程序(部分) 27
引
*好棒文|www.hbsrm.com +Q: %3^5`1^9`1^6^0`7^2#
言
四轴飞行器又称为“四旋翼飞行器”,是一种拥有四个对称十字交叉分布螺旋桨的飞行器。四轴飞行器最开始是由军方研发的一种新式的飞行器。随着各种传感器、单片机、电机和电池技术的发展和普及,小型四旋翼低空无人飞行器得到了迅速发展,在军事和民用领域具有广阔的应用前景。
和传统的直升机相比,四轴飞行器有着自身的优势。但是飞行器的控制问题一直是微小型四旋翼无人飞行器研制的关键问题,目前应用广泛的飞行器有:固定翼飞机和单轴直升机。与固定翼飞机相比,四轴飞机机动性高,动作灵活,垂直起降和悬停。缺点是续航时间短得多。
目前,四旋翼飞机在世界上大多是微型无人飞行器,一般可分为以下几类:遥控模式的四旋翼飞机,小尺寸的四旋翼飞机和微型旋翼飞机。小型化是世界无人机发展的重要方向之一。目前实现的四旋翼飞行器大部分都是上面所说的设计形状,而有些做的比较大的四轴飞行器不但能用与航拍,甚至人都可以坐在上面,比如十六轴的载人飞行器,外形也是四轴,只不过它的每个轴上又有四个轴,实现了更加稳定的控制。
本设计的四旋翼飞机的特点是由一个空心转子驱动着空心杯电机来调节螺旋桨转速的旋转方向,为了保持飞行器的稳定飞行,在四旋翼飞行器上装载了一个集成了三轴陀螺仪和三轴加速度传感器的六自由度的姿态控制模块。
一、硬件部分的设计方案
(一)总体设计框图
如图1为四轴飞行器的整体设计框图,主要由两部分组成,分别是四轴飞行器部分以及遥控器部分,四轴飞行器部分主要包含一块基于STM32的飞控板以及姿态传感器模块、空心杯电机模块、超声波模块以及NF24L01通信模块,遥控器部分主要由一块基于STM32的系统板以及NF24L01通信模块组成,该系统由遥控器控制,并发出指令,通过NF24L01无线模块传输到飞行控制板,飞控板接收信号进行相应动作,通过姿态传感器来实时调整电机的转动速度,达到飞行的目的,还可以通过超声波模块进行定高等操作。
图1 整体设计框图
(二)方案的对比与选择
1.主控板的选择与方案对比
方案一:使用AT89C51作为飞控板的核心芯片,作为一款经典的入门级单片机,它的价格便宜,使用方便,程序烧写简单,但是由于是8位的单片机,所以在运行速度上会显得很慢,而且运行内存也有局限性,并且接口外设都不多因此不是最优选择。
方案二:使用STM32F103C8T6作为飞控板的核心芯片,这款芯片是32位单片机,相比于8位的单片机来说,不仅在读取数据的处理上比AT89C51快的多,还具有许多的接口电路,运用非常的广,程序模块化,开发界面相对简单,由于其功能多,工作速度快,而且目前的价格已经达到了较低的水平,适合一些较先进的开发,是我们此次作为四轴飞控板的一个比较好的选择。
综上所述,选择方案二,使用STM32F103C8T6作为我们飞控板的核心芯片。
2.无线模块的选择与方案对比
方案一:使用315M无线模块实现通信,STM32的要求较高,接口电路多,315M在处理数据时容易出现卡顿现象,且在转换过程中需要消耗太多的电能。
方案二:使用2.4G无线模块实现通信,2.4G无线模块包含内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,其中输出功率和通信频道可通过程序进行配置。2.4G模块的能量转换损失小,在以6 分贝功率工作时,工作时电流只有11.5mA,在数据传输方面实现了能够实现更远距离的传输。
综上所述,选择方案二,使用2.4G无线模块作为我们这次设计通讯模块。
硬件设计
主控板包括一块基于CORTEXM3的芯片STM32F103C8T6以及电源部分、晶振部分、BOOT0、1选择位、复位电路、USB接口电路、JTAG接口电路以及其他扩展口的设计。
STM32F103C8T6单片机
本设计采用的是STM32F103C8T6,它是STM里面经常使用的用于微小型态的设计的控制系统,可以应用于很多的开发设计,芯片采用的是基于CortexM3内核的ARM系列处理器,最大输出频率可达72M,具备DMA,电机控制 PWM,PDR,POR,PVD,PWM,温度传感器,WDT等多个外设,内置64KB存储空间。STM32F103C8T6单片机的最小系统包括STM32F103C8T6以及电源部分、晶振部分、BOOT0、1选择位、复位电路、USB接口电路、JTAG接口电路以及其他扩展口的设计,实物图如图2所示,电路图如图3所示。这里要说明的是在遥控板上选择使用8M晶振,而飞控板上则选择16M晶振,选择不同的原因是因为飞控板所要采集的数据较多,内置储存空间要求较大,而遥控相对较小。
STM32F103C8T6引脚各部分简要说明:
①电源部分
电源部分用的是5V电压输入,通过稳压芯片AMS1117转成3.3V,来达到设计所需的电压。
②晶振部分
晶振部分分为2个部分,外部晶振8M以及外部晶振16M。
③BOOT选择位
目录
引言 1
一、硬件部分的设计方案 2
(一)总体设计框图 2
(二)方案的对比与选择 2
(三) 硬件设计 3
1.STM32F103C8T6单片机 3
2.MPU6050模块 5
3.空心杯电机驱动电路 6
4.2.4G无线模块 7
5.四轴状态指示部分 7
6.拓展模块 8
二、软件的设计方案 9
(一)动力学模型与原理 9
(二)主程序的设计 10
(三)姿态的测量与控制 11
1.姿态测量 11
2.传感器矫正 11
3.姿态调整控制 12
三、系统仿真与调试 13
(一)软件介绍 13
(二)系统仿真结果 14
(三)电机解锁频率调试 15
(四)四路PWM波产生 15
(五)数据仿真与调试结果 16
四、实物制作中的问题 17
(一)电机的选择问题 17
(二)螺旋桨不转问题 17
(三)失控掉落问题 18
结论 19
致谢 20
参考文献21
附录 22
(一)原理图 22
(二)PCB图 24
(三)实物图 26
(三)源程序(部分) 27
引
*好棒文|www.hbsrm.com +Q: %3^5`1^9`1^6^0`7^2#
言
四轴飞行器又称为“四旋翼飞行器”,是一种拥有四个对称十字交叉分布螺旋桨的飞行器。四轴飞行器最开始是由军方研发的一种新式的飞行器。随着各种传感器、单片机、电机和电池技术的发展和普及,小型四旋翼低空无人飞行器得到了迅速发展,在军事和民用领域具有广阔的应用前景。
和传统的直升机相比,四轴飞行器有着自身的优势。但是飞行器的控制问题一直是微小型四旋翼无人飞行器研制的关键问题,目前应用广泛的飞行器有:固定翼飞机和单轴直升机。与固定翼飞机相比,四轴飞机机动性高,动作灵活,垂直起降和悬停。缺点是续航时间短得多。
目前,四旋翼飞机在世界上大多是微型无人飞行器,一般可分为以下几类:遥控模式的四旋翼飞机,小尺寸的四旋翼飞机和微型旋翼飞机。小型化是世界无人机发展的重要方向之一。目前实现的四旋翼飞行器大部分都是上面所说的设计形状,而有些做的比较大的四轴飞行器不但能用与航拍,甚至人都可以坐在上面,比如十六轴的载人飞行器,外形也是四轴,只不过它的每个轴上又有四个轴,实现了更加稳定的控制。
本设计的四旋翼飞机的特点是由一个空心转子驱动着空心杯电机来调节螺旋桨转速的旋转方向,为了保持飞行器的稳定飞行,在四旋翼飞行器上装载了一个集成了三轴陀螺仪和三轴加速度传感器的六自由度的姿态控制模块。
一、硬件部分的设计方案
(一)总体设计框图
如图1为四轴飞行器的整体设计框图,主要由两部分组成,分别是四轴飞行器部分以及遥控器部分,四轴飞行器部分主要包含一块基于STM32的飞控板以及姿态传感器模块、空心杯电机模块、超声波模块以及NF24L01通信模块,遥控器部分主要由一块基于STM32的系统板以及NF24L01通信模块组成,该系统由遥控器控制,并发出指令,通过NF24L01无线模块传输到飞行控制板,飞控板接收信号进行相应动作,通过姿态传感器来实时调整电机的转动速度,达到飞行的目的,还可以通过超声波模块进行定高等操作。
图1 整体设计框图
(二)方案的对比与选择
1.主控板的选择与方案对比
方案一:使用AT89C51作为飞控板的核心芯片,作为一款经典的入门级单片机,它的价格便宜,使用方便,程序烧写简单,但是由于是8位的单片机,所以在运行速度上会显得很慢,而且运行内存也有局限性,并且接口外设都不多因此不是最优选择。
方案二:使用STM32F103C8T6作为飞控板的核心芯片,这款芯片是32位单片机,相比于8位的单片机来说,不仅在读取数据的处理上比AT89C51快的多,还具有许多的接口电路,运用非常的广,程序模块化,开发界面相对简单,由于其功能多,工作速度快,而且目前的价格已经达到了较低的水平,适合一些较先进的开发,是我们此次作为四轴飞控板的一个比较好的选择。
综上所述,选择方案二,使用STM32F103C8T6作为我们飞控板的核心芯片。
2.无线模块的选择与方案对比
方案一:使用315M无线模块实现通信,STM32的要求较高,接口电路多,315M在处理数据时容易出现卡顿现象,且在转换过程中需要消耗太多的电能。
方案二:使用2.4G无线模块实现通信,2.4G无线模块包含内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,其中输出功率和通信频道可通过程序进行配置。2.4G模块的能量转换损失小,在以6 分贝功率工作时,工作时电流只有11.5mA,在数据传输方面实现了能够实现更远距离的传输。
综上所述,选择方案二,使用2.4G无线模块作为我们这次设计通讯模块。
硬件设计
主控板包括一块基于CORTEXM3的芯片STM32F103C8T6以及电源部分、晶振部分、BOOT0、1选择位、复位电路、USB接口电路、JTAG接口电路以及其他扩展口的设计。
STM32F103C8T6单片机
本设计采用的是STM32F103C8T6,它是STM里面经常使用的用于微小型态的设计的控制系统,可以应用于很多的开发设计,芯片采用的是基于CortexM3内核的ARM系列处理器,最大输出频率可达72M,具备DMA,电机控制 PWM,PDR,POR,PVD,PWM,温度传感器,WDT等多个外设,内置64KB存储空间。STM32F103C8T6单片机的最小系统包括STM32F103C8T6以及电源部分、晶振部分、BOOT0、1选择位、复位电路、USB接口电路、JTAG接口电路以及其他扩展口的设计,实物图如图2所示,电路图如图3所示。这里要说明的是在遥控板上选择使用8M晶振,而飞控板上则选择16M晶振,选择不同的原因是因为飞控板所要采集的数据较多,内置储存空间要求较大,而遥控相对较小。
STM32F103C8T6引脚各部分简要说明:
①电源部分
电源部分用的是5V电压输入,通过稳压芯片AMS1117转成3.3V,来达到设计所需的电压。
②晶振部分
晶振部分分为2个部分,外部晶振8M以及外部晶振16M。
③BOOT选择位
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzdq/665.html