littlebot
Published on 2025-04-15 / 0 Visits
0

【源码】基于STM32和FreeRTOS的Crazyflie四轴飞行器控制系统

项目简介

本项目是一个基于STM32微控制器和FreeRTOS操作系统的四轴飞行器控制系统,名为“Crazyflie”。项目完整实现了从底层硬件驱动到上层飞行控制算法,支持多种通信方式和姿态解算算法,适合用于学习和开发高性能四轴飞行器。

项目的主要特性和功能

  1. 硬件驱动:提供STM32F10x系列微控制器底层硬件驱动,涵盖GPIO、ADC、SPI、I2C、CAN等外设;支持MPU6050三轴陀螺仪和三轴加速度传感器;集成蓝牙和NRF24L01+无线通信模块驱动。
  2. 飞行控制:实现四元数姿态解算和PID控制算法,保障飞行器稳定精确控制;支持手动控制、自动悬停和自主飞行等多种飞行模式。
  3. 通信与调试:提供基于CRTP协议的无线通信服务,可与上位机和Android设备通信;集成日志管理系统,便于飞行数据记录与分析。
  4. 跨平台支持:有基于QT框架的跨平台上位机软件,支持Windows和Linux系统;还有Android平台的手持遥控器应用,可实现移动端控制。
  5. 扩展性:预留I2C和SPI等多种扩展接口,方便扩展磁力计、高度计等传感器模块;支持固件无线更新,便于固件升级与维护。

安装使用步骤

环境准备

  • 安装Keil MDK开发环境,并配置好STM32F10x系列微控制器的支持包。
  • 安装QT开发环境,用于编译和运行上位机软件。
  • 安装Android Studio,用于编译和运行Android遥控器应用。

源码编译

  • 打开Keil MDK项目文件,编译生成Crazyflie的固件。
  • 使用QT Creator打开上位机项目文件,编译生成可执行文件。
  • 使用Android Studio打开Android遥控器项目文件,编译生成APK文件。

固件烧录

使用ST - Link或其他烧录工具将编译好的固件烧录到Crazyflie的STM32F10x微控制器中。

系统运行

  • 启动上位机软件,连接Crazyflie进行飞行控制和数据监控。
  • 安装Android遥控器应用,通过蓝牙连接Crazyflie进行移动端控制。

按照上述步骤,用户可快速搭建并运行Crazyflie四轴飞行器控制系统,开展飞行测试和开发工作。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】