Appearance
第九章:进阶与扩展
1. FPV(第一视角)系统
1.1 FPV系统组成
┌─────────────────────────────────────────────────────┐
│ FPV系统 │
│ │
│ 飞机端: │
│ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
│ │FPV摄像头 │───→│ OSD芯片 │───→│ 图像发射器 │ │
│ │(前视角) │ │(叠加数据) │ │ (5.8GHz) │ │
│ └──────────┘ └──────────┘ └──────┬───────┘ │
│ │ 无线 │
│ 地面端: ↓ │
│ ┌──────────────────────────────────────────────┐ │
│ │ FPV眼镜 / 显示器 │ │
│ │ ┌──────────┐ ┌──────────────────────┐ │ │
│ │ │图像接收器 │───→│ 显示屏(眼镜/显示器)│ │ │
│ │ └──────────┘ └──────────────────────┘ │ │
│ └──────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘1.2 模拟图传 vs 数字图传
| 对比 | 模拟图传 | 数字图传(DJI O3/HDZero) |
|---|---|---|
| 延迟 | <1ms | 20~50ms |
| 画质 | 标清 | 高清 |
| 价格 | 低(¥100~300) | 高(¥1000+) |
| 穿透力 | 好 | 一般 |
| 推荐 | 入门/竞速 | 航拍/进阶 |
1.3 5.8GHz频道
常用频道(模拟图传):
Band A: 5865, 5845, 5825, 5805, 5785, 5765, 5745, 5725 MHz
Band B: 5733, 5752, 5771, 5790, 5809, 5828, 5847, 5866 MHz
Band E: 5705, 5685, 5665, 5645, 5885, 5905, 5925, 5945 MHz
Raceband: 5658, 5695, 5732, 5769, 5806, 5843, 5880, 5917 MHz
多人同飞时选择不同频道,避免干扰
推荐使用 Raceband1.4 OSD(屏幕显示)
OSD叠加的常用信息:
- 电池电压(最重要!)
- 飞行时间
- 飞行速度
- 高度
- GPS坐标(有GPS时)
- RSSI(信号强度)
- 飞行模式
Betaflight OSD配置:
OSD页面 → 拖拽元素到屏幕位置2. GPS功能
2.1 GPS模块选择
| 型号 | 精度 | 价格 | 特点 |
|---|---|---|---|
| M8N | 2.5m | ¥80~150 | 主流,性价比高 |
| M9N | 1.5m | ¥150~250 | 更快定位 |
| Here3 | RTK | ¥800+ | 专业级 |
2.2 GPS功能(ArduPilot)
Loiter(GPS定点):
松开摇杆,飞机保持当前位置
适合拍照、悬停观察
RTL(Return to Launch,一键返航):
飞机自动飞回起飞点并降落
信号丢失时自动触发
Auto(自动任务):
预先规划航点,自动飞行
用Mission Planner规划
Position Hold(定点悬停):
类似Loiter,更精确2.3 GPS安装注意事项
1. 安装在飞机顶部,视野开阔
2. 远离电机和ESC(磁场干扰)
3. 罗盘(磁力计)需要校准
4. 首次使用需要冷启动(等待5~10分钟)
5. 至少锁定6颗卫星才能使用GPS模式
GPS支架:
┌──────────────────────────────┐
│ GPS模块(顶部) │
│ ↑ │
│ │ 支架(10~15cm高) │
│ │ │
│ └── 固定在机架上 │
└──────────────────────────────┘
高度避免机架金属干扰罗盘3. 自主飞行(ArduPilot)
3.1 Mission Planner 航点规划
步骤:
1. 打开 Mission Planner → Flight Plan
2. 在地图上右键 → Add Waypoint
3. 设置每个航点的:
- 经纬度(点击地图自动填入)
- 高度(相对起飞点)
- 速度
- 动作(拍照/悬停等)
4. 上传任务到飞控
5. 切换到 Auto 模式,解锁起飞
常用命令:
TAKEOFF: 起飞到指定高度
WAYPOINT: 飞往航点
LOITER_TIME: 在航点悬停N秒
LAND: 降落
RTL: 返回起飞点3.2 地理围栏(Geofence)
设置飞行边界,超出自动返航:
Mission Planner → Config → Geofence
参数:
FENCE_ENABLE = 1(启用)
FENCE_TYPE = 3(圆形+高度)
FENCE_RADIUS = 100(半径100m)
FENCE_ALT_MAX = 50(最高50m)
FENCE_ACTION = 1(超出返航)4. 图像稳定(云台)
4.1 云台类型
2轴云台:稳定 Roll + Pitch
3轴云台:稳定 Roll + Pitch + Yaw(最稳)
电子防抖(EIS):
软件处理,无需硬件云台
效果不如机械云台4.2 云台控制
云台通过PWM信号控制:
飞控 CH7/CH8 → 云台俯仰控制
ArduPilot 云台设置:
MNT_TYPE = 1(Servo云台)
MNT_PITCH_MIN = -90
MNT_PITCH_MAX = 0
RC7_OPTION = 213(云台俯仰)5. 竞速FPV进阶
5.1 ACRO模式飞行
ACRO(手动)模式:
- 无自稳,完全手动控制
- 摇杆控制角速度,不是角度
- 松开摇杆飞机保持当前姿态(不自动回正)
- 可以做翻滚、倒飞等特技
学习路径:
1. 模拟器练习至少20小时
2. 先在ANGLE模式熟悉飞机
3. 切换HORIZON模式过渡
4. 最后切换ACRO模式
ACRO模式技巧:
- 油门控制要细腻(50%附近悬停)
- 小幅度修正,不要大幅打舵
- 眼睛看飞机,不要看摇杆5.2 竞速赛道飞行
基本动作:
1. 穿门(Gate):对准门中心,保持速度
2. 劈弯:提前减速,出弯加速
3. 分裂S(Split-S):翻转后俯冲
4. 功率环(Power Loop):垂直圆圈
练习顺序:
1. 直线加速
2. 大圆圈
3. 8字飞行
4. 穿门
5. 复杂赛道6. 自制飞控(进阶DIY)
6.1 基于Arduino的简易飞控
硬件:
- Arduino Nano/Uno
- MPU6050(IMU)
- 4个ESC
- 接收机
基本代码结构:
1. 读取MPU6050数据(I2C)
2. 互补滤波计算姿态角
3. PID计算输出
4. 混控计算各电机PWM
5. 输出PWM到ESC
注意:Arduino飞控仅用于学习原理
实际飞行请使用成熟飞控!6.2 树莓派 + 飞控
Raspberry Pi + Pixhawk:
- 树莓派运行高级任务(图像识别、路径规划)
- Pixhawk负责底层飞行控制
- 通过MAVLink协议通信
应用场景:
- 视觉避障
- 目标跟踪
- 自主导航7. 常用开源项目
| 项目 | 地址 | 用途 |
|---|---|---|
| Betaflight | github.com/betaflight | 竞速飞控固件 |
| ArduPilot | ardupilot.org | 自主飞行固件 |
| PX4 | px4.io | 专业自主飞行 |
| INAV | github.com/iNavFlight | 固定翼+多旋翼导航 |
| ExpressLRS | expresslrs.org | 开源遥控协议 |
| OpenTX/EdgeTX | edgetx.org | 遥控器固件 |
| Cleanflight | cleanflight.com | Betaflight前身 |
8. 进阶学习资源
视频教程:
- Joshua Bardwell(YouTube,英文,FPV权威)
- Oscar Liang(博客,英文,详细教程)
- 穿越机中文社区(B站)
论坛:
- RCGroups.com(英文,综合航模)
- 5iMX.com(中文,航模论坛)
- 穿越机论坛(中文,FPV专区)
工具网站:
- ecalc.ch(电机/桨叶效率计算)
- oscarliang.com(FPV教程)
- betaflight.com(官方文档)