历史上的今天
返回首页

历史上的今天

今天是:2025年04月19日(星期六)

2021年04月19日 | 基于STM32的四轴飞行器飞控系统设计

2021-04-19 来源:eefocus

引言


四轴飞行器是一种结构紧凑、飞行方式独特的垂直起降式飞行器,与普通的飞行器相比具有结构简单,故障率低和单位体积能够产生更大升力等优点,在军事和民用多个领域都有广阔的应用前景,非常适合在狭小空间内执行任务。因此四旋翼飞行器具有广阔的应用前景,吸引了众多科研人员,成为国内外新的研究热点。


本设计主要通过利用惯性测量单元(IMU)姿态获取技术、PID电机控制算法、2.4G无线遥控通信技术和高速空心杯直流电机驱动技术来实现简易的四轴方案。整个系统的设计包括飞控部分和遥控部分,飞控部分采用机架和控制核心部分一体设计增加系统稳定性,遥控部分采用模拟摇杆操作输入使操作体验极佳,两部分之间的通信采用2.4G无线模块保证数据稳定传输。飞行控制板采用高速单片机STM32作为处理器,采用含有三轴陀螺仪、三轴加速度计的运动传感器MPU6050作为惯性测量单元,通过2.4G 无线模块和遥控板进行通信,最终根据PID控制算法通过PWM方式驱动空心杯电机来达到遥控目标。


1、系统总体设计


系统硬件的设计主要分要遥控板和飞控板两个部分,遥控板采用常见羊角把游戏手柄的外形设计,控制输入采用四向摇杆,无线数据传输采用2.4G无线模块。飞控板采用控制处理核心和机架一体的设计即处理器和电机都集成在同一个电路板上,采用常规尺寸能够采用普通玩具的配件。系统软件的设计同样包括遥控板和飞控板两部分的工作,遥控板软件的设计主要包括ADC的采集和数据的无线发送。飞控板的软件的设计主要包括无线数据的接收,自身姿态的实时结算,电机PID增量的计算和电机的驱动。整个四轴飞行器系统包括人员操作遥控端和飞行器控制端,遥控端主控制器STM32通过ADC外设对摇杆数据进行采集,把采集到的数据通过2.4G无线通信模块发送至飞控端。飞控板的主要工作就是通过无线模块进行控制信号的接收,并且利用惯性测量单元获得实时系统加速度和角速度原始数据,并且最终解算出当前的系统姿态,然后根据遥控板发送的目标姿态和当姿态差计算出PID电机增量,然后通过PWM驱动电机进行系统调整来实现飞行器的稳定飞行。系统的总体设计框图如图1所示。



图1 系统总体设计框图




2、四轴飞行器的硬件设计


2.1主控单元选择


从成本和性能综合考虑,飞控板和遥控板的主控单元都采用意法半导体公司的增强型高速单片机STM32F103作为主控的,STM32F103是基于的ARM 32位的Cortex-M3内核架构,稳定工作频率可达72MHz,是一个具有丰富资源、高速时钟的精简指令的微处理器。STM32F103拥有从64K或128K字节的闪存程序可选存储器,高达20K字节的SRAM,2个12位模数转换器多达16个输入通道,7通道DMA控制器,多达80个快速I/O端口,串行单线调试(SWD)和JTAG接口调试模式,多达7个定时器,多达2个I2C接口(支持SMBus/PMBus),多达3个USART接口(支持ISO7816接口,LIN,IrDA接口和调制解调控制),多达2个SPI接口(18M位/秒),CAN接口(2.0B主动),USB2.0全速接口。主控单元原理图如图2所示。


图2 主控单元原理图




2.2 飞控板电路设计


飞控板的核心设计是MPU6050测量传感器、NRF2401无线模块以及飞控板电机驱动等模块的设计。飞控系统的惯性测量单元采用MPU6050作为测量传感器,MPU6050的驱动方式采用IIC接口,时钟引脚SCL连接到STM32的PB10,数据引脚连接到STM32的PB11引脚,数据中断引脚连接到PB5,为了增强驱动能力在每个引脚上都加入了10K的上拉电阻,原理图的设计如图3所示。


图3 飞控板惯性测量单元原理图




相对于其他模块电系统也是比较重要的部分,飞控系统采用3.7V高放电倍率锂电池进行供电。主控芯片供电部分和IMU传感器部分采用各自独立的LDO进行供电,这样确保了系统的稳定性和IMU传感器数据采集的准确性,稳压直流电源模块的原理图设计如图4所示。


图4 飞控板电源稳压原理图




飞控板与遥控板数据的通信同样采用的是基于2.4G频段的NRF2401模块,确保了数据的稳定传输。STM32的SPI1外设对2.4G模块进行操作驱动,引脚的连接如下表1所示。



NRF2.4G为采用3.3V供电无线模块,系统采用与单片机相同的电源网络对其供电,同时加入0.1UF电容进行滤波确保模块正常工作,无线模块的具体原理图连接如图5所示。


图5 飞控板无线模块原理图




飞控板的驱动系统采用的是四个分布对称十字交叉的高速空心杯电机,电机的驱动开关部分采用N沟道增强型场效应晶体管进行控制,通过修改STM32对应引脚上的PWM信号来进行开关MOS管实现电机运行开与关,从而实现电机运转速度的调节。电机1、2、3、4分别采用STM32的定时器2的通道0、通道1、通道2和通道3的PWM进行控制。电机1的控制端连接PA0,电机2的控制端采用PA1,电机2的控制端采用PA2,电机3的控制端采用PA3控制,电机的驱动原理图如图6所示。



图6 飞控板电机驱动原理图


2.3遥控板电路设计


遥控板主控单元通过SPI总线驱动2.4G无线模块,通过8位并口驱动1602液晶显示,通过ADC输入引脚对摇杆和电池电量进行采集,通过引脚驱动三极管开关驱动蜂鸣器提示。遥控板的核心设计是摇杆模拟数据进行采集模块、NRF2401无线模块等设计。


采用STM32单片机ADC1的通道4、通道5、通道6和通道7进行摇杆模拟数据进行采集并转换为数字量,分别连接到PA4、PA5、PA6和PA7引脚,并且加入滤波电容减少杂质信号的影响。遥控板摇杆输入原理图设计如图7所示。


图7 遥控板摇杆输入原理图设计




遥控板采用NRF2.4G模块的驱动采用STM32的自带外设SPI2进行驱动,各个功能引脚的连接如表2所示。



NRF2.4G模块采用3.3V供电,在供电端口外加0.1UF滤波存储电容确保无线系统的稳定性,的具体原理图连接8所示。


图8 遥控板无线模块原理图




3、四轴飞行器的软件设计


四轴飞行器的软件设计主要包括飞控板软件的设计和遥控板软件的设计。整体软件在MDK环境下采用C语言编写,采用ST-LINK仿真器对程序进行调试与下载。


3.1飞控板系统软件设计


飞控程序的主要设计思想是开机对无线模块的初始化、MPU6050的初始化、PWM电机初始化。随后对整个系统IMU继续零偏处理,随后等待进入解锁信息的传入。飞控采用定时器中断的方式,在中断中进行对时间的处理,每次中断计次标志就会自增,根据不同的中断积累即不同时间的间隔分别处理优先级不同的任务。飞控系统程序设计流程图如图9所示。


图9 飞控系统程序设计流程图




飞控系统每0.5毫秒中断一次,每次中断就会检查一次无线模块数据的接收,确保飞控系统的控制信息的实时性。每两次中断即1毫秒读取一次IMU单元的数据,通过滤波算法获得较为准确的系统加速度、角速度的原始数据。每四次中断即2毫秒通过IMU的原始数据计算下当前飞控板系统的姿态,然后结合遥控端的目标姿态,根据两者的差值通过PID控制算法进行对各个电机的调速控制。每200次中断即100毫秒,飞控系统会采集一次电池电压,然后把电池电压发送给遥控板,用来高速操作人员当前电压的大小。


MPU6050作为系统的惯性测量单元,是整个系统正常运行基础。MPU6050的驱动总线为IIC方式,为了程序的方便性本系统选用PB10和PB11模拟IIC来驱动。IMU读取出来的数据只是最简单的加速度、陀螺仪角速度的原始数据,需要通过进一步的处理才能得到本系统想要的姿态角度。飞控板姿态结算流程图如图10所示。


根据处理过后的MPU数据来获得当前的姿态,具体的姿态获取理论上是根据各个角度的积分得到当前的系统姿态欧拉角。本系统的设计实现是采用四元数算法对MPU6050最滤波后的数据进行计算得到最终的欧拉角。


整个飞控系统的运行动作是通过调整飞控姿态来实现的,本系统设计在当前姿态的基础上,根据接收到的遥控器的目标姿态对空心杯电机进行基于PID算法的PWM控制调速,从而实现飞控系统的各种基本运动。飞控板会对系统惯性测量单元传感器的原始数据进行滤波,然后对滤波后的数据进行实时结算,最后根据遥控板发送来的目标信息进行计算出电机的控制增量,最后根据PID控制算法对电机进行控制输出,飞控姿态控制流程图如图11所示。




图10 飞控板姿态结算流程图




图11 飞控板姿态控制流程图




3.2遥控板系统软件设计


遥控板的作用就是把操作人员的操作动作转化成信号传给飞行控制板,同时将一些控制信息和飞控板传回来的信息进行实时的显示和处理。飞控板摇杆数据的采集用到了STM32的ADC功能STM32F103xx增强型产品内嵌2个12位的模拟/数字转换器(ADC),每个ADC共用多达16个外部通道,可以实现单次或扫描转换。而且STM32的ADC可以采用DMA通道,这样可以进一步的节省硬件资源,加快系统实时性。采用SPI1驱动NRF无线模块,进行与飞控板的数据通信,遥控板系统软件流程如图12所示。




图12 遥控板软件流程图




本系统采用STM32的ADC1的通道4、通道5、通道6和通道7进行摇杆模拟数据进行采集,ADC和DMA的配置代码如下:


ADC_Configuration(); //ADC 功能配置


DMA_Configuration(); //DMA 功能配置


下面是ADC和DMA的启动和时能代码如下:


ADC_SoftwareStartConvCmd(ADC1, ENABLE); //启动 ADC1 转换


DMA_Cmd(DMA1_Channel1, ENABLE); //启动 DMA 通道


采用STM32外设SPI1驱动NRF2.4G模块,SPI初始化代码如下:


Spi1_Init();


采用无线模块的通道40进行通信,2401初始化函数如下:


Nrf24l01_Init(MODEL_RX2,40); //通道40


2.4G无线模块NRF2401的接收函数如下:


Nrf_Check_Event(); //读取NRF2401数据


通过2401将控制信号发送,发送函数如下:


NRF_TxPacket_AP(NRF24L01_TXDATA_RC,32); //将控制信号发给四轴


4、结论


本文描述了一个简易四轴飞行器系统的设计实现,整个方案分为遥控控制板各飞行控制板两部分,通过2.4G无线模块进行控制通信,飞控系统采用IMU系统获取姿态信息根据反馈控制算法进行电机控制从而实现飞行控制。本系统飞控板采用一体设计使得系统简单、紧凑,遥控板采用摇杆输入使系统控制体验良好,最终实现飞行器的基本运动。实践证明该四轴飞行器飞行稳定、可靠,取得了较好效果。


推荐阅读

史海拾趣

Galaxy ( Bel )公司的发展小趣事

风华邦科(FH-BK)公司发展的五个故事

故事一:技术创新引领发展

风华邦科自成立以来,便致力于技术创新与研发。公司于2019年引进了当时国内先进的一体成型电感生产设备,实现了全流程生产线,生产效率显著提升。此后,公司继续加大技术投入,2021年更是引进了5条全自动生产线,日均产量达到100万个电感器。这些技术革新不仅提高了生产效率,还确保了产品的高精度和高可靠性,使风华邦科在电子元器件细分市场上占据了领先地位。

故事二:国际化布局与专利突破

风华邦科在科技创新的道路上不断前行,不仅在国内市场取得显著成绩,还积极向国际市场拓展。公司注重知识产权的全球布局,已获得多项国外授权发明专利,包括在韩国和日本获得的关于掺杂钙钛矿锡酸钡材料及其制备方法的专利。这些国际专利的获得,标志着风华邦科在高端材料研发方面取得了重要突破,也为公司进一步开拓国际市场奠定了坚实基础。

故事三:产学研合作推动产业升级

风华邦科深知,单凭自身力量难以实现跨越式发展。因此,公司积极与高校及科研机构开展产学研合作,共同攻克技术难题。近年来,公司与清华大学、华中科技大学等高校开展了多项科研课题,涉及电子元器件的新材料、新工艺等多个领域。这些合作不仅提升了公司的技术研发能力,还促进了科技成果的转化与应用,推动了公司的产业升级与转型。

故事四:军品配套与质量管理

风华邦科在军用电子元器件领域也取得了显著成绩。公司始终坚持“安邦兴国、科技领先”的企业宗旨,不断加强技术创新和质量管理工作。公司通过了多项军工质量管理体系认证和保密资格认证,并列入总装备部《军用电子元器件科研生产单位目录》。公司现拥有七条完整的产品生产线,能够为用户提供电子元器件的一站式采购服务,产品广泛应用于航天、航空、船舶等军工领域。

故事五:环保生产与社会责任

在快速发展的同时,风华邦科始终不忘履行社会责任。公司积极响应国家环保政策,践行绿色生产理念。通过引入现代化自动化生产线、制定双碳实施方案、推广绿色工艺新技术等措施,公司有效降低了生产过程中的能耗和碳排放量。此外,公司还积极参与社会公益活动,为地方经济发展和社会进步贡献了自己的力量。这些举措不仅提升了公司的社会形象,也为其可持续发展奠定了坚实基础。

Dynastream公司的发展小趣事

随着技术的不断进步,Dynastream公司意识到要想在竞争激烈的市场中立足,必须不断创新。因此,公司加大了研发投入,致力于提高产品的性能和稳定性。经过数年的努力,Dynastream成功推出了一款具有革命性意义的产品——一款高精度、低功耗的个人监视传感器。这一产品的推出,不仅让Dynastream在市场上树立了良好的口碑,也为公司未来的发展奠定了坚实的基础。

Hamamatsu公司的发展小趣事

成为Garmin全资子公司后,Dynastream并没有停止前进的步伐。相反,公司更加注重技术创新和产品研发。在保持传统优势产品的基础上,Dynastream不断推出新产品、新技术,以满足市场的不断变化和客户的多样化需求。同时,公司还积极拓展国际市场,将产品销往全球各地。

Hitano Enterprise Corp公司的发展小趣事

Dynastream公司成立于1998年,当时正值科技飞速发展的年代。创始人凭借其敏锐的市场洞察力和对技术的深厚理解,决定专注于个人监视传感器和运动分析领域的研究与开发。在创业初期,公司面临资金短缺、人才匮乏等种种困难,但团队凭借着对技术的热情和不懈的努力,成功研发出了第一代产品,并在市场上引起了广泛关注。

C-MAX Time Solutions公司的发展小趣事

随着国内市场的饱和,C-MAX Time Solutions公司开始将目光投向国际市场。公司通过设立海外分支机构、参加国际展会等方式,积极推广自己的产品和服务。同时,公司还加大了对国际标准的研究和遵循力度,以确保其产品在全球范围内都能得到广泛认可和应用。这一国际化布局不仅提升了C-MAX的竞争力,也为其未来的发展奠定了坚实基础。

Honda Tsushin Kogyo Co Ltd公司的发展小趣事

Honda Tsushin Kogyo Co. Ltd.的成立背景虽未详细公开,但考虑到其专注于电子连接器领域,可以推测该公司可能是在日本电子工业兴起的背景下成立的。在成立初期,公司可能面临了激烈的市场竞争和技术挑战。为了站稳脚跟,Honda Tsushin Kogyo致力于研发高质量的电子连接器产品,并逐步赢得了市场的认可。公司可能通过不断提升产品质量、优化生产工艺以及拓展销售渠道等方式,实现了初期的稳步发展。

问答坊 | AI 解惑

Windows XP embedded中安装.msi文件

我有两个.msi安装包,A.msi和B.msi。 在windows xp下都能正确安装。 但在XPE中一个能安装,一个就失败,报错“This installation package could not be opened. Contact the application vendor to verify that this is a valid Windows Installe ...…

查看全部问答>

做过嵌入式,想做无线该怎么开始?

做了一年半的嵌入式,都是在别人基础上加功能,改UI,改驱动 想做无线方面,不知道怎么入手 希望高手指点…

查看全部问答>

应用程序如何读出SD卡里面一个较大文件

这个问题比较可笑吧。 可是我就是搞不定, 现在网上down下了一个例子程序,是读出SD卡的一个test.txt文件。 BOOL CSDMMCDlg::OnInitDialog() {         CDialog::OnInitDialog();         // Set the i ...…

查看全部问答>

Clock jitter analyzed in the time domain Part 1

本帖最后由 dontium 于 2015-1-23 13:39 编辑 IntroductionNewer high-speed ADCs e outfittedwith a large analog-input bandwidth (aboutthree to six times the maximum samplingfrequency) so they can be used in undersamplingapplications. ...…

查看全部问答>

大家帮忙看看我用中断实现的LED闪烁,但是为什么不行呢?

int main(void){         // disable JTAG port    DDPCONbits.JTAGEN = 0; //T2 interrupt initialization   SEI();//打开总中断    IFS0bits.T2IF=0;//清零中断标志位& ...…

查看全部问答>

9B90 C3 PB0输入模式下外部上拉只能拉到1.3V???

9B90 C3 PB0口有什么特殊的地方吗? 为什么在输入模式下外部上拉只能拉到1.3V?   望高手指点!…

查看全部问答>

cc2500无线模块、Si4432/4431模块、cc1101模块、无线DMX512模块

深圳市阅天信息技术有限公司 http://shop64482967.taobao.com/ 官网www.mcurf.com qq:343357509…

查看全部问答>

2013电子竞赛有关宽带信号衰减及宽带小信号放大

本帖最后由 paulhyde 于 2014-9-15 03:27 编辑 请问各位有没有做过在高频100M的有关MV级小信号放大及大信号衰减为mv级的小信号的模块?主要用过的芯片有哪些推荐啊?谢谢了!!!    …

查看全部问答>

大大们 要买示波器啦 能不能帮帮忙选型啊

各位大大    我们公司需要一台 能测量微安级别电流的示波器已及相应的探针  想问一下大家有没有性价比高一点的牌子和型号啊 …

查看全部问答>

话说mini-SATA

mSATA (mini-SATA)是迷你版本SATA接口,外型和电子介面与mini PCI-E完全相同,但电子信号不同,两者互不兼容。 中文名:迷你版本SATA接口 外文名:mSATA 别称:mini-SATA 公司:SATA协会 分享 概念 mSATA图片 图册 5张 msata是SATA协会 ...…

查看全部问答>