四轴飞行器主要由以下几个重要部件组成:电源系统、姿态感知系统、电机驱动系统、运动控制系统等,如果你想自己着手使用STM32做一个四轴,那么你有很多例子可以参考。目前基于STM32的四轴挺多的,而且大多是资料开源的。
想做一个低成本的小四轴的话,可以考虑使用空心杯电机、姿态感知使用MPU6050、MPU9250等常见的六轴或者九轴传感器,如果想实现定高功能,那就加上气压计即可。控制系统可以使用STM32F051、STM32F103、STM32F405、STM32F411等常见的控制器,当然,并不局限于这些MCU,也有用STM32F303或者STM32F722之类的做主控的,四轴机架可以直接采用PCB板,这种四轴方案一般可以飞行,但是由于体积太小,所以稳定性较差,在气流比较稳定的情况下可以飞行的很好,但是如果遇到有风或者气流紊乱的时候,就没法飞行了。这种方案的四轴其实适合用来学习STM32,整个过程需要你使用AD或者Cadence、PADS等或者其他一些开源PCB软件画出四轴的pcb板,然后买元器件,焊接调试,接下来就是STM32程序的编写,主要涉及到1、底层驱动程序,如电机驱动、陀螺仪驱动、无线模块驱动等;2、通讯协议;3、飞行控制算法,最常见的为串级PID控制;通过这个过程让自己做的四轴飞起来还是很有成就感的。
但是你想实现自主飞行,也就是不需要遥控器,这样的话,你就需要使用图像识别、gps、光流等传感器,准确得知四轴的速度和位置等空间信息,然后进行精确的导航、定位等控制。这样的话可能更多的会涉及到上层算法,你不妨直接买一个现成的提供二次开发的飞控,在他们的飞控基础上实现你的导航定位等功能。