一、准备事项
1.1、安装辅助工具
电烙铁:建议使用60W以上并且可恒温调节的电烙铁(新手建议使用小刀头)。
锡丝:建议选用无铅的0.8~1mm厚和99%纯度以上的锡丝(有铅及含锡量越低越难焊接)。
镊子:用于挑线和焊接(无情刚手可不需要啊)。
助焊剂:用于把难焊的变成容易焊。
洗板水:用于清洗焊接完后的污迹。
螺丝刀:肯定是用来拧螺丝了。
*以上工具不知如何选择,建议在淘宝的“维修佬”或者“鹿仙子”处可统一购买。
UV胶水及紫外灯:用于固定螺母等地方(只推荐Ergo牌子)。
万用表:用于测量电池、检查短路和检查连接。
电脑或者手机:用于调试。
*以上工具有就最好,非必须要。
1.2、飞机最小能飞系统
飞控:飞机的飞行控制大脑(建议选用FY-FC-Pilot飞控适合新手,集成接收机和数传)。
电调:一个电调驱动一个电机转动。
机架:用于固定电机、电调和飞控等零部件。
电池:肯定是用来供电啦。
接收机:用于接收遥控指令。
桨叶:用于提供升力(就是用来飞的)。
遥控器:就是遥控啊(新手建议下载大疆APP进入到模拟试飞练习)。
*以上零部件是一架飞机能飞必须要有的东西。
GPS和磁罗盘:用于定位及及导航,同时飞机要在室外稳定悬停就是靠它。(GPS是普通精度定位,RTK是超高精度定位)
光流和tof:飞机在室内稳定悬停就靠它们,分别用来测位移和高度。不能用来导航和定位喔。
数传:用于飞控和地面站互传状态信息。就是不需要数据线将飞控和电脑互连就能看到飞机什么状态或者互传数据。
摄像头和图传:就是可以远距离看到飞机的第一视角画面。
机载计算机:用于融合各种除imu以外的传感器数据,并进行智能路径规划等操作。(区分开飞控是控制飞机姿态)
云台:就是在飞机不动情况下可以上下左右转动摄像头来看不同方向视角。
舵机:一个可以用来控制开合大小的转动开关。(投弹就是用这个)
相机:运动相机-能够更加清晰和无震动记录第一视角飞行画面。双目相机-用来图像定位导航。
激光雷达:就是360度无死角扫描周围环境,用来实时定位导航。
空速计:只在固定翼飞机上用。
*以上零部件用于辅助使用,建议有条件加上GPS、磁罗盘、图传和摄像头。
二、无人机安装
2.1、确保飞机架构里每个部件相互适配
飞机机架:一定要硬,不硬会炸机。同时保证有合适的螺丝孔位固定电机、电调和飞控和装完所有零部件后桨叶能够正常转动。
电调和电机和电池:一定要配合刚刚好,多少S电机就配多少S电池和多少S电调(即电压要一致,S指电池串数),不然要么烧电机要么电机转不起来。多大功率电机就配多大功率电调和多少C电池(即电流要一致,C指电池放电倍数),不然要么电机转得慢要么转得过快烧。
飞控:最起码要有IMU和气压计两个传感器,同时还可以输出电调支持的协议信号。飞控和电调一般有20.5x20.5、25.5x25.5和30.5x30.5三种孔间距,不同间距适配不同尺寸的机架。
桨叶和电机:一定要先评估飞机总重量有多少,看下电机配合桨叶的力效表满不满足。太重就飞不起来了。(主要3寸以下机架要考虑重量,大飞机随便搞)
2.2、装机要点
桨叶一定要最后才安装,桨叶一定要最后才安装,桨叶一定要最后才安装。(为自己的手着想啊!)
每个机架装机步骤都不相同,按照所购买的机架指示进行组装即可,最主要先捋顺所有线怎么走。
大电容能焊则焊,能够使飞机飞得稳且降低电调烧毁几率。大电容焊反会烧,所以要保证大电容的长引脚焊在正极,短引脚焊在负极。同时大电容的引脚焊接尽量短,过长则相当于没有电容一样。
飞控一定要固定牢紧,即使有减震柱情况下也要保证飞控无法移动一丝的距离。如果飞机飞行过程中会上下颠簸,可以去掉减震柱,直接锁死飞控。
有方向性的模块(如飞控、磁罗盘等)一定要按照给出的方向安装,否则会导致飞机方向控制错乱。
飞机整体重心要居中才能保持飞行姿态平稳,能保持飞控也居中则最好。
电机焊线全部按照顺序焊接即可,现在飞控和电调基本都支持上位机换向。
飞机上所有天线尽量都相互远离,且放在飞机最裸露的地方上,这样才能保持最佳的无线传输效果。
对于需要用魔术带固定的电池和运动相机等东西,建议都在其底部粘上防滑垫,能更加好固定住。
一定要检查好各个部件间的接线定义,保证不接错线。
三、系统调试(PX4)
以下操作都是基于FY-FC-Pilot飞控操作展示。不懂如何操作,问豆包或者直接到PX4官网https://docs.px4.io/main/zh/查看。
3.1、PX4烧录程序
所有飞控出厂都已烧录好固件,可以直接使用。除非你想要更换版本固件或者设计应用层程序,不然都不需要重新烧录。
所有相关的软件安装包和固件都可以通过百度网盘下载。
编译固件:
1、不懂操作(没有碰过linux系统和不能科学上网)的直接使用商家提供的固件即可,分别为bootloader文件:hkust_nxt-dual_bootloader_V1-16-1.bin和应用程序文件:hkust_nxt-dual_default_V1-16-1.px4。
2、若已经按照PX4官方要求配置好环境系统,则进入到工程目录下输入以下命令来编译,最后在Build文件夹下查看编译生成的文件(建议只编译稳定版本固件)。
make hkust_nxt-dual_bootloadermake hkust_nxt-dual_default- 使用STM32CubeProgrammer软件烧录bootloader文件(可以理解为电脑的bios)。
3、按住飞控的BOOT按键,然后通过Type-C线连接飞控到电脑进行上电通讯,上电后即可松开按键。
4、打开STM32CubeProgrammer软件按顺序操作即可:
点击软件右上角连接方式选择USB。
点击刷新符号,然后刷新显示出来USB1。若刷新没有变化,断电然后重新按住BOOT键来上电。
点击“openfile”来打开bootloader文件。
最后点击“Download”等待烧录完成即可。
弹窗显示“File download complete”代表烧录成功(重新上电后飞控的指示灯闪烁绿色同样代表烧录成功)。
5、烧录完bootloader文件后断电飞控,打开QGroundControl软件来按顺序操作即可:
点击QGroundControl软件最左上角的图标,然后选择“Vehicle Configuration”进入到配置菜单。

点击“Firmware”按钮,然后通过Type-C连接飞控和电脑来上电(不能按着BOOT键来上电,否则不能烧录应用层文件)。电脑识别到飞控后会自动弹窗提示下载(若没有弹窗,检查bootloader文件是否烧录成功)。
点击“Advanced settings”按钮,然后选择“Custom firmware file...”,最后点击"OK"按钮,选择应用层文件(.PX4格式),软件会自动烧录。

3.2、PX4系统调试
装完机后才进行传感器校准,否则飞机过于零散,在校准完传感器后也会出现传感器不准的情况。以下所有步骤都是基于装完整机后的调试,按照顺序配置即可。
打开QGroundControl软件,进入”Vehicle Configuration“进行飞机配置。
3.2.1、"Summary"界面:
显示飞机当前通用状态,只有当所有配置都是绿色或者没有红色(红色表示没有配置或者配置错误),飞机才能解锁起飞。 
3.2.2、"Airframe"界面:
选择飞机的机型(一定要按照实际机型选择并且不能不选)。 
3.2.3、"Sensors"界面:
用于校准传感器以及确定飞机的前进方向。只要校准"Compass"、“Gyroscope”和"Acclerometer"三个传感器即可,当没有外接磁罗盘时,"Compass"传感器可不需要校准。
- 首先将传感器方向和飞机前进方向关联起来,不然遥控飞机时会方向错乱,同时设置好后校准无需重复选择方向设置。飞控和磁罗盘的方向由厂家提供,以FY-FC-Pilot飞控和FY-FC-M10磁罗盘为例:"Autopilot Orientation"选择“No rotation”(飞机前进方向和IMU的方向配合),"Mag 0 Orientation"选择“Roll 180°,Yaw 90°”(飞机前进方向和磁罗盘的方向配合)。当熟悉操作后可以根据飞控和磁罗盘的实际安装情况来调节方向选择。当进行传感器校准时,注意检查飞机的各个指示方向是否与QGroundControl软件指示的方向一致,不一致时需要退出校准并且重新设置正确的方向。

- "Compass"磁罗盘传感器校准:选择飞机的前进方向,按照操作进行6个面旋转校准(一定要固定好飞控和磁罗盘,需要同时旋转才算校准成功,不同时旋转即使校准通过,表现还是会有很大偏差)。待6个面的框都变绿色,代表校准成功。

“Gyroscope”陀螺仪传感器校准:一定要将飞机水平放置,并且飞机朝上。
"Acclerometer"加速度计传感器校准:与"Compass"磁罗盘传感器校准区别在于不用旋转即可校准。
"Power"界面:用于设置电池电压和电流参数(按照实际填写参数),电压一般由飞控测量,电流一般由电调测量。

"Number of Cells(in Series)"电池串数:就是多少S电池。
“Empty Voltage(per cell)”每节电池的空电电压:就是单节电池没电时候的电压(别问为什么没电时候不是0V,要问就问一下豆包),需要按照电池标出的参数来设置。
“Full Voltage(per cell)”每节电池的满电电压:就是单节电池满电时候的电压,需要按照电池标出的参数来设置。
“Voltage divider”电池的电压比:**一定要准,用于实时计算电池的电压值。**该值可以直接用厂家提供或者通过测量来计算出来。FY-FC-Pilot飞控的比例为11。有万用表的情况下,可以通过测量电池的实际电压值,然后通过自动计算得出比例。点击“Voltage divider”右边的”Calculate“按钮,然后输入测量的电压值,最后再点击”Calculate“按钮自动生成比例值。

“Amps per volt”电池的电流比:可以不用设置,影响不大。但是对于需要知道电池功率大小的就要设置。
"Actuators"界面:用于设置电机相关参数(一定要把桨叶卸载进行该配置)。
- 设置电机的位置坐标和正反转:电机的位置坐标根据机架而定,该参数尽量要精准,会影响到飞机的稳定性(单位是米)。"Direction CCW"一列用于设置电机正反转,勾选代表电机反转。

- 设置电机的控制协议和映射关系:建议使用Dshot300的电机控制协议,能最优满足绝大部分的电调。然后根据飞控的控制脚来映射电机的控制。

- 电机调试:手动逐个启动电机(测试时油门建议给小小一点即可),然后调试电机的转向与图示要求一致,不一致会导致飞不起来或者一飞就炸机。

3.2.4、"Safety"界面:
用于设置各种意外触发条件来进行紧急避险操作(需要飞机装配GPS和磁罗盘模块,保证能够正常进行避险操作)
- "Low Battery Failsafe Trigger"低电量故障触发:用于设置电池电量低于多少时进行”警报“、”降落“或者”自动返航“操作。建议设置以下模式:
选择“Return at critical level, land at emergency level”模式:在临界电压返航,紧急电压降落。
"Battery Warn Level"电池警报电压设置成25,电池电量低于25%时QGC会自动警报。
"Battery Failsafe Level"电池临界电压设置成20,电池电量低于20%时飞机自动返航。
"Battery Emergency Level"电池紧急电压设置成50,电池电量低于5%时飞机自动降落。
"Obeject Detection"障碍物检测:用于带tof等传感器使用,建议默认"Disable"即可。
"RC Loss Failsafe Trigger"遥控信号丢失触发:将"Failsafe Action"设置成“Return mode”返航模式,将“RC Loss Timeout”遥控信号丢失超时设置成1s。
"Data Link Loss Failsafe Trigger"数传信号丢失触发:将"Failsafe Action"设置成“Return mode”返航模式,将“Data Link Loss Timeout”遥控信号丢失超时设置成10s。
"Geofence Failsafe Trigger"地理围栏触发:用于设置飞机的飞行范围,不勾选代表没有范围限制。将"Action on breach"设置成“Return mode”返航模式,"Max Radius"最大半径设置成2000,"Max Altitude"最大高度设置成150。
"Return To Launch Settings"返航设置:将“Climb to altitude of”爬升高度设置成30,选择“Land immediately”立即降落。
"Land Mode Settings"降落模式设置:将“Landing Descent Rate”降落速度设置成1,不勾选“Disarm After”降落之后自动解锁。
“Vehicle Telemetry Logging”日志记录:选择"Enable"(需要插上TF卡才会记录保存日志)。

3.2.5、“Parameters"界面:
用于配置飞控外设和内部相关参数,就是飞机的所有配置都可直接通过参数化来操作。该界面主要有“搜索“栏、”模块“栏、”参数名称“栏、”参数“栏和”参数介绍“栏组成。通过“模块”或者”搜索“来查找相关参数。
可以通过“Parameters"界面的右上角"Tools"工具进行相关操作。需要更改接口(例如将GPS的串口改为数传的串口功能),都需要先改接口残数然后重启飞控才能进行下一步配置。
FY-FC-Pilot飞控的所有串口与PX4映射关系如下(不懂串口是什么就问下豆包):
| PX4 | |
|---|---|
| UART1 | GPS1 |
| UART2 | TELEM1(已用作遥控器接收机) |
| UART3 | GPS2 |
| UART4 | TELEM2(已用作数传) |
| UART5 | Radio controller(只支持SBUS) |
| UART6 | 调试接口,终端通讯 |
| UART7 | TELEM3 |
| UART8 | TELEM4 |
一、速度设置:
"MPC_XY_VEL_MAX":水平方向的最大速度设置。
"MPC_Z_VEL_MAX_UP":垂直方向的最大上升速度设置。
"MPC_Z_VEL_MAX_DN":垂直方向的最大下降速度设置。
"MPC_ACC_HOR_MAX":水平方向的最大加速度设置。
"MPC_JERK_MAX":在顶点模式下垂直和水平水平的最大加加速度设置(加加速度越小,飞机越平稳加速)。
"MPC_VEL_MANUAL":在定点模式下水平方向的最大速度设置。
"MPC_TILTMAX_AIR":空中飞机最大飞行倾斜角度(角度越大,飞行速度才能越快)。
"MPC_TILTMAX_LND":降落时飞机最大飞行倾斜角度(角度越小,降落才越平稳)。
二、遥控设置:
"RC_PORT_CONFIG":设置遥控接收机对应的串口。使用FY-FC-Pilot飞控板载的ELRS接收机就选择"TELEM1",使用外部的SBUS接收机就选择"Radio controller"(SBUS接收机只能接带有SBUS功能的接口),只能选择其中一个作为遥控接收机。
重启飞控(通过”Tools“工具中的”Reboot Vehicle“功能即可不用断电重启)。
设置串口的波特率:使用FY-FC-Pilot飞控板载的ELRS,就将"SER_TEL1_BAUD"参数手动输入”420000“。使用外部的SBUS接收机,无需更改。
”RC_INPUT_PROTO“:设置接收的通讯协议。使用FY-FC-Pilot飞控板载的ELRS,就选择"CRSF"。使用外部的SBUS接收机,就选择"SBUS"。
三、数传设置(使用MAVLlink协议):
"MAV_0_CONFIG":设置MAVLink0数传对应的串口。使用FY-FC-Pilot飞控板载的数传就选择”TELEM2“。由于数传发送接收的是MAVLink0接口数据,因此可以同时最多设置3个串口来通讯数据,另外配置"MAV_1_CONFIG"和"MAV_2_CONFIG"接口即可,但是只有MAVLink0接口可以配置其它相关参数。
重启飞控(通过”Tools“工具中的”Reboot Vehicle“功能即可不用断电重启)。
设置串口的波特率:使用FY-FC-Pilot飞控板载的数传,就将"SER_TEL2_BAUD"参数选择”57600 8N1“。
"MAV_0_MODE":设置MAVLink0接口数据传输的模式。选择”Normal“模式(所有数据都能互传),也可以根据实际选择其它模式。
"MAV_0_FORWARD":用于MAVLink0接口的数据是否转发到MAVLink1和MAVLink2接口。当只用到一个接口时候,选择”Disable“。当外接如机载计算机等外设时选择”Enable“。
"MAV_0_RATE":设置MAVLink0接口数据传输的最大数率。速率越大,越容易数据丢包和通讯不上,但是响应速度越快。因此建议设置范围为600~1200B/S即可。
四、GPS设置:
普通精度的只建议选用UBLOX品牌的产品(PX4高度兼容UBLOX的产品),高精度的RTK随便品牌都可以。
"GPS_1_CONFIG"**:**设置GPS1(主GPS接口)对应的串口,选择”GPS1“。
"GPS_1_GNSS"**:**选择支持的定位系统,根据GPS模块来选择(可以直接全选)。
"GPS_1_PROTOCOL"**:**设置GPS1的通讯协议。选用UBLOX品牌的产品就选择“u-blox”,其它的根据GPS模块来选择。
"SER_GPS1_BAUD":设置GPS1接口的波特率。选择"Auto"即可。
五、磁罗盘设置:
只能选用QMC5883/IST8310/RM3100等PX4支持的磁罗盘,否则接其它磁罗盘会没有任何反应。
“SYS_HAS_MAG”**:**设置磁罗盘的数量,有多少个磁罗盘就填多少(通常没有任何干扰只要一个即可)。
“EKF2_MAG_TYPE”**:**磁罗盘融合模式选择,选择“Automatic”即可(开启更精准)。
六、气压计设置:
“SENS_EN_SPA06”**:**开启FY-FC-Pilot飞控板载的SPA06气压计,选择"Enable"。
“EKF2_BARO_CTRL”**:**气压计融合选择,选择"Enable"。
“EKF2_HGT_REF”**:**高度参考融合选择,可根据选择"GPS"或者“Barometric pressure”。
“Radio"界面:当配置完遥控设置后,将遥控器和接收机对频连上,然后进行遥控器校准。(当拨动遥感时,QGC对应的信道有变化即说明遥控器能够控制飞机),然后跟着遥控指示操作进行拨杆来校准。

3.2.6、“Flight Modes"界面:
在校准完遥控器后,根据遥控器的挡位和拨杆来进行飞行模式设置(以FY-FC-Pilot飞控板载的ELRS接收机和RadioMaster遥控器为参考)。当选择完通道后,可以通过按键开关来切换模式,当模式字体变成黄色时,说明在当前的按键开关挡位下模式生效。
根据“Channel Monitor”通道监视器来确定遥控器上所有按键开关和拨杆对应的通道是哪个(一定要能对应上,否则会导致控制异常)。每次逐一按键或者拨杆,哪个数字上的点有变动就是对应哪个通道。
“Mode Channel”:用于选择通道来切换飞行模式(一般选择3档的拨码开关)。
“Flight Mode”:用于指定飞行模式,一般选用“Stabilizeb”自稳姿态飞行模式(完全手动控制)、“Altitude”高度飞行模式(飞行高度不变,水平控制)和“Position”定点飞行模式(在有GPS情况下飞行位置完全不变)。
其它功能选择通道用于一键实现某个功能。
“Arm switch channel”:报警切换通道。用于解锁飞机,电机这时会转动起来,加大油门即可起飞。
“Emergency Kill switch channel”:紧急闭锁切换通道。用于立马停止电机转动,无论飞机在哪里或者怎样飞行中(非紧急情况,千万不要随意触发该功能,否则会造成严重后果)。
“Offboard switch channel”:离线切换通道。在接有机载计算机情况下,飞控不再控制飞行,改为由机载计算机控制。
“Landing gear switch channel”:降落架切换通道。用于固定翼强制收起或者下放降落架。
“Loiter switch channel”:定点悬停切换通道。让飞机立马切换到定点悬停飞行(要有GPS)。
“Return switch channel”:返航切换通道。让飞机立马开始返航(要有GPS)。
3.3 、飞机状态查看(一定要插TF卡)
- 飞控有多种方式可以连接电脑与QGC软件进行通讯来查看飞机状态以及系统调试。通过点击左上角QGC图标进入“Application Settings”,选择"Comm Links"来进行添加连接方式。

通过USB直接连接飞控和电脑(默认使用的方法,无需额外模块无需配置)。
通过数传无线连接电脑和飞控(最方便最远距离,需要有一对数传)。选择“Serial”串口类型,“Serial Port”串口接口选择电脑识别到的数传端口号,“Baud Rate”串口波特率根据数传的规格来选择。
通过以太网连接电脑和飞控(最常用与机载计算机搭配,需要飞控支持以太网)。飞控和电脑要处于同一段网络下才能连通。
通过蓝牙无线连接电脑和飞控(最方便短距离,需要飞控和电脑都支持蓝牙)。选择“Bluetooth”蓝牙类型,点击“Scan”扫描蓝牙,连接对频后连接上即可。

- 通过QGC软件的初始菜单,能够看到飞机的基本状态信息。当飞机开始连接QGC软件时,会有一个进度条显示飞控传输给QGC软件参数信息进度,只有当进度条消失后才能进行调试配置和起飞。
飞机的姿态(IMU)和方向(磁罗盘)。
飞机的速度,距离,高度和连通QGC的时长。
飞行模式、GPS信号和电池状态(飞行模式显示绿色代表飞机可以解锁起飞,显示黄色或者红色代表飞控还没配置完成或者不满足该飞行模式,此时需要检查飞控报错原因)。
还一键起飞和一键返航操作。

- 通过参数化实时看飞机的状态。通过点击左上角QGC图标进入“Analyze Tools”,选择"MAVLink Inspector"来进行查看飞机所有状态的参数值是多少。或者通过点击左上角QGC图标进入“Vehicle Configuration”,选择"PID Tuning"来进行查看飞机各个传感器的实时图表状态。

3.4、日志查看
PX4可以通过日志查看来完全了解飞机飞行过程的所有状态,比用QGC查看更加直观和全面(但是无法实时,只能用于事后分析)。因此都需要从TF卡里面把飞行日志下载下来。
通过点击左上角QGC图标进入“Analyze Tools”,选择"Log Download"来进行下载飞行日志到电脑本地(无需读卡器,只要飞控和电脑连通即可)。或者直接通过读卡器,把飞行日志复制到电脑本地。
通过Flight Review网站https://logs.px4.io/(需要科学上网),上传日志后就会自动生成飞行轨迹、各个传感器参数和飞行状态等各种参数图表(看不懂可以问下豆包)。

- 其它工具如PlotJugler、pyulog、FlightPlot、PX4Tools、MAVGCL和Data Comets均支持在本地部署查看日志,按照自身使用习惯即可(均可在GitHub上下载安装包)。