Yaw movement not shown in GUI, doesnt fly

This forum is dedicated to all issues and questions related to your individual setups and configurations
Post Reply
Cereal_Killer
Posts: 221
Joined: Fri Mar 06, 2015 5:44 am

Yaw movement not shown in GUI, doesnt fly

Post by Cereal_Killer »

Edit 4/16: Ok guys I've got my Tricopter up in the air now and am doing some PID tuning, to remind everyone I'm new to this, tho I'm not new to PID control topology... I've worked with stepper motor controllers as well as heating element controllers. I've actually got it flying forwards / back /side-to-side very stable and I feel the PID's are all pretty good, it doesnt wobble and in angle mode I can completely let go AS LONG AS I DONT TRY TO YAW.
If I stop all horizonal movement I can slowly make a full yaw rotation but if I try to yaw in either direction as I'm moving at all it goes crazy and I have to set it down to not crash, it will try to resist my stick command so hard that it will actually yaw up to 90* backwards of what I want.

I believe my GYRO/ACC settings are somehow not in agreement, I had a real heck of a time getting the roll/pitch axis' setup correct. Could anyone help with this, it seems crazy and honestly I just dont understand what it's doing to better describe it.

sensor overrides:

Code: Select all

      /* enforce your individual sensor orientation - even overrides board specific defaults */
      //#define FORCE_ACC_ORIENTATION(X, Y, Z)  {imu.accADC[ROLL]  =  Y; imu.accADC[PITCH]  = -X; imu.accADC[YAW]  = Z;}
      #define FORCE_GYRO_ORIENTATION(X, Y, Z) {imu.gyroADC[ROLL] = Y; imu.gyroADC[PITCH] = -X; imu.gyroADC[YAW] = Z;}
      //#define FORCE_MAG_ORIENTATION(X, Y, Z)  {imu.magADC[ROLL]  =  X; imu.magADC[PITCH]  =  Y; imu.magADC[YAW]  = Z;}



Hey guys, I know vague thread titles are disliked here, sorry about that, I just didnt know how better to title this "issue"...

So I actually have two questions, the first is [hopefully] simple- Why in every single document I've ever seen about MW on a tricopter say that all motors go CCW yet in the GUI it shows the left front as being CW? I noticed this from the first time I was far enough along to connect the FC board to MWconfig but I decided, after tons of reading I would ignore it but I still cant help but wonder why?


The other thing is more of an issue [maybe]. I've just finished up my build and got the ECS's calibrated, I accidentally bought all CW props (why on earth motors are labeled "CW" and "CCW" but props are "forward" and "reverse" is beyond me!) but the whole time I was playing with it and getting stuff setup and getting accustom to it when I would rotate the frame / FC around in my hand, as if it were yawing around, the little tricopter icon on the screen would yaw around as well. It would always try to exactly mirror the position of the frame in my hands. Now tonight after I calibrated the ECS's (LITERALLY the only change I made was to activate that line, run it then go back and comment it back out) the icon is no longer showing yaw. The graph / plot of the other axes are all moving just the same, the FC is definitely sensing yaw movement (and trying to correct for it by tilting the tail) but the little icon just stays pointing perfectly straight.
If this wont effect flight it's a non-issue, but I wont know that will monday when my LHS is open and I can get the CCW props (aka "forward") so I'm asking here now, just in case it is a problem hopefully I can fix it by the time I'm ready to fly.
Last edited by Cereal_Killer on Fri Apr 17, 2015 1:17 am, edited 1 time in total.

User avatar
stronnag
Posts: 114
Joined: Thu Oct 24, 2013 9:32 pm
Location: New Forest, England
Contact:

Re: couple stranges things in the GUI...

Post by stronnag »

It really doesn't matter which props you have on a tri. On mine (2) I always have CW (P) and CCW (S) at the front and which ever of CW/CCW prop I haven't broken at the back. Changing the aft direction also requires changing the 'at rest' angle of rear motor for straight flight with centred yaw.

Arakon
Posts: 196
Joined: Thu Jul 17, 2014 2:22 pm

Re: couple stranges things in the GUI...

Post by Arakon »

Tricopter motor directions really don't matter, but having the front two go cw and ccw (or ccw and cw) will take out some of the rotational force because they cancel each other out, so the tail doesn't have to lean as far just to maintain a straight hover.

Cereal_Killer
Posts: 221
Joined: Fri Mar 06, 2015 5:44 am

Re: couple stranges things in the GUI...

Post by Cereal_Killer »

Thank's both of you for the clarification on that, makes total sense and I didnt think about that aspect.

I'm waiting on a new DSMX receiver before I can fly it so I've been thinking back to the second issue again. The icon still isnt showing yaw movement. Here's another thing, it takes 6-10 times for the GUI to be able to completely connect to it. The process goes like this:
Plug it in to com3
open GUI
press the COM3 button, it doesnt connect
press disconnect
press COM3 button, doesnt work
press disconnect
press the reconnect button this time, it half way works (it loads about half of the stuff, the RC data but not the GYRO data
press disconect
press connect, arduino locks up and OLED goes blank then restarts
once that happens it works the next time, every time. The next time after the OLED re-initalizes it can finally make the foll connection to the GUI.

Cereal_Killer
Posts: 221
Joined: Fri Mar 06, 2015 5:44 am

Re: Yaw movement not shown in GUI, doesnt fly

Post by Cereal_Killer »

Hey guy's, noticed I updated the thread title and OP. So to answer my own question NO THE MODEL WILL NOT FLY IF THE LITTLE ICON DOESNT SHOW YAW! Well it'll fly a little bit, but not correctly or controllable at all.

I was able to solve it tho and get it flying by changing forced sensor orientation. I finally found the default orientation so it was easier to figure out.

This is my new forced orientations

Code: Select all

      /* enforce your individual sensor orientation - even overrides board specific defaults */
      #define FORCE_ACC_ORIENTATION(X, Y, Z)  {imu.accADC[ROLL]  =  -X; imu.accADC[PITCH]  = Y; imu.accADC[YAW]  = Z;}
      #define FORCE_GYRO_ORIENTATION(X, Y, Z) {imu.gyroADC[ROLL] = Y; imu.gyroADC[PITCH] =  -X; imu.gyroADC[YAW] = -Z;}
      //#define FORCE_MAG_ORIENTATION(X, Y, Z)  {imu.magADC[ROLL]  =  X; imu.magADC[PITCH]  =  Y; imu.magADC[YAW]  = Z;}




And this is the default sensor orientation found on MW Wiki

Code: Select all

//default board orientation
#if !defined(ACC_ORIENTATION)
 #define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  = X; accADC[PITCH]  = Y; accADC[YAW]  = Z;}
#endif
#if !defined(GYRO_ORIENTATION)
 #define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = X; gyroADC[PITCH] = Y; gyroADC[YAW] = Z;}
#endif
#if !defined(MAG_ORIENTATION)
 #define MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  = X; magADC[PITCH]  = Y; magADC[YAW]  = Z;}
#endif



Only thing I wonder now is why the heck the X and Y axis' dont match in my MPU6050, is that always the case or is mine crazy?

Cereal_Killer
Posts: 221
Joined: Fri Mar 06, 2015 5:44 am

Re: Yaw movement not shown in GUI, doesnt fly

Post by Cereal_Killer »

Well still having problems, now when I take off it starts to spin and full opposite yaw doesn't even slow it down. I'm using two CW and one CCW prop (one each up front and another CW on the tail).

I'm thinking maybe my two Z axis' are still mismatched?

Cereal_Killer
Posts: 221
Joined: Fri Mar 06, 2015 5:44 am

Re: Yaw movement not shown in GUI, doesnt fly

Post by Cereal_Killer »

I finally got it all dialed in, dont understand why the axis' in the sensor dont match, is it like that on all MPU6050's or is my setup crazy?

Anyway here's the final sensor overrides. Again it is flying very well now.


Code: Select all

      /* enforce your individual sensor orientation - even overrides board specific defaults */
      #define FORCE_ACC_ORIENTATION(X, Y, Z)  {imu.accADC[ROLL]  =  -X; imu.accADC[PITCH]  = -Y; imu.accADC[YAW]  = Z;}
      #define FORCE_GYRO_ORIENTATION(X, Y, Z) {imu.gyroADC[ROLL] = Y; imu.gyroADC[PITCH] =  -X; imu.gyroADC[YAW] = -Z;}
      //#define FORCE_MAG_ORIENTATION(X, Y, Z)  {imu.magADC[ROLL]  =  X; imu.magADC[PITCH]  =  Y; imu.magADC[YAW]  = Z;}



One other thing I'm going to post here for other people is a page of the wiki I found very helpful in diagnosing what the sensors should be showing on the raw data display.

How should be the sensor axis directions

TILT the MULTI to the RIGHT (left side up):
MAG_ROLL, ACC_ROLL and GYRO_ROLL goes up
MAG_Z and ACC_Z goes down

TILT the MULTI forward (tail up):
MAG_PITCH, ACC_PITCH and GYRO_PITCH goes up
MAG_Z and ACC_Z goes down

Rotating the copter clockwise (YAW):
GYRO_YAW goes up


The copter stays level:
MAG_Z is positive ; ACC_Z is positive

Post Reply