本
MWC
飞行控制器只针对于克瑞斯出品的
PCB
有效,不保证对其他商家的产品有效,
此飞控板对遥控器的功½有一定要求,通道数不少于
5
个,
其中一个为两段式或者三段式开关通道,需要有通道中立点和行程调整功½。
从未½用过的
MWC,需按照以下步骤设½和安装½,才½开始飞行时的调试:
1.
烧写
Bootloader
到飞控上的单片机,让飞控可以自由导入程序;
2.
用
Arduino
编辑
MWC
程序,然后用
FTDI
工具把程序上传到飞控;
3.
安装到机架上,接½所有相关的连接线;
4.
飞行前用
MWC GUI
配½程序,对飞控进行基本设½;
5.
外场飞行时用电脑、蓝牙模块或者
LCD
模块来调整
PID
及其他参数。
接下来将按照以上步骤开始配½您的飞控。
1.
烧写
Bootloader,我们已经在测试时烧½飞控的 Bootloader,否则拿到手也启动不了,更
没办法刷程序,所以您不必再理会这个。如果您的
Bootloader
出现问题,导致无法启动
飞控,请与我们联系。
2.
请先准备½以下驱动和程序:
以下驱动和程序½可以用于苹果
MacOS、Linux
与
Windows
操½系统,我们以
Windows
7/32bit
为例进行说明。
FTDI
工具驱动,FTDI 是一种
USB
½
TTL
电平的信号½换工具,我们用它来上传需要的程
序到飞控,调试时也会用到。驱动下½½后需要手动安装,安装½以后,电脑会出现一个
COM
口:
例如本机上分配到的是
COM3,在不同电脑上分配到的端口可½会不一样,½不½响½
用。请务必完成此安装步骤,否则无法上传程序到飞控。
下½½地址:
http://www.ftdichip.com/Drivers/CDM/CDM20814_WHQL_Certified.zip
MWC
程序源代码。MWC 程序升级较为频繁,每次更新½会出现实用的新功½,或者某
方面性½得到提高,方便我们随时享用最½的效果。下½½过来的
MWC
程序包,包括源
代码和
GUI
配½程序两部分,请解压文件。
下½½地址:
http://code.google.com/p/multiwii/downloads/list
Arduino
集成开发环境。我们½用
Arduino
这个工具来编辑
MWC
源代码,进行简单配½
后,点击上传,程序就会通过
FTDI
传输到飞控中。如有需要调整程序的基础功½(例如
切换飞行模式),也将通过它来进行。下½½后请解压文件,程序无需安装。
下½½地址:
http://arduino.googlecode.com/files/arduino-0023.zip
JAVA
虚拟机。也许您的电脑已经安装过,不过为了更½地运行
Arduino
与
GUI
程序,请
升级到最新版。
下½½地址:
http://java.com/zh_CN/download/manual.jsp?locale=zh_CN
另外推荐收藏两个½址,分别是
MWC
官½与
RCGroups
论坛的
MWC
主帖,会有最新升
级信息以及玩家讨论。
http://www.multiwii.com/
http://www.rcgroups.com/forums/showthread.php?t=1340771
如果您购买飞控时已经指定½飞行模式,我们会对程序做½初步的修改,½量让您可以
直接½用,
飞行时调整参数即可
(除了
Y3)
如果发现工½不正常,
,
再来修改程序即可。
本文将以
4
½×模式为例,讲解如½配½飞控程序,其他模式于此相同,只有
Y3
需要
单独配½舵机。
准备½以上程序后,
我们先打开
MWC
源代码,
首先启动
Arduino
程序,
看到如下窗口:
点击菜单中的“File”-“Open”
选择½您准备½的
MWC
主程序工程文件:
这里
MWC
的程序版本为
1.9,请选择打开 MultiWii_1.0.pde
文件,打开后即可看到该工
程文件包含多个源代码文本,会在新窗口中显示,之前空½的窗口可以关闭。我们一般
只需修改
config.h
中的一些程序语句即可,请用鼠标切换至
config.h
标签,看起来如下
图所示。
修改程序语句的方法:
每行语句左边带有“/*”或者“//”的时候,显示为灰色,表示该句为注释,是无效的
程序语句。如果需要它生效,只需去掉“//”,它会以黑色显示出来,表示该语句有效。
首先要清楚飞行模式也是从程序中去指定,½考虑到
MWC
硬件环境以及电调搭配的不
同,有些其他关键语句是需要修改的,如果配½有误,会造成程序无法上传或者飞控工
½不正常。我们不会对所有语句进行说明,仅仅修改必要的部分。请注意,不要½易改
动太多没有把握的语句,否则可½会出现问题而找不出原因在哪里。
我们从上往下看,第一个关键的地方是电调的怠速设½:
/* Set the minimum throttle command sent to the ESC (Electronic Speed Controller)
This is the minimum value that allow motors to run at a idle speed */
//#define MINTHROTTLE 1300 // for Turnigy Plush ESCs 10A
//#define MINTHROTTLE 1120 // for Super Simple ESCs 10A
//#define MINTHROTTLE 1220
#define MINTHROTTLE 1100
标准电调通过
1000~2000us
范围内的信号进行控制,
如果您需要飞控解锁后电机就开始
慢速旋½,请设定一个合适的怠速信号值(默认是
1100,大多数电调会开始输出电流)
请注意此值不合适太小,否则会½响飞行器回中的效果,如果您喜欢解锁后电机停½,
请启用“MOTOR_STOP“代码(请参见下文)。上传程序后如果发现不符合需求,可以
再次修改后上传。
接下来是飞行模式的选择:
/* The type of multicopter */
//#define GIMBAL
//#define BI
//#define TRI
//#define QUADP
#define QUADX
//#define Y4
//#define Y6
//#define HEX6
//#define HEX6X
//#define OCTOX8
//#define OCTOFLATP
//#define OCTOFLATX
//#define FLYING_WING //experimental
这里默认就是
X
模式,您可以根据需要修改成其他模式,需要注意的是,SE 标准版和
Lite
½量版
MWC
并不支持
8
½的三个模式(OCTO),所以这三行无效。
关于
I2C
信号频率的选择:
//#define I2C_SPEED 100000L //100kHz normal mode, this value must be used for a genuine
WMP
#define I2C_SPEED 400000L
//400kHz fast mode, it works only with some WMP clones
克瑞斯
MWC
均良½支持
400Khz
高速模式,请启用
400000L
这一行,注释掉第一行。
启用三½加速度的
Z
½控制:
/* This option should be uncommented if ACC Z is accurate enough when motors are
running*/
//#define TRUSTED_ACCZ
开启此项有助于提高飞行器的高度稳定性,此项目请自行测试效果,目前不推荐打开。
启用
A0
与
A1
端口输出:
/* PIN A0 and A1 instead of PIN D5 & D6 for 6 motors config and promini config
This mod allow the use of a standard receiver on a pro mini
(no need to use a PPM sum receiver)
*/
#define A0_A1_PIN_HEX
这两个端口原本用于连接云台稳定用的舵机,如果您没有
PPM SUM
类型接收机又想让
SE
与
Lite
飞控支持
6
½,请启用它,这样会让云台增稳功½失效。另外一种情况是,
您想½用
6
½模式,同时又想启用云台增稳功½,那必须½用
PPM SUM
接收机/JR 卫
星/S.Bus.接收机,或者换用
PRO
版全功½飞控。
启用
D8
或者
D12
端口:
/* possibility to use PIN8 or PIN12 as the AUX2 RC input
it deactivates in this case the POWER PIN (pin 12) or the BUZZER PIN (pin 8)
*/
#define RCAUXPIN8
//#define RCAUXPIN12
SE
与
Lite
飞控带有
MODE(AUX1)端口,
通过三段开关的信号可以控制传感器状态的开和
关,如果您觉得还需要
AUX2
进行更详细的状态控制,包括云台增稳开关或者½为解锁
开关来用,可以启用
D8
或者
D12
½为
AUX2
的信号输入端口。请注意只½启用其中之
一。
信号死区½度:
/* introduce a deadband around the stick center
Must be greater than zero, comment if you dont want a deadband on roll, pitch and yaw */
#define DEADBAND 6
通常接收机出来的信号脉½会有
1~3us
的误差(这是我们用信号测试仪检测的结果),
设½一个合理的死区½度,
可以让飞控½略这种½微的误差,
避免误差的信号直接去控
制飞控动½。设½得过大的话,会让摇杆附近范围内的微小动½被飞控½略到,反而降
½飞控灵敏度,默认值为
6。
下面是非常关键的传感器类型选项:
/* if you use a specific sensor board:
please submit any correction to this list.
Note from Alex: I only own some boards
for other boards, I'm not sure, the info was gathered via rc forums, be cautious */
//#define FFIMUv1 // first 9DOF+baro board from Jussi, with HMC5843 <- confirmed by Alex
//#define FFIMUv2 // second version of 9DOF+baro board from Jussi, with HMC5883 <-
confirmed by Alex
//#define FREEIMUv1 // v0.1 & v0.2 & v0.3 version of 9DOF board from Fabio
//#define FREEIMUv03 // FreeIMU v0.3 and v0.3.1
//#define FREEIMUv035 // FreeIMU v0.3.5 no baro
评论