Betaflight调参实操与模拟器手感迁移¶
本篇把前述机械、日志、滤波、比例积分微分控制器(PID,Proportional-Integral-Derivative Controller)、前馈和速率方法串成一条Betaflight实操路径,并说明如何在Uncrashed、Liftoff、TRYP FPV与真实飞行器之间双向迁移手感。
截至2026年10月8日,Betaflight上游最新非预发布版本为2026.6.2,发布提交为e0b7bb01b17b21351057e9ead2d1ab39dd44fa16。本文固定该版本;后续版本必须重新核对App页面、参数语义、默认值、日志字段和构建功能。

截图版本与证据边界¶
本文界面截图采自官方Betaflight App 2026.6.2的内建虚拟模式。截图用于定位页面和字段,所有数值均为虚拟示例;实际操作必须连接真实飞控,重新确认固件、目标、MSP API和运行数据。
先明确“调参”包含什么¶
| 层 | 解决的问题 | 主要入口 |
|---|---|---|
| 机械与动力 | 桨、电机、机架和安装是否健康 | 实体检查、动力台架、温度 |
| 滤波 | 已测噪声如何衰减,延迟是否可接受 | PID Tuning、Blackbox |
| PID | 实际角速度如何跟随目标 | PID Profile、Blackbox |
| 前馈 | 摇杆目标变化时能否立即跟随 | Feedforward、Blackbox |
| Rates与Expo | 摇杆位置如何生成角速度目标 | Rate Profile |
| 油门曲线 | 油门杆如何映射到动力命令 | Rate Profile/Throttle |
| 模式响应 | ACRO、ANGLE和自动模式如何解释输入 | Modes、日志 |
“手感”主要来自Rates、Expo、油门曲线、相机角度、链路延迟和机体动力;PID决定飞行器能否稳定、准确地实现目标。两者不能互相替代。
进入本篇的前提¶
必须已经完成:
- 飞控目标、固件版本和Betaflight App兼容性确认;
- 全程可用的参数备份和恢复方法;
- 接收机、模式、失联和执行器映射;
- 电压、电流和传感器检查;
- B1动力组合台架;
- B2受防护整机验证;
- C层最小飞行基线;
- 可用Blackbox日志;
- 操作者和场地授权;
- 机械、温度和当前滤波没有阻断项。
缺少任一项时,只允许阅读、仿真和无桨检查,不进入真实调参飞行。
0. 固定身份与备份¶
连接飞控后先保存:
另行记录:
- 飞控完整型号和硬件修订;
- 构建目标及Cloud Build选项;
- Betaflight App版本;
- 当前PID Profile;
- 当前Rate Profile;
- 电子调速器协议;
- PID循环频率;
- Blackbox设备、比例和可用容量;
- 接收机协议和数据包速率;
- 电机、螺旋桨、电池、质量和载荷。
diff all不是完整固件镜像。恢复时仍需正确目标、兼容固件和板级配置。
App内的实际操作¶
- 拆除螺旋桨,断开动力电池,只按飞控资料允许的方式连接USB。
- 打开Betaflight App,在连接器中选择真实串口,不使用本文截图的虚拟模式。
- 连接后先打开“设置”,核对固件必须为
BTFL 2026.6.2、MSP API、板卡目标和传感器状态。 - 打开“命令行”,依次执行
version、status、diff all和dump all。 - 将四份输出保存到本轮测试包,再进入PID、滤波或Rates页面。
- 目标、版本、陀螺仪或板卡身份不一致时立即停止,不通过修改参数继续。

在“配置”页记录陀螺仪刷新频率、PID循环频率和启用功能。截图中的12 kHz/6 kHz及功能开关为虚拟示例;循环频率变化会改变日志采样条件,并可能要求重新调校。
1. 从已验证默认或预设开始¶
Betaflight预设可以生成候选配置,但不证明适合当前机体。
- 保存完整配置和可验证恢复文件。
- 记录预设名称、作者、版本、适用机架、动力和电子调速器条件。
- 阅读预设将修改的字段,再决定是否应用。
- 应用后保存新
diff all并与基线比较。 - 重启并复读Profile,再做无桨输入、模式和电机映射检查。
社区预设、其他飞行器的dump和视频参数都只能作为待测试候选。
2. 先完成动力与机械基线¶
在修改滤波和PID前检查:
- 螺旋桨没有裂纹、变形和明显失衡;
- 电机轴、钟罩和轴承无异常;
- 电机螺钉未接触绕组;
- 机臂、紧固件和飞控安装可靠;
- 线束没有绕过软安装;
- 电池固定和重心处于批准范围;
- 电机、电调和连接器温度基线正常;
- 无持续削波、失步、异响和输出饱和。
Blackbox频谱只能指出可疑频带,不能直接命名损坏部件。发现窄带峰、谐波或油门相关峰后,先进行实体检查和单变量替换复测。
3. 配置DShot与RPM证据¶

- 在“电机”页核对混控类型、电机编号和转向图。
- 选择当前电子调速器实际支持的协议,不因截图显示
DSHOT300就直接复制。 - 填写实际磁极数,不把磁极对数误填为磁极数。
- 保存、重启并保持拆桨,只进行最低必要输出测试。
- 分别核对四个电机的映射、RPM、错误率和温度遥测。
磁极数错误会让RPM滤波跟踪错误频率。截图中的RPM: 0和Err: 0.00%没有实机意义;任一路回传异常都保持阻断。
4. 建立Blackbox基线¶
基础对照至少包含RC输入、Setpoint、Gyro、P/I/D/F、电机命令、油门、电池、模式和Profile;RPM或噪声分析再增加对应字段和Debug Mode。界面比例不是固定采样频率,必须结合实际PID循环计算。

- 打开“黑匣子”,选择飞控实际存在的板载闪存、SD卡或受支持记录设备。
- 记录页面显示的记录比例和括号中的有效频率;不要只抄
1/1或1/4。 - 基线保持
Debug Mode = NONE;专项分析另建日志并记录调试模式。 - 保存、重启并复读,飞行后取得原始日志。
- 使用Blackbox Explorer检查字段、时间戳、dropout和动作完整性。
截图中的板载闪存、1/1 (6 kHz)和可用空间均为虚拟数据,不能用于真实机采样率结论。

日志来自旧Profile、动作落入dropout、采样不足或硬件身份不一致时,本轮结论无效。需要对比原始与滤波信号时,保持配置、动作、桨、电池和采样条件一致。
5. 滤波调校¶

- 先排除机械异常,再确认RPM滤波和动态陷波实际运行。
- 保存陀螺仪、D Term滤波乘数及展开字段。
- 比较原始/滤波后噪声、控制延迟和电机温度。
- 一轮只调整一个滤波维度,保存、重启、复读后短测。
- 出现D项高频活动、振荡或温升异常时立即回滚。
滤波不足可能发热和振荡,滤波过强会增加延迟。截图为虚拟默认值,不是机型推荐参数;完整判定见滤波配置与噪声延迟权衡。
6. PID调校¶
调整顺序¶
- 先建立一个保守、可控且覆盖计划测试动作的Rate Profile,并在控制器对比期间保持不变;
- 调整滚转、俯仰和偏航角速度环;
- 在角速度环稳定后调整前馈;
- 若任务使用ANGLE/HORIZON等模式,再处理姿态/Level外环;
- 最后细调Rates、Expo、油门和任务响应,并完成控制器回归。
Rates会改变角速度目标轨迹。PID或前馈对照期间改变Rates,会使前后日志输入条件不同,当前轮次不能再归因于单一控制器改动。

- 打开“PID调参”中的“PID配置文件设置”,确认当前PID Profile。
- 保存配置文件名称、简化调参模式、八个滑块和底部三轴P/I/D/D Max/F值。
- 优先使用简化滑块建立单变量候选:Damping对应D、Tracking对应P与I、Stick Response对应前馈。
- 保存、重启并复读,短测后比较Setpoint、Gyro、电机输出和温度。
- 在批准短测后比较Setpoint、Gyro、P/I/D/F、电机输出和温度;不满足预期则回滚。
页面中的1.00和示例三轴值只是虚拟默认值,不是推荐起点。真实机应从固定版本默认值或经适用性审查的预设开始。

| 日志现象 | 优先检查 | 候选方向 |
|---|---|---|
| 整段目标跟随不足且输出有余量 | Tracking、P/I | 小幅提高Tracking |
| 快速持续振荡或电机命令交替 | P、D、噪声 | 回滚增益并先处理噪声 |
| 动作结束后过冲或多次摆动 | Damping、饱和 | 排除饱和后评估Damping |
| 持续风或重心偏移下保持差 | I、机械重心 | 排除机械问题后评估I |
| 动作初段落后、稳定段能跟上 | Stick Response/前馈 | 小幅提高前馈 |
| 目标变化瞬间抢先或尖峰 | 前馈、输入平滑 | 降低前馈或增加适当平滑 |
每轮只改一个维度,落地后检查日志和温度,不在空中继续改参数。完整原理见PID与前馈调校。
7. Rates、Expo和油门手感¶
推荐使用Actual Rates建立可解释基线:
- Center Sensitivity:定义中心附近斜率;
- Max Rate:定义满杆最大角速度;
- Expo:定义中心到端点之间的曲线形状。

调整顺序:
- 在“Rate配置文件设置”中确认当前Rate Profile和Rate类型。
- 在调控制器前先建立保守基线;进入最终手感调整后固定PID、滤波和前馈。
- 先输入Center Sensitivity,观察中心附近曲线。
- 再输入Expo形成中段曲线。
- 最后输入Max Rate,并核对页面计算出的三轴最大角速度。
- 需要匹配悬停杆位时,分别填写油门中点、悬停位置和油门Expo。
- 需要限制动力时,先完成动力台架,再选择
SCALE或CLIP及百分比。 - 保存、重启并确认仍处于同一Rate Profile。
- 分别验证滚转、俯仰和偏航,并用相同动作和日志对比。
- 验证模式切换和Profile恢复。
截图中的70/670/0.00和0.5/0.5/0只用于展示控件位置,不构成参数建议。
油门手感还受到:
- 飞行器推重比;
- 电池电压和压降;
- 螺旋桨负载;
- 油门中点与Expo;
- 推力线性化;
- 油门限制;
- 实际悬停油门。
不要通过降低最大角速度掩盖PID过冲,也不要通过大Expo掩盖摇杆中位噪声或死区错误。
8. 每轮测试卡¶
飞行器与Betaflight身份:
PID Profile与Rate Profile:
本轮风险层级与授权:
机械、滤波和日志门禁:
本轮唯一改动:
修改前值:
修改后值:
预期改善:
可能副作用:
测试动作、轴和杆量:
天气、电池、载荷:
中止条件:
Blackbox文件与摘要:
目标跟随:
过冲与衰减:
输出余量:
电机/电调温度:
操作者主观记录及时间点:
决定:接受 / 回滚 / 阻断
9. 自动调参的CHIRP分析入口¶

App 2026.6.2增加“自动调参”入口,用于导入带有debug_mode = CHIRP的Blackbox日志,分析频率响应并计算PID建议值。它不是点击后自动飞行,也不是无日志的一键调参。
只有以下条件全部成立时才进入CHIRP专项:
- 当前固件构建包含CHIRP能力;
- “模式”页存在CHIRP模式并由独立测试开关控制;
- Blackbox设备、记录速率和
debug_mode = CHIRP已经复读; - 飞行场地、动作、轴向激励、持续时间和中止条件有独立D层测试卡;
- 机体已有稳定基线,无机械、滤波、温度或输出饱和阻断;
- 原始日志可恢复,分析结果可以逐项审阅和回滚。
固定源码会向当前轴的角速度目标注入扫频信号,退出CHIRP模式后才轮换到下一轴。未经专项程序,不在普通首飞、训练或日常飞行中启用。App给出的建议仍是候选,必须通过参数差异、短测、Blackbox和温度回归后才能接受。
两种对齐方向都成立¶

Uncrashed、Liftoff和TRYP FPV可以作为训练工具,也可以把某个固定版本的内置机型作为自组机的目标手感。两条路线的参考对象不同:
| 路线 | 参考对象 | 目标 |
|---|---|---|
| 训练迁移 | 已通过调校和包线批准的真实机 | 让模拟器尽量重现真实机,减少训练迁移差异 |
| 目标手感设计 | 固定游戏版本、物理版本和内置机型 | 让自组机在安全包线内逼近目标机型的输入、视觉、动力和瞬态响应 |
第二条路线是有效的工程目标,但模拟器预设必须被视为“目标响应规格”,不能把游戏中的PID数值直接写入真实飞控。不同游戏使用不同物理模型,同一个真实机也不可能同时精确复制三款游戏的全部动力学。
可以双向直接对齐¶
- 摇杆模式和轴方向;
- Center Sensitivity;
- Max Rate;
- Expo;
- 油门曲线;
- 相机角度;
- 近似视场;
- 模式和关键开关位置。
只能测量后逼近¶
- PID和滤波数值;
- 电机、电调和螺旋桨动态;
- 电池压降;
- 桨洗和地面效应;
- 真实风场;
- 图传、遥控和显示总延迟;
- 撞击和结构柔性;
- 不同游戏的空气动力参数。
同名DJI FPV不等于数字孪生¶
真实DJI FPV使用封闭飞控,用户通常不修改底层PID和滤波,因此确实不需要执行Betaflight PID调校。但“无需调PID”不等于“无需对齐任何设置”:
- 模拟器中的DJI FPV只有在游戏版本、物理版本和预设均固定时才是明确目标;
- 真实机与模拟器仍要使用相同的M挡语义、Center Sensitivity、Max Rate和Expo;
- M挡姿态限制是否启用会改变可执行动作;
- 相机角度、FOV、遥控器、显示帧率和端到端延迟仍会改变手感;
- 游戏内置机型不是厂商公开保证的实时数字孪生,固件或游戏更新后必须重新比较。
因此,真实DJI FPV的正确做法是保留厂商闭环控制,只对齐Gain & Expo、模式、视觉和输入链,不寻找不存在的Betaflight PID入口。
自组三寸机为什么不能只提供重量¶
带电池起飞重量只决定重力的一部分。两架同为250 g的三寸机,如果电机、桨、轴距或质量分布不同,角加速度、停止距离、悬停油门和桨洗响应都会不同。
建立候选参数至少需要:
| 类别 | 必需信息 | 决定的手感维度 |
|---|---|---|
| 目标模型 | 模拟器、游戏版本、物理版本、内置机型、Rates和相机设置 | 要逼近的目标响应 |
| 质量与几何 | 带电池重量、轴距、机架布局、重心和主要质量位置 | 平动与转动惯量 |
| 动力 | 电机完整型号与Kv、桨直径/螺距/叶数、电池串数与容量 | 推力、油门分辨率和加减速能力 |
| 控制 | 飞控、陀螺仪、电子调速器、Betaflight版本和diff all |
可用滤波、PID、前馈和输出路径 |
| 实测 | 悬停油门、Blackbox、温度、满油门短测和标准动作视频 | 真实机是否达到目标且保持安全 |
| 视觉与延迟 | 相机角度、图传、眼镜/屏幕、帧率和估计延迟 | 速度感和操纵时序 |
只有重量时,可以粗略判断悬停推力和推重比范围,不能生成可信的PID、前馈或“DJI FPV手感”参数。
建立专用模拟器模型¶
在EdgeTX/FreedomTX中创建独立SIM模型:
- 关闭Internal RF和External RF;
- 四轴保持100%输出;
- 不在发射机端增加Expo;
- 不加载真实飞行器的武装逻辑;
- USB连接后重新校准;
- 保存各模拟器的轴顺序和端点。
关闭射频可以减少无意义发射和电量消耗。外置射频模块在没有正确天线时不得通电。
双向统一对齐步骤¶
1. 校准输入¶
分别在Uncrashed、Liftoff和TRYP FPV中完成:
- 中位;
- 最小和最大端点;
- 轴方向;
- 死区;
- 油门不自回中语义。
不要假设一个游戏保存的系统手柄校准会自动被其他游戏正确解释。
2. 固定速率模型¶
先在参考对象上固定速率模型。若目标是游戏内置机型,就记录该机型的原始设置,不先修改预设。模拟器与Betaflight均支持Actual Rates时,对齐:
- Center Sensitivity;
- Max Rate;
- Expo。
如果只支持其他速率模型,不复制字段名称,而是比较至少三个点:
| 摇杆位置 | 对齐目标 |
|---|---|
| 中心附近 | 小幅输入的角速度斜率 |
| 半杆 | 常用动作的角速度 |
| 满杆 | 最大角速度 |
使用曲线转换器或游戏内预览图时,记录工具版本和输出,不只保存最终三个数字。
3. 对齐视觉¶
依次匹配:
- 相机上仰角;
- 水平与垂直FOV;
- 屏幕宽高比;
- 第一人称视角位置;
- 画面模糊和运动效果;
- 帧率和输入延迟。
同一相机角度在不同FOV下会产生不同速度感。先对齐FOV,再判断动力是否“太快”。
4. 对齐机体与动力¶
两条路线都要记录真实机:
- 起飞质量;
- 电池串数与容量;
- 电机Kv;
- 螺旋桨直径、螺距和叶数;
- 机架尺寸;
- 推重比;
- 重心;
- 空气阻力或阻尼;
- 重力和风设置。
训练迁移路线在模拟器中逼近这些实机数据。目标手感设计路线则先读取内置机型可见参数,再通过真实机硬件选择、油门映射和控制器调校逼近目标。
不要通过降低PID增益制造“更重”或“更柔”的感觉。PID首先要保证真实机稳定并准确跟踪目标;中心手感由Rates与Expo塑造,命令初期跟随由前馈及其平滑塑造,油门感受由动力组合、油门曲线和限制塑造。惯量、阻力和能量保持能力最终受实体结构约束。
5. 用标准动作比较¶
每款模拟器和真实机使用同一组动作:
- 小幅滚转往返;
- 半杆滚转停止;
- 俯仰小幅阶梯;
- 偏航定速转弯;
- 定高所需油门;
- 松杆停止;
- 模式切换;
- 中止和恢复。
真实机动作只能在批准包线内执行。比较结果分为:
- 输入曲线差异;
- 视觉差异;
- 动力差异;
- 闭环差异;
- 延迟差异。
目标手感设计至少比较以下量:
| 指标 | 用途 |
|---|---|
| 中心、半杆和满杆角速度 | 对齐Rates曲线 |
| 角速度上升时间 | 对齐命令响应速度 |
| 过冲与停止时间 | 对齐急停、回弹和阻尼感 |
| 悬停油门 | 对齐低油门分辨率与推重比 |
| 短时爬升趋势 | 对齐动力余量 |
| 松油门下落与转弯能量保持 | 识别惯量和阻力差异 |
| 输入到画面响应延迟 | 区分控制响应与视觉延迟 |
模拟器不提供遥测导出时,保存相同遥控器输入下的屏幕录像、杆位叠加和游戏设置;真实机侧使用Blackbox、眼镜录像和同步口令。没有共同时间基准时,只作分级主观结论,不伪造精确毫秒差值。
三寸自组机的反向标定流程¶
- 只选一个目标:例如“Liftoff当前物理版本中的某一内置三寸机型”,不同时追逐三款游戏。
- 固定游戏版本、物理版本、机型、Rates、相机、FOV、风和帧率。
- 使用计划控制真实机的同一遥控器完成模拟器校准。
- 记录目标模型的中心/半杆/满杆角速度、悬停杆位、翻滚停止和短时爬升。
- 固定真实三寸机的硬件身份,先完成机械、滤波、RPM回传、温度和Blackbox门禁。
- 先复制可直接迁移的Rates与视觉设置。
- 用动力台架和悬停油门判断硬件推力是否具备逼近条件;不足时先改变动力组合,不用PID补偿。
- 用Blackbox调整稳定性和目标跟随,再在单变量测试中处理前馈、油门曲线与限制。
- 对仍然存在的惯量、阻力、桨洗和延迟差异明确记录“不能由参数消除”。
- 通过温度、振动、输出余量和代表性动作回归后,才冻结该目标手感Profile。
为了生成第一版候选配置,需要提供:
目标模拟器、版本、物理版本和内置机型:
目标机型的Rates、相机、FOV、风和物理设置截图:
带电池起飞重量、轴距和重心位置:
电机完整型号与Kv:
螺旋桨完整型号:
电池串数、容量和重量:
飞控、陀螺仪与电子调速器型号:
Betaflight version、status和diff all:
无风悬停油门:
标准动作Blackbox和眼镜录像:
电机、电调和电池温度:
其中重量只是第一项实机数据。没有动力组合和日志时,只能给Rates与视觉候选,不能给PID放行结论。
Actual Rates公式、推重比与悬停油门计算、惯量估算、Blackbox响应指标、参数决策表和完整三寸机算例见模拟器目标机型到自组机反向标定。
各模拟器对齐记录模板¶
下表是执行对齐时复制到项目记录中的空白模板,不是缺失的产品参数。各项会随游戏版本、所选机型、遥控器、计算机性能和目标真实机变化,因此不存在可由本文统一预填的数值。只阅读教程时可以跳过;实际对齐时将“项目记录”替换为当次测量或设置。
| 字段 | 填写来源 | Uncrashed | Liftoff | TRYP FPV |
|---|---|---|---|---|
| 游戏版本 | 游戏关于页、构建号或平台版本信息 | 项目记录 | 项目记录 | 项目记录 |
| 机型/自定义配置 | 游戏内机型与部件配置页 | 项目记录 | 项目记录 | 项目记录 |
| 输入设备与校准 | 游戏控制器校准页及遥控器模型名称 | 项目记录 | 项目记录 | 项目记录 |
| Rates模型 | 游戏Rates设置页 | 项目记录 | 项目记录 | 项目记录 |
| 中心/半杆/满杆响应 | Rates曲线或三个杆位的角速度读数 | 项目记录 | 项目记录 | 项目记录 |
| 相机角度/FOV | 游戏相机与画面设置 | 项目记录 | 项目记录 | 项目记录 |
| 质量/推重比 | 游戏机体参数与真实机称重、动力台架记录 | 项目记录 | 项目记录 | 项目记录 |
| 重力/阻力/风 | 游戏物理和环境设置 | 项目记录 | 项目记录 | 项目记录 |
| 帧率和延迟条件 | 游戏性能显示、显示器刷新率和输入链记录 | 项目记录 | 项目记录 | 项目记录 |
| 与真实机主要差异 | 相同标准动作的日志、视频和操作者记录 | 项目记录 | 项目记录 | 项目记录 |
三款模拟器分别保存配置,不强迫它们相互一致。训练迁移路线以已通过真实调校和包线批准的飞行器为参考;目标手感设计路线以固定模拟器预设为响应目标,但真实机安全门禁、温度、振动和输出余量始终具有否决权。
常见误区¶
- 直接复制网络上的PID、滤波和Rates整包;
- 把Betaflight旧版界面滑块位置用于
2026.6.2; - 只看陀螺仪频谱,不检查机械和温度;
- 开启双向DShot但不确认回传错误率和磁极数;
- 同一轮同时修改滤波、PID、前馈和Rates;
- 用大Expo隐藏中位抖动;
- 把模拟器中的“同名无人机”视为真实硬件模型;
- 把游戏PID数值直接写入真实飞控,而不是测量并逼近目标响应;
- 只提供重量就期望生成完整PID、动力和惯量匹配参数;
- 只匹配相机角度,不匹配FOV和延迟;
- 一次顺滑试飞后直接冻结参数。
完成标准¶
- 固定Betaflight版本、目标、App、Profile和完整配置;
- 机械、动力和日志质量通过;
- RPM与滤波运行条件有证据;
- PID目标跟随、输出余量和温度通过;
- 前馈没有不可接受尖峰和过冲;
- Rates中心、中段和端点满足任务;
- 代表性模式和任务动作回归通过;
- 三款模拟器均记录版本和独立配置;
- 已声明采用训练迁移还是目标手感设计路线;
- 模拟器与真实机的可迁移项已对齐,目标响应指标已保存;
- 不可迁移差异已记录;
- 最终参数、日志、限制和恢复包完整。
检查理解¶
- 为什么Rates决定目标手感,而PID不能直接替代Rates?
- 为什么启用RPM滤波前必须确认磁极数和回传错误率?
- 什么时候应让模拟器匹配真实机,什么时候可以让自组机逼近模拟器目标?
- 相机角度相同但FOV不同,为什么速度感仍会不同?
- 为什么Uncrashed、Liftoff和TRYP FPV不能用同一套物理参数实现完全一致?