Hi Olliw42,
I am happy that you found the problem. It looks like you included your junk measurements at the lower end in the data fit though and that is probably why you are still getting the wrong result. (in the context of a real tune)
It is worth noting that my numbers are based on just the first sweep too as I was doing a quick calculation. If I use all the data and the remove all values below my Min PWM setting I get:
Min PWM : 0
test : Expo : 0.99985 , Zero Throttle : 0.034106 , Max_Thrust : 0.87124
Min PWM : 0.05
test : Expo : 0.99985 , Zero Throttle : 0.034106 , Max_Thrust : 0.87124
Min PWM : 0.1
test : Expo : 0.99985 , Zero Throttle : 0.034106 , Max_Thrust : 0.87124
Min PWM : 0.15
test : Expo : 0.99985 , Zero Throttle : 0.034106 , Max_Thrust : 0.87124
Min PWM : 0.2
test : Expo : 0.72572 , Zero Throttle : 0.14802 , Max_Thrust : 0.86822
Min PWM : 0.25
test : Expo : 0.6265 , Zero Throttle : 0.18258 , Max_Thrust : 0.86504
Min PWM : 0.3
test : Expo : 0.72258 , Zero Throttle : 0.14755 , Max_Thrust : 0.86744
Min PWM : 0.35
test : Expo : 0.87766 , Zero Throttle : 0.083542 , Max_Thrust : 0.86909
Min PWM : 0.4
test : Expo : 0.99973 , Zero Throttle : 0.028075 , Max_Thrust : 0.86911
MOT_THST_EXPO is not intended to be a way to characterise the motor, it is a variable used to linearise the thrust in over the used range, a sensible and simple way. If used properly it does a good job. Like many things it is easy to use incorrectly.
Yes, as we implement it, it was never intended to be a figure of merit to compare drive systems. It’s sole purpose is linearise the thrust characteristics for the purposes of maintaining a good tune over the throttle range.
Looking at your data it appears like your ESC’s are not operating reliably below 0.2. Using only data above 0.2 I get an EXPO of 0.6265. If I adjust the minimum throttle to 0.2 I would need to adjust the expo to 0.54157 if I wanted to make it perfect based on your data.
A final note on the application. The goal of MOT_THST_EXPO is to ensure the gain of the PID loops remain reasonably constant throughout the throttle range. That means it is not the thrust fit that is really important, it is the slope of the thrust fit.
This has been demonstrated to work extremely well in practice. As you can see using your data, you can get reasonable results with a range of parameters, depending on the throttle range your aircraft works in and how tight your tune is. Compared to the majority of pilots, my aircraft cover a significantly greater throttle range and I have much higher expectations of tune quality. As such I go to much greater effort to ensure I get the most out of my aircraft.
For the vast majority of pilots a value of 0.65 combined with a simple autotune will make them very happy.