A quadcopter flight controller based on STM32F401RCT6
该项目为大小10CMx10CM的使用PCB作为机架的小型四轴飞行器,主控基于STM32F401RCT6,IMU使用ICM20602六轴传感器和HMC5883L磁场传感器,内置SD卡进行数据记录。使用FreeRTOS实时操作系统进行调度,创建了姿态解算任务(500Hz),PID和电机驱动任务(200Hz),遥控接收任务(20Hz),电池检测任务(5Hz),系统通过蓝牙模块接收上位机数据,解析数据帧得到控制指令,加速度和角速度数据经过二阶IIR滤波器后输入Mahony互补滤波姿态解算单元,最终由姿态解算得到的飞行器当前姿态和控制指令给出的目标值作出偏差输入PID控制器得到控制四个电机的PWM占空比,从而保证了四轴的稳定飞行。