Extra features

From MultiWii
Jump to: navigation, search

Camera trigger output

a servo output can be dedicated to trigger a camera button. A servo travel pattern is defined in this case , see Config.h

Camera Stabilisation

ESCsCalibration

Introduction

If the ESCs of the copter need calibration, a special version of MultiWii? can be built, that does nothing but trying to calibrate all attached ESCs. This may come in handy when plugging/unplugging of the cables is undesirable or near impossible (soldered cables)

How To

* remove props or tie copter down.
* setup all options in config.h to whatever suits your copter
* activate the define ESC_CALIB_CANNOT_FLY, possibly set high and low values for ESC
  calibration, if you know what you are doing
* compile, upload, run --- cannot fly and will use Buzzer/LEDs to indicate finished 
  calibration (after approx 10 seconds)
* comment the define again, compile, upload
* test carefully with your ESCs calibrated, fly and have fun

Details

If neccessary, the low and high values for the ESCs can be tweaked by changing the values for the defines of ESC_CALIB_LOW and ESC_CALIB_HIGH 2000

Warning

Remove propellers or tie your copter down. Seriously. If for whatever reason this firmware would not make the ESCs enter calibration mode, it would nevertheless send 'full throttle' signals to the ESCs for some time. This is guaranteed to be dangerous.

Buzzer

Introduction

The buzzer is used to give the pilot some feedback of the functions and errors of the MultiWii system.

Table of contents

  1. Hardware setup
  2. Software setup
  3. How it works

Hardware

You need to connect a piezo buzzer or a pilotlamp to the dedicated buzzer port of you FC.

Software

In config.h you need to alter one of the following lines:

#define BUZZER

#define PILOTLAMP

to enable the buzzer.

How it works

There are several mandatory and optional beeping patterns to indicate the different states of the MultWii system. The patternn consist of 3 beeps followed by a pause. The length of the beeps and pauses are defined as follows:

  • N: None (0ms)
  • S: Short (50ms)
  • L: Long (200ms)
  • D: Double (2000ms)

The beeps are priority driven, the first entry has the highest priority:

  1. Failsafe find me signal: LNN,D (repeat)
  2. Failsafe landing active: SLL,S (repeat)
  3. GPS RTH/ PH activated without fix: SSN,S (repeat)
  4. Beeper: SSS,S (repeat)
  5. Runtime Warning: SSS,N (repeat) (#define ARMEDTIMEWARNING)
  6. Battery voltage warning level 3: SLL,D (repeat)
  7. Battery voltage warning level 2: SSL,D (repeat)
  8. Battery voltage warning level 1: SLN,D (repeat)
  9. RCoptions Toggle: S (#define RCOPTIONSBEEP)

Additional beeps

  • Inflight ACC calibration activated: SS (#define INFLIGHT_ACC_CALIBRATION)
  • Inflight ACC calibration deactivated: SSS
  • Gyro calibration done: SSS
  • ACC calibration done: L
  • LCD Configuration step: S


Pilot Lamp

Introduction

The PilotLampis used to give the pilot even more feedback of the functions and errors of the MultiWii system than the buzzer alone.

Table of contents

  1. Hardware setup
  2. Software setup
  3. How it works

Hardware

You need to connect the Pilotlamp to the dedicated buzzer port* of your FC and to 5V and ground.

  • Caution: There have been some reports of Pilotlamp being damaged when connected to the signal line. Ensure you #define PILOTLAMP before making any connections. Furthermore, you may wish to protect the signal line by adding a 1Kohm resistor in series before plugging into flight controller.

Software

In config.h you need to alter the following line:

#define PILOTLAMP

to enable the pilot lamp.

How it works

LEDs

There are three different colors on the pilot light:red, green and blue.

  • Red: error indicator
  • Green: Flight mode indicator
  • GPS function indicator

Green LED

  • Armed, acro mode: medium blinking
  • Armed, stable mode: slow blinking

Blue LED

  • GPS present: No GPS fix: fast blinking
  • GPS present: Valid Fix: slow short blinking
  • GPS present: RTH/PH active: slow long blinking

Red LED

  • Failsafe landing active: fast blinking
  • Failsafe find me: slow blinking

Beeper

  • LED Sequence RED->BLUE->GREEN (repeat)

I²C Error

  • I²C errorcounter >100: BLUE+RED+GREEN fast blinking (you have to disconnect and reconnect LIPO to reset the pattern)

Buzzer

See Buzzer

Failsafe

Introduction

The most important part of a RC flying object is the failsafe routine. Never, I repeat NEVER take off without a working failsafe routine. If you do not know how to setup the failsafe or what your copter does if it looses tx signal - DO NOT FLY. Nothing is more dangerous that an out of control multirotor. You have spinning blades that can hurt people.

The failsafe routine of multiwii determines what is happening if the connection between RX and TX is lost.

Beware: Some RX have a built in Failsafe routine, that prevent the FC to recognize a signal loss. Be sure to check the behaviour of you RX system BEFORE first take off.

Update: Versions beyond 2.1 have an improved failsafe implementation. The first 4 channels are being monitored for signal failures. As a side effect, it is mandatory to have proper endpoints in the TX not extending the limits 1000 and 2000 or else false failsafe triggering may occur.

Details

If a loss of TX Signal is detected the copter enters stable mode after a guard time if an ACC is present and applies a configured throttle for a given time before it shuts down the motors. Read the comments in config.h for Version specific details. The FAILSAFE_THROTTLE value,FS THR, can be set from the 'SETTINGS' tab of the multiwiiconf.exe GUI.

There are different options that control the behavior of the multirotor after loss of TX signal:

#define FAILSAFE Failsafe function activated if TX signal loss found.

#define FAILSAFE_PIN On which pin should the FC check for a signal loss (Note: Not used in V2.3)

#define FAILSAFE_DETECT_TRESHOLD The minimum value of the TX channels that activates Failsafe.

#define FAILSAFE_DELAY How long does the copter need to notice a loss of TX signal.

#define FAILSAFE_OFF_DELAY How long does the copter try to land before switching off the motors. If you set this value to 0 the copter will shut down immediately - sometimes the safest solution. Be aware, that the copter may drift and crash into anything while trying to land. The copter with be Disarmed at the expiration of this delay. If the TX signal is regained before this delay expires then FAILSAFE mode is exited and control is returned.

#define FAILSAFE_THROTTLE How much throttle is applied while trying to land. This value is dependent on the weight of your copter, the strength of your motors and on the size of your propellers. You need to test, which value is right to enter a descending movement. In many cases it is better to how the copter descend fast rather than have it drift with the wind.

Features to come

  • Failsafe position hold and land
  • Failsafe return home
  • Failsafe baro landing
  • Failsafe ultrasonic landing

First three features are in testing stage

Inflight ACC calibration

Introduction

You have to calibrate your ACC at least once after you cleared the eeprom. For a correct calibration you need to put the copter on a absolutely flat surface and start the calibration.

Sometimes there is no flat surface or the copter is not built exactly even or you have a flexible landing gear. in these cases a common calibration is not possible and the copter will start to drift. You have the possibility to trim the copter via stick combo by trial and error. The inflight acc calibration is a way to trim the copter to make it drift free in just a glimpse. Arm/disarm via Aux switch is mandatory to do this. You need a buzzer to ehar the beeping signals in the process.

Table of contents

  1. Software setup
  2. How it works

Software

In config.h you need to alter one of the following lines:

#define INFLIGHT_ACC_CALIBRATION

to enable the option.

How it works

Concept

  • fly
  • trim/get stable
  • save deviation
  • land
  • finished

One of the following procedures has to be followed to finish the calibration.

Activation with stick combo

Preparation: Plug the power and wait for the init to finish, the ACC has to be calibrated at least once since you cleared the eeporm.


1. do the following stick combination (throttle low)+(yaw left)+(pitch forward)+(roll right)

2. you will hear two beeps that indicate that the function is armed (to disarm it simply repeat the combo - you will hear three beeps)

3. start your copter and get airborne

4a) in acro mode: get your copter level and make sure it does not drift

4b) in level mode: get you copter level using the trims on your tx until it does not drift

5. now disarm the copter with the aux switch - you will hear a beep:the measurement is finished (don't worry, a failsafe feature prevents it from shutting down if throttle is above minthrottle)

6. you may rearm the copter now to prevent a crash while landing

7. Land the copter and disarm it, you will hear a long beep: The values have been stored in eeprom

8. if you have choosen 4 b): TAKE BACK ALL THE TRIMS BEFORE TAKEOFF

9. get airborne again - the copter should now be level without drift

10. repeat if neccesary



Activation with passthrough switch

Please note: starting with code revision 1275 the passthrough switch has been replaced with a separate Calib switch for this feature.

Preparation: Plug the power and wait for the init to finish, the ACC has to be calibrated at least once since you cleared the eeporm.


1. start your copter and get airborne

2a) in acro mode: get your copter level and make sure it does not drift

2b) in level mode: get you copter level using the trims on your tx until it does not drift

3. Activate "Passhtrough" via Aux switch


4. Land the copter and disarm it

5. deactivate "Passhtrough" - you will hear a long beep: The values have been stored in eeprom

6. if you have choosen 2 b): TAKE BACK ALL THE TRIMS BEFORE TAKEOFF

7. get airborne again - the copter should now be level without drift

8. repeat if neccesary

Powermeter

Powermeter - the powermeter

Variometer

Variometer - the variometer - [1]

LCD / OLED

MWii supports a wide range of displays (some with keys for navigation etc.). These can be connected either to the i2c bus or to a serial port. When the serial connection cable gets replaced with a wireless bridge such as bluetooth or xbee, usage becomes even more convenient.Displays serve two purposes in MultiWii:

  • online configuration via the Configuration Menu
  • display of various live data via the Telemetry feature.

Supported displays as of v2.2: Supported_Displays

LCD Configuration Menu

LCD_Configuration_Menu - uses attached display for tweaking PIDs and other parameters

LCD Telemetry

LCD_Telemetry - display of various live data on (wired or wireless) display