刘璇
摘要:近年来,四旋翼飞行器在军事和民用领域的使用越来越广泛。微型四旋翼飞行器能够实现垂直起降、自由悬停等功能。但是四旋翼飞行器具有欠驱动、强耦合、非线性、多变量和干扰敏感等特性,为飞行器的设计和控制带来困难。本论文采用 ARM 架构的主控芯片,设计制作了一个四旋翼飞行器的控制实验平台。介绍了在构建四旋翼飞行器实验平台的过程中遇到的难题,并提供了相应的解决办法。
关键词:四旋翼飞行器; STM32F103; PID
一、引言
四旋翼飞行器是在旋翼飞行器中算是比较简单的一种,其包涵了旋翼飞行器的基本硬件结构框架,可以以较低的成本实现旋翼飞行器平台的搭建,进行四旋翼飞行器的学习和开发。
四旋翼飞行器的四组电机及机翼分别位于十字形结构机身的各个顶点。相对机翼的电机旋转方向相同,相邻机翼的电机旋转方向相反,这样使得四个机翼旋转产生的扭矩相互抵消,产生的重力相互叠加,从而克服机身重力,使得四旋翼飞行器可以實现飞行的功能。通过分别控制四个电机不同的转速,就可以实现对飞行器姿态和高度的控制。
与传统的固定翼飞行器相比,四旋翼飞行器具有体积小、噪声低、机械结构对称、动力学模型简单的特点,能够做出垂直起降、自由悬停等动作,具备了良好的灵活性,能够在有限的空间内垂直运动、低速飞行。在超低空近地飞行当中能够发挥极大地作用。因而可以应用于更多的军事、生产生活场景中。它可为海上、废墟等不适合人员进入的环境提供侦察、救援、绘图等服务[1]。
目前,世界上人们研究的四旋翼飞行器一般体积不大,属于微小型四旋翼飞行器,一般来说分为三类:遥控航模四旋翼飞行器、微型四旋翼飞行器和小型四旋翼飞行器。
二、飞行动力学原理
偏航角、俯仰角、滚转角在四旋翼飞行器飞行过程中,我们需要控制其飞行高度和姿态。所谓高度,就是飞行器重心相对于地面的垂直高度。而姿态,我们这里通过三个角度来定义和描述(为方便说明概念,这里采用固定翼飞行器图示):偏航角(Yaw):以机翼所在直线为轴的旋转运动俯仰角(Pitch):以竖直方向(垂直于机身所在平面)为轴的旋转运动滚转角(Roll):以机舱所在直线为轴的旋转运动。
“+”模式和“x”模式这两种模式的飞行器在飞行过程所呈现的布局类型不同,对应的电机转速控制策略也不相同。比如现在想要将飞行器从水平飞行的姿态改变为机头向上的姿态(即改变飞行器的俯仰角)。如果是“+”模式,需要将 3 号电机转速升高,1 号电机转速降低;如果是“x”模式,需要 2、3 号电机转速同时升高,1、4 号电机转速同时降低。显然“x”模式 4 个电机同时变速,动作更加灵活,单控制起来比较复杂,“+”模式只有 2 个电机变速,动作灵活性变差,但是控制简单容易实现。
四旋翼飞行器有四个控制量,即四个电机的转速,通过控制电机转速可以改变升力大小,从而控制四旋翼飞行器的姿态和高度。当飞行器自由悬停时,电机 1 和电机 3 转向相同,电机 2 和电机 4 转向相同,四个电机转速均相同,这样四个旋翼产生的扭矩相互抵消,而产生的升力相互叠加,与飞行器重力相平衡。当飞行器处于动态过程中时,四个电机的转向不变,但转速不再保持一致.
三、系统硬件框架
本实验平台的主控芯片采用 ARM 架构的 STM32F103 系列芯片进行信号的运算和控制算法的实现,运算结果以 PWM 波的形式输出,驱动无刷电子调速器。无刷电子调速器一方面负责三相无刷直流电机的功率驱动,另一方面为主控板提供 5V 电源,实现了主电路到控制电路的电力电子变换。实验平台是执行机构是四个直流无刷电机,控制量是电机转速,调节四个电机不同的转速从而实现姿态和高度的调节。反馈环节采用姿态传感器和超声波高度测量单元,实时测量飞行器的当前姿态角和高度值。给定信号通过专用的航模遥控器给出,将给定信号与实时测量结果的差值作为主控芯片的输入,将此差值经过积分分离 PID 算法计算,得到主控芯片的输出。这样就实现了整个系统的闭环。在实际飞行过程中,飞行器可能会受到风力干扰、电磁干扰、安装误差等多种扰动信号,闭环控制是必不可少的。
由于飞行器的惯性与其半径的 5 次方成正比,半径越小,飞行器的惯性越小,调节起来灵活性就会比较高,原则上选用比较小的机架。考虑到适当的安装尺寸,同时螺旋桨之间旋转产生的乱流可能互相影响降低效率,最终选择 f450 机架。
四旋翼飞行器的四个桨叶为了平衡扭矩有两种相反的转向,但是要保证顺时针、逆时针两种转向旋翼的风都向下吹这样才能得到最大的升力以克服重力,显然同一种旋向的桨是不能满足这种需求的,所以需要正反桨。
本实验中使用的 2 对 1045 正反桨,前两位数字代表桨的直径(单位:英寸 1英寸=2.54 厘米),即 1045 桨的直径为 25.4 厘米,后两位数字代表桨的进角。桨叶采用尼龙混碳材料,具有更高的强度(是普通尼龙桨的 3 倍),具有更高的效率,在高负载下,桨不容易变形.此系列螺旋桨具有很好的平衡性.会很大程度使飞行器的驱动更加灵活,减少飞行噪音,提高效能。
F450 机架对角电机轴距为 450mm,机身重量为 282g,采用 PA66+30%超高强度塑胶材料制成,耐摔、耐撞击。主体采用集成式的 PCB 板连线,配备镀金复合 PCB电路板,使电源、电调的连线更加快捷、安全。经过优化设计的超大安装空间,为各种飞控系统保证充足的安装空间。采用非标的 M2.5 阶梯螺丝,这样能使 PCB 板和力臂稳固连接[2]。我们采用无刷直流电机,它本质上是一种交流电机,但是通过一些电力电子技术使其调速特性和直流电机完全一样,无刷直流电机很好的满足了高速线性调速的需求,目前已经成为四旋翼飞行器的主流,价格也相对较高。
四旋翼飞行器中选用无刷直流电机时要考虑电机和桨叶的配合问题。桨叶越大,转动时提供的升力越大,也因此需要更大的力量来驱动,桨叶转速越高,升力也越大。对与带动桨叶转动的无刷电机而言,kv 值越高,所能提供的转动力量越小。这样,高 KV 值的电机需要选用小桨叶,一次转动的升力较小,但转速较高;低 KV 值的电机需要选用大桨叶,转动速度较低,但是每次转动可以提供较大的升力。如果低 KV 值的电机带小桨叶,可能提供的升力不足,无法起飞或者飞行不稳;如果高 KV 值的电机带大桨叶,电机会处于低速运转状态,容易烧毁电机和电调。一般来时,10 英寸的桨配合 1000k 左右的无刷直流电机使用。endprint
功率驱动单元采用的是好赢天行者 30A 无刷电调,接受主控板的输出信号,对电机速度进行调节,同时输出一路 5V(2A)电源为控制板供电。实际上该电调内部是一个 DSP 变频器,将主控板输出的 PWM 信号采集、编码,以 4096 的分辨率测量脉宽得到相应转速值,再由变频器控制变频,从而实现电机转速调节。
四旋翼飞行器四个升力是分散的,一旦受到外部干扰就不能保持稳定,只有不断通过反馈调节才能保持系统稳定或者按照期望的方式进行姿态调整,这就对元器件的反应速度提出了很高的要求。常规的 PPM 电调更新频率只有 50Hz,满足不了四旋翼转速快速变化的需要。好赢天行者 30A 无刷电调是旋翼飞行器的专用快速电调,使用 IIC 总线传输转速信号,可达到每秒上千次的变化能力,保证了飞行器对于突加扰动的抑制能力。30A 是电调能够提供的最大持续电流值,完全可以满足电机需求。
在实际使用电调时,可以对电调的功能进行设置,这就是所谓的电调编程。具体使用时可以参照说明书进行设置,可以使用遥控器编程,也可以購买厂家的编程卡。需要注意的是,四个电调的启动模式必须是一样的,否则会在一开始四个电机有很大转速差,可能导致摔机。进行电调编程时要连接电机才能进行。
可见,电调是四旋翼飞行器整个硬件架构中十分重要的部分,产品的功能完善和高度集成,在很大程度上保证了系统的可靠性。
控制器是四旋翼飞行器硬件架构的核心部分,接收传感器的姿态和高度信息,输出电调模块的驱动信号。很多数据传输和数据处理过程都是在控制器内部进行的,控制思想也主要体现在控制器内部的程序代码。四旋翼飞行器具有干扰敏感性,必须进行闭环控制,而且要求系统具有很快的调节能力,这就要求控制器具有很快的数据处理能力。
本实验中采用的主控芯片是 STM32F103RCT6 芯片。采用 ARM 架构的 Cortex-M3 32 位 CPU,工作频率最高可达 72MHz,计算能力 1.25 DMIPS/MHz,256kB Flash 存储器,48kB SRAM,51 个 GPIO 口,3 个 SPI 接口,5 个 USART 接口,2 个 I2S 接口,2 个 I2C 接口,1 个 CAN 总线接口,1 个 USB 接口。3 个 12 位 ADC,具有 1MHz的转换速率,12 通道的 DMA。满足该实验的控制器要求。
本实验中采用的基本是模块化元器件,电路设计较为简单,只需要考虑各部分的信号接口和供电即可,所以直接采用了万用板进行电路搭建,方便了今后添加模块时的线路改造,缺点是焊接时要保证每一条线路的可靠连接,整体的抗干扰性能较差。为了适应模块化设计的需要试验中选用了 Core103R 核心板。Core103R 核心板在 STM32F103RCT6 芯片外部添加了基本的外围电路,包括晶振电路,USB 控制电路,USB 接口等 引出了 I/O 资源 带 JTAG/SWD 调试下载接口 排针间距 2.54mm,体积较小,适合接入用户系统。
MPU6050 模块是整合性 6 轴运动处理组件,整合了 3 轴陀螺仪、3 轴加速度计,以及一个可扩展的数字运动处理器 DMP,可通过 I2C 接口连接一个独立的数字传感器,比如磁力计。扩展之后就可以通过其 I2C 接口输出一个 9 轴的信号[3]。与分立的陀螺仪和加速度计相比,免除了组合陀螺仪与加速度计之间的轴间测量误差的问题,减少了大量的包装空间。模块内部采用的陀螺仪测量范围是± 2000°/s,加速度计测量范围是±16g,芯片内置 16 位 AD 转换器,16 位原始数据输出。通信方式采用标准的 I2C 通信协HC-SR04 超声波模块利用声音传播的原理来实现测距功能。有两个功能引脚,Trig 称为控制信号输入,引脚在内部接一个 10K 的上拉电阻,使用时用单片机的IO 口拉低 Trig 引脚,然后给一个 10us 以上的脉冲信号。模块会通过发射口自动发出 8 个 40kHz 周期信号并检测回波。一旦检测到有回波信号则回响信号输出引脚Echo 就会输出一高电平,高电平持续的时间就是超声波从发射到返回的时间[4]。这样,所测距离就可以利用声速公式计算:测试距离=(高电平时间*声速(340M/S))/2
该模块的供电电压为 5V,输出高电平为 5V,低电平为 0V,可以直接和主控芯片 IO 口相连接,探测距离为 2cm-450cm,有 2cm 的盲区,精度可达 0.3cm,基本上满足控制系统的需求。天地飞 7 遥控器是一款深圳天地飞科技有限公司生产的专门面向于无人机航模的遥控器,支持中文界面。本实验中采用遥控器进行信号给定,通过手动调节的方式在很大程度上降低了对实验平台的参数要求。天地飞 7 遥控器和接收机之间在全球免申请的 2.4G 频段内以 PPM 通信方式进行通信,调频通信技术避免了空间电磁干扰,保证了信号的稳定可靠传输。WFT07s 有 7 个通道,本实验中使用的是 1 2 34 通道,通过对这 4 个通道的编程来实时对飞行器姿态进行调整,遥控器的教练模式、混控编程给飞行器的调试带来很大便利,电压检测、失控保护等功能增加了系统的可靠性。
本实验中使用锂电池供电,重 178g,质量轻,起飞效率高。锂电池 1 节标准电压为 3.7v,3s 代表 3 节电池串联,即供电电压为 11.1V;2200mah 是指电池容量,如果电池以 2200ma 的容量放电,可持续放电 1 小时;30C 是放电系数,表示电池最高可以 2200ma*30=66A 的电流持续放电,朗宇 x2212-980kv 无刷电机的工作电流可达 15A 左右,该电池可以给 4 个朗宇 x2212-980kv 无刷电机持续供电。该电池容量较小,质量轻,但如果要长时间飞行可以在重量允许范围内搭配容量更大的电池。3s 电池是 3 节电池串联,由于制造工艺的原因,无法保证 3 块电池内阻完全相同,如果按照普通方式充电,必然会导致电压分配不均匀,这样,在一块电池充满的同时,其它电池不能同时充满,容易引起充电不满或者过度充电的现象。解决办法是对单节电池分别进行充电。锂电池有两组引出线,一组是输出线,另一组是单节锂电池引出线,充电时将电池按照说明书和 B6 平衡充相连接,就可以实现对单节锂电池充电,充满电时平衡充会自动发出提示音。
参考文献:
[1]樊冬雪,成怡,金海林,修春波.四轴飞行器视觉导航设计[J].电子技术应用,2014,40(8):140-142.
[2]杨浩. 基于嵌入式 Linux 实时控制 的四轴飞行器设计与实现[D].西安:西安交通大学,2015.
[3]谷丽华,崔畅,高松巍,许会. 基于 MPU-6050 的步态信号采集系统[J].沈阳:沈阳工业大学学报,2015,37(2):176-183.
[4]丁鹭飞.超声原理(第 3 版)[M].西安:西安电子科技大学出版社,2002.endprint