APP下载

基于STM32微型四旋翼“飞行器设计与实现

2019-09-10张鹏王彬

今日自动化 2019年2期

张鹏 王彬

摘要:因为四旋翼飞行器本身具备结构合理、体积轻盈小巧、质量轻等多种优点,使得四旋翼飞行器得到了广泛的应用。因此,文中就是基于意法半导体的STM32系列单片机作为控制核心对微型四旋翼飞行进行设计与实现研究。

关键词:四旋翼飞行器;STM32控制器;PID算法

中图分类号:V22;TP273

文献标识码:A

文章编号:2095-6487(2019)02-0057-02

0引言

随着信息技术、科学技术的不断发展,于STM32微型四旋翼飞行器的设计与应用逐渐增多。文章就是应用了基于STM32微型四旋翼飞行器的研究方法,进行了简单的微型四旋翼飞行器设计,并进行模拟实验,证明该设计中的微型四旋翼飞行器的飞行状态比较平稳,能够较好的完成飞行任务,值得进一步研究。

1基于STM32微型四旋翼飞行器的硬件设计

1.1主控模块设计

在对成本、性能进行全面分析的基础上,基于STM32微型四旋翼飞行器在其主控模块设计中使用的都是意法半导体公司的增强型高速单片机STM32F103。因为STM32F103的内核架构是ARM32位的CortexM-M3,因此在实际的操作中,处于稳定工作状态下,其工作频率基本保持在72MHz。该主控模块最显著的特点就是资源丰富、时钟高速、指令精简的微型处理器,可以较好的满足基于STM32微型四旋翼飞行器的基本操作叫。

1.2飞控板电路设计

在本次基于STM32微型四旋翼飞行器设计中,其中设计的核心是MPU6050角速度传感器、NRF2401无线模块、~飞控板电机驱动等模块。在飞控模板中应用MPU6050,是为了实现其对飞控系统惯性测量单元的测量传感器的作用,及时传输信号。MPU6050角速.度传感器的驱动方式则选择了IIC接口,在STM32的PB10端口连接时钟引脚SCL,在STM32的PB11端口连接数据引脚,在STM32的PB5端口连接数据中断引脚,其中ADO做接地处理,其他各引脚做悬空处理。飞控电路板内的每个引脚都加入10k的上拉电阻,这样可以保证飞行器有比较充足的驱动力,满足四旋翼飞行器飞行成功,其原理具体如图1所示。

在飞控板设计中,本次飞行器设计中其动力双系统是由四个十字交叉且呈对称分布的高速空心杯构成的,从而保证飞控板作业。通过应用N沟道来使电控板中的型场效应晶体增强来实现对电控板的驱动开关部分的管控。在飞控板的设计中为了实现对电机的运转速度进行调整,可以通过修改、调整STM32引脚上的PWM信号实现的。在整个电机运行中通过设置控制开关MOS管来实现开关控制,对飞行器中4个电机的控制则是通过STM32定时器2中的四个通道的PWM控制来实现的。

1.3遥控板电路设计

在本次基于STM32的四旋翼飞行器的遥控板控制电路设计中无线收发通信模块应用SPI总线与2.4GHZ,将其与控板自带的8位并行口与OLED显示屏通信进行连接,在遥感和电池电量采集方面则是通过应用ADC输入引脚实现对的。”飞控板通过控制与遥控电路中相对应的引脚来实现对遥控板电路设计的语音模块控制功能,对飞行器的飞行状态与飞行中发生的故障进行语音提醒,从而能够为和使用者提供更加全面、优质的服务。在遥控板电路设计中其设计核心就是通过万象控制杆实现对数据的采集与识别,通过应用NRF2401无线模块,从实现对数据的收、发,并设置了语音提示模块。通过在遥控电板设计中为进行遥感模拟实验,分别应用了STM32单片机ADC的通道4、通道5、通道6和通道7,将其中采集到的数据转换为数字量,并通过在其遥控电板中接入PWM1、PWM2、PWM3和PWM4引脚,可以削减加入滤波电容时杂质信号对飞行器飞行轨迹、飞行状态的影响。

2四轴飞行器的软件设计

2.1飞控板的软件设计

在本次基于STM32的四旋翼飞行器的飞控板软件设计中,主要包含了以下功能:数据采集、无线模块、MUP6050姿态检测模块以及PWM空心杯电机的自检以与初始化等多个模块构成,这样就可以较好的满足本次飞控板软件设计中对IMU零偏处理,并对飞控板中的2.4GHZ频率及时进行校对。基于STM32的四旋翼飞行器的飞控板系统软件设计的实际操作反应流程为:首先,开机后保证系统上电,系统进入自检状态,如系统位通过自检则系统发出警报;其次,在自检通过中,将系统中多传感器数据融合算法所得出的数据进行采集与汇编;最后,启用系统中的PID控制子程序与多级滤波算法实现飞控板的控制。在以上操作结束之后进入到飞控板设计的循环操作中[2]。

通过核心传感器MPU6050的驱动总线的IIC方式来实现对飞行器姿态采集与控制,在本次基于STM32的四旋翼飞行器的飞控板软件设计中应用了PB10和PB11来对该驱动总线的IIC方式进行模拟,这样可以使本系统的设计更加方便。通过读取的加速度与角速度的值来实现飞控板姿态处理流程设计,再通过调用姿态解算的子模式,来获取姿态解算结果。

2.2遥控板的软件设计

在本次基于STM32的四旋翼飞行器的遥控板系统软件设计中,为了能够满足地面控制人员和飞行器的机载设备之间无线通信的双向性沟通,这样就能够通过0LED显示屏将飞行器飞行信息、出现的故障信息以及其他必要信息进行显示。在本次设计中,基于经济性原则,选择了STM32中ADC的DAM通道,该遥控板的软件设计可以使系统更好的控制~飞行器飞行运动。基于STM32的四旋翼飞行器的遥控板系统软件设计的实际操作反应流程为:首先,系统自检,各个模块进入初始化状态系;其次,测试系统通信状态后,通过SPI总线除数与之对应的ADC数据;最后,在液晶显示屏中的显示相关的数据,数据发生变化也会及时的更新数据。

3系统调试与飞行测试

虽然可以通过系统模型来对飞行器的飞行情况进行模拟,但是这并不能完全展现飞行器的飞行情况,通过理论模型推理获得的数据与实际飞行中还是存在一定差异的,甚至有部分数据与参数会存在差异。因此,要想保证基于STM32的四旋翼飞行器的设计的合理性,实现其预期的飞效果还是要做好系统调试与飞行测试。

首先,本次设计中的基于STM32的四旋翼飞行器的设计的电池电压为11.3V,如果低于11.3V时,就很有可能导致电动马达驱动电压到不到标准,飞行器无法正常飞行,因此可以在电池上安装电压警报设备,并将报警电压设置为11.3V,如果低于该设定制就要及时报警,提醒使用者及时充电,保证飞行器的飞行效果。

其次,还要做好PID控制参数的设置。可以通过MPU一6050将传回主控芯片的姿态数据与PID算法结合起来,这样就可以实现对基于STM32的四旋翼飞行器的飞行姿态进行控制。如果显示为error,则表示该飞行器的姿态角度与预设姿态角之间存在差异。可以将计算得到控制调整信号输出给控制芯片编程PWM,这样就可以实现对飞行器的飞行姿态角调整。

4结束语

总而言之,基于STM32的四旋翼飞行器的设计与实现,对其设计中的硬件设计、软件设计以及算法流程都进行研究,从而保证基于STM32的四旋翼'飞行器能被设计与实现。

参考文献

[1]许琳娜,王振华,罗魏魏.基于STM32的四旋翼飞行器的设计与实现[J].自动化技术与应用,2017(8):122-124,135.

[2]尹项博,张亚明,王珂,等一种基于STM32的微型四旋翼飞行器硬件设计方案[J].中小企业管理与科技(下旬刊),2017(2):162-163.

[3]颜平,王丽丹,李梦柯,等.基于STM32的四旋翼飞行器设计与实现[J].电子设计工程,2016(2):187-189,193.

[4]李华贵,李辉,李刚,等.基于STM32的四旋翼飛行器的设计与实现[J].仪表技术,2015(5):27-30.