I am designing (and may soon produce) a 4 channel electronic speed controller (ESC) for brushless RC motors.

The Problem
It seems as though everybody who builds a quadcopter uses 4 individual PWM ESC's (that are often zip-tied to the rotor arms).
http://ng.uavp.ch/moin/UserCopters
http://quadcopter.wordpress.com/
http://scsuquadcopter2010.blogspot.com/
http://t413.com/news/category/quadcopter
http://vrhome.net/vassilis/2009/01/q...bly-completed/
etc...

Overall it's a bit messy and there are wires and small PCB's everywhere. Some people also convert their ESC's to receive I2C commands instead of PWM since it's faster and easier to pair with their flight controller.

The Solution
This is a 4 channel motor controller based on Atmel AVR's that can be controlled using serial, I2C, or even a standard PWM input. This is a single circuit board with 4 sets of 3-phase motor outputs. Each of the four segments on the board can power up to a 30A motor (so 120A max for the entire board). Each of the four segments is controlled INDIVIDUALLY (required for quadcopters).

In addition, the board can act as a master power management board for any other boards you hook into it. Your battery will plug into this controller (think Dean's connectors), and there will be regulated 3.3v and 5v outputs that can be used to power your flight controller or other circuit boards on your aircraft.

Possible Uses
Quadcopters! That's what this is designed for. That being said, this would work on practically any model that uses more than one brushless motor (4 motor electric planes maybe?).

Form Factor (roughly 4" square)
The board is designed to be a part of a low-height modular stacking system that I'm using for my quadcopter. I'm also developing an AVR-based flight controller (with full IMU) that can stack on top of this, as well as other add-on boards. There is a common communication bus between all boards stacked together. I can share more about this if anyone is interested (in either the modular form factor or the AVR-based flight controller board). The size of the board was made to fit the custom centerplates I'm having cut for my quadcopter.

Features
- 4 individual brushless motor controller channels on a single circuit board.
- Very fast update rate (using 20Mhz AVRs so there's a lot of room to spare!)
- Up to 30A per motor.
- Uses Atmel AVR's, so you can reprogram it as much as you like.
- Current limiting/feedback per motor (automatically reduces throttle if a particular motor exceeds the maximum current you've set - doesn't just shut the motor off like other ESC's).
- All surface mount components.
- Open source!
- Low-profile board (most likely less than 7mm thick).
- Serial/I2C digital communication/control.

Availability
I am only gauging interest at this point in order to determine if I should make extra boards to sell. If there is interest, I'll have extra PCB's made and assembled for anybody that wants one. I'm expecting to be able to sell them for around $120.00.

Are any of you interested?
E-mail me when people leave their comments –

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

Join diydrones

Comments

  • Hi Tim,

    I was planning to implement the first three already. The current draw will be both reporting as well as automatic limiting to save the ESC from damage.
  • I'm new to ESCs so... here is a shot:
    - RPM indication
    - Current draw reporting
    - programing default parameters
    - USB port? for configuration information? via PC?
  • Interesting point. I was thinking the value to the community was mostly in the I2C capabilities of the ESC. This can be further increased with additional software features.

    What features (or IP) did you have in mind?
  • I agree and that would be how this was released. Open source is key! Of course it's AVR-based so if you know how to program AVR's you can program these ESC's. The ISP header is broken out so it's easily accessible as well.
  • Is it possible to also support SPI? For me, it is good to have an open source option, I've seen the instructions on several forums to modify one but never seen source code just the hex. So, all in all I think it is good.
  • bGatti - I think you're absolutely correct! The only situation where this wouldn't work is at a very low motor RPM where each winding carries 100% load for several seconds (just an arbitrary example - the motor would have to be going VERY slow for this, maybe even be stuck). That being said, the motors are almost always run at several thousand RPMs, so this high frequency should distribute the load evenly across all 3 motor wires.


    Tim - No, I haven't started a blog for this yet. I'd like to sometime soon but I'm not in a rush (yet). I saw your website a week or so ago - I really like your design!

    Question for the group: Given the popular ESC conversions for quadcopters (such as the TowerPro I2C conversion), how popular do you think an ESC that is I2C/Serial/PWM ready would be? As I mentioned above, I'm also considering selling a regular single-channel brushless ESC that supports I2C, serial, and regular PWM input. I've already designed the "SingleESC", and it supports 25A, with an even higher burst. Given the costs associated to build them, I'd have to sell them for about $35 each to be worthwhile. Is this of interest to anyone?
  • That sounds awesome, I'm all for it! I have been thinking about building a four channel esc too, and have been researching other designs around the 'nets. I've thought about going the opposite direction though and making a ~10A design for small quads. Do you have a site with your progress so far?

    -Tim (t413.com)
  • Hi Tim,

    That's what I'm planning on doing. There will be a QuadESC and a Single ESC, both using identical components and firmware.

    bGatti,

    Unfortunately it doesn't work this way. Brushless 3-phase motors only push (or pull) current through any combination of two phases at any moment in time. This means that one of the three wires will always be "idle" in terms of powering the motor. Since only 2 of the motor wires are active at any time, the gauge of these motor wires should be equal to the gauge of the 2 supply wires.

    It should definitely be possible to control multiple motors from a single CPU. My QuadESC design uses 4 microcontrollers though. I went this route because they're so cheap ($2.50ea) and it makes the firmware simpler (no need to try balancing commutation timing across multiple motors).
  • Maybe do two boards, first board is a single ESC, the second board a quad ESC. keep the same processor on each. This way other projects can leverage both designs and have the same firmware.
  • Sorry - I didn't mean that the wiring doesn't weight much overall. I meant the difference of wiring when rotor-mounted ESC's are used vs. the wiring for a centrally mounted ESC.

    The length of wire used is the same either way, the only exception being that a 3rd wire from the motor needs to run about 2.5" longer up into the center of the quadcopter. With your specs, this would be 64g of weight to move to a central ESC. Perhaps that weight could be made up as well...
This reply was deleted.