Engineering Comparison of Hobby ESCs

Photronix

Pilot
This is re-posted from RCgroups. I wanted to share it with you guys as well.

I've watched the debate over the "speed" and performance of ESCs here for a while. I also see a great deal of effort being spent re-flashing ESCs to improve factory firmware capabilities. The general consensus has been that how fast the propeller can react to a flight controllers commands is directly related to the performance of a multi-rotor. This is true somewhat, but the blame for poor performance has been placed on the ESC mostly. This is incorrect simply because the ESC, Motor, Propeller combination sub-system that actuates the system needs to be considered as a whole. I do not believe the ESC is the bottleneck but rather the drive sub-system.

So about a year ago I set out to measure the Transfer Function of the ESC, Motor, Propeller subsystem since as a flight controller designer this is what is important to me. In engineering, Transfer Function is one of the most common figures-of-merit which is used to compare and measure a systems performance.

What is Transfer Function? Simple.. it is a measurement of a systems response to a known input. I've seen tests where the motor is hit with a step change in throttle. This is a great measurement. Transfer Function is then the derivative of the time measurement which is then Fourier Transformed to yield the Transfer Function (actually this is the magnitude of the previous). The easiest and best way to measure Transfer Function is to drive a system with a sinusoidal input and measure the time varying sinusoidal output. The modulation depth is then measured using the amplitude of the output waveform.

So my test stand optically measures the RPM (as my output value) of a common RC brushless motor (BL-2217/9) 16 times per revolution. I used a APC 10x3.8 propeller. A microprocessor drives several different ESC models with a sinusoidal signal at 200Hz. This may be confusing...the signal is the throttle input to the ESC which varies in time sinusoidally. I chose to use an average throttle value at 50% (hover in most multi-rotors) and vary the throttle 25% above and below this point. Using a larger or smaller value doesn't actually change the result much.

The resulting Transfer Function is a curve showing Relative Attenuation vs. Input sinusoidal frequency. To compare performance of the ESCs you can pick a frequency, say 30Hz and observe the attenuation seen for each ESC. A lower value means that the sub-system was unable to output a sine wave as large in amplitude as another ESC with a higher value.

The results are attached. Let me point out a few things.

1. Turnigy had the best overall response with an almost identical curve for the re-flashed Simonk Turnigy. Does this mean the re-flash is a waste of time? You decide...I am just presenting the data.

2. The Castle Creations Multi-Rotor firmware is cutting off at too low a frequency. They are working on this now and I fully expect them to be able to match the Turnigy curve. I'll post new results when I get them.

3. The Maytec 400Hz performs as well as the Turnigy but I wouldn't use it. At around 65Hz it begins to exhibit aliasing. This is when higher input frequencies are folded around a sampling frequency and result in a lower frequency being output. At 65Hz you will see about 20Hz oscillation which is BAD for a multirotor.

4. Smaller Props and faster motors will provide better performance. However, it will simply raise up the curves maybe 5%. Their relative shapes will remain the same.

5. The older Castle Creations firmware (data not shown) exhibits extreme aliasing after 50Hz. This is why the older firmware did not work on multi-rotors. The flight controllers where sending out commands with changes above 50Hz which resulted in very low frequency changes in RPM. Not what your basic flight controller expects and as a result FAIL.

6. Faster I2C communication is not needed based on this test because the actually ability to alter a motor/propellers speed is around 30Hz.

7. If your contention is that your multi-rotor performs better with one ESC over another it may be the flight controller or another part of the system.

8. RCTimer is the lowest performer assuming CC updates their firmware.

View attachment 3442
 

Attachments

  • TrasferFunctionMeasurementofESCs.jpg
    TrasferFunctionMeasurementofESCs.jpg
    117.4 KB · Views: 519

yeehaanow

Member
Thanks for posting. Very interesting.
If the ability to alter the motor/prop speed is only 30hz then is it really necessary to control it beyond that frequency?
I would be interested to know if the results would differ much in a dynamic system as opposed to a static test stand.
 

Bartman

Welcome to MultiRotorForums.com!!
i think i followed your explanation pretty well but what are we looking at in the graph that makes one curve more desirable than the others?

do the designers of flight controllers try to game the ESC's at all to make the flight qualities better? in other words, do you attempt to manage the particular qualities of RC ESC's to make the flight controller deliver better flight dynamics?

Thanks,
Bart
 

ddavus

New Member
There has been some questions about the frequency response of the optical system by which you measured the rpm. You mentioned that optical measurement of the rpm was used. Could you further explain the way in which the rpm was measured. There is concern that an optical system may introduce its own frequency response and greatly affect the output data.
 

Photronix

Pilot
The motor has a reflective set of lines, 16 around the circumference of the motor housing. An IR TX/RX pair senses the change in light amplitude. This value is then thresholded in analog to a nice clean square wave. The microprocessor then measures time delay between rising pulses. The average measured values of Max RPM and Min RPM are recorded over about 20 seconds. The modulation depth is then calculated as (MaxRPM-MinRPM)/(MaxRPM+MinRPM), the definition of modulation depth. This single value of modulation depth is recorded at each input frequency.

I do not believe frequency response of the optical sensing system can produce appreciable error in the measurement.
 

ddavus

New Member
Thank you for your response. I do not see anything obvious about your method that might limit the frequency response of your measurement.

This measurement is more of a proxy for the actual thrust that the propeller generates. Would it not be more direct to actually measure the thrust as a function of time and compuare the step input to the thrust output? I realize that this is not a direct measurement for the dynamics of the quad. The mass and dimensions of the craft must be used to translate the force to motion, but measuring thrust would take into account the fluid dynamics of the propeller in the air. What are your thoughts?
 

Photronix

Pilot
Thank you for your response. I do not see anything obvious about your method that might limit the frequency response of your measurement.

This measurement is more of a proxy for the actual thrust that the propeller generates. Would it not be more direct to actually measure the thrust as a function of time and compuare the step input to the thrust output? I realize that this is not a direct measurement for the dynamics of the quad. The mass and dimensions of the craft must be used to translate the force to motion, but measuring thrust would take into account the fluid dynamics of the propeller in the air. What are your thoughts?

Yeah I have considered that. Not sure it would yield much more information. I have been considering buying a cheap digital scale and ripping the load cell out of it.

BTW - If anyone has a particular ESC they want me to try PM me.
 

xtrmtrk

Member
Any chance you could run the measurement with the RCTimer before and after the SimonK flash to compare the difference?
 

Bartman

Welcome to MultiRotorForums.com!!
PM Al with your question and ask him to post his results in this thread when they're ready.

he may not be subscribed to the thread.

thanks,
bart
 

Photronix

Pilot
Any chance you could run the measurement with the RCTimer before and after the SimonK flash to compare the difference?

Sure I can run the test. Give me a buy link to the model rctimer esc you are interested in and I'll buy one.

This is provided that the model can be flashed. I'll have to check.
 


Digitech

Member
that is why we use the hobby wing esc,s you can find them used by many manufacturers.
and overall the best results.

turnigy K-force series are all hobbywings.
 

xtrmtrk

Member
that is why we use the hobby wing esc,s you can find them used by many manufacturers.
and overall the best results.

Yes, those are good, I have used them. But I'm more curious about the quality of ESCs being improved or not by flashing. Starting with an ESC that's already running well isn't a real good test of flashing.
 

Digitech

Member
well if you look closely Castle ESCS are hobbywings :)
there is a good sample of none working firmware.
so yes i think the hardware is good its the software that needs to be optimised.
maybe CC should hire simon to do their Firmware?
 



Top