
1. 为什么是VTOL为什么从安装调试开始VTOL垂直起降固定翼这几年在航测、物流、应急巡检领域几乎是绕不开的话题。它最大的价值在于把多旋翼的垂直起降能力和固定翼的长航时、高效率巡航结合到了一起不需要跑道找块空地就能起降到了天上又能用固定翼模式一口气飞个几十上百公里。对于没有机场条件、又想跑远距离任务的团队来说这是一种很务实的选择。不过VTOL也是飞控系统里门槛相对高的玩法。它同时涉及多旋翼控制和固定翼控制两套逻辑在Ardupilot里就是QuadPlane框架在PX4里则是独立的VTOL框架。两套代码的切换逻辑、混控输出、姿态过渡、空速保护这些环节任何一个地方设置不对试飞就是一地零件。我见过太多人第一步刷固件就刷错或者电机输出顺序搞反还没起飞就把电调烧了。所以这一篇我把话先说清楚安装调试这一步决定了后面所有参数调试能不能进行下去要想飞得好先得把底子打扎实。本篇适合谁适合手里已经有或者准备买一套APM/Pixhawk系列飞控、打算自己动手组装VTOL的玩家和开发者。读完你会对整个硬件连接、固件选择、刷写流程、遥控器校准、传感器标定、电调顺序检查这些“起飞前必须做的破事”有一个完整的概念能少走很多弯路。别急着一上来就调参数先把这个阶段的东西全部搞定后面的飞机姿态、过渡速度、油门补偿才有意义。2. 硬件选型与飞控安装这一步踩坑最多2.1 飞控和固件怎么搭才合理先解决最基础的问题用APM还是Pixhawk刷Ardupilot还是PX4。这俩经常被混为一谈其实是两套东西。APM和Pixhawk是硬件平台Ardupilot和PX4是跑在硬件上的飞控固件。APM系列早期是AVR芯片的ArduPilotMega后来Pixhawk系列用的就是ARM架构的Pixhawk硬件Ardupilot同样也能刷进去。所以你现在买到的“APM飞控”很多其实也是Pixhawk架构的板子只是延续了老叫法。对于VTOL项目我的建议是优先选Pixhawk 4、Pixhawk 6C这类性能足够的硬件Flash至少在2MB以上RAM要充裕一些。QuadPlane的代码量、参数数量、日志记录量都远超普通固定翼旧Pixhawk的512KB Flash不是不能用但后续调参空间会非常紧凑。至于固件如果是新手我强烈建议从Ardupilot的ArduPlane固件入手。原因很简单Ardupilot的QuadPlane已经有十几年的迭代历史QGroundControl和Mission Planner两个地面站对它的支持都非常完善中文资料也相对多。PX4的VTOL体系也很棒代码架构更现代仿真工具链更完整但对刚接触VTOL的人来说PX4的参数命名和混控配置逻辑会更抽象一些遇到问题排查的速度会慢一点。我个人第一套VTOL就是用Ardupilot跑通的后面再去看PX4就觉得理解成本低了很多。注意一点ArduPlane固件和ArduCopter固件是两个完全不同的东西VTOL必须刷ArduPlane固件。很多新手在Mission Planner里看到有QuadPlane选项就直接刷了但如果固件类型选成ArduCopter那你拿到的是多旋翼固件根本没有固定翼逻辑反过来选了ArduPlane但没开启VTOL功能飞控也会忽略你的四轴电机输出。2.2 电气连接和供电别等到冒烟才后悔VTOL的电气系统比普通固定翼复杂得多。它上面同时有四个垂直电机、一到两个水平推进电机、三四组舵机、飞控、GPS、空速计、接收机、图传、电流计每个部件都有电流需求。合理的供电方案决定了飞控系统稳不稳定而不是能不能干活。我的做法是分开供电飞控用独立的5V/3A BEC供电电调单独用主电源。如果你用的是一体化电调Pixhawk 4的PM02电源模块带BEC那也要注意BEC的总输出能不能扛住飞控接收机舵机的负载。VTOL的翼面执行机构在高速飞行中受力不小舵机瞬间抽电流是经常的事如果BEC功率不够飞控就会频繁重启空中直接失控。接线顺序方面四个垂直电调接飞控的MAIN输出通常是MAIN 1-4水平推进电调接下一个输出通道升降舵、方向舵、副翼舵机再接后续通道。具体通道映射在不同固件版本里不太一样强烈建议刷完固件后先用Mission Planner的输出测试功能确认每个通道对应哪个电机再插螺旋桨。我踩过一次特别疼的坑当时想当然地按默认映射接线结果解锁后四个垂直电机转速分布完全不对飞机在地面直接侧翻桨叶打碎了两根。后来学乖了每次都先用电机测试页面单独驱动每个输出口确认转向和转速正常再装桨。2.3 空速计VTOL省不了的传感器有一个我反复强调的点空速计不是可选项是必选项。VTOL在固定翼模式下需要依赖空速判断失速边界尤其在从多旋翼过渡到固定翼的切换过程中飞控要根据空速判断什么时候解除垂直动力、什么时候接管机翼控制。没有空速计的QuadPlane在Ardupilot里虽然能飞但限制很多而且非常危险一阵顺风就可能让飞控误判过渡时机。安装空速计的时候皮托管要伸到机翼前方的干净气流区别装在螺旋桨滑流里也別紧贴机身侧面。我见过有人把皮托管装在机腹下面那个位置的静压孔和动压孔都容易被气流扰动数据抖动明显。安装完成后在Mission Planner里做一次空速零偏校准传感器保持静止、没风的情况下读到的空速值应该在0附近如果有偏移就在参数里做减法修正。3. 固件刷写与初始参数配置3.1 Mission Planner刷固件的完整流程不管最终选哪个地面站我习惯用Mission Planner来给ArduPlane刷固件操作直观且报错信息比较清楚。刷写前先把飞控通过USB连电脑确认端口和COM口识别正常。装好驱动后打开Mission Planner右上角选择对应波特率通常是115200连接后进入“初始设置”点击“安装固件”页签。在固件选择列表里选“ArduPlane”而不是“ArduCopter”。Mission Planner会自动从官网拉取最新的稳定版固件这个“稳定版”建议直接选最新的因为QuadPlane功能很多年都没出过大重构稳定版之间的兼容性有保障。如果想用更前沿的固件版本可以到官网下载特定build但我不建议新手追新日常调试用稳定版就够了。刷写过程中千万不要拔USB线也不要关Mission Planner一旦中断飞控可能变砖。如果不幸刷挂了有种恢复方式是把飞控的bootloader按钮按住再插USBMission Planner可以重新进入刷写模式但整个过程很折腾。所以稳妥起见刷固件前后都看一眼“固件版本”确认是ArduPlane 4.x而不是Copter这一步十秒钟的事能省下好几天的折腾时间。3.2 框架类型和输出映射VTOL的灵魂设置刷完固件飞控默认还是一台普通固定翼要启用VTOL功能必须把Q_ENABLE参数设为1。这个参数在ArduPlane里是所有VTOL相关功能的总开关。不打开它即使你接了四颗垂直电机飞控也不会给它们任何输出。接下来是Q_FRAME_CLASS和Q_FRAME_TYPE。ArduPlane支持X型、十字型、V型等几种垂直电机布局你需要根据十字盘实际装法选对应类型不然飞控分配混控的时候方向会对不上。X型布局是最常见的VTOL四轴布局我用的就是Q_FRAME_CLASS0X加Q_FRAME_TYPE0X型配合Mission Planner里的机架示意图就能对齐。输出映射方面ArduPlane里关键参数是SERVO1_FUNCTION到SERVO9_FUNCTION这类通道功能定义。垂直电机的功能号在QuadPlane里通常是77-80Q_MOTOR1-4水平推进电机是70Throttle副翼是4升降舵是19方向舵是21。我习惯把所有输出功能先按这个规则配好然后用Mission Planner的“舵机/电机测试”页面逐个驱动观察飞控的逻辑分配与物理接线是否一致。这一步配合实物检查比单纯看参数可靠得多。3.3 遥控器校准和模式通道遥控器校准是VTOL试飞前不能跳过的部分。Ardupilot里遥控器的每个通道在中位、最小、最大值都要被飞控记录空中摇杆的移动才能正确转换成控制指令。具体操作Mission Planner连接飞控后进入“遥控器校准”页面把遥控器摇杆拨到所有方向的最大最小位置直到进度条全部覆盖。这个过程中确保遥控器本身没有开启任何混控或曲线油门曲线、舵机曲线全部设成线性否则飞控看到的PWM值会和你实际打杆位置存在偏差。模式通道也一样重要。VTOL至少需要分配一个通道用于切换飞行模式我用的是遥控器面板上的五档旋钮映射到通道6。在Mission Planner的“飞行模式”页签里把6通道的各个PWM区间对应到需要的模式QLoiter垂直悬停、QStabilize垂直增稳、FBWA固定翼增稳、FBWB固定翼定高、Auto、RTL。注意模式切换逻辑比如从QLoiter切到FBWA飞控会执行垂直转固定翼的过渡程序从FBWA切回QLoiter则是固定翼转垂直降落。这些模式的选择和参数后面调参阶段再展开但通道映射必须先配好。4. 传感器标定上天前的基本功4.1 加速度计标定六面校准比什么都重要加速度计是飞控感知姿态的基础传感器如果它本身不水平飞控再看再好的算法也算不出正确的俯仰和横滚角。Ardupilot的加速度计标定方法非常朴实把飞机按六个面分别水平放置每次点击“校准”并等待飞控采样完成然后把飞机翻到下一个面。六个面分别是正面朝上、左侧朝上、右侧朝上、机头朝上、机头朝下、背面朝上。标定过程中要注意地面必须水平别在桌面或者有倾斜的工作台上做不然标定出来的加速度计零偏就是歪的。另外飞机的重心附近最好有支撑别让机翼或者尾翼受力变形。有些VTOL机身结构比较软放平的时候机翼下垂标出来的姿态就不准。我一般会在机翼两端垫泡沫块让机身尽量保持夹具设计时的形状。标定完成后在Mission Planner的“水平地面”页面做一次水平面基准设定。把飞机放在实际飞行时最接近水平的姿态点“设定水平基准”。这个动作决定了飞控认为的“0度俯仰/横滚”参考面如果装错了空中飞控会带着一个固定的姿态偏置飞行无论怎么调参都很难消除。4.2 罗盘标定室外飞行第一道坎罗盘标定的核心是为了让飞控知道机头指向哪里尤其在GPS模式、返航模式里没有正确的航向数据飞机基本就是蒙眼飞。Ardupilot的罗盘校准建议在室外或者远离金属建筑的空旷区域进行避开钢筋、铁皮屋、大型电子设备。操作步骤不复杂在Mission Planner的“可选硬件→罗盘”页面选择罗盘类型为内置或外置VTOL强烈建议外接GPS罗盘一体化模块然后开始校准。拿着飞机在空中缓慢旋转让飞控采集各个方向的磁场样本。校准过程中手机会把各个方向的采样数量显示出来一般每个方向都要覆盖。整个过程一分钟左右关键是让飞机的航向覆盖360度俯仰、横滚方向都转一转。罗盘校准完成后要看两个东西一个是罗盘的偏移量如果偏移值特别大超过1000说明周围有磁场干扰源需要排查附近有没有大电流导线、磁铁、扬声器之类的另一个是罗盘的曲线拟合“现场补偿”图里如果看到明显的分区色块而不是均匀渐变也需要重新校。有些Pixhawk板子上内置罗盘和外置罗盘同时存在建议直接禁用一个避免两个磁力计数据互相打架。4.3 空速计和飞控安装方向的复检空速计标定之前提过了补充一点有些空速计模块比如MS4525在ArduPlane里能直接读到气压高度、温度数据但它的绝对精度不如飞控自带气压计。空速计标定是在参数ARSPD_OFFSET里设置的也可以在Mission Planner“可选硬件→空速计”页面一键完成零偏值会直接写进参数。飞控安装方向也要确认一遍。VTOL机身结构紧凑很多人会把飞控斜着装比如为了避开电池仓把飞控转了45度这时候必须在参数AHRS_ORIENTATION里设置对应的安装方向不然飞控感知到的姿态全是错的。这个方向参数和加速度计标定是联动的如果安装方向设置错了加速度计标定出来的数据也没有意义。安装方向的验证方法很简单在Mission Planner的“飞行数据”页面把飞机机头抬起来看姿态指示器里的俯仰角是不是跟着变大把飞机往右倾斜看横滚角是不是变成正值。方向不对就是参数问题不是标定问题。5. 电调校准、电池电压与初步解锁检查5.1 电调校准的两种方式和我的选择VTOL上同时装机架电机和推进电机电调校准的核心是让所有电调知道油门信号的最小值和最大值这样飞控输出0%油门时所有电机停转输出100%时所有电机满转。Ardupilot支持两种思路一种是传统PWM校准飞控以固定的最大PWM约2000us输出一段时间电调记住这个为满油门然后切换为最小PWM约1000us电调记住为怠速/停止。我个人的习惯是如果有条件优先上支持DShot协议的电调和飞控输出比如BLHeli_32或者飞控支持DShot的型号因为DShot相比PWM信号没有校准误差数字协议天然就是精确的而且能读到电调的转速回传对后续动力分析帮助很大。如果手头是普通PWM电调那就老老实实做两遍PWM校准第一遍先拔掉所有螺旋桨在Mission Planner的“电调校准”页面按提示操作第二遍再检查每个电机在手动油门下的响应是否线性。无论用哪种校准方式记住一个铁律第一次上电校准电调之前一定要拆桨。电机在无限无桨状态下测试没问题不代表装上桨就没事但至少不会在校准过程中因为油门瞬间拉满而让飞机飞起来或者伤到人。我一般是先把所有桨拆了校准完了装上桨再在安全空旷的地方小油门测试。5.2 电压电流计校准和电池参数Pixhawk系列通过PM模块测量电池电压和电流但PM模块本身的测量精度有限而且不同模块之间有差异。要保证飞行中飞控算出的剩余电量比较准必须在第一次飞行前做电压和电流校准。电压校准很简单用万用表量电池的实际电压然后对比Mission Planner里读取的电压如果偏差超过0.1V就在BATT_VOLT_MULT参数里做修正。电流校准稍微复杂一点先把飞机放在地面静止全部设备上电然后用一个已知的负载比如接一个大功率灯或者充电器给电池放电读取飞控显示的电流和万用表/电流表实测值修正BATT_AMP_PERVOLT参数。校准完成后在飞行数据页面里看一眼电压电流曲线确认它随着油门变化而相应变化。这个步骤看起来不起眼但它直接关系到固件里的低电量保护、返航阈值能不能正确触发建议认真做一次。电池本身的参数也要在Mission Planner里设置电池类型、电池容量、电芯数量、低电量报警阈值、严重报警阈值。VTOL垂直起飞阶段瞬时功耗很高再加上固定翼巡航阶段电流较小整个过程电池电压波动幅度大报警阈值要谨慎。我的经验是首飞阶段电池阈值设置得保守一点比如3.7V/节电芯设置第一级报警、3.6V/节设置第二级报警宁可提前落下来也别等着空中断电。5.3 解锁自检和首飞前的安全检查清单Ardupilot在默认开启ARMING_CHECK的情况下会对GPS锁定状态、罗盘一致性、电压、加速度计、空速计等做全面自检任何一项不满足都不会解锁。新手一定要保留这个功能不要为了省事关掉。我看过很多人在室内解锁不了各种怀疑硬件问题实际上就是GPS没锁定卫星数不够导致的。VTOL解锁条件里GPS是个硬门槛首飞阶段请务必在室外开阔地带、有5颗以上卫星锁定的情况下解锁。首飞前我把检查清单固定成了一套流程螺旋桨方向确认四颗垂直电机里相邻两颗转向相反水平推进电机与机头指向一致所有桨的安装方向与电机转向匹配舵面运动方向确认升降舵、方向舵、副翼在打杆时运动方向与预期一致飞控修正时的方向也要正确可以轻轻倾斜机身看舵面是否在往反方向补偿解锁后怠速确认解锁后所有电机处于低速怠速状态声音平稳没有间歇性抖动GPS信号和罗盘航向稳定性确认Mission Planner地图页面看一下当前位置航迹、机头指向是否与实物一致电压电流读数确认电池刚充满时读到的电压与实际电压一致电流为零附近跳动正常这五步全部通过才说明硬件安装和固件配置是健康的可以进入下一步真正的飞行测试了。6. 常见安装调试问题与避坑经验6.1 解锁失败到底怎么排查解锁失败是安装调试阶段碰到最多的反馈。飞控会给出一个很明确的拒解锁原因但很多新手不知道去哪里看。Mission Planner连接飞控后在飞行数据页面的HUD附近有一个“解锁”按钮点击后如果失败旁边会显示PreArm: ...的提示信息。信息虽然简短但表达的逻辑很清楚比如PreArm: Bad GPS Pos就是定位条件不满足PreArm: Compass not healthy是罗盘健康状态异常。我把常见解锁失败原因整理成一个速查表错误提示常见原因处理方向Bad GPS PosGPS未定位或卫星数不足室外开阔地等待锁定检查GPS接线Compass not healthy罗盘未校准或受干扰重新标定罗盘检查附近磁场干扰源Check Board Voltage电源电压异常检查BEC输出电压和PM模块接线Accelerometer not healthy加速度计校准不完整重新做六面加速度计校准Autopilot hardware fault飞控硬件/传感器异常检查飞控供电必要时返厂维修排查的逻辑一般是从最基础的电源开始再到传感器健康状态最后才是GPS和罗盘条件。如果报错信息很模糊也可以打开“终端→日志”看一下最新报错或者直接把ARMING_CHECK临时禁用一次试试但试完要恢复来判断是否是自检逻辑卡住了。6.2 解锁后电机不转或某个电机方向不对解锁成功但某个电机不转这个问题比解锁失败更让人抓狂。先看输出映射是否正确Mission Planner的电机测试页面能不能单独驱动那个输出口。如果不能说明通道映射或者电调信号线接触有问题如果能但实际飞行时电机不转那就要检查飞控是否收到了有效的遥控器油门信号。电机方向不对是另一类高发问题。四个垂直电机中相邻电机必须逆时针和顺时针交替布局不然飞机自己就会偏航。如果发现某颗电机转向反了最稳妥的办法是换电机的任意两根输入线无刷电机换相而不是想通过参数或者遥控器反转来解决。排列方向和混控方向错误会在解锁后看到飞机有往一侧偏的趋势严重时直接翻。还有一个容易忽略的坑在QuadPlane框架里解锁后的电机怠速行为与多旋翼很像如果Q_M_SPIN_ARM参数设得太大解锁瞬间电机转速会比较高看起来像“电机自己转飞”新手很容易吓一跳。这个参数默认100PWM值意思是解锁后电机以约10%油门对应的转速怠速正常范围内但如果装桨后觉得不安全可以在首飞前把它调低再在参数调优阶段根据自己的手感恢复。6.3 罗盘数据跳动、空速数据异常怎么办罗盘跳动大多数时候是电磁干扰问题。排查办法是先用Mission Planner的“罗盘”页面看实时磁场强度。靠近电机或者电调时观察磁场读数有没有明显跳变。如果跳变很明显就需要把罗盘模块尽量远离大电流导线或者加装铜箔屏蔽。另外电调本身是开关电源在一些低质量电调或者无滤波电容的配置里会对罗盘产生比较大的干扰这时候优先换好一点的电调而不是死磕屏蔽。空速数据异常最常见的是皮托管堵塞。地面上看空速漂移大、不为零要么是皮托管进灰或者进虫要么是管路在某处折弯/漏气。每次起飞前检查一下皮托管入口和一个侧面小孔静压孔是否清洁这个习惯能免掉很多空中疑惑。如果空速计数值起伏非常大检查传感器背面有没有和机架发生碰撞或者线缆是否和动力线走在了一起。7. 写给自己的首飞前反复确认这篇文章讲的是VTOL装调的第一篇从硬件到固件、从传感器到解锁自检都是围绕“让飞机在地面上变得可信”来展开的。到了这个阶段飞机应该是固件正确、输出映射正常、传感器标定完成、电调响应一致、解锁条件满足。再往后才轮到飞行模式里的参数、过渡速度和油门补偿的精细调优那是后面几篇的内容。我个人实际调试中的体会是很多人失败不是因为知识不够而是太急着飞。明明电机转向不对还想着到天上修正明明罗盘没标好就想着GPS模式拉高结果一飞就失去理智。VTOL调试最怕的就是把地面能解决的问题留到空中。每次试飞前我都会花至少十分钟做一个“地面模拟”——不拆桨的情况下把飞机固定在测试架上逐步测试QStabilize模式下的姿态响应观察飞控是否在正确方向修正这样地面多花的时间都会变成空中的安全感。最后再分享一个小技巧把本章节涉及的关键参数记录成一份自己的检查表每次换电、换设备、换场地后重新过一遍不要只看Mission Planner里的参数而是拿实物和飞控读数逐一对比。参数是死的飞机是活的只有当两者对上了你才有资格谈“调试”两个字。