Setting up a new Vectoring Quadplane

Hi Greg,

I’ve not quite arrived at the log posting phase yet. I am waiting on a new landing gear to have another go.

I carried out the process up to step 11 of the section ‘First Flight’ on this page:

https://ardupilot.org/plane/docs/quadplane-vtol-tuning-process.html

Having set the parameters as shown in the link, I proceeded to first test flight. On lift off, the aircraft had a clear coupled roll and pitch divergent oscillation that appears to precess clockwise around the motors.

I landed the aircraft safely on the first hop, and after thinking that there was a problem with the calculated low value of ( Q_A_RAT_YAW_P : 0.5 x Q_A_ACCEL_Y_MAX / 4500). I calculated it to be 0.18, so I checked I wasn’t somehow out by a factor of 10, considering the range of the value is 0 to 2, to see what difference it made. This was probably the wrong parameter to alter, but seemed like the most likely thing to have been wrong. The parameters that are graphed were extracted by drawing the axis intersections for 22in props (so, about halfway between 20 and 25in prop lines).

Second flight was with the Q_A_RAT_YAW_P change as described above. It showed the same divergent roll/pitch oscillation. This time the aircraft landed on a single landing gear arm and snapped it so fun is over for the next few days.

Inspection of the log shows that the recorded pitch and roll values have a high frequency and divergent oscillation about the desired lines. I’ve added a screenshot of the second hop below (starting at about 990):

This stopped me moving in to halving the RAT PIDs as suggested in section ‘Initial aircraft tune’.

No autotunes carried out! Flights are in QSTAB or QHOV, and just interested in basic hovering rotations and translations right now.

I have an additional issue whereby everytime I disarm the throttle through the controller after a successful flight, and then a throttle re-arm, the aircraft motors don’t respond as expected - the right rear motor does not activate, and the other 3 motors spool up under command.

The attached screenshot shows the throttle input in purple, and the 4 motor outputs in Red, Blue, Green and Yellow

There are 4 periods of the odd motor behaviour before I removed the direct battery power to the Cube Black and rebooted it. Then the final hop that broke the undercarriage leg, starting at about 995.

Any help with this is appreciated.

Behavior while on the ground is not representative of what will happen in flight. Looks like it goes up to Q_MOT_SPIN_ARM, if your motor is not spinning it is either because the ESC is not calibrated correctly or Q_MOT_SPIN_ARM is not set high enough.

I would recommend turning on all the good stuff in the logs, most importantly PIDs and post up some logs if your having trouble. If the battery will last through it there is no reason why Qautuotune won’t work you just need to thoroughly test the starting tune with manual stick inputs as outlined in the wiki.

HI Pete,

Thanks for the comments.

For info, my power system is 4x T-Motor 60A Alpha LV, 4x MN605S 320kv and 4x 22in Folding hybrid props. with the out-of-the-box settings the aircraft will hover at 46% power.

I have tried to carry out the all-in-one ESC calibration (doesn’t seem to work as suggested), the semi-auto ESC calibration (doesn’t seem to work as suggested) and the manual 1-by-1 ESC calibration through the receiver, which doesn’t give the expected beeps but the ESC does at least recognise the stick high throttle setting with a constant tone and arms when drops to stick low throttle setting. I do have direct motor control to test the throttle range.

I get the impression that the T-Motor Alpha ESCs can’t be calibrated for PWM range, and my google searching seems to back that up.

It is suggested in a couple of places that the PWM range for Alpha ESCs is 1100 to 1900, and the refresh rate is 500Hz. I’ve entered these values in MOT_PWM_MIN, MOT_PWM_MAX and RC_SPEED respectively (although I think RC_SPEED is capped at 490?).

I ended up changing the MOT_PWM_MIN from 1000 in my initial config to 1100, now I have spinning motors with a Q_MOT_SPIN_ARM of 0.05.

However, One of my motors is still spinning significantly slower than the others whilst sitting on the ground at Q_MOT_SPIN_ARM, in fact it slows down and stops, whilst the others are spinning at Q_MOT_SPIN_ARM.

I checked my servo PWMs for all 4 motors and they are all set the same, and are set the same as MOT_PWM_MIN, MOT_PWM_MAX respectively.

I activated as much logging as possible, so, if my ground testing created a log I’ll post it up later on.

That sounds right, T-Motor are very bad at documenting which of there ESC’s have a fixed range and what it should be.

Its probably worth seeing if the same thing happens with a motor test, using motor test you will get the same PWM on all outputs, you could set a longish time to see if they change (props off!!). It could just be a matter of increasing PWM_MIN by 5 because one has a slightly higher endpoint. Or it could be something else, swapping the motors or escs and seeing if the problem stays with the motor or esc is a useful debugging step.

Agreed. I’m connected to one of their salespeople on Linkedin so I’ll see if I can get an answer on these things.

Good point, will do this tomorrow.

Thanks.

I have had confirmation from T-Motor that the PWM range for the 60A Alpha LV is 1100-1900. The contact I have did not really acknowledge the PWM calibration part of my question, so I guess the language barrier failed me there a bit. But I think the confirmation of the PWM range removes the need for calibration.

On to the motor testing…

I have spent some time running motor tests, and I’ve found that there is an intermittent issue where the motor in question spins very poorly, potentially as if one phase is not connecting, other times it spins perfectly.

I’ll go back through the wiring and connections to see if I can find an issue, as that seems most likely.

Yup, looks like a faulty ESC from my testing today.

Have done lots of motor testing today. Sometimes the motor runs appropriately and sometimes it runs rough, slowly, backwards, and comes to a stop. The ESC in question warms up under 10% throttle and 30 second duration.

  • I have simplified my cable run and checked my connections - all good.
  • I have tried the same motor on another of the ESCs and that runs the same tests repeatedly without issue.
  • The motor turns freely / no grinding noises / no smell / not hot.
  • The ESC has run this motor under power on previous occasions, so I don’t think its the power connections (since they’re on a Y connection I would expect the other motor on the same side to show problems if it was a power wiring issue).

EDIT (28/07/20):

I found the issue. Somehow I had managed to completely miss the fact that Alpha ESCs are flashed with firmware for specific motors. I bought 4 ESCs originally, 3 of them were coded for the MN605 320kV motors I have (code = 605320) and 1 was coded for a different motor type (8II190 I think). Obviously the one giving trouble was the odd one out.

My supplier, 3DXR, offered to re-flash it for me (and they’ve been very helpful in the past - shop there! :slight_smile: ), however I messed around for a bit and decided the best thing to do was get the T-Motor datalink so I was enabled for future use. I can also log data in flight that isn’t immediately available to ardupilot from the ESCs. The datalink allows the ESCs to be flashed from a PC, using their software (I used win10 and TMOTOR USB Link V1.0.3-20200109 software). So now I have four correctly flashed ESCs. This should help things along a bit!

Now I’m putting the aeroplane back together again and waiting for the weather to improve before heading back to the field.

Okeydoke, I have been able to fly the quadplane this evening. She’s a handful but will fly in this basic tune. I had some ground resonance to get over but once in the air and out of ground effect the aircraft was flyable.

As far as tuning goes, I started where I left off last time. I made short flights changing process as I went.

  1. Halved pitch and yaw rate values in ( Q_A_RAT_(PIT/RLL)_(P/I/D) )
  • This set up low frequency, high amplitude oscillations.
  1. Halved the above again
  • This appeared to further reduce the frequency but increase the amplitude.

3.& 4. I carried out a few short hops including translations in and yaw rotations with these settings.

  • The yawing was ‘jagged’ - interrupted by the motor oscillations.
  1. Using the basic tuning page in mission planner I noticed that the P values for pitch and roll were set to 1. On my initial flights on stock settings this had been 4 and then I upped it to 4.5. So for this hop I upped the P values to 1.5 from one on Pitch and Roll.

6 & 7 upped P values for Pitch and Roll to 2 and then 2.5 as well as doubling the ( Q_A_RAT_(PIT/RLL)_(P/I/D) ) values back towards what I started with, happy with what the aircraft was doing.

  • This started to make a positive difference in upping the frequency of oscillations/reducing amplitude

I ended up maxing out the basic tuning values for P at 3 (roll was capped at 3, whereas pitch could go to 3.5).

The tune is still very poor at this stage but I think I see the process.

Here is the ATT.desPitch / ATT.Pitch and ATT.desRoll / ATT.Roll for the final hop of the day.

versus the same chart with same axes/limits for the first hop of the day.

Any pointers out there from what I’ve written? Why would the basic tuning P values be capped?

The logs for this evenings work come in at 500mb so instead of attempting to cut them up I’ll set LOG_FILE_DSRMROT so each hop has its own log file in future.

Its just a recommended range, on the basic tuning page your limited to that range to protect against typos and such, if you go and find the same param in the full list you can set it to whatever you like.

1 Like

OK, great, will go figure it out.

It’s getting on for 3 years since I last edited this thread.

As I recall I improved the tune over a couple of flights until I was able to hover fairly well. This came to an abrupt end when the autopilot did exactly what I had it set up to do when the battery got low and converted to forward flight mode to fly back to the landing site. This was a problem, as the aircraft at this point had no outer wings or any control surfaces attached. Pure naivety on my part as a newbie to ardupilot and set up.

I did try to transition the aircraft back to QHover however there was too much momentum to stop the aircraft committing a pretty hard landing. On replaying my gopro footage from the aircraft I can also see that a wing joining fastener had loosened and was allowing the wing to exaggerate whatever tuning oscillation was there before.

I started with a tri-copter, realised it wasn’t going to be powerful enough, I changed up to a Quadcopter and had more success. I didn’t get the tune even close and eventually I ended up damaging the airframe due to poor setup choices. I was going to learn all of that at some stage anyway, so may as well get it all done with!

On the plus side:

  • This is my first from scratch design. Even though I had at this point spent 20 years learning and being an aerospace structures engineer, I still learnt a lot about designing things with this process.
  • I learnt new (to me) construction techniques (3D printing, mould making, composites lamination, and I think I was one of the first to use 3D printed moulds for composites lamination).
  • My airframe stood up to the hard landing pretty well. Even the foam core balsa covered wing and composites centre box survived pretty well.
  • The batteries were fine thanks to the way I had constructed their boxes and used foam to absorb g-loading. 2x 6S 20k batteries can do some serious damage, so I am extremely pleased with this!
  • The rest of the electronics were also fine
  • The final iteration of my motor tilt mechanism seemed to work really quite well, and I look forward to testing it further when this project is back on the bench
  • I learnt a lot about ardupilot

I knew I could make the airframe lighter and even stiffer - I had used cheaper materials and had developed my ‘design language’ over the design period. I have a new fuselage design using the same OML but also a ‘production’ version with a different OML that would be a little sleeker and have fewer unique parts.

I started to build a new carbon fuselage and new carbon wing structure before the government’s handling of covid really screwed me financially. So the project stopped here to concentrate on getting an engineering job outside of aerospace.

Not long after I managed to get into a new job role I started looking at a new quad copter design to replace an obsolete frame. More of that in a different thread.

Some images to park this thread with (I’ll do a fail video at some point, from the gopro footage). This will come back to the bench (sooner rather than later!)

2 Likes