Gravuria2.1-a

Posted by & filed under multiwii.

If you have a serial GPS and a MultiWii platform based on the Atmega328 it could be a little tricky to implement it. I’ve found an “add-on” for the MultiWii software, it’s called tiny-gps and you can find the original post here.

The idea is to have an additional IC, an Attiny 2313 or 4313 for reading GPS data (and other sensors too, like Sonar or Optic) and send back to the main MCU via i2c. So you are not connecting the gps-sonar-optic directly to the atmega board of your MultiWii copter but you are using an extra microcontroller to do this work.

The process is quite simple. Get an Attiny2313 and download the necessary firmware from the Wertarbyte repository on github: https://github.com/wertarbyte/tiny-gps

Use your ISP programmer to put the code on the 2313.

Quick linux howto: upload arduino isp on your arduino, connect pin like this: arduino 10-11-12-13 to (respectively) attiny 1-17-18-19. Connect attiny pin 10 to arduino gnd and attiny pin 20 to arduino +5v

Compile tiny-gps with “make” (first configure the config.h) and launch

avrdude -c avrisp -p t2313 -P /dev/ttyUSB0 -b 19200 -U flash:w:tiny-gps.hex -U lfuse:w:0xe4:m -U hfuse:w:0xdb:m

(change the dev port on your needs)

Download then his modified version of MultiWii and compile it on your copter uncommenting in config.h the line about tiny-gps and you are done! You should see gps data on your MultiWiiConf and you should be able to try the GPS possibilities.

 

Posted by & filed under multiwii.

MultiWii 2.0 has an interesting option. You can calibrate your copter while it’sflying and then set to neutral (0) the trims from your radio. First uncomment #define InflightAccCalibration to activate the option in config.h of MultiWii.

Method A: The Failsafe method (if you have an aux channel assigned to arm your copter).

 

  1.  With your copter on the ground and motors not armed do this stick Combo:
    throttle low + yaw left + pitch foward + roll right

    The copter beeps 2 times (or led flashes): Function activated (do it again to deactivate: copter beeps 3 times)
  2. Get airborne and level copter either by trimming TX in hover mode or level it in acro mode.
  3. When copter is leveled (no drift) switch off engines while airborne: copter beeps.
  4. Switch Engines back on and land: copter beeps long and new offsets are stored in EEProm
  5. Start again and notice the new new calibration (Important: If you trimmed in level mode: take back all trims on your TX or you will propably crash.

Method B: Using the passthrough function (assign passthrough to one of you aux channels)

 

  1. Get airborne and level copter either by trimming TX in hover mode or level it in acro mode.
  2. Activate switch “passthrough”
  3. Land and deactivate “passthrough”: copter beeps long and new offsets are stored in EEProm
  4. Start again and notice the new new calibration (Important: If you trimmed in level mode: take back all trims on your TX or you will propably crash)

This function overwrite the ACC/Trim multiwii is providing so when your new setup is done, feel free to optimize it by hand with the usual stick combo after auto trim (copter on groud, motors not armed, full throttle + pitch or roll as needed)

Original post from [Nils]

Posted by & filed under multiwii.

The IMU that I am using at the moment is the 9DOF from www.drotek.fr . It’s compact and it has onboard gyroscope, acceletometer and magnetometer. Unfortunatly there is not a native configuration for this board into the multiwii software, so here is the correct define:

#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = -X; accADC[PITCH] = -Y; accADC[YAW] = Z;} #define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = Y; gyroADC[PITCH] = -X; gyroADC[YAW] = -Z;} #define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = Y; magADC[PITCH] = -X; magADC[YAW] = -Z;}

Posted by & filed under General.

Some months ago I’ve started to build my first quadrocopter, named “Gravuria”.
It’s a multirotor based on the opensource MultiWii software and Arduino. Since now it’s powered by a 9DOF IMU by Drotek and level mode, headfree mode and bluetooth are working. The actual copter is the third revision but everything started with this:

First Revision

Gravuria 610

Have fun reading about my adventures!