
1. 项目概述与方案选型1.1 这个项目到底在做什么先说结论这套东西做出来是一架既能像多旋翼一样垂直起降、悬停又能像固定翼一样平飞巡航的VTOL固定翼。它用APM或PIXhawk飞控板作为大脑跑Ardupilot或PX4固件通过QGC或Mission Planner地面站完成全部调试。之所以写这个系列是因为我自己在从零装这架飞机、调通软硬件的过程中踩了不少坑很多资料分散在官方Wiki、论坛帖子和各种群聊记录里系统性不够而且绝大多数教程只讲了多旋翼的调试流程VTOL固定翼的安装调试细节几乎没人讲透。这个系列就是补这个空白的。适合看这篇文章的人我大致分三类已经飞过自组多旋翼、对Pixhawk或APM的接线和校准流程有基本概念想进阶做VTOL固定翼的玩家。有一定固定翼飞行经验但没接触过开源飞控想通过开源飞控实现垂直起降和自动航线功能的朋友。做毕设、竞赛或行业应用项目需要从零搭建一套可复现的VTOL载机平台的学生或工程师。不管你是哪一类只要手里有板子、有飞机跟随这个系列的步骤走完就能得到一架可以在Mission Planner里解锁、手动起飞、切换固定翼模式平飞的VTOL。1.2 为什么选Ardupilot/PX4这个组合不选成品飞控市面上成品飞控比如大疆的N3、A3或者一些商业垂起飞控确实开箱体验好但有两个问题一是贵二是黑盒。VTOL垂直起降固定翼这种机型气动布局千差万别过渡速度、转换逻辑、倾转舵机混控比这些参数必须要能自己调、自己改黑盒飞控很难做到。而Ardupilot和PX4这两大开源固件阵营在VTOL支持上都相当成熟特别是Ardupilot的QuadPlane框架已经迭代了很多年稳定性在圈子里有口皆碑。选型上的逻辑我拆开说Ardupilot的QuadPlane把多旋翼和固定翼融合在一套代码里起飞、降落、平飞、转换都在一个模式内完成参数体系统一Mission Planner地面站功能极强。适合绝大多数DIY玩家和行业应用开发者。PX4的VTOL框架对标准VTOL尾座式、倾转旋翼、复合翼都有支持代码结构更工程化适合有嵌入式开发背景、希望深度定制固件的人。APM和PIXhawk硬件APM 2.8是入门的老将性能有限但皮实耐用适合预算紧张、飞小型VTOL的场合Pixhawk系列包括Pixhawk 2.4.8、Pixhawk Cube、Holybro的Pixhawk 4等性能强、接口丰富是绝大多数VTOL项目的合理选择。我在自己的项目里选的是Pixhawk 2.4.8硬件的烂大街版配Ardupilot QuadPlane固件原因很简单这个组合的资料最多、社区最活跃、出问题好排查。如果你用PX4那文章里的很多校准时序依然通用只是地面站换成QGroundControl参数名和模式名称略有差异。1.3 硬件选配清单与避坑建议VTOL固定翼的硬件架构是两个系统的叠加固定翼的推力系统电机、电调、舵面加多旋翼的升力系统通常4个垂直电机也有2个或6个的布局。这就意味着硬件清单比纯固定翼或纯多旋翼都要复杂。我按实际项目里用的配置列出清单供参考飞控Pixhawk 2.4.88M/4G版本均可我用的是8M稳定版配I/O PWM扩展板确保有足够的PWM输出通道。注意VTOL至少需要8个PWM输出通道4个给垂直电机、1-2个给固定翼电机、2-4个给舵面。固定翼动力朗宇X2814 900KV电机配40A电调用11寸或12寸折叠桨。VTOL固定翼的巡航电机不需要大拉力重点在效率和巡航速度的匹配。垂直起降动力富斯或银燕的2204/2206电机配20A电调带1045或8045桨。垂直电机的选择标准是整机重量的一半以上拉力才能保证垂直起降有足够余量。舵机固定翼副翼、升降舵、方向舵各一个用9g金属齿舵机即可倾转机构如果是倾转旋翼布局则需要更大扭力的舵机。传感器GPS模块我用的是M8N带罗盘空速计固定翼必备用于过渡速度和失速保护判断数传模块3DR 433MHz或915MHz均可看当地频段许可。电池4S 5200mAh锂电池既要满足垂直起降的大电流放电需求又要照顾巡航时的能量密度。装机时有几个坑我提前说电调给飞控供电时BEC输出一定要统一电压标准不要让垂直电调和固定翼电调的BEC同时给飞控供电容易烧板载稳压GPS模块必须远离电源线和电机磁罗盘干扰会导致解锁后乱转空速管要装在机身侧面或机翼下表面不能在螺旋桨滑流区域内。2. 固件烧录与地面站环境搭建2.1 固件选择Ardupilot还是PX4不要纠结选固件前先搞清楚自己的需求。Ardupilot和PX4都能驱动VTOL但设计哲学和操作方式完全不同。我站在“以最低成本、最高效率完成首飞”的角度建议新手选Ardupilot原因如下Ardupilot的QuadPlane过渡逻辑是“自动判断空速高度”只要参数配置正确过渡过程完全是固件自动完成的你只需要在遥控器上切换模式。Mission Planner简称MP的图形化校准向导极其友好传感器校准、遥控器校准、电调校准都一步步引导对首次接触飞控的人几乎没有门槛。参数体系是集中式的CTUN、Q_ENABLE、Q_A_RAT_RLL_P这类命名规则清晰社区里QuadPlane参数模板资源非常多抄作业很方便。PX4的优势在于代码结构清晰、支持多机仿真Gazebo、适合算法开发和学术研究同时QGroundControl配合PX4 SITL仿真可以在电脑上跑通整个VTOL任务流程。如果你要发论文或者做嵌入式二次开发PX4更合适。我的建议是如果你要载机去实操、去试飞、去完成任务选Ardupilot如果你要做开发、做仿真、做代码定制选PX4。这两个固件在装机阶段的物理接线是完全一样的区别只在固件烧录后用哪个地面站去校准参数。下文以Ardupilot为主详细展开PX4用户可以参考步骤把MP换成QGC、把参数名对照着查即可。2.2 Mission Planner安装与固件烧录步骤Mission Planner是Windows下最顺手的Ardupilot地面站安装包从官网下载这里强调几个细节安装路径不要有中文和空格。MP的驱动程序和地面站软件会读取配置文件路径中文路径经常导致驱动安装失败或地面站连接报错。先装驱动再连飞控。在MP安装完成后用USB线连接PixhawkWindows第一次识别会提示安装驱动。如果识别不了打开MP的“安装驱动”按钮或者用Zadig工具手动给飞控装上“libusb-win32”驱动。这个坑几乎每个新手都会踩我在帮朋友装的时候遇到最多的问题就是“设备管理器里能看到端口但MP连接不上”原因就是驱动不对。烧录固件连接飞控后进入MP的初始设置→安装固件界面选择你的板型Pixhawk1再选择“ArduPlane”注意不是ArduCopterVTOL在Ardupilot体系里是固定翼固件中的QuadPlane模块。点击上传固件会自动烧录。烧录时注意不要断开USB、不要断电烧录完成后飞控会自动重启此时USB需要重新枚举一次可能要等10-20秒。如果烧录失败大多数情况是驱动问题少数情况是飞控板本身bootloader损坏需要重新刷bootloader。2.3 初次连接与固件版本确认固件烧好后重新连接MP在顶部状态栏选择正确的COM口和波特率我习惯用115200连接后MP会语音播报“Connected”。这时进入“初始设置→基本设置→飞机型号”页面确认固件版本。Ardupilot的版本号通常在4.1.x、4.2.x、4.3.x之间不同版本的参数名和默认值可能有差异。我用的是4.2.0稳定性在VTOL机型上经过了大量验证如果追求新功能可以用4.3.x但建议等社区验证过再上。确认固件版本后第一件事是在MP的“配置→全参数列表”里找到Q_ENABLE这个参数把它设为1。Q_ENABLE是Ardupilot QuadPlane模式的总开关不打开这个参数飞控始终以纯固定翼逻辑运行后面所有VTOL相关参数都不会生效。这一步是很多照着别人教程抄参数的玩家容易遗漏的参数没生效后面一堆问题。3. 机架组装与硬件接线细节3.1 机架布局设计和电机方向确认VTOL固定翼的布局最常见的是复合翼构型固定翼机身机翼机翼上装4个垂直电机座前二后二或前二后一机尾或者机头再加一个推进电机。这种布局的优势是结构简单、改装容易不需要倾转机构过渡时只通过飞控逻辑停垂直电机、启固定翼电机、舵面接管完成。另一种是倾转旋翼构型机翼上的电机可以向前倾转90度巡航时作为拉力桨使用效率和速度都更好但机械结构复杂度高、调试难度大。首飞项目用复合翼构型最稳妥。电机方向的多旋翼部分按X型或十字型定义我用的Pixhawk默认多旋翼是X型四旋翼定义机身箭头方向朝机头左前电机逆时针、右前电机顺时针、左后电机顺时针、右后电机逆时针从机背向下看。方向盘在MP的“初始设置→机架类型”里选“X”型如果你装的是型那就选“”。舵机接线顺序要记住Pixhawk的OUT1-OUT8分别对应不同的功能。对固定翼和QuadPlane来说默认的PWM输出分配是OUT1固定翼副翼Aileron、OUT2升降舵Elevator、OUT3方向舵Rudder、OUT4固定翼油门Throttle接推进电调信号线、OUT5-8垂直电机1-4按X型顺序。不同固件版本的输出定义可能略有差异在MP的“配置→全部参数→SERVO”相关参数表里可以查看到或修改SERVOx_FUNCTION。3.2 供电系统与安全开关VTOL的供电系统比普通固定翼要多一层考虑垂直电机和固定翼电调的电流叠加峰值电流可能达到5-60A。我用的是Pixhawk的电源模块PM同时给飞控供电和检测电压电流。电源模块串联在主电池和所有电调之间PM的输出端给飞控的POWER端口供电同时Pixhawk还有一个独立的“备用电源”接口可以接一个BEC或者备用电池避免主电源模块故障导致飞控掉电失控。安全开关这一步我不能省Pixhawk的安全开关是一个外接按钮上电后飞控进入待解锁状态必须按一下安全开关飞控状态指示灯变为双闪后才能通过遥控器或地面站解锁。这在VTOL机型上尤其重要因为VTOL的电机多、总功率大误解锁的后果非常严重。我在装机时会把安全开关固定到机身的侧面方便地面操作同时每次起飞前习惯性确认安全开关状态灯是否正常。3.3 空速计、GPS与罗盘的安装规范空速计对固定翼来说不是可选项是必选项。Ardupilot的QuadPlane在判断“是否达到过渡速度”时依赖空速值来判断能否安全地进行模式转换。空速计安装在机翼下方或机身侧面要求前方气流不受螺旋桨滑流影响且空速管进气管不能被遮挡。接线用I2C连接到Pixhawk的I2C接口有的空速计是模拟接口接在ADC口要注意区分。装好后在MP里“初始设置→必要硬件→空速计”里选择对应类型并做零点校准。GPS模块尽量安装在机身最高点远离电机、电池和电源线。特别提醒很多Pixhawk 2.4.8的GPS模块是GPS罗盘二合一的这个内置罗盘在装机时非常方便但也意味着如果GPS位置离飞控很近且飞控内部磁场被干扰罗盘数据就废了。我的做法是GPS安装在机翼上方支架上高出机翼表面20厘米以上同时用MP的罗盘校准界面查看磁场干扰值如果场强超过正常范围就移位置。罗盘校准的流程是连接飞控→初始设置→必要硬件→罗盘计选择“现场校准”然后按提示把机架在空中旋转多个角度每个面停留数秒。这个校准对VTOL至关重要因为VTOL有8个电机同时大电流放电磁场环境比一般固定翼恶劣得多。4. 传感器校准与遥控器设置详解4.1 加速度计、水平仪校准传感器校准是整个调试流程里最不能跳过的环节。我在实际测试中发现很多首飞炸机的案例根本原因就是校准不规范要么没有在水平面上校准要么校准时机架被风吹动了要么使用了不正确的机架方向。加速度计校准步骤MP初始设置→必要硬件→加速度计点击“校准加速度计”。选择机架方向为“None”Pixhawk默认机头朝前平放然后按MP提示依次把机架摆在以下六个位置每个位置点击“校准”水平平放机背朝上左侧朝下右机翼朝上右侧朝下左机翼朝上机头朝下机头朝上机背朝下倒扣每个位置保持静止等待进度条走完。水平仪校准则是在加速度计校准完成后点击“校准水平仪”此时机架必须处于水平状态飞控会记录当前姿态为水平基准。这里有个人人都会犯的错误水平仪校准的“水平”是以机架本身的水平为基准不是以桌面水平为基准。如果机架装在机身里时装歪了校准后悬停就会漂。装机的物理水平比校准时的水平更关键。结束后在MP飞行数据页面切换到“姿态”视图慢慢转动飞机观察地平线指示是否跟随机身同步变化。如果某个方向反了多数是加速度计方向设置不对也可能是飞控安装方向参数AHRS_ORIENTATION设置错误。4.2 罗盘校准与磁场干扰排查罗盘校准的完整流程分三步外接罗盘选择如果GPS模块带罗盘且正确接线MP的罗盘列表里会出现两个罗盘飞控内置和外接。正确做法是启用外接罗盘通常为COMPASS_PRIMARY0或1取决于哪个是主罗盘禁用内置罗盘避免两者数据冲突。现场校准点击“罗盘计→现场校准”将机架按各个方向旋转。注意要大范围转动所有面包括上下翻转然后点击完成。如果校准过程中MP界面上的干扰指数超过红色阈值说明环境有强磁场源需要找到并远离。检查干扰校准完成后在MP的数据页面看罗盘航向值缓慢转动飞机观察航向是否平滑跟随。如果数值跳变严重可能是电机大电流或电源线形成的磁场干扰。本来这块就很值得展开我的经验是在机架未装电机前先做一次罗盘校准再装好电机后重做一次如果两次校准数据差异过大超过50说明电机或电源走线对罗盘的影响很大需要优化布局或者把GPS罗盘移到更高更远的位置。4.3 RC遥控器校准、飞行模式通道设置与解锁测试遥控器校准在MP的“初始设置→必要硬件→遥控器校准”里按提示操作。关键是测试过程中发射机油门、方向、副翼、升降各通道的行程范围要正常显示拨动开关时对应通道的值要变化。如果某个通道没反应多半是接收机接线问题或PWM通道定义不对。接下来设置飞行模式切换通道。VTOL通常用遥控器的一个两段或三段开关来切换模式。在MP的“初始设置→飞行模式”页面把Mode1设为“QLoiter”垂直起降悬停模式、Mode2设为“FBWA”手动增稳固定翼模式、Mode3设为“QStabilize”备用模式然后指定“选择选项”为RCx通常是一个辅助通道。这里有很关键的技巧VTOL的默认起飞模式是QLoiter降落推荐用QRTL自动返航垂直降落。在遥控器上不要设置成纯固定翼的Auto模式否则飞控会自动进入固定翼巡航逻辑而不会执行垂直降落。解锁测试是不上电螺旋桨的情况下做的把遥控器油门放最低按安全开关听到飞控“滴”一声模拟解锁然后推动油门看MP的频道监视器里的通道值是否响应。如果报无法解锁最常见的原因是“遥控器油门通道方向反”或者“安全开关没有闭环”以及“罗盘未校准”。这些在MP的HUD页面会以红色文字提示原因按提示逐个解决就好。5. 电调校准与电机出力方向测试5.1 电调校准的两种方式与操作细节电调校准是VTOL装机里最容易被忽视却最容易出事的环节。Ardupilot提供了两种方式方式一通过飞控做电调校准断开螺旋桨用USB连接飞控在MP的“初始设置→必要硬件→电调”里选择“PWM校准”或“油门校准”按照提示操作。飞控会依次给电调发出最大、最小油门信号电调会伴随提示音完成范围记录。这种方式适合所有电调都接在飞控PWM输出口的情况。要注意VTVOL的垂直电机电调和固定翼电调最好同时校准否则两者油门响应范围不一致起飞时某个电机先转、某个后转飞控会认为出力不平衡产生疯狂修正甚至翻机。方式二直接通过接收机油门通道校准把每个电调信号线单独接到接收机油门通道用遥控器油门最高、上电、听提示音再把油门最低、确认提示音完成单只电调的校准。这种方式适合混合布局中个别电调用了BEC且无法被飞控接管的情景效率低但可靠。我校准完后的检查习惯是第一次给垂直电机通电时手拿一根小木棍轻轻触碰电机座感受电机的启动时机和转速变化是否平滑。如果电机有抖动、异响、转速跳变八成是电调校准不正确或者电机三根线相序接错导致反向。电机反向时不需要换线在MP的参数列表里找到对应电机的“MOT_x_REVERSED”或“SERVOx_REVERSED”参数把值改为1即可。5.2 电机出力方向验证一次都不能省在装螺旋桨之前用MP的“电机测试”功能初始设置→必要硬件→电机测试每个通道逐一单独转动确认垂直电机的旋转方向与机架定义一致前右逆时针、前左顺时针等以X型定义为准。固定翼推进电机的方向是向后吹风从机尾看逆时针确保拉力向前。如有异常先检查电调接线和电机相序再查参数是否有反转设置。这里特别提醒全程装螺旋桨测试是非常危险的行为。我见过有人在桌子上一晚上测试电机不小心碰到油门把手螺旋桨直接切到手臂。所有电调校准和电机测试一定卸掉螺旋桨。装桨后的第一次通电测试要把机架用扎带固定在重物上或者用绳索绑在测试台架上人站在机头侧面做好心理准备随时断开电池。5.3 舵机行程量设置与方向检查VTOL固定翼的舵面控制从解锁的那一刻起就开始生效所以舵机方向和行程量必须在地面就完成验证。在MP的“初始设置→必要硬件→舵机测试”里可以手动拨动各通道观察舵面运动方向副翼拨动副翼摇杆向右右副翼应上翘、左副翼应下压让机翼向右滚转。升降舵拉杆往后拉摇杆升降舵应上翘机头向上。方向舵踩右舵摇杆右方向舵应向右偏转。如果方向反了在对应SERVOx_REVERSED参数里反转或者直接调换舵机信号线的正负极极性注意部分舵机不能通过反接改变方向需要改参数。检查完方向后设置舵机行程量SERVOx_MIN、SERVOx_TRIM、SERVOx_MAX。常规9g舵机行程约±60度实际舵面偏转按机型的舵面效率和稳定性需求调整一般副翼设定±20度、升降舵±15度、方向舵±20度。参考机型的设计手册或相似机型的参数不要盲目调最大容易造成舵面在大速度下阻滞失速。6. 完成首装后的自检流程与常见报错处理6.1 上位机解锁前的完整自检清单首装完成后不要急于解锁。我一般会做下面这个自检流程大约10分钟可以在很大概率上避免第一次通电时的各种意外电源检查电压在2S-6S范围内MP显示电压和实测电压误差在0.2V以内。GPS状况室外空旷处上电等待GPS定位MP显示卫星数量至少10颗以上水平定位精度HDOP小于1.0。罗盘检查旋转机架航向角变化平稳与机头实际指向一致罗盘干扰指数低于30。空速检查空速计读数在0附近允许±1m/s的小波动大于±3m/s说明管路漏气或传感器故障。遥控器全面测试把每个通道反复大幅度运动10次以上观察MP里的通道监视数据没有跳变、漂移和迟滞。特别注意油门通道在最低位时MP显示“油门微调已设置”。电机转向测试已卸桨用电机测试功能逐个转电机确认转向、有无异响。舵面运动在FBWA模式下拨动各个摇杆确认舵面方向、舵量正常。这个过程建议录屏或者拍照存档尤其是第一次调试镜头里的舵面方向和电机转向视频。后面调参时如果要回溯问题对比初始状态记录能省不少时间。6.2 常见的解锁报警与针对性排查我整理了调试过程中高频出现的预解锁报警都附了排查思路报警信息含义排查方向PreArm: RC not calibrated遥控器未校准重做遥控器校准确认油门在最低位PreArm: Compass not healthy罗盘异常检查GPS罗盘接线重新罗盘校准更换罗盘位置PreArm: GPS not healthyGPS无定位挪到室外重新搜星确认GPS类型和波特率正确PreArm: Airspeed not healthy空速计未就绪检查空速管连接重新执行空速零点校准PreArm: Check Board Voltage板载电压异常检查电源模块接线更换电源线PreArm: Motors not armed电机未解锁检查安全开关状态确认电调已上电检查PWM输出正常PreArm: INS not calibrated惯性传感器校准异常重做加速度计和水平仪校准PreArm: Need 3D FixGPS未3D定位等GPS解析到3D定位或更改GPS模式如果解锁时MP提示多条报警不要一条条硬解先通读所有报警信息往往它们指向同一个根源。比如GPS没定位和罗盘异常同时出现大概率是GPS/罗盘一体模块的接线问题而不是两个故障。6.3 装机调试中的物理安全注意事项VTOL机型的装机调试涉及8个动力输出通道整体功率输出远大于普通固定翼。我给自己定的几条安全规则调试现场必须有第二人在场特别是首次通电测试一个人操作、一个人在断电开关旁边待命。安装螺旋桨前后必须有明显的状态区分比如卸桨时在机头放一块红色抹布装桨后再收起。电机测试时人是站立姿态且位于机身侧面不能蹲在机头正前方。电池电压低于3.7V/片后立刻停止所有通电测试电池过放会坏。锂电池充电和存放用专业防爆袋远离易燃物。这些都是常规操作但在实际调试中人一忙就容易忽略。我吃过这方面的教训有一次测试垂直电机时忘了卸桨遥控器放在桌面误触油门瞬间整架机在桌面上跳起来切断了三根束线带还好人不在正面。后来我的调试场地划定了一个“动力区”只有装了桨、电池固定、遥控器握在手里时才允许在这个区域通电。7. 写在最后调参之前的准备这篇写完装机和基础校准的流程基本就全了。硬件装好、固件烧好、传感器校准完、电调电机正常、遥控器映射正确——到这里你的VTOL已经达到可以上电试车的状态了。下一篇我会重点讲QuadPlane的核心调试内容包括Q_ENABLE参数组、垂直悬停PID整定、过渡速度设置、姿态转换逻辑和自动航线的完整调参流程。这些参数调好了VTOL才能真正从“能解锁”变成“好飞”。最后再分享一个我个人的体会装机调试的阶段最容易让人着急总觉得多旋翼一晚上就装好了、VTOL怎么这么繁琐。但VTOL本来就是一个两套飞行系统叠加的复杂平台硬件和固件层面多花一个星期后面试飞和调参会省出一个月的返工。耐心做完每一步校准和检查尤其是传感器校准和电机方向确认再去碰参数首飞成功率会高很多。