Project Icon

drone-flight-controller

Arduino四轴飞行器PID控制系统

这是一个开源的Arduino四轴飞行器控制系统项目,基于Arduino Uno和MPU6050传感器。通过250Hz刷新率的数字PID控制和Ziegler-Nichols方法优化飞行控制算法。项目包括硬件连接说明、遥控配置、PID调优指南和安全机制,为无人机爱好者和开发者提供全面的学习资源。采用X型四轴结构,实现稳定飞行。项目详细说明了硬件连接、遥控配置和PID调优方法,并提供了安全机制和调试指南,适合无人机爱好者和开发者参考学习。

四轴无人机 PID 实现

构建状态 许可证: MIT

飞行

1. 简介

这个 Arduino 草图提供了一个基于 Arduino Uno 板和 MPU6050 传感器的 X 型四轴飞行器的飞行控制器。

基本上,这个自动化例程是一个数字 PID 的实现,刷新率为 250Hz。 用于计算 PID 系数的方法是 Ziegler-Nichols 方法。 四轴飞行器的框架基于 F450

您可以使用 这个 来校准您的电机驱动器。

一篇详细的文章可以在 这里 找到(用法语)。

(i) 目前正在积极开发中。

2. 要求

Arduino 库:

3. 针脚连接:

       +-------------------------+
       |        MPU-6050         |
       |                         |
       | 3V3  SDA  SCL  GND  INT |
       +--+----+----+----+----+--+
          |    |    |    |
          |    |    |    |
+---------+----+----+----+----------------+
|        3.3V  A4   A5  GND               |
|                                         |
|                                         |
|                 Arduino Uno             |
|                                         |
| #4   #5   #6   #7   #8   #9  #10   #11  |
+--+----+----+----+----+----+----+----+---+
   |    |    |    |    |    |    |    |
  (M1) (M2) (M3) (M4)  |    |    |    |
                       |    |    |    |
                       |    |    |    |
                    +--+----+----+----+---+
                    | C1   C2   C3   C4   |
                    |                     |
                    |     RF 接收器       |
                    +---------------------+
  
图例:
Mx: 电机 X
Cx: 接收通道 x

4. 配置

4.1 遥控器配置

默认情况下,此草图使用模式 2 进行 RF 遥控,根据以下图片:

遥控模式

通道映射如下:

通道命令
1横滚
2俯仰
3油门
4偏航

要更改通道映射,请根据您的需求更新函数 configureChannelMapping:

void configureChannelMapping() {
    mode_mapping[YAW]      = CHANNEL4;
    mode_mapping[PITCH]    = CHANNEL2;
    mode_mapping[ROLL]     = CHANNEL1;
    mode_mapping[THROTTLE] = CHANNEL3;
}

4.2 PID 调整

默认的 PID 系数值可能适用于 F450 类似的四轴飞行器。 但是,您可以在全局变量声明部分调整它们:

// PID 系数
float Kp[3] = {4.0, 1.3, 1.3};    // P 系数,顺序为: 偏航、俯仰、横滚
float Ki[3] = {0.02, 0.04, 0.04}; // I 系数,顺序为: 偏航、俯仰、横滚
float Kd[3] = {0, 18, 18};        // D 系数,顺序为: 偏航、俯仰、横滚

5. 四轴飞行器方位

 前
(1) (2)     x
  \ /     z ↑
   X       \|
  / \       +----→ y
(3) (4)
  • 电机 1: 左前 - 顺时针
  • 电机 2: 右前 - 逆时针
  • 电机 3: 左后 - 顺时针
  • 电机 4: 右后 - 逆时针

纸飞机

  • 左翼 表示正侧滚
  • 鼻子 表示正俯仰
  • 鼻子 表示正偏航

MPU6050 必须如下方向放置:

  • X 轴: 横滚
  • Y 轴: 俯仰
  • Z 轴: 偏航

6. 启动/停止

这个草图带有一个安全过程:要启动四轴飞行器,将遥控器的左操纵杆移到左下角,然后再移回中间位置。

要停止四轴飞行器,将左操纵杆移到右下角。

状态机

7. 调试

如果您需要打印调试信息,请确保以 57600 波特初始化串行:

void setup() {
  Serial.begin(57600);
  // ...
}

void loop() {
  Serial.println(measures[ROLL]);
  // ...
}
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号