【飞控调试】DJIF450机架+Pixhawk6c mini+v1.13.3固件+好盈Platinium 40A电调无人机调试
1 背景
由于使用了一种新的航电设备组合,在调试无人机起飞的时候遇到了之前没有遇到的问题。之前用的飞控(Pixhawk 6c)和电调(Hobbywing X-Rotor 40A),在QGC里按默认参数配置来基本就能平稳飞行,但是换了飞控(Pixhawk6c mini)和电调(好盈Platinium 40A)后,起飞一小段高度就开始抖动,且幅度逐渐增大到发散,最后炸机。
2 调试思路
debug的时候先是检查了硬件,排除硬件问题后,调整了部分跟PWM输出相关的关键参数,还是不行,进一步怀疑是PID参数的问题,按照网上的经验调试,发现果然如此,调整了参数后,姿态可以稳定下来了。所以将过程记录如下,便于以后查找。
3 无人机配置
所用的主要部件如下表所示:
部件 | 型号 |
---|---|
机架 | DJI F450 |
飞控 | Pixhawk 6c mini |
GPS | 飞控配套GPS |
固件 | PX4 V1.13.3 |
电机 | 朗宇Sunnysky X2216-7 KV1250III |
电调 | 好盈Hobbywing Platinium 40A |
电池 | 格氏电池 4000Ah-30C-14.8V-4S1P |
旋翼 | APC MR9045 |
遥控器 | Futaba T14SG |
QGC summary界面如下:
4 配置要点
配置使用QGC作为地面站,校准传感器和遥控器等基础操作这里省略,本节只对关键内容作介绍和记录。
4.1 机型
实际使用的是DJI F450。一开始选择的是Generic Quadcopter,但是发现使用该airframe,在arm的时候就会抖动得很厉害,所以将机型选为DJI F450。
4.2 固件
使用的是v1.13.3,不知道为啥,虽然下载固件时提示的是v1.14.0,但是下载之后却是v1.13.3。Github上clone下来的v1.14.0会炸机,暂时不清楚原因。
4.3 电调校准
按照说明书来,用参数设定盒,配置为Fixed wing模式(适用于多旋翼模式),其他参数保持默认即可值。
SYS_USE_IO
设为disabled,否则电调校准会失败
卸掉桨叶,然后配置电源(Power),4表示4s,3.7表示每芯额定电压是3.7V,4.2表示每芯满电电压是4.2V。
然后点击Calibrate,在弹出提示框的时候接入电池,然后会QGC会自动校准。校准成功的话,每次上电电机会发出哔哔哔哔-哔—
的声音,前面有四个哔
是因为用的电池是4S的。
检查PWM相关参数:
PWM_MAIN_MIN
:1000PWM_MAIN_MAX
:1950PWM_MAIN_DISARM
:900
(遥控器油门PWM范围一般是1000多到1900多)
一般来说,Position模式,遥控器油门推过中点前,是不会起飞的,推过中点后才会。如果上面参数设置不合适的话,可能推过中点前就会起飞,并且会窜得很高。
4.3 PID参数
主要修改了姿态相关的参数
4.3.1 调参前
使用默认参数,arm后离地一米就会抖动然后震荡发散:
增大了angular rate D项后能飞,但是抖动明显,电机噪声大:
4.3.2 调参后
看网上说,震荡是因为P项太大了,于是把P减小,能飞了:
调参后参数:
Rate controller:
参数类型 | Roll | Pitch | Yaw |
---|---|---|---|
K | 0.7 | 0.7 | 1 |
D | 0.006 | 0.006 | / |
I | 0.1 | 0.1 | 0.1 |
Attitude controller:
参数类型 | Roll | Pitch | Yaw |
---|---|---|---|
P | 4.5 | 4.5 | 2.8 |
相关文章:

【飞控调试】DJIF450机架+Pixhawk6c mini+v1.13.3固件+好盈Platinium 40A电调无人机调试
1 背景 由于使用了一种新的航电设备组合,在调试无人机起飞的时候遇到了之前没有遇到的问题。之前用的飞控(Pixhawk 6c)和电调(Hobbywing X-Rotor 40A),在QGC里按默认参数配置来基本就能平稳飞行࿰…...

Android studio配置Flutter开发环境报错问题解决
博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家 👉点击跳转到教程 报错问题截图 报错原因已经给出: You need Java 11 or higher to build your app with this version of G…...
2023.11.18 -自用hadoop高可用环境搭建命令
启动hadoop高可用环境 # 1.先恢复快照到高可用环境 # 2.三台服务器启动zookeeper服务 [rootnode1 ~]# zkServer.sh start [rootnode2 ~]# zkServer.sh start [rootnode3 ~]# zkServer.sh start 查看服务状态: [rootnode]# zkServer.sh status 关闭zk服务的命令是: [rootnode]# …...
【Linux】常用系统工作命令
一、Linux文档目录结构 在Linux系统中,目录、字符设备、套接字、硬盘、光驱、打印机等都被抽象成文件形式,“Linux系统中一切都是文件”。Linux系统中的一切文件都是从"根"目录(/)开始的,并按照文件系统层次…...

深入理解网络协议:通信世界的基石
💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 在当今数字化时代,网络协议是连接世…...

PL/SQL编程
一、Oracle常用函数 concat:用于连接两个字符串。 CONCAT(Oraok, .com) -- Result: Oraok.com ceil:小数点向上取整。 secect ceil(7.3) from dual --Result: 8 dual表是oracle系统为计算设计的一张临时表 select sysdate as 系统日期 from dual…...
Prompt提示词——什么是CRISPE框架?QCIPSPE框架?
框架介绍 【CRISPE】框架 是由 Matt Nigh 提出并发布的提示词书写框架,共由五部分组成。 这个框架(CRISPE)主要包括五个部分,用于指导用户向ChatGPT提问。首先,通过设定ChatGPT的角色(Capacity and Role&…...

Nginx的核心配置文件
Nginx的核心配置文件 学习Nginx首先需要对它的核心配置文件有一定的认识,这个文件位于Nginx的安装目录/usr/local/nginx/conf目录下,名字为nginx.conf 详细配置,可以参考resources目录下的<<nginx配置中文详解.conf>> Nginx的核…...
Java,集合框架,关于Collection接口(子接口List和Set)
目录 数组储存多个数据方面的特点: Java集合框架体系:(Java.util包下) Collection接口中的方法测试: 迭代器(Iterator)的作用:用来遍历集合元素。 增强for循环(即for…...
已安装的nginx追加ssl模块
Nginx开启SSL模块1 切换到源码包: cd /usr/local/src/nginx-1.11.3 2 查看nginx原有的模块 /usr/local/nginx/sbin/nginx -V 在configure arguments:后面显示的原有的configure参数如下: –prefix/usr/local/nginx --with-http_stub_status_module …...

大语言模型|人工智能领域中备受关注的技术
个人主页:【😊个人主页】 系列专栏:【❤️其他领域】 文章目录 前言关于大语言模型大语言模型是什么?大语言模型有什么用?文案写作知识库回答文本分类代码生成 AWS 如何通过 LLM 提供帮助?Amazon BedrockAmazon SageM…...

Docker之DockerFile解析
DockerFile解析 是什么 Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。 概述 官网 https://docs.docker.com/engine/reference/builder/ 构建三步骤 编写Dockerfile文件 docker build命令构建镜像 docker run依镜像运…...

NSSCTF第13页(2)
[HNCTF 2022 Week1]Challenge__rce 提示?hint 访问看到了源码 <?php error_reporting(0); if (isset($_GET[hint])) { highlight_file(__FILE__); } if (isset($_POST[rce])) { $rce $_POST[rce]; if (strlen($rce) < 120) { if (is_string($rce…...

基于吉萨金字塔建造算法优化概率神经网络PNN的分类预测 - 附代码
基于吉萨金字塔建造算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于吉萨金字塔建造算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于吉萨金字塔建造优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&a…...

Git详解及 github使用
1.1 关于版本控制 开始之前先看一个没有版本控制的例子 1.1.1 本地版本控制 本地版本控制系统 许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的 好处就是简单,但是特别容易犯错。有时候会混淆所在…...

iOS源码-工程目录讲解
1、 工程目录 1.1、xib 主要的界面渲染控制,ios开发常用的界面,可以在这里快速开发出来 1.2、base 基本的类,子类继承base类,就具备父类的方法,无需在重写 1.3、util 基础的类一些,处理时间等 1.4、…...

ESP32 Arduino实战协议篇-搭建独立的 Web 服务器
在此项目中,您将创建一个带有 ESP32 的独立 Web 服务器,该服务器使用 Arduino IDE 编程环境控制输出(两个 LED)。Web 服务器是移动响应的,可以使用本地网络上的任何浏览器设备进行访问。我们将向您展示如何创建 Web 服务器以及代码如何逐步工作。 项目概况 在直接进入项目…...

多维时序 | MATLAB实现PSO-BiLSTM-Attention粒子群优化双向长短期记忆神经网络融合注意力机制的多变量时间序列预测
多维时序 | MATLAB实现PSO-BiLSTM-Attention粒子群优化双向长短期记忆神经网络融合注意力机制的多变量时间序列预测 目录 多维时序 | MATLAB实现PSO-BiLSTM-Attention粒子群优化双向长短期记忆神经网络融合注意力机制的多变量时间序列预测预测效果基本介绍模型描述程序设计参考…...

【开源】基于Vue.js的在线课程教学系统的设计和实现
项目编号: S 014 ,文末获取源码。 \color{red}{项目编号:S014,文末获取源码。} 项目编号:S014,文末获取源码。 目录 一、摘要1.1 系统介绍1.2 项目录屏 二、研究内容2.1 课程类型管理模块2.2 课程管理模块2…...
CentOS 安装etcd集群 —— 筑梦之路
环境说明 192.168.1.11 192.168.1.12 192.168.1.13 yum在线安装 yum install etcd -y #etcd01 cat > /etc/etcd/etcd.conf <<EOF ETCD_NAMEetcd01 ETCD_LISTEN_PEER_URLS"http://0.0.0.0:2380" ETCD_LISTEN_CLIENT_URLS"http://0.0.0.0:2379&quo…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...

【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
Python实现简单音频数据压缩与解压算法
Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中,压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言,提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...