基于STM32的四旋翼飞行器的控制系统
2023-04-06 来源:zhihu
四旋翼飞机是一种具有6个自由度和4个控制输入的无人机,可垂直起降、悬停、向前飞行、侧向飞行和向后飞行。四个旋翼可相互抵消反扭力矩,无需特殊的反扭矩桨。广泛应用于无人侦察、森林防火、灾害监测、城市巡逻等领域。飞行控制系统是四旋翼飞行器的核心部分,其性能决定了整个系统的性能。近年来,小型四旋翼无人机的自主飞行控制引起了研究人员的广泛关注。随着计算机技术和电子技术的发展,我国小型飞行器的研发逐渐升温,许多公司已形成产业。例如,大疆公司已经实现了四轴飞行器等多轴飞机的商业应用。国内的研究主要集中在三个方面:姿态控制、传感器技术的发展、新材料的应用和电池技术的研究。
本文以ARMCortex-M3架构的STM32C8T6作为飞行器控制处理器,以MPU-6050作为飞行器的姿态传感器,以低功耗2.4GHz的nRF24L01作为无线传输器件,以HC-RS04超声波作为障碍物报警传感器设计系统硬件电路。经过实验调试,硬件系统能够稳定、可靠运行。
1系统总体结构设计
1.1物理结构设计
四旋翼飞行器由一个十字支架和四个螺旋桨组成,支架中间安放飞行控制处理器及外部设备,四个螺旋桨半径和角度相同,呈左、右、前、后四个方向两两对称排列。四个电机对称安装在支架端,其中,电机1和电机3逆时针旋转,电机2和电机4顺时针旋转,通过改变四个电机的转速来控制电机的运行状态。其结构形式如图1所示。
1.2工作原理
四旋翼飞行器在工作时,是通过电机调速系统对四个电机的转速进行调节,以实现升力的不同变化,从而控制飞行器的运行状态。飞行器的电机1和电机3呈逆时针旋转,电机2和电机4呈顺时针旋转,此时飞行器的陀螺效应和空气扭矩效应均被抵消,从而保证飞行器能够平衡稳定的飞行。通过适当地改变电机的转速,来控制飞行器的飞行状态。
1.3飞行器控制系统总体系统设计
飞行控制系统分为地面和机载两部分,其在物理上是彼此单独的,在逻辑上是彼此相连的。地面部分又分为地面站部分和遥控器部分,这两部分相互独立。整个飞行控制系统由微控制器模块、无线模块、电机驱动模块、姿态测量模块、高度测量模块、报警电路模块、地面站和遥控器等部分组成。系统总体框图如图2所示。
2系统主要功能模块硬件电路设计
2.1微控制器模块
本控制系统是一个多输入多输出系统,控制模块的主要输入信号有各个传感器的测量数据,输出信号为四路变脉宽电机控制信号,需要多个定时/计数器控制信号脉宽。系统需要处理很多传感器传来的数据,并且需要将数据送回地面系统,需要实时控制,响应速度必须要快。此外,本系统传感器的接口多样化,需要更多样的接口才能便于软件读取。基于这些需求,本设计中飞行器微处理器模块选用ARMCortex-M3内核的STM32F103C8T6,它的时钟频率可以达到72MHz,并且拥有IIC总线接口、JTAG接口、SPI接口、AD采集接口、多路PWM输出和多个串口,便于多样化传感器的挂接和程序的下载与调试。此微控制器具有8个定时器,对于信号采集和PWM输出均能满足。
2.2姿态测量模块
四旋翼飞行器受电机振动和外界干扰影响较大,精确数学模型建立较难,且其载重有限,一般以惯性器件作为姿态测量装置,姿态测量部件是整个硬件系统的重要部分。本设计综合考虑硬件设计原则,采用MPU-6050作为飞行器的姿态传感器。MPU-6050通过IIC协议接口进行通讯,只需要将MPU-6050的SDA数据线和SCL时钟线与STM32通用I/O口相连接,其电路如图3所示。为了稳定输出,避免空闲总线开漏,利用R2与R3作为SDA和SCL的上拉电阻,提高总线的负载能力。电路中C9为数字供电电压滤波电容,C8为校准滤波电容,C10为电荷泵电容,C11为供电电压滤波电容。
2.3无线通讯模块
系统在这三个方面需要无线通讯:首先需要将遥控器的信号通过无线模块发送出去。其次,地面站需要接收飞控端的姿态数据,并需要发送控制参数。最后,在飞控端需要接收遥控器和地面站的数据。结合通讯距离,成本等因素,本设计选用nRF24L01无线模块器件。其发射电路可以通过LC振荡电路构成。为了便于维修,利用接口将无线模块独立出来。
2.3.1遥控器模块
本设计采用摇杆控制方式,利用数-模转换器将摇杆的模拟量转化为数字量,再将转化后的数字信号传递给小型控制器,经过一定的数据处理,通过无线发射出去,供飞行器控制器接收利用。采用nRF24L01作为遥控器的无线发射器件,为了便于数-模转换,遥控器摇杆采用摇杆电位器,通过采集电位器的电压值去衡量遥控的行程量;由于遥控器处理信号单一,不需要高速的处理器,采用8位的51单片机STC89C52RC作为遥控器的控制器,用来采集摇杆的模拟信号和发送采集到的数据。采用PCF8591作为数据获取器件,其含有4路模拟量输入,1路模拟量输出,属于标准的IIC通讯,能够满足本设计要求。
2.3.2地面站模块
飞行器地面站主要完成以下两个方面的功能:(1)在飞行器稳定飞行时检测飞行器的飞行状态,传递控制参数给飞行器,使其按照控制算法运行;(2)在飞行器调试阶段,完成飞行器PID参数的修改和调整。由于PC机一般留给用户操作的多为USB接口,然而nRF24L01通讯接口为SPI接口,本设计选用51单片机读取nRF24L01的数据,继续由单片机将数据通过USB转串口芯片与PC机通讯,完成地面站数据的传输功能。
2.4电机驱动模块
2.4.1电机驱动原理
本设计选用直流无刷电机作为飞行器的动力驱动设备。根据无刷直流电机的换向原则,无刷直流电机的控制形式分为:开环控制、转速负反馈控制和电压反馈加电流正反馈控制。其中,开环控制无反馈进行校对,应用于转速精度要求不高的场所;转速负反馈控制的机械性能好;电压反馈加电流正反馈控制一般应用在动态性能要求高的场合。针对本设计来说,需要实时调整电机的转速,并且调速频率比较大,所以在本设计中采用电压反馈加电流正反馈控制方法。
2.4.2电机驱动电路设计
根据电机控制原理,本设计将电机驱动电路划分为三个部分:微处理器、反电动势检测和功率驱动部分。
(1)微处理器
由于无刷直流电机的换向频率比较高,不宜使用低频率的处理器,再加上电机的旋转会产生旋转的磁场,对处理器有很大的干扰。通过比较,本设计采用ATMEGA8单片机作为电机驱动微处理器。
(2)反电动势检测
在换向的过程中,需要不停地检测转子的位置,通过转子产生的反电动势就可以知道转子的位置信息,通过分压衰减原理,检测电机三相反电动势电压相对中性点的电压,从而确定转子的位置。反电动势检测电路如图4所示。
其中,A、B、C端子为电机三相电压,R33~R38为分压电阻,P-A、P-B、P-C分别三相反电动势对应电压,P-M为中性点电压。
(3)功率驱动
功率驱动是为了给电机提供大的电流,使其达到能够稳定运行的目的,本设计采用并联MOS管提高输出的电流,在每一相上桥臂并联3个P沟道MOS管,达到三相全桥可控的目的,在每一相的下桥臂上也并联3个N沟道MOS管。
3硬件系统调试
3.1PWM控制飞行器驱动电机调试
通过对4个电机进行通电,加上不同占空比的PWM波形,来控制电机的转速,记录电源电压、电流的变化情况,在稳定输出11.1V,不同的占空比下,电源电流变化情况如表1所示。
由表1可知:占空比越大,电机驱动工作需要的电流越大;在占空比达到接近极限值时,电流输出变化很小,实验表明硬件系统能够可靠运行。
3.2无线通讯调试
通过测试无线的连通性、传输距离和丢包率,来确定无线模块的性能特性。把遥控器设置为发送模式,地面站设置为接收模式,利用地面站的报警灯来指示接收的状态,成功接受一次闪一下,通过改变遥控器和接收机之间的距离,记录一分钟内指示灯闪烁的次数,来评估无线传输质量;测试分别在教学楼楼道和空旷操场进行,详细记录见表2。
由表2可知:无线通讯在15m之后的传输效果有明显下降,这是由无线通信模块的功率决定的,实验表明无线通信部分在设计需求范围内能够可靠运行。
3.3综合调试
图5是从PID控制算法下载到四旋翼飞机控制器进行实际飞行控制的姿态曲线,其中① 表示滚角,② 表示俯仰角③ 表示偏航角。图5显示飞机受到侧风干扰后,姿态角得到控制,并再次收敛到平稳(0,0,0)状态的角度数据。实验结果表明,该系统能够稳定运行。
4结束语
完成了四旋翼飞行器控制系统方案设计以及系统各个模块硬件器件选型和电路设计,进行了系统硬件电路的调试,实验结果表明,系统能够稳定、可靠运行。
下一篇:STM32——粗谈基础知识