Skip to content

A very simple STM32F103 based quadrotor controller

License

Notifications You must be signed in to change notification settings

id9502/Quadrotor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Quadrotor

工程说明:

这个工程在Eclipse For ARM开发环境下使用gcc-arm-none-eabi-4_9编译,目标平台是STM32F103RCT。

四旋翼上的控制部分:(在编译时加入#define Quadrotor以编译四旋翼上使用的程序,否则编译遥控上的)

moto文件:四个电机转速控制,开环
leds文件:LED指示灯操作
quater文件:四元数基本运算的实现
IIC_Lib文件:STM32上通用的基本IIC协议输入输出操作函数更方便使用的封装
MPU6050.h:6轴传感器MPU6050官方基本参数和定义
I2C_MPU6050:MPU6050初始化与姿态获取方便使用的封装
attitude文件:使用传感器测量得到的飞行器姿态的计算与更新
SPI_Lib文件:STM32上通用的SPI通信协议输入输出操作函数更方便使用的封装
SPI_NRF24L01文件:无线通信模块NRF24L01Plus(注意有Plus)操作函数封装
ADC_Lib文件:电池电量检测的ADC数据读取封装
sys文件:负责时钟同步,使用ARM核心中的SysTick完成延时,计数的模块
RemoteCTL文件:与遥控器交换的数据格式定义
BDF文件:一些功能开关定义
main文件:基本反馈循环

遥控器部分:(这个并没做好)

USART_Lib文件:遥控器USART串口与电脑进行通信的功能封装
RemoteCTL文件:与飞机交换的数据格式定义

现在实现的部分:

目标是实现飞机的悬停,但实际实现中不是每次动能停得住,要看电池电量和周围环境。想改变这点需要重新设计姿态滤波算法和反馈控制结构。
飞机可以飞起来,但不稳。遥控器和飞机的无线通信可以进行,但遥控器上的电位器什么的还没有去调。
姿态控制使用简单的积分方式,没有使用除滑动平均外其他的滤波手段,姿态反馈使用的是角速度+加速度+引力方向三个循环,详细情况看main文件

使用注意:

如果未在以上提到的缺陷对应的算法上做出更新,请不要随意改变作者信息或向其他人或机构再次发布代码。
欢迎fork这个工程。

荆明轩 于 西安交通大学
2016-06-16

About

A very simple STM32F103 based quadrotor controller

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published