Estimating Propeller Thrust from Motor Data


1. Theory

1.1. Propeller

The static thrust S generated by the propeller and the mechanical power P_M required to spin the propeller are given by

S = c_S \rho \omega^2 D^4,

P_M = c_P \rho \omega^3 D^5,

where \rho is the density of air, D is the diameter of the propeller, and \omega is the angular velocity of the rotation. The power P_M is related to the mechanical torque M for spinning the propeller as

P_M = M \omega.

The thrust and mechanical power are thus related as

S ^3 = \dfrac{\pi}{2} \rho D^2 \eta^2 P_M^2,

where \eta can be identified as the efficiency of the propeller, defined as \eta = P_M^{ideal}/P_M, and is obtained as

\eta = \sqrt{ \dfrac{2}{\pi} \dfrac{c_S^3}{c_P^2}.

Comments: It should be noted that the coefficients c_S and c_P introduced here differ by constant factors from definitions found in the literature. It also should be mentioned that in general these coefficients, and whereby the propeller efficiency, can be dependent on the rotation speed \omega.

1.2. Motor

The mechanical power P_M is delivered by the motor, which is reasonably well described by the classical motor equations, which in the static case read

U = k_U \omega + R I,

M = k_M I - M_V,

where k_U and k_M are the motor constants (related to the KV value), R is the resistance of the wires, and M_V accounts for additional losses such as friction or iron core losses, and is typically rotation speed dependent. Common approximations are M_V(\omega) = a + b \omega + c \omega ^2, or M_V = k_M I_0, or in the simplest case just M_V = 0 (the so called „half-ideal“ motor). Often also k_U = k_M = k is assumed (or a similar fixed relation in case of multi-phase motors).

1.3. Model

With M_V = 0, one immediately arrives at

P_M = k_M I \omega.

With introducing a coefficient c as

c = \dfrac{\pi}{2} \rho \eta^2 D^2 k_M^2,

one thus arrives at the main result of this article:

S = c (I \omega)^{\frac{2}{3}}.

This equation implies that the thrust generated by the propeller can be estimated from measurements of the rotation speed and the current through the motor. For the purpose of compensating the thrust characteristic the absolute value of the coefficient c is irrelevant, as only normalized quantities would be used. For the same reason, the conversion factor from \omega to rpm is irrelevant. One thus arrives at the practical relation

S_n(pwm) = I(pwm)^{\frac{2}{3}} \times rpm(pwm)^{\frac{2}{3}},

where S_n is a normalized thrust and the dependence on pwm has been made explicit.

1.4. Model Assumptions

The derived relationship involves two approximations, namely the assumption of M_V = 0 and that the propeller efficiency \eta is constant and not dependent on the rotation speed, which both need to be justified or validated.

Comment: Note that the efficiency of the motor does not enter in these equations and is thus irrelevant.

In case of M_V it can be argued that for a good motor these losses should be small, i.e., that the largest loss contribution is the Joule’s heating due to the motor resistance R. If this is found to not be true for a particular motor, then this could be easily accounted for in the treatment by extending the above equation accordingly; one could e.g. subtract a current I_0(pwm) from the measured current.

In case of \eta it can be argued that it’s value generally doesn’t vary much. For instance, in [SCH] the efficiency of a bad propeller was assigned to ca. \eta = 0.5, and to ca. \eta = 0.7 for a good propeller. In [DET] the efficiency of very small propellers ranged in ca. 0.4 – 0.6. Expecting an essentially constant propeller efficiency thus doesn’t look unreasonable a-priori. Indeed, in [DET], [BREa], [BREb] the coefficients c_S and c_P were found to be nearly independent on rotation speed, implying constant propeller efficiency. However, they are not totally constant. To conclude, this point is certainly a crucial factor potentially limiting the accuracy of the proposed method, and thus warrants further analysis.


2. Application

According to the above relation, one needs to measure the rotation speed and the current through the motor, as function of the input signal to the ESC. Traditionally this would require building a dedicated measurement stand, and many such builds are described in the web, from simple to sophisticated.

However, thanks to the more recent development that ESCs themselves offer telemetry data, this task is enormously simplified, and readily available to everyone. One only needs to fix the copter to the ground, which for not too big copters is easily achieved by hands-on approaches, and spin up a motor with the propeller attached. In fact, the emerging availability of ESCs with telemetry, and that they typically report rotation speed and current, has inspired this whole work described in this article.

In my case I used a UC4H ESC node driving a KISS 32A ESC; for details on this setup please see Uavcan for Hobbyists: UC4H ESC-Actuator Node. The KISS 32A ESC does provide telemetry, which is polled by the UC4H ESC node in regular time intervals (e.g. 200 ms), and send out to the CAN bus, which is used to control the ESC node.

A Python script, making use of the PyUavcan library, controls the whole procedure (the script is available here): It ramps up and down the motor, e.g. three times, collects the telemetry data and plots them out, and finally uses the data to apply a fit to determine the MOT_THST_EXPO value, which is ArduPilot’s parameter for the internal thrust compensation.

The setup, and the result looked like this:

propeller thrust test UC4H flamewheel setup olliwuc4h esc kiss thrustcurve olliw


3. Model Validation


References

[BREa] Measurement of Static and Dynamic Performance Characteristics of Electric Propulsion Systems, by A. J. Brezina, 2012 [.pdf]
[BREb] Measurement of Static and Dynamic Performance Characteristics of Small Electric Propulsion Systems, by A. J. Brezina, S. K. Thomas, 2013 [.pdf]
[DET] Static Testing of Micro Propellers, by R. W. Deters, M. S. Selig, 2008 [.pdf]
[SCH] Der Standschub von Propellern und Rotoren, by H. Schenk, 2002 [.pdf]

Hinterlasse einen Kommentar