自己写四轴飞控难度有多大?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自己写四轴飞控难度有多大?相关的知识,希望对你有一定的参考价值。

四轴主要分为硬件驱动部分,和算法部分,首先我给你介绍一下驱动部分,现在四轴飞控自己做,一般使用stm32飞控 103系列的,f4没必要,主频快,有些浪费了,上图像识别又不行,stm32涉及的驱动主要是IIC(驱动mpu6050和磁力机以及气压计)SPI(主要是驱动nrf无线传输,但是也可以用在mpu6000),再就是串口,这个就是用在gps中,这些只是外部传感器的应用,内部设备主要使用四路接受pwm,和四路控速pwm,这需要用定时器,再就是eeprom这个也要用到,以及一些其他的部分。这是你需要张我的驱动部分,算法部分主要是三个,第一个是滤波技术,需要用在姿态数据处理,ahrs算法解算姿态,再就是pid这里pid一般用双环串级pid,单级的缺点很多,自己试一试可以。其实你想做到这一步还需要有不错的C语言基础以及扎实的调节驱动能力以及算法的参数,另外调节pid也是和有技巧的,建议多看看调节pid心得,多调试然后对照别人的理论就会掌握。在一个你需要做的就是掌握pcb的制作,会使用ad软件,这是pcb的入门,花几块板子练一下手,然后就可以制作飞控主控版了。加油,本科生能做出来是完全可以的,大三,大二已完成全部工作,有心不难。我当初用了一个月时间从零开始,硬件设计(没什么技术含量好么……),到实现不需要人去控制的定点悬停,外加一个有模有样的地面站软件,飞得还算可以。但是,后面花了一年多时间在做一些看似重复的工作,包括算法的更新,系统级设计与优化,现在研究生还在这个坑里,我现在我也只能说飞得还算可以。

参考技术A

MATLAB2014a以上的版本在Simulink里面会有一个叫model based design的feature。有了它,你大概只要C或者C++写一点读传感器、读遥控器接收端以及控制电机的库,放进s-function builder,再用Simulink自带的blocks就可以搞一个具有相当复杂度的控制程序了。四旋翼根本不在话下,当然前提是你得知道四旋翼的控制算法。飞控是否包括写代码?还是paper即可?相信每个想要尝试编写飞控的人都希望自己的飞控真的运行起来。有paper更好。写出的代码是否包括编译通过?编译通过肯定是很基本的了,事实上飞控的难度并不在于编译通过,而是代码的正确性,好在已经有很多优秀的开源飞控值得学习了。

参考技术B

选型主芯片和传感器,选型通信等模块。参照开发板画二层飞控电路板,这个需要试几次,很难一次做出来各模块都没问题,找人焊接元件。根据芯片手册编写驱动程序,实现主芯片与各传感器通信,实现飞控与电脑通信。编写上位机和通信协议,实现接收保存飞行数据便于后续飞行测试。编写上层程序,包括遥控器通道读取,飞行姿态位置测量,控制电机实现姿态的镇定和追踪,高度镇定,位置镇定。pid控制需要最后漫长的调参。我干了一年,至少实现飞机定点飞行不会飘走,在正负1.5米之内晃。

如何用STM32做四轴飞控?

stm32只是处理器,还得选用其他配件。下面针对入门人员DIY大四轴(采用无刷电机)的制作框架。
处理器一般为stm32f103,姿态传感器为mpu6050,遥控采用航模的4通道遥控,无刷电机驱动电调。stm32首先读取mpu6050测得的姿态数据,然后加入pid控制,使机体保持稳定。stm32控制电机是通过电调实现的。遥控的接收机与stm32的通信,网上有教程。希望对楼主有所帮助。
参考技术A stm32只是处理器,还得选用其他配件。下面针对入门人员DIY大四轴(采用无刷电机)的制作框架。
处理器一般为stm32f103,姿态传感器为mpu6050,遥控采用航模的4通道遥控,无刷电机驱动电调。stm32首先读取mpu6050测得的姿态数据,然后加入pid控制,使机体保持稳定。stm32控制电机是通过电调实现的。遥控的接收机与stm32的通信,网上有教程。希望对楼主有所帮助

以上是关于自己写四轴飞控难度有多大?的主要内容,如果未能解决你的问题,请参考以下文章

如何用STM32做四轴飞控?

四轴飞控DIY调试起飞简明步骤

四轴飞控DIY Mark4 - 减震

四轴飞控DIY Mark4 - 减震

四轴飞控DIY Mark4 - 整理&参数优化

四轴飞控DIY集成FPV功能