Is it normal thrust hover value going down as battery voltage sags?

Hi,

Thanks for looking into my inquiry.

We are testing 34inch quad copter with two 14s batteries.

Frame is EFT416 quad copter without spraying container. We set up 2 large 14 cells batteries in parallel on the battery tray.

We landed in the middle of flight shortly for a check and continued flight.

While I was looking at the logs to find out the reason for increased oscillation on landing legs when it neared landing (around 43v), I also found output throttle value was decreased as well.

Is there any chance it has something to do with legs shaking when battery was sagged? We could hear a bit more prop noise when battery was low on voltage as well but I couldn’t see vibration level was changed though. It is a bit higher than supposed to be at the moment and notch filter tunning is not done yet. Neither was mix_man, mix_max, mix_min params.
Video of landing (prop noise, vibration on legs)(It wasn’t there on take off)

To sum up,

  1. We are experiencing vibration on legs and prop noise as battery voltage drops.
  2. On checking up logs, we found ThO was continuously going down.

Logs
First take off
Second take off

It will be appreciated for any input regarding this issue and any suggestion to improve our system in general.

LinK

By my standards, the tuning does not look nice overall, especially on pitch, with actual/desired discrepancies easily reaching 4 degrees. This is consistent with the overall shakiness. But I have never dealt with large machines, so “nice” or “not nice” is to be taken with a grain of salt.

What is probably more objective is the PID contributions. And here I see an increase of a D-term in pitch with time, which may quite likely have something to do with the change of sound you report.

If I switch the D-term off, one can see not only that P-term also increases with time, but that it is about 2x to 3x time smaller than D, which normally indicates that there is too much noise coming through.

Too much noise is consistent with quite high vibration levels.

This all does not quite explain why CTUN.ThO decreases with time. I had several hypotheses, in the order of appearance:

  1. Battery was heating up over the course of the flight, which decreased its internal resistance. While one cannot eliminate this completely, there are battery temperature readings in the logs, and they show quite steady temperature, so this seems unlikely. However, estimated battery resistance does decrease with time.
  2. Voltage scaling was configured incorrectly. But this does not seem to be the case, and battery voltage reported is well within the limits of the scaler.
  3. Outdoor temperature and/or pressure changed over the course of the flight. Again, based on barometric readings, this did not seem to be the case.
  4. Something heated up (or got loose) on the machine and changed its frame resonances and responses.
  5. ESCs have some kind of voltage sag compensation that played tricks with Ardupilot’s assumptions.

For #4, unfortunately, the logs do not contain any information to be analysed via Filter Review, so I cannot test this. However, this may explain both why PIDP increases towards the end of the flight, if one of the resonances becomes more active somehow. (#5 provides an alternative explanation for this though).

For #5, I additionally plotted the consumed power (as a product of reported voltage and current), and this stays the same over time. This tells me that energetically there is nothing strange. (It could have been if resonance response changed over time, as hitting frame resonances and not compensating them in filters usually increases power consumption).

However, if ESCs indeed scale the inputs with voltage, then double-scaling can effectively result in both perceived throttle decrease AND increased control noise, because Ardupilot, as configured now, would scale PID outputs with voltage.

If ESCs are indeed “clever”, disable voltage scaling in Ardupilot. (Or, alternatively, disable this feature in the ESCs. I don’t know which would be better.)

1 Like

Thanks for your detailed explanation and suggestions.

Too address the changing PIDs(I didn’t even know they are supposed to be changing during the flight), I will do notch filtering first. We are actually waiting for CAN ESC router(?) for Hobbywing X9 motor and ESC package. One of my friend also suggested to find out right Mot_thst_expo value which is set 0.65 at the moment by initial setup. So, we can not go ahead with notch filter setting until the part arrives.

We only copied autotune result from another frame (same eft416 but with different FC damper) and that was it. Previous frame had 3M sponge damper and this one has oil damper. I guess we were totally wrong and need to start from scratch again.

ATC_thr_mix_man, max,min those 3 params were not set up either but I am not sure it might have any influence on unstable hovering at the end of flight.

What confused me is that it hover stable without much vibration or noise in the begining but it got worse after over 50mins flight(with 3.5kg payload dragged by long cable underneath) and I didn’t know PIDs can change in flights.

Is Mot_thst_hover 0.17 too low for our size of quad copter(34 inch)? Does it have to be higer than that for the FC to have margin for attitude control?

It’s not that PID gains change in flight. Normally they do not.

I was plotting the contributions each term gives to the output signal. These appear to increase with time. The thing is, if you have voltage scaling enabled and configured, Ardupilot will scale these contributions as the voltage sags. For “normal” ESCs commonly seen in small-to-medium size vehicles, this is what one wants. Your ESCs might be different, and this is what I am trying to say towards the end.

Some “clever” ESCs also have built-in throttle linearization, in which case you would have to set MOT_THST_EXPO to something else other than 0.65 (which is 2/3, which is what one would expect from physics under “normal ESC” assumptions).

If Ardupilot scales outputs with voltage, and then ESCs scale them with voltage again, this may explain simultaneously that (a) you have tuning issues towards the end of the flight, but not in the beginning, and that (b) CTUN.ThO decreases with time.

P.S.: Hover at 0.17 generally should not be a problem.

2 Likes

I get your point. You’re very right. X9 might be clever enough to have an internal voltage compensation and throttle linearization(needs to be confirmed with manufacturer yet) and this might cause unnecessary double scaling. I am trying to contact manufacturer at the moment.

I understood what you tried to say with scaling of PIDs along with voltage change and that is what these two params are for. mot_batt_volt_max/min. If situation allows, we’d probably turn them off and test endurance flight again and see there still is vibration at the end of flight.

1 Like

Yes, that was the point, if the ESCs already do the job, just set MOT_BAT_VOLT_* to zero (and maybe MOT_THST_EXPO to zero as well if ESCs also perform curve linearization).

1 Like