Monday, March 29, 2010


Now that it's been running for a few months (not continuously O_o) and seems to work with at least four different motors (scooter, scooter, LEAF, RC car), I'm more confident in pitching the simplified/streamlined field-oriented control setup at work in the 3ph Duo controller. But I totally understand that very few people will want to read the poorly-written, incomplete-and-yet-overly-detailed 78-page draft documentation for the controller itself.

For a quick intro, you can check out these two posts:
3ph Duo Wrap-Up Part 1: Field Oriented
3ph Duo Wrap-Up Part 2: Control

Recently, I consolidated the important part, plus some new data, into a set of much more palatable PowerPoint slides (a la Balance Filter) which I'm hoping will find their way through the internet and into the hands of some motor control-types who would rather see the big picture than a detailed discussion of one particular implementation. It covers field-oriented control in general, the "standard" method, called the synchronous current regulator, and some modifications to the standard method that make it possible to run with Hall-effect sensored motors and on relatively slow fixed-point processors. It doesn't go into any detail on the software, just lays out enough that a competent embedded controls person could probably pull it off on an Arduino or something.

Consider that a challenge.


  1. I really loved your poorly-written, incomplete-and-yet-overly-detailed 78-page draft documentation for the controller. It is actually the most complete, easiest to understand writeup I've seen on the subject. Maybe it's just me, but I prefer it over the slides.
    I hope you keep posting about all you're stuff, it's great!

  2. Good job.

    I where looking for documentation like yours.
    I´m trying to use an arduino board: 6 PWM board.

    with up to 14PWM board.

    Thank you.

    From a Spanish student.

  3. I wonder if you'd mind sharing your design files for the controller. It looks like you posted something for an earlier board version, but the link seems to be dead.

  4. Done:

    This has the latest Eagle schematic (blc_duo.sch) and board (blc_duo.brd), as well as the Gerber files (three version in zip files, 2.1 is the latest) and an image (sch.png) of the schematic if you don't use Eagle.

    There is a dependency: A carrier board I designed a long time ago for the MSP430F2274 microcontroller. I unfortunately don't have Eagle files for that board, since I designed it in different layout software. But hopefully you can easily modify the design to use whatever microcontroller you want. I'm working on an Arduino version, but it won't be able to do field-oriented control. (Just six-step BLDC.)

  5. This comment has been removed by the author.

  6. Very interesting, professional work. And I appreciate you honest style, admitting misstakes and documenting very thoroughly. Your style resembles James Mevey's crystal clear thinking.

    Can one buy your controller somewhere? Or do you allow it to be copied for personal use? (which type of contract, if any, is followed?)

  7. I don't sell it, but you are welcome to use the design or modify it. The design files are posted at the link a few comments up.