It's been quiet on my front, but that was because I was redesigning ESC's (for multirotors and AP's).

Most of the ESC's for multirotor use the SimonK firmware on a relatively simple Atmel microcontroller. There's a single control wire running from the autopilot to the ESC, which is a signal proportionally dictates how long the mosfets are left open and as such command the torque on the motors.

And that's pretty much all there is to an ESC... No signal/wire coming back to tell the autopilot how that particular motor is doing or what the rpm or current is, it's just a "command wire". That sounds a bit antiquated for 2014.

So this picture is of an ESC dev board I first started on, here using the Allegro A4960 chip for simplicity. Shipping to Brazil takes time, so before it arrived the design already morphed into something new, so that's why the board looks unused. Both the MCU and driver chip changed on the newest development board version and I introduced testing points for oscilloscope readings; this project is about to get serious!

What are the features that I think an ESC for a modern multirotor should have?

1. Send the rpm back to the AP; for logging. I see people posting logs to request help figuring out what went wrong, but the log only states the "pwm out" for each motor, which is in no way a guarantee that the motor actually did that. So we need some feedback that states what the motor was actually doing, not what it was commanded to do.
2. Overload detection; the ESC's know what the current is and warn for overload situations.
3. Current & velocity control; neither current nor rpm is actively controlled as a proportional measure to the input PWM signal. So the control loop for the AP spans the IMU, motors, ESC and props, which is a large loop with lots of variables. This ESC will run one or two 'inner loops' and become responsible for achieving either torque or lift and run at a much higher frequency than 500Hz. What you get is that some variables no longer impact the control loop of the AP directly, which should make the vehicle more stable and likely more responsive.
4. Field Oriented Control; The flyback diodes next to mosfets typically burn energy in trapezoidal drive implementations, which  increases the heat on those mosfets. This happens because the mosfets close suddenly. The motor coil wants to resist that change, so you have a current that has nowhere to go except through that diode. In sinusoidal control, there's always one mosfet open for any coil, so the current always has somewhere to go, which means the flyback diodes won't get used, so you don't lose the heat.
5. FOC; better efficiency, because the current is always perpendicular to the magnetic field. This may come at the cost of max. torque (related to motor inductance and then only about 5%).
6. FOC; lower torque ripple (1/2-1/3) vs. trapezoidal drive, so hopefully less vibrations, less whistling.
7. Send current readings back to the AP; another opportunity for precisely logging what goes on near the motors. This could be helpful to detect ESC/motor/prop health (bad bearings, prop drag, etc)
8. Configuration; the AP can reconfigure ESC's prior to flight or when in maintenance to tune it for a specific motor.
9. Motor monitoring; if the motor stopped, shorted or the mosfets misbehaved, the ESC can shut down immediately and advise the AP. The AP can then take additional action.
10. Opportunities for automated ESC tuning specific to the motor/prop in use.

The way I see this ESC make a difference is when abnormal situations occur. The current AP's cannot be informed of failure, so it would simply send a signal to "run faster", which, guaranteed, has a disastrous effect to mosfet or motor and could therefore worsen the situation. Soon as the AP is informed something is wrong, it could sound an alarm, activate a chute, disable the counter motor... you suddenly have options!

To spur innovation in this area, I'm considering to setup a kickstarter and actually manufacture around 1.000 or so at a professional PCB house. Aren't these features indispensable for an ESC made in 2014? Would you back it?

Views: 13184

Comment by Dan Murray on October 21, 2014 at 6:57am

Gerard, this is really exciting. You are completely right about the ESCs needing to be brought into 2014 (2015?), and I love the idea of getting feedback from the motors. How will you measure RPM?

I think you should do a kickstarter for sure. You seem to have an actual product, not just a wild idea (which has been the status quo on Kickstarter these days). Nice work!

Comment by Jonathan Hair on October 21, 2014 at 7:05am

Sounds like it could be a big step forward for reliability. Maybe I missed this though, but how would the ESC communicate back to the AP? I assume we are talking about APM/Pixhawk here, how would you add that functionality to existing flight controllers?

Comment by Michal Ulianko on October 21, 2014 at 7:23am

Jonathan, I2C can surely be used. There is even a small chance that I2C can be multiplexed to one of the PWM input/output pins on the Pixhawk. (Would need to see Pixhawk schematics and STM32F4.... refer. manual to tell for sure.)

Comment by Rob_Lefebvre on October 21, 2014 at 7:44am

Shut up and take my money. :)

Comment by Gerard Toonstra on October 21, 2014 at 7:46am

Jonathan: My idea is to use CAN for that. Although APM ( I think ) doesn't yet have a transceiver, a small board with i2c/can transceiver is really easy to put together. The benefit of CAN is that the number of wires is probably less (differential signal) and very robust against noise.

PWM will still be used for input for two reasons; the majority of controllers work that way and it doesn't make sense to obsolete this ESC against that majority. With i2c for example, you need to start assigning addresses prior to operating it, which adds to the probability that mistakes are made. I prefer that users can visually trace the control wire to see where it goes and what should run.

Comment by Fernando Costa Pinto on October 21, 2014 at 7:57am

Great idea ..go go go

Comment by Thomas Stanley-Jones on October 21, 2014 at 8:10am

Bravo!  This sounds like a great thing to improve safety features on these craft.  I'm beginning wade into the commercial market and the government wants any reassurance they can get that these machines aren't going to hurt anyone.  This is a big step in that direction.  I'd back it.

Comment by Gil Rosenthal on October 21, 2014 at 8:12am


Fantastic idea - I'm seconding Rob L.!

Pull out yer videocam and get the KickStarter rolling!

Comment by Erik Unger on October 21, 2014 at 8:41am

Also think you could crowdfund this!

Comment by F. C. Bearsch on October 21, 2014 at 8:59am

spectacular Idea! Just recently I was discussing the need for accurate RPM to be transmitted back to the kernel so that a dynamic vario-pitch assembly could be incorporated and that the code could also support it. For a while I have been playing around with variable pitch setups that are direct drive reducing gearing, however the accomplishment in mechanics was then quickly dwarfed by the inability for the code to really capitalize on the capability.

Ever since Rob Lefevre did his talk about Momentum Theory I have been wanting to explore capabilities of stream tube dynamics in coaxial steups. In just searching for some references I stumbled on this,


just a simple drawing of a vortex tube, however I have used it as inspiration to incorporate into rotor hub to spot cool the assembly. I plan on using a vortex tube to the motor. This way if we add a motor temperature we could further control temperature via a valve.

I see allot of possibilities with this and just like Rob Said, Take my money, and happy to help anyway I can as it allows me to further this crazy quest I seem to have.

Understanding the physics involved has driven me countless time to try and extract power in different way from what is like a "spring loaded effect" but with gases. The theorem -A fully expanded gas would approach a Mach number of infinity as it's temperature drops to absolute zero.- has always been intriguing, and with the ability to possibly engage just portions of that force could be very rewarding.  




You need to be a member of DIY Drones to add comments!

Join DIY Drones

Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service