OctoX on MicroWii and/or FlyduinoMega with MultiWii 2.1

This forum is dedicated to software development related to MultiWii.
It is not the right place to submit a setup problem.

OctoX on MicroWii and/or FlyduinoMega with MultiWii 2.1

Postby aerodsnr » Sun Sep 16, 2012 4:21 pm

I have built an OctoX with and cannot get the lower motors (7,8,9,10 on the Mega) to initialize after power-up.

I have programmed the ESC's per the MultiWii "connecting the elements" description. I have connected the ESC's to the prescribed I/O on the flight controllers. I checked each ESC with a servo programmer to test the operation of ESC to motor, and all ESC's and motors operate the full RPM range. I have tried different variations of "MAXTHROTTLE" (1850 to 2000), "MINCOMMAND" (900 to 1300), "MOTOR_STOP", and the ESC calibration routine.

Config:
Motors: MT2814-710
ESC: Turnigy Plush 40A
Batt: 2x Turnigy 5000mAh 60-130C
FC: MicroWii (I also tried the Flyduino Mega)
Software: MultiWii 2.1

FYI:
I have successfully flown 6 other multicopter configurations (quad X, quad +, SingleCopter, Y-6, Flying Wing, Tri) over the last 1.5 years using the MultiWii software with great success. Thank you to the team!
aerodsnr
 
Posts: 2
Joined: Sun Sep 16, 2012 4:05 pm

Re: OctoX on MicroWii and/or FlyduinoMega with MultiWii 2.1

Postby aerodsnr » Mon Sep 17, 2012 5:35 am

Update. I have the motors working correctly now. The fix involved using the ESC calibration routine (propellers off) with the following settings for the MicroWii:

#define A32U4ALLPINS
#define HWPWM6
#define RCAUX2PIND17
#define MINTHROTTLE 1300
#define MAXTHROTTLE 2000
#define MINCOMMAND 1050
#define MOTOR_STOP
#define MIDRC 1500
#define ESC_CALIB_LOW 1050
#define ESC_CALIB_HIGH 2000
#define ESC_CALIB_CANNOT_FLY

Question now is why does the multcoper flip over as soon as I apply power. Dumb question I know. But here is the dilemma, it works on the Mega, and NOT on the MicroWii. From what I can see in the software (MultiWii v2.1):

In "config.h"
#define A32U4ALLPINS
#define HWPWM6
#define RCAUX2PIND17

Implies that the following is true in "def.h" and "Output.ino", and the motors are (t=top, b=bottom) for the MicroWii:

6(t)/A3(b) 10(t)/13(b)
\ \ //
\ \ FWD //
LEFT [[ ]] RIGHT
// AFT \ \
// \ \
5(t)/A2(b) 9(t)/11(b)

motor rotation for MicroWii & Mega:

CW(t)/CCW(b) CCW(t)/CW(b)
\ \ //
\ \ FWD //
LEFT [[ ]] RIGHT
// AFT \ \
// \ \
CCW(t)/CW(b) CW(t)/CCW(b)

and motor mix table is the following for MicroWii & Mega:
motor[0] = PIDMIX(-1,+1,-1); //REAR_R
motor[1] = PIDMIX(-1,-1,+1); //FRONT_R
motor[2] = PIDMIX(+1,+1,+1); //REAR_L
motor[3] = PIDMIX(+1,-1,-1); //FRONT_L
motor[4] = PIDMIX(-1,+1,+1); //UNDER_REAR_R
motor[5] = PIDMIX(-1,-1,-1); //UNDER_FRONT_R
motor[6] = PIDMIX(+1,+1,-1); //UNDER_REAR_L
motor[7] = PIDMIX(+1,-1,+1); //UNDER_FRONT_L

Am I missing something here?
aerodsnr
 
Posts: 2
Joined: Sun Sep 16, 2012 4:05 pm


Return to Software development

Who is online

Users browsing this forum: Exabot [Bot] and 3 guests