Redesigning multirotor ESC's

3689622049?profile=original

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?

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Hi guys,

    Thanks for the support and interest. CAN is indeed the preferred method of communication. It's a differential signal very resilient to interference and you can easily hook up 8 controllers with the given bitrate and I think it's a great opportunity to think about new connectors, I've seen servo connectors fail too many times.

    On the new version I have power in and phases coming out at the same side, but I'm not sure that's the best way to hook this up yet. The way how the FETs are laid out have the biggest impact on what the board looks like. You have some that are rectangular, others look more like strips.

  • I too would back this. 

    A dumb question perhaps - would CAN not be a better option than I2C? My understanding is that if I2C does down then there is a high chance that everything breaks which would render the safety of a octa or hex pointless.

    A request if it is not too stupid - could some thought be given in allowing them to be daughter boards? I've got some ESCs which are like that (by accident?) where the input and output are on the edge, on the same side of the board as well as the cap and other input. 

    Having a "standard" like this would allow us to start removing a lot of wires from the rats nest where the baseplate of your UAV is also the main PDB etc.

  • Moderator
    Hi Gerard,

    I would definitely back this development, it's just what we need. Let us know when it starts!
  • Hi Gerard, this is a brilliant effort. I'll back you in any  medium you chose to raise funds.

    IMHO the strategic thinkers out there looking at the future of private autonomous vehicles and the development path ahead have this development on their scopes. You just accelerated that path.

    Well done, mate. I see this as being an option in the APM code by mid next year. It gives a great level of asset and investment protection. I would like to see this implemented. It would open so many doors.

    Antonie

  • Motors use Hall sensors to provide this feedback, which is a bit more reliable than measuring the back-emf. The reasons that not many hobby motors have them is cost reduction and at a reasonable amount of rotation, you get plenty of back-emf to do the control, although it's noisy. As others have indicated, there are already ESC's that do closed loop current (torque) or rpm (lift) control and active free-wheeling.

    This ESC indeed doesn't have a BEC. It takes board space to put one on and for multirotors, you'd have 4 BEC's but use one, that's poor use of money and resources. I don't trust multirotor ESC's that do offer a bit of power, because on 4S, when you increase the current, the voltage regulators easily get overloaded and need to burn too much power. Open one up some time and see how it's done, many use simple linear voltage regulators. Also, I don't think it's a good idea to source power from a component that has high-frequency power switching circuits.

    So sourcing power from a specialized circuit is my preference, as it also decreases cost per ESC and simplifies the design a bit.

    If you go back a couple of posts you see a firm redesigning the transmitter, another example of opportunities where improvements can be made.When you get into this hobby/profession, we look at the devices and components and learn that that's how things are done. We should think out-of-the-box more and question the necessity. Many devices and components go straight back to the era where we only had a receiver on board and a bunch of servos. All that changed, we use onboard microcontrollers that can do stuff for us and probably offer more opportunities for customization than a radio can.

    So why still build sophisticated radios? Shouldn't we reduce the number of switches? Shouldn't we reduce the complicated configuration menu's on those things?  Can we integrate telemetry and control on the same band and get some meaningful feedback on the display?  Can we reduce the cost by building a very simple radio, but has buttons on it that actually mean something to an end user, which can be mapped to common functions you'd see on an AP?  I.e... instead of configuring a switch to output 1100 / 1600 / 1900 specifically, you'd put a switch there that already does that and map that channel to the function on the AP.

  • Really impressive work! This could increase efficiency and safety massively, which is everything I've been looking for for a very long time from speed controllers. If you ever make a kickstarter, make a post and let me know! I have a lot of people and groups that would love to have these. I run a research lab at my school in an area with a lot of very restricted and controlled airspace, and reliability and problem detection have been big concerns with the people we have to get approval from, and having failure data would put a lot of people at ease.

    For interfacing, I can think of a few things. The most immediate would be I2C with a central board that combines all streams into one stream, similar to PPM, or a CAN bus with something similar. Do you have something figured out? Keep going, this is great work?

  • This sounds like a great project, I might suggest going to an alternate crowdfunding platform like Indiegogo.  Most folks don't care which you use, Dragon innovations is another one that might be appropriate.  

    I can't ethically use kickstarter which is a real bummer, because of their business arrangement with Amazon.  

  • Planes need ESC RPM & Power feedback too.  Plane autopilots need to know motor RPM and Power when flying the plane (takeoff-landing-cruise) and also when analyzing the air frame performance (Lift to drag ratio). The airplane cannot be properly controlled without this feedback.

    Recommend using the Pixhawk CAN bus interface.  CAN bus is better suited than I2C for ESC feedback because it's more immune.to electrical noise.  Especially for new advanced ESC designs the correct bus (CAN) should be chosen.

    My twin motor plane has two 80 amp ESC's.  I'd buy your product.  Likely, I'd also help fund your "Kick starter" project.

  • AR Drone is doing something like this... it has feedback from the ESCs, and if the drone hits something, all 4 motors stop and the drone just drops. This is nice in some situations, but not others...

  • Would I fund it? Yes, because it sounds cool. Would I buy it? Cost is king. How much?

This reply was deleted.