项目简介
本项目是一个基于STM32微控制器和FreeRTOS操作系统的四轴飞行器控制系统,名为“Crazyflie”。项目完整实现了从底层硬件驱动到上层飞行控制算法,支持多种通信方式和姿态解算算法,适合用于学习和开发高性能四轴飞行器。
项目的主要特性和功能
- 硬件驱动:提供STM32F10x系列微控制器底层硬件驱动,涵盖GPIO、ADC、SPI、I2C、CAN等外设;支持MPU6050三轴陀螺仪和三轴加速度传感器;集成蓝牙和NRF24L01+无线通信模块驱动。
- 飞行控制:实现四元数姿态解算和PID控制算法,保障飞行器稳定精确控制;支持手动控制、自动悬停和自主飞行等多种飞行模式。
- 通信与调试:提供基于CRTP协议的无线通信服务,可与上位机和Android设备通信;集成日志管理系统,便于飞行数据记录与分析。
- 跨平台支持:有基于QT框架的跨平台上位机软件,支持Windows和Linux系统;还有Android平台的手持遥控器应用,可实现移动端控制。
- 扩展性:预留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】