无人机基础知识 | 您所在的位置:网站首页 › 飞控的作用 › 无人机基础知识 |
飞行器控制器——主控MCU 什么是飞控 飞控是多旋翼飞行器的灵魂。那么什么是飞控呢?飞控就是飞行器的电子控制部分,全称为飞行控制器,英文Flight Controller,简写为FC。飞控主要包括主控处理器MCU和惯性导航模块(传感器部分)。 四轴飞行器相对于直升机等航模,最复杂的就是电子部分。可以和固定翼以及直升机比较一下。在常规固定翼航模上,陀螺仪并非常用器件。相对操控难度大点的直升级航模,如果不做自动稳定系统,也只是锁尾才用到陀螺仪。四轴飞行器则必须配备陀螺仪,这是最基本要求,不然无法飞行,更谈不上飞稳了。不但要有,还得是3个维度都得有,这是四轴飞行器的机械结构、动力组成特性决定的。在此基础上再辅以3轴加速度传感器,这6个自由度,就组成了飞行姿态稳定的基本部分,也是关键核心部分惯性导航模块,简称IMU。飞行中的姿态感测全靠这个IMU了,可见它是整架模型的核心部件。 IMU感知飞行器在空中的姿态,将数据送给主控处理器MCU。主控处理器MCU将根据用户操作的指令,以及IMU数据,通过飞行算法控制飞行器的稳定运行。由于有大量的数据需要计算,而且需要实时性极高的控制,所以MCU的性能也决定了飞行器是否能够飞得足够稳定,灵活。 本篇文章只讲飞控的MCU部分,另外一篇文章讲解IMU部分内容。 主控MCU STM32 Crazepony的主控MCU选用的是意法半导体的STM32F103T8U6,为32位ARM Cortex-M内核,最高72MHz。 主控选型需要考虑的问题 CamelGo上面说的选用了STM32F103作为主控MCU比较随意,其实真正在选型时候,有很多问题是需要我们考虑的,下面列举出几个最常见的问题。 首先是MCU的性能,最重要的指标就是主频。这直接决定MCU计算的快慢。四轴飞行器有很多来自IMU的数据需要处理,而且还有复杂的控制算法,如果MCU的性能不够,那么将直接限制飞控只能够处于一个比较初级的阶段,无法完成更加复杂的功能和精准的控制; MCU的接口也很重要。MCU是整个四轴飞行器的大脑,几乎所有的数据都要连接到它上面。例如I2C总线个数,DMA通道数目,GPIO数据等等; 正如博客中提到的,MCU的尺寸大小也是值得考虑的因素; 另外就是这个MCU的开发是否简单,技术资源的支持是否足够多。这对于一个DIY的开源四周飞行器也很重要;综合了这些因素,我们选择了STM32这片MCU作为我们的主控MCU。我们也高兴的看到,很多国内国外的四轴爱好者也选择了这一片MCU。 STM32F系列的MCU基本上是现在主流飞控的首选。其选择也从原来的STM32F103到了性能更高的STM32F303。部分飞控甚至选用高性能型号STM32F403,例如PX4飞控。 STM32F103:CC3D飞控/Naze32飞控/Crazepony四轴 STM32F303:F3飞控 STM32F403:CC3D Rev版本/APM飞控/PX4飞控下图是从ST官网截取的STM32系列处理器的定位图。横轴为所使用的ARM内核,纵轴为性能定位。红色圈出的处理器,为现在飞控所使用。 关于ARM Cortex-M 由于STM32使用的是ARM Cortex-M架构,所以这里有必要做一点ARM Cortex的普及。 ARM公司在经典处理器ARM11架构之后,为了给不同需求的CPU厂商提供服务,之后的内核架构命名都改为Cortex,并分成了A,R,M三类,也即将ARM的三个字母拆分为三个架构的名,代表着不同的发展方向: A系列处理器可托管丰富的OS平台和应用商提供全方位的解决方案,诸如手机、数字电视、机顶盒、打印机、服务器等。 R系列为实时处理器,要求可靠性、可用性、可维护性和实时响应的嵌入式系统提供解决方案。 M系列是一系列可向上兼容的高效能、易于使用的处理器,这些处理器旨在帮助开发者满足将来嵌入式的需要,这些需要包括低成本、不断增加的连接、代码改善移植等。M系列主要应用在智能测量、人机接口设备、汽车电子、工业控制、大型家电等。我们的STM32F103使用的Cortex-M3内核,就属于ARM的M系列,主要针对嵌入式产品需求而设计的。下面是一张Cortex-M3的内核架构图。 |
CopyRight 2018-2019 实验室设备网 版权所有 |