TPA stands for: Throttle PID Attenuation in Betaflight and Cleanflight.
TPA basically allows an aggressively tuned multi-rotor (one that feels very locked in) to reduce its PID gains when throttle is applied beyond the TPA threshold/breakpoint in order to eliminate fast oscillations – What a mouthful!!
Take the following example: You’re flying around quite happily but you want to punch out(throttle up quickly) to gain some altitude quickly, as you increase the throttle, you notice that your multi-rotor oscillates rapidly, but it doesn’t in normal conditions. see the video below for an example of what I mean. In this instance, the vibrations are caused by the PIDs being set too high for the amount of power you want to utilize, to resolve this and eliminate the vibrations, you need to apply some TPA.
How do I use TPA?
I am going to assume that you have your throttle endpoints set to 1000 – 2000, with middle stick being 1500. To use TPA, you first will need to assess where your throttle is when you experience the oscillations, mine happened to be just after the mid point, so I set my TPA breakpoint to 1500 (red/blue/green line on the chart below), You may find that you only experience the oscillations later on in your throttle range, e.g. 3/4 throttle. In this instance you can set the TPA breakpoint to 1750 (black dotted line on the graph below).
You can set your TPA breakpoint by going to the CLI and typing:
you can substitute 1500 for whichever value you want, but for a mid point, 1500 will suffice (note: by default, cleanflight and Betaflight have 1650 set as the TPA breakpoint)
Once we are happy with where we have set the breakpoint, we can now concentrate on refining the TPA value. I tend to find my TPA value by incrementing by 0.05 or 0.1, depending on how bad the oscillations are. The trick here is to fly around, and throttle up quickly to see/hear if you still have oscillations, If you do, increment the value and try again.
Lets follow the blue line first. The PIDs of the quad are at 100% of the values you have tuned them to until the throttle is at 50% (1500). As we increase the throttle, the PIDs will decrease until at full throttle they are 50% of the value of which they were initially set.
Now lets follow the green line where we have set our TPA value to 0.75 (This is actually quite high). 0.75 means that at 100% throttle, our PIDs will be reduced by 75% leaving us with 25% of the values initially set. For example: P for roll is tuned to 4.2 – at full throttle with a TPA of 0.75 this will actually be 1.05.
In Cleanflight and Baseflight you can set your TPA value in the PID tuning tab. TPA in Cleanflight and Baseflight only affects P, I and D on ROLL and PITCH, it does not affect YAW.
TPA basically allows an aggressively tuned multi-rotor (one that feels very locked in) to reduce its PID gains when throttle is applied beyond the TPA threshold/breakpoint in order to eliminate fast oscillations – What a mouthful!!
Take the following example: You’re flying around quite happily but you want to punch out(throttle up quickly) to gain some altitude quickly, as you increase the throttle, you notice that your multi-rotor oscillates rapidly, but it doesn’t in normal conditions. see the video below for an example of what I mean. In this instance, the vibrations are caused by the PIDs being set too high for the amount of power you want to utilize, to resolve this and eliminate the vibrations, you need to apply some TPA.
How do I use TPA?
I am going to assume that you have your throttle endpoints set to 1000 – 2000, with middle stick being 1500. To use TPA, you first will need to assess where your throttle is when you experience the oscillations, mine happened to be just after the mid point, so I set my TPA breakpoint to 1500 (red/blue/green line on the chart below), You may find that you only experience the oscillations later on in your throttle range, e.g. 3/4 throttle. In this instance you can set the TPA breakpoint to 1750 (black dotted line on the graph below).
You can set your TPA breakpoint by going to the CLI and typing:
you can substitute 1500 for whichever value you want, but for a mid point, 1500 will suffice (note: by default, cleanflight and Betaflight have 1650 set as the TPA breakpoint)
Once we are happy with where we have set the breakpoint, we can now concentrate on refining the TPA value. I tend to find my TPA value by incrementing by 0.05 or 0.1, depending on how bad the oscillations are. The trick here is to fly around, and throttle up quickly to see/hear if you still have oscillations, If you do, increment the value and try again.
Lets follow the blue line first. The PIDs of the quad are at 100% of the values you have tuned them to until the throttle is at 50% (1500). As we increase the throttle, the PIDs will decrease until at full throttle they are 50% of the value of which they were initially set.
Now lets follow the green line where we have set our TPA value to 0.75 (This is actually quite high). 0.75 means that at 100% throttle, our PIDs will be reduced by 75% leaving us with 25% of the values initially set. For example: P for roll is tuned to 4.2 – at full throttle with a TPA of 0.75 this will actually be 1.05.
In Cleanflight and Baseflight you can set your TPA value in the PID tuning tab. TPA in Cleanflight and Baseflight only affects P, I and D on ROLL and PITCH, it does not affect YAW.