STM32四旋翼设计——1.系统架构

一、前言

        历时一年半,终于将STM32四旋翼调通,2023/4/9顺利起飞。现在想将这个设计过程都记录下来,包括板子的设计方案、板卡结构设计、板卡原理图、PCB、各模块调试的过程,但大部分只涉及硬件,软件部分后面看情况整理,因为程序部分我也是参考别人的,只是过程中有自己的一些理解。设计四旋翼其实是从本科就有的想法,那时候搞了51单片机,然后学了STM32,就想自己也设计一个四旋翼玩一下,结果因为当时没啥零钱,后来为了考研,就彻底停下来了;研究生有津贴了,却忙着实验,抽不出时间。终于在2021年11月,下定决心完成自己心中惦念已久的一个设计,那时候已经出来工作一年了,岗位是电子工程师,对产品设计有自己的初步理解,然后就开始从一个完整的开发流程来做这个设计,而不是跟学生时代一样,想到哪里就做到哪里,设计简单还行,一旦复杂了,就行不通了。

        在开始正式的记录之前,我先要讲解一下产品开发流程,希望能对其他人有些许帮助。

        完整的开发流程包括:

        1.需求调研,这个过程就是调查市场的需求,或者说你这个产品想怎么做,具备哪些功能、受众群体、市场份额等等,基本上研发不会参与到这一部分,都是由产品经理、Design Manager等来负责;

        2.产品定义,调研后就要开始锁定需求,然后整理出一个设计方案,这个方案非常粗糙,只是跟你说了你要做一个什么东西出来,但没有跟你说怎么做,例如,我说要设计一个四旋翼无人机,遥控距离>100m,能三轴飞行,详细一点可能就是说采用STM32作为主控,但用什么模块、结构长什么样、程序怎么编写,不会在这里写明,因为那是下一步的工作;

        3.详细设计,或者叫具体设计。这一步就是各个岗位根据设计方案去具体选型和设计,例如硬件开始选择芯片、模块,然后开始原理图设计、PCB layout;软件开始编写程序;结构开始设计等等;这个过程来回沟通,甚至方案推倒重来都是常有的事;

        4.原型机,在详细设计后就要组装原型机了,将板卡、结构件、程序组合在一起,这个过程就是检验设计结果,然后记录问题,持续迭代优化;

        5.测试,原型机组装完成后,除非设计严重失误,否则只要能够跑得起来,就要进行测试,检验问题,然后迭代设计;

        6.生产,这一步其实还需要细分,但总的来说,测试后,设计师对问题进行优化,解决完所有问题后就可以安排生产了;

        总的来说,我这个四旋翼简单,在很多本科生眼里估计都觉得毕业好多年才做出这个,但我认为从一个开发流程出发,设计一个产品(姑且这么定义),是一种全新的体验,把自己的工作经验应用到自己的兴趣中,会让你的能力有一个质的飞跃。整个设计虽然耗时1.5年,但其实我基本每周只有4小时投入,算起来估计工作时长也就2个月。

        前言已经写了很多了,那下面开始讲一下这个设计的系统设计是怎么做的吧。

二、系统设计

1.总体介绍

        这个设计主要分为三部分:硬件+结构+软件,实现四旋翼无人机能够进行三维平稳地飞行,好吧,也许没那么平稳。

        硬件方案是STM32F103C8T6+MPU6050+GT-24模块。STM32是主控,MPU6050是六轴陀螺仪,GT-24模块是直接购买的射频模块。这几个模块是支持四旋翼平稳进行三轴飞行的最简配置,没有陀螺仪就无法进行PID调试让电机转速相等。最初我在设计时定的目标就是让四旋翼能飞,三轴飞行即可,查找资料时,没有看到有一句话直接告诉我:你只需要STM32+射频+陀螺仪就行,因此我看了好多人写的调试心得、去正点原子的官网上看开源资料,查看陀螺仪究竟是什么,MPU9050跟6050、6000、BMP280这些的关系,甚至我最初其实是用9050的,也调通了,但因为自己的愚蠢最终选择现在这个方案。所以我希望在这里跟还没有设计经验的同学说一声,如果你的目标只是让四旋翼飞起来,你只需要STM32+射频+陀螺仪去设计你的板子。

        结构组成是主板+4个空心杯电机+电池+桨叶+机架。这个部分需要注意,你的结构组成需要让机体保持对称,并且不能太重。我一共设计过4个版本,只有V4是飞起来的,就是因为前面板子的设计没有跟机架匹配,拿个胶枪一沾就算固定;然后板子多加了一个CH340电路,板厚1.6,整个板子的重量是现在1倍,可想而知,飞不起来,直接翻机。最后V4下定决心,好好搞结构。

        软件部分其实我没有什么话语权,因为参考被人的程序,甚至于CV过来,不知道会不会涉及版权,就不在这里展开了,但我后面的更新依然会有各模块调试、PID程序这些讲解。

电子

功能

三维自由飞行

主方案

STM32+MPU6050+NRF24L01+RFX2401

结构

构成

主板+空心杯电机+电池+46mm正反桨叶

软件

CAD

软件

模块

MPU6050、NRF24L01+RFX2401、main

语言

C语言

软件

MDK5+Keil

2.系统框图

        这里应该包含两部分框图,一部分是上面讲的整个四旋翼的框图,但因为四旋翼比较简单,所以显示出来的效果并不是能体现系统框图的意义,所以我就不放了,实际上复杂产品的设计有一个系统框图可以让你很好地了解整个产品的组成,直观搞笑。另一部分是单纯板卡的框图和电源架构,这个很直观,对于后面设计板卡有非常大的帮助,建议没有经历过质量体系的工程师采用,先框图,后设计的思路。

        板卡电源部分需要详细列出各模块的电流、电压,这样方便你选择哪个型号的电源芯片,已经PCB布线时考虑通流能力,同时,每一个设计参数保留20%的余量,例如,设计需要10mA,你不能按照10mA去设计,而是要120mA,避免极限设计。电源先升压后降压其实没必要,因为我之前加了CH340,工作在5V模式,所以就没有删除,而且留着5V应对一些模块也是有用的。这里的一个设计思路是,当你不知道这个设计有没有用时,可以先预留,前提是你的板子空间够。

        

3.结构设计

        结构设计参照我买的机架,里面给出了机架的尺寸,如下图所示。

        

        而根据这个我的板卡结构如下图。要注意各种限高和模块堆叠时有没有干涉,一切BUG都是设计出来的,所以在设计时要考虑周全,工作中我需要一直找结构工程师对结构,不然很容易设计出问题。

        

 3.软件

        软件部分我们需要给一份differ表出来,其实就是各引脚的功能,工作中软件需要根据你给的引脚定义去配置各种模式,例如STM32的引脚大多都可以复用,然后选择什么模式去工作,是推挽输出还是开漏输出等等。

        

        以上就是STM32四旋翼整个系统设计的简单介绍,其实看得出来我只是对硬件做了比较详细的介绍,因为我本身是硬件工程,结构和软件大致写了一下,后面会有其他文章来介绍的,我也会持续更新这一部分,毕竟现在类似随笔,想到哪里写到哪里。

 

 

        

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是灵魂人物

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值