找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4801|回复: 0
收起左侧

基于STM32的四轴飞行器设计思路

[复制链接]
ID:373587 发表于 2020-2-21 17:21 | 显示全部楼层 |阅读模式
四轴飞行器属旋翼飞行器,具有操作简单、控制灵活,便于起降, 可以悬停等优点,它小巧的体积可以适应于很多的用途。四轴飞行器在结构上较单一直升机相比,结构紧凑、能产生更大的升力,同时可以通过反扭矩作用使飞行器平衡,不需要专门的反扭矩旋翼,悬停性能更加良好,易于控制,对于操作者的要求不高等特点,这对于广泛的应 用推广具有重要的意义,在民用和军事领域都有广泛的应用前景,因此对于四轴飞行器 的研究具有重大的现实意义。
随着科技的发展,人们生活的节奏也越来越快,随之人们对方便,快捷的要求也随之不断增高。遥控器的出现,在一定程度上满足了人们这个要求。遥控器是由高产的发明家Robert Adler在五十年代发明的。而红外遥控是20世纪70年代才开始发展起来的一种远程控制技术,其原理是利用红外线来传递控制信号,实现对控制对象的远距离控制,具体来讲,就是有发射器发出红外线指令信号,有接收器接收下来并对信号进行处理,最后实现对控制对象的各种功能的远程控制。

红外遥控具有独立性、物理特性与可见光相似性、无穿透障碍物的能力及较强的隐 蔽性等特点。随着红外遥控技术的开发和迅速发展,很多地方都应用了红外遥控,而飞 行器也不例外。从单纯的在飞行器控制面板上通过按钮控制,到              10 米以上远距离

的遥 控,虽然改变不大,但其带来的便利无疑是巨大的。而红外遥控技术的成熟,也使得遥控器控制飞行器变得设计简单,价格低廉。
小型四旋翼飞行器与其它飞行器相比,其优势在于其机械结构较为简单,并且只需改变四个马达的转速即可实现控制,飞行机动能力灵活。另一方面,小型四旋翼飞行器具有较高的操控性能,并具有小区域范围内起飞、盘旋,飞行、着陆的能力。小型四旋翼飞行器研究也为自动控制以及计算机科学等诸多领域的融合研究提供了一个平台。
本设计主要通过stm32单片机识别遥控器发出的信号对四个直流小电机进行速度控制,由电机带动四个旋翼旋转,实现飞行器的加速、减速、升降、前后左右移动等功能。内容涉及力学分析、直流电机驱动、微型计算机控制等学科领域。
设计主要实现以下主要功能:
基于stm32单片机,用遥控器控制飞行器启停、加减速、前进后退、左右侧飞以及左右转;
二 主要部件设计选择及介绍
组成结构如下:
四轴飞行器主要组成:
1、遥控器
     MCU    STM32F103C8T6Cortex-M372MHz64K(Flash)20K(SRAM)
     交互                  0.96 寸蓝色 OLED
     通信                  NRF24L01++PA+3dbi 天线
2、飞行器
MCU    STM32F411CEU6Cortex-M4100MHz512KB(Flash)128K(SRAM
传感器  MPU9250( 3 轴加速计+3 轴陀螺仪+3 轴磁力计)+BMP280(气压传感器)
  通信    NRF51822-QFAA2.4G
  桨叶    716 空心杯电机 +48mm 桨叶 对角电机轴距 92mm*92mm
  电池    3.7V/250mAh 锂电池 充电时间 30min 飞行时间约 9min
总体设计结构:
图2 设计结构
2.1  遥控器2.1.1 通道
遥控器用于发送各种控制指令,常用通信频段为 2.4G。四轴飞行器的控制至少需要4个通道,功能越多需要的通道数越多。通道就是遥控器可以控制飞行器的动作的路数,一个通道控制一个动作,比如油门的高低 控制就使用掉一个通道,方向的控制又使用掉一个通道。四轴的基本动作有垂直(升降)运动,俯仰\前后运动,横滚\侧向运动,偏航运动,所以遥控器最低要求四通道。实际我们还需要预留一些额外通道来控制其他的部件,所以最好选用六通道遥控器。
2.1.2 日本手、美国手
遥控器按操作习惯可分为美国手和日本手两种,这个是根据遥控器摇杆的布局取得俗名。我们使用的是美国手。美国手:说左手摇杆负责油门和偏航,右手摇杆负责俯仰和横滚。左手摇杆上下为油门控制, 左右是偏航控制;右手摇杆上下为俯仰控制, 左右为横滚控制。对应的另外一种遥控为日本手。 左手摇杆负责俯仰和偏航, 右手摇杆负责油门和横滚。
2.2 飞行控制器
飞行控制器是四轴飞行器的核心,用来控制四个电机协调工作,检测飞行器高度、姿态,自动调节飞行动作。
2.3  四轴机架
常见的四轴机架有十字型,X 型,H型,木材,PVC管,铝合金,波纤,碳纤都可用来做机架。DIY大四轴常用的碳纤维支架,小四轴也可用PCB 做机架。
三 四轴飞行器运动原理
四轴飞行器基本原理是通过飞控控制四个电机旋转带动浆叶产生升力,分别控制每一个电机和浆叶产生不同 的升力从而控制飞行器的姿态和位置。
四轴在空中可以实现八种运动,分别为垂直上升、垂直下降、向前运动、向后运动、向左运动、向后运动、 顺时针改变航向、逆时针改变航向。
下面以+模式介绍四轴飞行器飞行原理(X 模式,+模式后面介绍)。
3.1  垂直运动
如图 3.1 所示,电机 1 和电机 3 逆时针旋转的同时,电机 2 和电机 4 顺时针旋转,因此当飞行器平衡飞行时, 陀螺效应和空气动力扭矩效应均被抵消。

图 3.1 垂直运动
当同时增加四个电机的输出功率,旋翼转速增加使得总的拉力增大,当总拉力足以克服整机的重量时,四旋 翼飞行器便离地垂直上升;反之,同时减小四个电机的输出功率,四旋翼飞行器则垂直下降,直至平衡落地,实 现了沿 z 轴的垂直运动。
当外界扰动量为零时,在旋翼产生的升力等于飞行器的自重时,飞行器便保持悬停状态。保证四个旋翼转速同步增加或减小是垂直运动的关键。
3.2 俯仰运动(PITCH)
图 3.2 电机 1 的转速上升,电机 3 的转速下降,电机 2、电机 4 的转速保持不变。为了不因为旋翼转速的改变引起四旋翼飞行器整体扭矩及总拉力改变,旋翼 1 与旋翼 3 转速改变量的大小应相等。由于旋翼 1 的升力上升, 旋翼3 的升力下降,产生的不平衡力矩使机身绕 y 轴旋转(方向如图所示),同理,当电机 1 的转速下降,电机 3 的转速上升,机身便绕 y 轴向另一个方向旋转,实现飞行器的俯仰运动。
图 3.2 俯仰运动
3.3  滚转运动(ROLL)
与图 3.2 的原理相同,在图 3.3 中,改变电机 2 和电机 4 的转速,保持电机 1 和电机 3 的转速不变,则可使 机身绕 x 轴旋转(正向和反向),实现飞行器的滚转运动。
图 3.3 滚转运动
3.4 偏航运动(YAW)
四旋翼飞行器偏航运动可以借助旋翼产生的反扭矩来实现。旋翼转动过程中由于空气阻力作用会形成与转动 方向相反的反扭矩,为了克服反扭矩影响,可使四个旋翼中的两个正转,两个反转,且对角线上的各个旋翼转动 方向相同。
反扭矩的大小与旋翼转速有关,当四个电机转速相同时,四个旋翼产生的反扭矩相互平衡,四旋翼飞行器不 发生转动;当四个电机转速不完全相同时,不平衡的反扭矩会引起四旋翼飞行器转动。
在图 3.4 中,当电机 1 和电机 3 的转速上升,电机 2 和电机 4 的转速下降时,旋翼 1 和旋翼 3 对机身的反扭 矩大于旋翼 2 和旋翼 4 对机身的反扭矩,机身便在富余反扭矩的作用下绕 z 轴转动,实现飞行器的偏航运动,转 向与电机 1、电机 3 的转向相反。因为电机的总升力不变,飞机不会发会垂直运动。


图 3.4 偏航运动
3.5  前后运动
要想实现飞行器在水平面内前后、左右的运动,前后运动 必须在水平面内对飞行器施加一定的力。在图 3.5
中,增加电机 3 转速,使拉力增大,相应减小电机 1 转速,使拉力减小,同时保持其它两个电机转速不变,反扭 矩仍然要保持平衡。
按图 3.2 的理论,飞行器首先发生一定程度的倾斜,从而使旋翼拉力产生水平分量,因此可以实现飞行器的 前飞运动。向后飞行与向前飞行正好相反。
当然在图 3.2 图 3.3 中,飞行器在产生俯仰、翻滚运动的同时也会产生沿 x、y 轴的水平运动。
图 3.5 前后运动
3.6  侧向运动
在图 3.6 中,由于结构对称,所以侧向飞行的工作原理与前后运动完全一样。
图 3.6 侧向运动
四 飞行控制器硬件设计
飞行器控制器要能够通过采集处理微型MEMS惯性器件和三维地磁传感器数据,计算飞行器的姿态角和航向角,并根据飞行指令和任务要求,结合相应的控制律给出适当的控制信号,控制飞行器的执行机构,改变飞行器的姿态和位置等。
根据模块化设计思想,设计了飞行控制器,其中包括主控制模块、数据采集模块、信号接收处理模块、执行机构驱动模块以及数据通讯接口。飞行控制器中选取STM32处理器作为主控芯片,硬件平台总体结构如图 2 所示。
   
                      图4 飞行控制器硬件结构
4.1 主控模块
控制器的核心是主控制模块,它应具有多路模拟信号的高精度采集能力;输出PWM脉冲控制信号能力;具有 PPM信号捕获解码能力;;此外,还应具有多个通信信道、充足的负载伺服机输出通道以及数据接口。
考虑到不同环境下调试的便捷性,主控模块设计了2种程序下载方案即JTAG方式以及ISP方式,并预留了多个负载外设接口以满足照相机等负载设备的控制需求。
4.2 数据采集模块
为了提高飞行器控制可靠性,需要得到飞行器的俯仰和滚转角作为姿态反馈,形成闭环控制。为提高其飞行稳定性,需加入角速率反馈以增加阻尼。 飞行器的飞行姿态通过惯性测量单元来获取,包括 3只MEMS陀螺仪、三轴加速度传感器和全向磁场传感器以及最高精度达15cm的静压高度计。 飞行器位置信息通过定位系统获取。传感器原理图如下:
图4.2 传感器模块
控制器中选用MPU6050作为三轴加速度计和三轴角速度传感器。加速度计和角速率陀螺通过IIC接口与处理器进行通讯。
4.3 执行机构驱动模块
由于四旋翼飞行器要实现自主悬停的关键是需要飞行器在倾斜时能在最短的时间内回到平衡位置,这就要求执行机构能够快速反应,即能迅速地增大或减小转速。针对四旋翼飞行器,执行机构中选用了无刷电机,无刷电机需要配以无刷电调使用。常见商品电调采用的是 PPM信号,周期为20ms。
伍 飞行控制器软件设计5.1 软件设计流程
本控制器的软件部分采用 c 语言编制,主要完成硬件平台初始化、数据采集处理、遥控信号解码、电机控制、姿态角解算以及控制律的实现。主程序流程图如 5 所示。
                         图5.1 程序流程
5.2 控制方法
比例、积分、微分( PID)控制器是当今工业界广泛使用的过程控制器, 具有简单、可靠和容易集成等特点[3]。PID控制器结构清晰,参数可调,适用于各种控制对象,不需要被控系统的精确分析模型,并且算法简单高效,可在现场根据实际调节参数而取得较好的控制效果,通过PID参数整定实现在比例、微分、积分三个方面参数调整的控制策略来达到最佳系统响应和控制效果。完整的PID控制表达式如下:
其中,为比例增益,为时间积分常数,为时间微分常数,为输出变量,为偏差数量。
              在FPGA中,PID算法的实现采用数字逼近的计算方法。由于FPGA的并行处理的方式,在传感器满足其更新速率和传输性能的基础上,随着数值采样速率的增加,其数字逼近的数值越接近真实数值。在这里,采用求和的方法代替积分运算、向后差分运算代替微分运算。FPGA的精确时钟信号能够实现随着传感器性能的提高,使积分、微分运算结果精度越来越高,并能够最大限度保证积分间隔的准确。
其中,为采样周期,是采样序列号。
              在四旋翼飞行器控制系统中,可以将其积分运算和微分运算的结果近似看做四旋翼飞行器的姿态和角速度。
              
其中,AT代表相应axis(包括Pitch、Roll、Yaw)三个轴上的姿态,ACC代表相应axis(包括Pitch、Roll、Yaw)三个轴上的角速度。

完整的Word格式文档51黑下载地址:
stm32四轴飞行器.docx (524.62 KB, 下载次数: 62)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表