Recently the Chinese ESC design utilizing the ATMEGA which we have been flashing with Bernard Konze's firmware has been disappearing from the market. This was the push I needed to finally decide to design and build a replacement. Collaborating with a friend, we worked on it over the summer. It is finished and I think it came out pretty well. I call it ESC32:
Design goals:
- Extremely fast implementation of requested throttle setting
- Ability to take high rate input
- Multiple input protocols
- Ease of programming, real-time debugging
- Efficient
- Inexpensive
The final specifications read:
- STM32F103 72Mhz MCU - 32bit ARM
- Firmware written in straight C
- SWD connector for real-time debugging
- Input via PWM IN / UART / I2C
- 1KHz PWM update rate capable
- All N-FET design with gate drivers
- At least 40A continuous with proper cooling, maybe much more
- 2S => 5S battery
- Option to power logic side via UART or PWM IN +5v
- Command Line Interface for testing / parameter modification / back channel
- 8KHz => 64KHz PWM out
- Current sensing / limiting
- Regenerative braking capable
- Closed loop control mode - experimental
- Lots of RAM and CPU cycles available for advanced control techniques
- BOM cost < $20 at quantity
* image courtesy of TC Pictures, LLC.
It is a drop-in replacement for the ESC's that I have been running with AutoQuad and will take standard PWM input up to 450Hz. I will eventually design new high rate PWM timing which will bring this rate up to 1KHz. It is a definite improvement over the ATMEGA design. Your flight controller can ask for large, quick changes in throttle and it is able to implement them very fast. This allows PID output to be tuned to be more aggressive and results in much smoother control.
Start ups are very smooth and I have not yet found a motor it could not start. It uses oversampling techniques which allow it to accurately control a BLDC motor down to 200RPM. Early indications based on some initial head to head testing with other ESC's show the it is very power efficient. This comes from the fast switching of the N-FETs due to the use of gate drivers. Less time is spent in the on-off / off-on transitions, so less power is used, less heat generated. No special heat sinks or cooling should be necessary for typical 10 to 20 amp usage. This also means that you can use higher PWM output rates without too much of a hit to efficiency.
* image courtesy of TC Pictures, LLC.
As the ESC is an extremely important component of multi-rotor UAV's, it is critical that it keeps running, no matter what. So you can imagine the amount of testing necessary before you can start to trust a new design with your expensive machine. There are a handful of people flying the ESC32 now and I myself have perhaps 10 hours without incident so far. There may still be problems, but I am fairly confident that it is trustworthy. It's all I fly now.
Comments
I think the push to have more responsive ESCs is great. I'm all for advancement. But, let's not loose sight of the fact that many of us are in this as a hobby, and thus affordability is a large part of the equation. We all know that faster hardware and complex programming can push the speed and response boundaries. However, if this is at increased cost, it will push some people out of the market. If the Ardupilot is going in a direction where expensive hardware is required, to run the software I would be very disappointed.
For your info. Castle Creation are Alpha testing new firmware for their ESC products, with instant response to input changes. Targeted directly to the multi rotor market. I have been offered to participate as alpha tester, and maybe I will. For my current early stage octacopter project I have ordered Castle Creations 50A 6S ICE lite controllers.
Certainly not cheapo things, but promising. And with built in data logging.
Aint that sweet?
Magnus, TC made those ESC but only for himself, he said that useless to create such ESC since most Hobbywing OEM will perform well with simonk firmware. OPESC still no word when they will release but I know they are testing. Sadly like ESC32 still testing and not sure if they will commercially sell it.
Randy, I think it might be possible but I think too much for current Amtel. But the real question is why? If it is more on optimizing the stabilization from microcontroller I think the advantage is not that better considering its another point of failure and possibly getting corrupted signal causing more problem. Unless I misunderstood what you meant.
Like TC and the guy from OP said it is not the refresh rate that is more important as most OEM esc now supports 400-500 but the response of the ESC to drive the motor (i.e simonk or the I2C base MK esc) Well OPESC and ESC32 is targeted for such use but not yet available.
You know, I would have thought that with some modifications to the [simonk] firmware it would be possible to make the atmel based escs able to communicate back with the micro controller (APM or what-have-you) via SPI. I think that's one of the main things missing from our ESCs...the ability to hear back from them about their status (i.e rpm, heartbeat, etc).
Jeff E,
I'm quite sure that TC never did any AfroESC for sale in his web-shop, I asked him about both AfroESC and ESC32, and at that time he thought that was waste with time (I maybe remember wrong, if so TC can jump in and correct me).
ESC32 seems to be another fine (or not) project/product that never will be something other than an ESC used by a limited number of people, looks like we will be wait and see when and if the OpenPilot ESC came to the community.
For now there is still ATMEL based ESC for sale, grab them and re-flash them with simonk firmware, and you have something cheap and flyable.
This is the problem with the "scene" today.
We have great controllers, motors, props etc, but suitable ESCs are few and far between. Sure, I can hang my $3,000 carbon fibre beauty off of a piece of HobbyKing junk, but it's a shame when everything else is selected for quality and reliability.
I have contracted a UK electronics company to rework the board and schematic into a layout for multicopters. However, as my project is on a budget, the firm are using spare time to work on it, so it won't be any time very soon. What I will hopefully have at the end of it is a full board layout, and maybe (just maybe) have a few built to recoup my costs. I intend to release the designs etc for anyone to use, it's hardly classified information and TC did all the original work anyway!!
Nice....I envy you since I dont have the means to make one but would like to get a cheap one like ESC32 or the AfroESC which TC stop making. HerKules II is out of budget. So I am stuck in waiting :(
@ThomasB
I'm aware they are working on an ESC, but as with the CC boards, it won't be released until it is tested the N'degree (no bad thing), and so I don't tend to expect OpenPilot products until they are in my hand!
@Jeff E
I am working on a quad board for the AfroESC as we speak!!!!!
Thanks for the head's up!
D
hope is always fine,
but you may have a look at this:
http://forums.openpilot.org/topic/7537-openpilot-esc-flies/page__st__0
and this:
http://forums.openpilot.org/topic/8314-more-opesc-flying/
:)