我主要是想分享一些我在制作的四轴飞控过程的想法,和主要遇到问题如何解决的过程。
当我跟导师要自拟四轴飞行器的时候内心还是有点不自信(怕完成不了),到时候毕业不了就gg了;所以为了能够毕业我在19年12月30开始就着手四轴起来。
1.首先:选型--四轴有什么?(下面都是我所了解到的,可能不是正确的,勿喷,我也只是大概了解下而已),有大四轴,小四轴,穿越机。
我选大四轴的原因:1).资源比较丰富2).最重要的是载重能力比较强
小四轴机身需要用
PCB画,而我不会pcb,所以飞控只能是靠我自己用模块连接起来,这也是我想用大四轴的原因。
2.找资料:对应的一些开源飞控我们可以去学习一下:APM,匿名,kk,light等
3.了解四轴上需要什么组成的:电机,电调,机架,螺旋桨,电池,遥控器(接收器),还有我们要做的飞控。(我的四轴主要是收购别人的这些东西,除了飞控)
4.飞控的主控选型:
STM32f407vet6作为主控,加上MPU6050;MPU6050资源多,还有就是大多数开源飞控都选它或者MPU9250。选stm32f407是f4功能相对f1比较强大,最小系统也几十块钱一个,f4就可以完成相当多的功能,之后有时间添加功能也是比较方便。
5.我只会stm103的,其实f4也是差不多的(基本的外设)
接下来讲我所要完成的内容和学习路线:
1.我先将stm32f4的usart写出来(移植别人的都行),因为串口以后有助于我们调试,led,delay,key这些最基本先写好。
2.学习MPU6050,最少知道这是干什么的,会使用就行。这个传感器的功能就不讲了(网上多得是)。我就讲怎么使用好吧:我是移植正点原子的MPU6050工程(用IIC进行通讯),下载匿名上位机(这个以后很重要),通过串口传输到电脑观察波形
3.了解欧拉角,四轴的六种状态
4.之后通过卡尔曼滤波MPU6050的原始数据进行滤波(因为MPU6050的数据是有噪声,误差的)
5.接着移植别人家飞控的PID算法,大多数是串级PID(要看得懂原理,可能代码有些权重会不明白,但是能够使用就行)
6.最后PID参数整定(烤四轴),我觉得用蓝牙app进行参数整定会方便很多。
我在4.5.6过程中比较简略是因为我现在只是进行4当中,所以也有很多不懂的,我想通过此来记录一下我制作的一个过程。可能没有技术含量,请见谅!可能1.2个星期之后我在分享一下我的进程。