飞行器通常都是需要设计配套遥控器的。当然,可以使用手机APP适配之后操作,也可以制作一个遥控手柄。本项目中四旋翼飞行器与遥控手柄通过 NRF24L01 2.4G 模块进行通讯。
**油门:**飞控的设计制作过程中,都会设计到一个关键词汇 “油门(throttle)” ,油门方向的遥感不具备自动回调的特性,通过油门方向的遥感控制飞行器的飞行高度。
**解锁:**高速旋转的机翼通常都具有一定的杀伤能力,为了防止简单误触造成飞行器意外起飞等情况。飞控的设计中存在锁门的这个概念,即:需要解锁操作,之后才能正常控制飞控。不同的遥控手柄的解锁方式往往不同,比较常见的解锁有: “外八字” 解锁和 “下上下” 油门解锁等。
**上锁:**飞行器飞行过程中难免可能出现意外情况,这个时候可以使用上锁操作强制锁定机翼转动。上锁方式同样根据实际情况设计。
三、四旋翼无人机飞行原理
四旋翼无人机主要分 “×” 型和 “+” 型两种,两种无人机的主要区别在于机头方向的选择。四旋翼无人机的简化结构如下图所示,无刷电机转动带动四个桨叶高速旋转产生向上的升力作用于无人机,当推动遥控器的油门使升力逐渐超过无人机自身重力时,四旋翼无人机便能够起飞升空,控制器发出的指令不断改变无人机的电机转速,就可以使无人机切换到不同的运动模式。考虑到**“×”** 型四旋翼无人机机动性更好,故本项目将采用 “×” 型四旋翼无人机设计。
本项目以 “×” 型飞行器为设计标准,故后续以 “×” 型飞行器的运动控制学进行分析,该类型飞行器结构图如下:
为了方便描述,将四旋翼无人机的四个电机分别编号为:Motor1、Motor3、Motor2、Motor4。Motor1和 Motor3电机逆时针进行旋转,从而可以产生逆时针方向的扭矩,Motor2和 Motor4电机顺时针进行旋转,从而可以产生顺时针方向的扭矩。如此,四个旋翼旋转所产生的扭矩便可相互抵消。当四个旋翼具有相同的转速,产生的上升合力正好与自身重力相等,则飞行器将进入悬停状态!
3.1 垂直运动
如上图所示,在保证四旋翼无人机每个旋翼转速大小相同(产生的总扭矩为零),对每个旋翼增加/减小大小相同的转速,便可实现无人机的垂直上升/下降运动。
旋翼总升力>无人机重力,垂直上升;
旋翼总升力<无人机重力,垂直下降。
3.2 俯仰运动
将电机Motor1、Motor4的转速减小或者将Motor2、Motor3增加时,四旋翼会产生向前上方的力,使四旋翼向前飞行。反之,如果将Motor1、Motor4的转速增加或者将Motor2、Motor3减小时,四旋翼会产生向后上方的力,使四旋翼向后飞行。
3.3 滚转运动
将电机Motor1、Motor2的转速增加或者将Motor3、Motor4的转速减小时,四旋翼会产生向右上方的合力,使四旋翼向右飞行。反之,如果减小Motor1、Motor2的转速或者增加Motor3、Motor4的转速,四旋翼会产生向左上方的合力,使四旋翼向左飞行。
3.4 偏航运动
将电机Motor2、Motor4的转速增加或者将Motor1、Motor3的转速减小,四旋翼会向右旋转,实现向右偏航。反之,如果将Motor2、Motor4的转速减小或者将Motor1、Motor3的转速增加,四旋翼会向左旋转,实现向左偏航。
四、四旋翼飞行器控制结构
一般情况下,四旋翼无人机由检测模块、控制模块、驱动模块以及电源模块四个部分组成。
**检测模块:**负责对无人机当前姿态进行量测,并对控制模块提供数据;
**控制模块:**负责对无人机当前姿态进行解算,优化控制,并对驱动模块产生相对应的控制量;
**驱动模块:**负责驱动4台电机进行旋转,从而使得无人机进行正常飞行;
**电源模块:**负责对整个系统进行供电,其中,分为控制供电与动力供电。
4.1 控制模块
飞控的控制模块即飞行器的微控制器MCU,现如今飞控多采用 STM32F4 系列的芯片,算力和成本都非常适宜。当然,本项目作者使用的 MCU 为 STM32F103C8T6 ,成本相对来说更低。当然,制作的飞控整体控制起来难度更大一点。MCU负责计算控制以及维持各个模块之间的通讯联动。
4.2 检测模块
检测模块则通常包括:惯性检测单元(MPU6050,磁力计等),气压计(MS5611等),电子罗盘(GPS等)。通过各类检测模块的运作,可以在一定程度上得到飞行器的位姿(位置和飞行姿态)。
**惯性检测单元:**惯性检测单元通常由姿态传感器 + 磁力计构成。航模新手的话仅使用六轴姿态传感器 MPU6050 作为惯性检测单元即可近似完成飞行器的姿态解算,得到飞行器的欧拉角度。本项目中的惯性检测单元仅使用 MPU6050。
问题:惯性检测单元为什么还需要磁力计的帮助?
欧拉3角:pitch(俯仰角)、yaw(偏航角)、roll(横滚角),其中的偏航角yaw,因为姿态解算算法的原因长期使用后会导致误差积累,故此需要使用磁力计的帮助进行校正。
**气压计:**气压计在飞行器中通常用来检测飞行器的飞行高度,帮助飞行器实现定高功能。常见的气压计为 MS5611 模块,MS5611 气压传感器是集合 SPI 和 I²C (高达20 MHz)总线接口的高分辨率气压传感器,分辨率可达到 10 cm。内部有一个高线性度的压力传感器和一个超低功耗的 24 位AD。
4.3 驱动模块
本项目制作的为四旋翼飞行器,故需要驱动4个电机。飞行器的电机驱动需要设计专门的驱动电路或者使用电调装置。本项目使用如下驱动电路:
电路分析:
**100Ω电阻:**起到限流作用,在 MOS 开启瞬间时需要吃电流,如果电流过大,会导致瞬间开启,缩短 MOS 管的寿命。
**10K 电阻:**IC 在复位状态下,所有 IO 口都处于浮空输入状态,加 10K 下拉电阻就可以避免在单片机还没工作时,MOS 导通,电机疯狂旋转打伤人。
**2302MOS:**NMOS,高电平导通。通过 PWM 占空比控制 MOS 管的导通,从而控制电机的平均功率。2302 在门级开启电压 Vth=3.3V 下导通电流可达 3A,而最大的空心杯电机(8520)最大消耗电流>1A,如果按照瞬间导通的电流 2.5 倍计算,MOS 承受的电流应在 2.5A 左右。故 2302 符合使用条件。
**电容:**吸收电机产生的高频杂讯
4.4 电源模块
飞行器的电源模块通常使用航模专用锂电池。由于四轴在飞行过程中,电量不断下降,当下降到一定程度后,可能会出现瞬间低于 3.3V,这样稳压就会无法正常工作,导致输出截断,所以配备升压。
**升压:**BL8530 升压 IC 需要 47uH 电感作为储能,内部集成类似 BOOST 升压电路,大家学过电路原理的都会学到 BOOST 升压电路。而这个肖特基二极管,在这里起到续流作用。
**稳压:**662K 3.3V 稳压 IC,稳压(LDO)这个很好理解。
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!
年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!