mwc飞控配置功能速查

0.说明

记录mwc飞控各个功能的配置使用情况.

所有代码基于mwc2.3

  • 飞行模式选择
 1     //#define GIMBAL  // 云台
 2     //#define BI      // 阿凡达模式
 3     //#define TRI     // 3轴模式
 4     //#define QUADP   // +四轴
 5     #define QUADX    // x四轴
 6     //#define Y4      // Y4轴模式
 7     //#define Y6      // Y6轴模式
 8     //#define HEX6    // 平面6轴+模式
 9     //#define HEX6X   // 平面6轴x模式
10     //#define HEX6H  // New Model
11     //#define OCTOX8
12     //#define OCTOFLATP
13     //#define OCTOFLATX
14     //#define FLYING_WING //飞翼
15     //#define VTAIL4
16     //#define AIRPLANE
17     //#define SINGLECOPTER
18     //#define DUALCOPTER
19     //#define HELI_120_CCPM
20     //#define HELI_90_DEG
  • 最小油门速度(怠速)
#define MINTHROTTLE 1150 // (*) (**)
  • 最大油门速度
#define MAXTHROTTLE 1850
  • 未解锁时油门速度
#define MINCOMMAND  1000
  • 高速I2C模式
#define I2C_SPEED 400000L   //400kHz fast mode, it works only with some WMP clones
  • 循环时间(飞控进行一次姿态检测,姿态解算,输出控制等等操作的时间)
#define LOOP_TIME 2800
  • 传感器板选择
 1 /***************************    Combined IMU Boards    ********************************/
 2       /* if you use a specific sensor board:
 3          please submit any correction to this list.
 4            Note from Alex: I only own some boards, for other boards, I'm not sure, the info was gathered via rc forums, be cautious */
 5       //#define FFIMUv1         // first 9DOF+baro board from Jussi, with HMC5843                   <- confirmed by Alex
 6       //#define FFIMUv2         // second version of 9DOF+baro board from Jussi, with HMC5883       <- confirmed by Alex
 7       //#define FREEIMUv1       // v0.1 & v0.2 & v0.3 version of 9DOF board from Fabio
 8       //#define FREEIMUv03      // FreeIMU v0.3 and v0.3.1
 9       //#define FREEIMUv035     // FreeIMU v0.3.5 no baro
10       //#define FREEIMUv035_MS  // FreeIMU v0.3.5_MS                                                <- confirmed by Alex
11       //#define FREEIMUv035_BMP // FreeIMU v0.3.5_BMP
12       //#define FREEIMUv04      // FreeIMU v0.4 with MPU6050, HMC5883L, MS561101BA                  <- confirmed by Alex
13       //#define FREEIMUv043     // same as FREEIMUv04 with final MPU6050 (with the right ACC scale)
14       //#define NANOWII         // the smallest multiwii FC based on MPU6050 + pro micro based proc <- confirmed by Alex
15       //#define PIPO            // 9DOF board from erazz
16       //#define QUADRINO        // full FC board 9DOF+baro board from witespy  with BMP085 baro     <- confirmed by Alex
17       //#define QUADRINO_ZOOM   // full FC board 9DOF+baro board from witespy  second edition
18       //#define QUADRINO_ZOOM_MS// full FC board 9DOF+baro board from witespy  second edition       <- confirmed by Alex
19       //#define ALLINONE        // full FC board or standalone 9DOF+baro board from CSG_EU
20       //#define AEROQUADSHIELDv2
21       //#define ATAVRSBIN1      // Atmel 9DOF (Contribution by EOSBandi). requires 3.3V power.
22       //#define SIRIUS          // Sirius Navigator IMU                                             <- confirmed by Alex
23       //#define SIRIUSGPS       // Sirius Navigator IMU  using external MAG on GPS board            <- confirmed by Alex
24       //#define SIRIUS600       // Sirius Navigator IMU  using the WMP for the gyro
25       //#define SIRIUS_AIR      // Sirius Navigator IMU 6050 32U4 from MultiWiiCopter.com           <- confirmed by Alex
26       //#define SIRIUS_AIR_GPS  // Sirius Navigator IMU 6050 32U4 from MultiWiiCopter.com with GPS/MAG remote located
27       //#define SIRIUS_MEGAv5_OSD //  Paris_Sirius鈩�ITG3050,BMA280,MS5611,HMC5883,uBlox  http://www.Multiwiicopter.com <- confirmed by Alex
28       //#define MINIWII         // Jussi's MiniWii Flight Controller                                <- confirmed by Alex
29       //#define MICROWII        // MicroWii 10DOF with ATmega32u4, MPU6050, HMC5883L, MS561101BA from http://flyduino.net/
30       //#define CITRUSv2_1      // CITRUS from qcrc.ca
31       //#define CHERRY6DOFv1_0
32       //#define DROTEK_10DOF    // Drotek 10DOF with ITG3200, BMA180, HMC5883, BMP085, w or w/o LLC
33       //#define DROTEK_10DOF_MS // Drotek 10DOF with ITG3200, BMA180, HMC5883, MS5611, LLC
34       //#define DROTEK_6DOFv2   // Drotek 6DOF v2
35       //#define DROTEK_6DOF_MPU // Drotek 6DOF with MPU6050
36       //#define DROTEK_10DOF_MPU//
37       //#define MONGOOSE1_0     // mongoose 1.0    http://store.ckdevices.com/
38       //#define CRIUS_LITE      // Crius MultiWii Lite
39       //#define CRIUS_SE        // Crius MultiWii SE
40       //#define CRIUS_SE_v2_0   // Crius MultiWii SE 2.0 with MPU6050, HMC5883 and BMP085
41       //#define OPENLRSv2MULTI  // OpenLRS v2 Multi Rc Receiver board including ITG3205 and ADXL345
42       //#define BOARD_PROTO_1   // with MPU6050 + HMC5883L + MS baro
43       //#define BOARD_PROTO_2   // with MPU6050 + slave  MAG3110 + MS baro
44       //#define GY_80           // Chinese 10 DOF with  L3G4200D ADXL345 HMC5883L BMP085, LLC
45       //#define GY_85           // Chinese 9 DOF with  ITG3205 ADXL345 HMC5883L LLC
46       #define GY_86           // Chinese 10 DOF with  MPU6050 HMC5883L MS5611, LLC
47     // uncomment at 2015-5-30 09:08:37
48       //#define GY_88 // Chinese 10 DOF with MPU6050 HMC5883L BMP085, LLC
49       //#define GY_521          // Chinese 6  DOF with  MPU6050, LLC
50       //#define INNOVWORKS_10DOF // with ITG3200, BMA180, HMC5883, BMP085 available here http://www.diymulticopter.com
51       //#define INNOVWORKS_6DOF // with ITG3200, BMA180 available here http://www.diymulticopter.com
52       //#define MultiWiiMega    // MEGA + MPU6050+HMC5883L+MS5611 available here http://www.diymulticopter.com
53       //#define PROTO_DIY       // 10DOF mega board
54       //#define IOI_MINI_MULTIWII// www.bambucopter.com
55       //#define Bobs_6DOF_V1     // BobsQuads 6DOF V1 with ITG3200 & BMA180
56       //#define Bobs_9DOF_V1     // BobsQuads 9DOF V1 with ITG3200, BMA180 & HMC5883L
57       //#define Bobs_10DOF_BMP_V1 // BobsQuads 10DOF V1 with ITG3200, BMA180, HMC5883L & BMP180 - BMP180 is software compatible with BMP085
58       //#define FLYDUINO_MPU       // MPU6050 Break Out onboard 3.3V reg
59       //#define CRIUS_AIO_PRO_V1
60       //#define DESQUARED6DOFV2GO  // DEsquared V2 with ITG3200 only
61       //#define DESQUARED6DOFV4    // DEsquared V4 with MPU6050
62       //#define LADYBIRD
63       //#define MEGAWAP_V2_STD     // available here: http://www.multircshop.com                    <- confirmed by Alex
64       //#define MEGAWAP_V2_ADV
65       //#define HK_MultiWii_SE_V2  // Hobbyking board with MPU6050 + HMC5883L + BMP085
66       //#define HK_MultiWii_328P   // Also labeled "Hobbybro" on the back.  ITG3205 + BMA180 + BMP085 + NMC5583L + DSM2 Connector (Spektrum Satellite)  
67       //#define RCNet_FC           // RCNet FC with MPU6050 and MS561101BA  http://www.rcnet.com
68       //#define RCNet_FC_GPS       // RCNet FC with MPU6050 + MS561101BA + HMC5883L + UBLOX GPS http://www.rcnet.com
69       //#define FLYDU_ULTRA        // MEGA+10DOF+MT3339 FC
70       //#define DIYFLYING_MAGE_V1  // diyflying 10DOF mega board with MPU6050 + HMC5883L + BMP085 http://www.indoor-flying.hk
71       //#define MultiWii_32U4_SE         // Hextronik MultiWii_32U4_SE
72       //#define MultiWii_32U4_SE_no_baro // Hextronik MultiWii_32U4_SE without the MS561101BA to free flash-memory for other functions
73       //#define Flyduino9DOF       // Flyduino 9DOF IMU MPU6050+HMC5883l
74       //#define Nano_Plane         // Multiwii Plane version with tail-front LSM330 sensor http://www.radiosait.ru/en/page_5324.html
  • 独立传感器选择
 1     /* leave it commented if you already checked a specific board above */
 2       /* I2C gyroscope */
 3       //#define WMP
 4       //#define ITG3050
 5       //#define ITG3200
 6       //#define MPU3050
 7       //#define L3G4200D
 8       //#define MPU6050       //combo + ACC
 9       //#define LSM330        //combo + ACC
10       
11       /* I2C accelerometer */
12       //#define MMA7455
13       //#define ADXL345
14       //#define BMA020
15       //#define BMA180
16       //#define BMA280
17       //#define LIS3LV02
18       //#define LSM303DLx_ACC
19       //#define MMA8451Q
20 
21       /* I2C barometer */
22       //#define BMP085
23       //#define MS561101BA
24 
25       /* I2C magnetometer */
26       //#define HMC5843
27       //#define HMC5883
28       //#define AK8975
29       //#define MAG3110
30 
31       /* Sonar */ // for visualization purpose currently - no control code behind
32       //#define SRF02 // use the Devantech SRF i2c sensors
33       //#define SRF08
34       //#define SRF10
35       //#define SRF23
36 
37       /* ADC accelerometer */ // for 5DOF from sparkfun, uses analog PIN A1/A2/A3
38       //#define ADCACC
39 
40       /* enforce your individual sensor orientation - even overrides board specific defaults */
41       //#define FORCE_ACC_ORIENTATION(X, Y, Z)  {imu.accADC[ROLL]  =  Y; imu.accADC[PITCH]  = -X; imu.accADC[YAW]  = Z;}
42       //#define FORCE_GYRO_ORIENTATION(X, Y, Z) {imu.gyroADC[ROLL] = -Y; imu.gyroADC[PITCH] =  X; imu.gyroADC[YAW] = Z;}
43       //#define FORCE_MAG_ORIENTATION(X, Y, Z)  {imu.magADC[ROLL]  =  X; imu.magADC[PITCH]  =  Y; imu.magADC[YAW]  = Z;}
44 
45       /* Board orientation shift */
46       /* If you have frame designed only for + mode and you cannot rotate FC phisycally for flying in X mode (or vice versa)
47        * you can use one of of this options for virtual sensors rotation by 45 deegres, then set type of multicopter according to flight mode.
48        * Check motors order and directions of motors rotation for matching with new front point!  Uncomment only one option! */
49       //#define SENSORS_TILT_45DEG_RIGHT        // rotate the FRONT 45 degres clockwise
50       //#define SENSORS_TILT_45DEG_LEFT         // rotate the FRONT 45 degres counterclockwise
  • PID控制器类型
1 /* choose one of the alternate PID control algorithms
2      * 1 = evolved oldschool algorithm (similar to v2.2)
3      * 2 = new experimental algorithm from Alex Khoroshko - unsupported - http://www.multiwii.com/forum/viewtopic.php?f=8&t=3671&start=10#p37387
4      * */
5     #define PID_CONTROLLER 1
  •  Arduino Pro Mini开启aux2
1       /* possibility to use PIN8 or PIN12 as the AUX2 RC input (only one, not both)
2          it deactivates in this case the POWER PIN (pin 12) or the BUZZER PIN (pin 8) */
3       #define RCAUXPIN8
4       //#define RCAUXPIN12
  • 低通滤波器频率设置
 1   /**************************************************************************************/
 2   /********                              Gyro filters                ********************/
 3   /**************************************************************************************/
 4 
 5     /*********************    Lowpass filter for some gyros    ****************************/
 6       /* ITG3200 & ITG3205 Low pass filter setting. In case you cannot eliminate all vibrations to the Gyro, you can try
 7          to decrease the LPF frequency, only one step per try. As soon as twitching gone, stick with that setting.
 8          It will not help on feedback wobbles, so change only when copter is randomly twiching and all dampening and
 9          balancing options ran out. Uncomment only one option!
10          IMPORTANT! Change low pass filter setting changes PID behaviour, so retune your PID's after changing LPF.
11          available for ITG3050, ITG3200, MPU3050, MPU6050*/
12       //#define GYRO_LPF_256HZ     // This is the default setting, no need to uncomment, just for reference
13       //#define GYRO_LPF_188HZ
14       //#define GYRO_LPF_98HZ
15       //#define GYRO_LPF_42HZ
16       #define GYRO_LPF_20HZ18       //#define GYRO_LPF_10HZ
19       //#define GYRO_LPF_5HZ       // Use this only in extreme cases, rather change motors and/or props -- setting not available on ITG3200
  • 无头模式
1 /*** HEADFREE : the copter can be controled by an absolute stick orientation, whatever the yaw orientation ***/
2   #define HEADFREE
  • 防炸鸡
 1 /********                          Failsafe settings                 ********************/
 2     /* Failsafe check pulses on four main control channels CH1-CH4. If the pulse is missing or bellow 985us (on any of these four channels) 
 3        the failsafe procedure is initiated. After FAILSAFE_DELAY time from failsafe detection, the level mode is on (if ACC is avaliable),
 4        PITCH, ROLL and YAW is centered and THROTTLE is set to FAILSAFE_THROTTLE value. You must set this value to descending about 1m/s or so
 5        for best results. This value is depended from your configuration, AUW and some other params.  Next, after FAILSAFE_OFF_DELAY the copter is disarmed, 
 6        and motors is stopped. If RC pulse coming back before reached FAILSAFE_OFF_DELAY time, after the small quard time the RC control is returned to normal. */
 7     //#define FAILSAFE                                // uncomment  to activate the failsafe function
 8     #define FAILSAFE_DELAY     10                     // Guard time for failsafe activation after signal lost. 1 step = 0.1sec - 1sec in example
 9     #define FAILSAFE_OFF_DELAY 200                    // Time for Landing before motors stop in 0.1sec. 1 step = 0.1sec - 20sec in example
10     #define FAILSAFE_THROTTLE  (MINTHROTTLE + 200)    // (*) Throttle level used for landing - may be relative to MINTHROTTLE - as in this case
11     
12     #define FAILSAFE_DETECT_TRESHOLD  985
  • LED灯
    /*****************                DFRobot LED RING    *********************************/
    /* I2C DFRobot LED RING communication */
    //#define LED_RING
  • LED闪烁方式
 1   /********************************    LED FLASHER    ***********************************/
 2     //#define LED_FLASHER
 3     //#define LED_FLASHER_DDR DDRB
 4     //#define LED_FLASHER_PORT PORTB
 5     //#define LED_FLASHER_BIT PORTB4
 6     //#define LED_FLASHER_INVERT
 7     //#define LED_FLASHER_SEQUENCE        0b00000000      // leds OFF
 8     //#define LED_FLASHER_SEQUENCE_ARMED  0b00000101      // create double flashes
 9     //#define LED_FLASHER_SEQUENCE_MAX    0b11111111      // full illumination
10     //#define LED_FLASHER_SEQUENCE_LOW    0b00000000      // no illumination
  • 着陆灯
 1   /*******************************    Landing lights    *********************************/
 2   /* Landing lights
 3      Use an output pin to control landing lights.
 4      They can be switched automatically when used in conjunction
 5      with altitude data from a sonar unit. */
 6     //#define LANDING_LIGHTS_DDR DDRC
 7     //#define LANDING_LIGHTS_PORT PORTC
 8     //#define LANDING_LIGHTS_BIT PORTC0
 9     //#define LANDING_LIGHTS_INVERT
10 
11     /* altitude above ground (in cm) as reported by sonar */
12     //#define LANDING_LIGHTS_AUTO_ALTITUDE 50
13 
14     /* adopt the flasher pattern for landing light LEDs */
15     //#define LANDING_LIGHTS_ADOPT_LED_FLASHER_PATTERN
  • GPS波特率
 #define GPS_BAUD     115200     // GPS_BAUD will override SERIALx_COM_SPEED for the selected port
  • 开启I2CGPS(用于双328p模式的导航板)
#define I2C_GPS
  • I2C GPS导航板上的声呐
#define I2C_GPS_SONAR
  • 磁偏角
#define MAG_DECLINATION 3.7f
  • GPS HOME最小速度
1 // minimum speed when approach waypoint
2 #define NAV_SPEED_MIN              100    // cm/sec //(**)
  • GPS HOME最大速度
// maximum speed to reach between waypoints
#define NAV_SPEED_MAX              400    // cm/sec //(**)
  • 着陆速度
//This governs the descent speed during landing. 100 is equals approc 50cm/sec
#define LAND_SPEED          40

 

posted on 2015-06-09 23:19  beenoisy  阅读(4350)  评论(0编辑  收藏  举报

导航