Tuesday, February 4, 2020

ACE LC ("low cost") 1.0 - Open Hardware SimonK ESC

Maybe I should get back into using this blog for blogging, huh? It's been a while, and as of the last year (ish) I have been digging into longstanding motor control and blaster management problems and designing PCBs. And of course first on my list of hobby problems that really, really need shooting down in flames: the infernal Great SimonK Drought of 2018-Present, a time of great sorrow for all flywheelers.

Hence, the "T-Verter Project", and what is about to become a line of assorted motor drives under the name, ACE. This is the first. Was back about 8 months when I designed this. Not my first inverter, but it is my first combat-ready practical one.


Here's some populated ones.


Feature rundown:

  • ATmega8 MCU @ 16MHz with ceramic resonator (of course)
  • Discrete gate drive similar to Afro and Spider boards and scores of good old ESCs, with some refinements to component specs to improve drive strength (etc.)
  • International Rectifier IRLR8743 mosfets
  • ST L5150BN LDO linear regulator (SOT-223) + 47uF tantalum bulk capacitance
  • 18k/3.3k/18k feedback network with 0.1% tolerance resistors
  • Minimum passive size: 0805
  • Minimum semiconductor size: SOT-23
  • All ISP pads at edge of board with other user signals!
  • 23 x 51.5mm - Narrower, but slightly longer, than a ZTW Spider 30.
  • 2 layer board!
  • Hand solderable!
  • Minimum trace/clearance widths of 10/10 mils (2oz copper required)
  • bs_nfet board target/pinout (same as ZTW Spider)
  • Multiple DC link capacitor options for fitment/preference. The 2 sets of cap pads are actually SMD 8mmOD electrolytic footprints, which enables a ready-to-run package of 23 x 51.5mm x ~half an inch thickness. Or, a regular big-ass lytic or two smaller ones can be hung off the end of the board.
  • Multiple wire routing options. Phase wire pads are down one side. Phase wires can exit basically anywhere you like.
Here's one set up like an Afro or regular old hobby ESC comes out of the pack - bus and signals in one end, phases out the other, cap off the end:



Note the presence of sufficient low-ESR DC link capacitance. That's a 1000uF Kemet ESY, and I recommend no less on this scale of board! Drone vendors cut corners - don't follow them. Ripple on the DC bus is bad.

Here's the Google Drive directory in which you will find the gerbers for the board, my component notes, and a Digikey BOM. I have also made my EasyEDA project public: http://easyeda.com/torukmakto4/ace2 though... be warned EasyEDA has had several major upgrades and bug fixes since I laid this down and sometimes something messes up in an old project that needs to be fixified a bit.

I'll be honest, I am not super happy with the LC 1.0. It's a bit janky, a bit rough, a bit old school. My layout/wire routing approach was kinda ill conceived, too nonspecific and lacks polish, there are some minor buswork current bottlenecks, my ZTW Spider-inspired choice of DPAK for a switching device package was distinctly outdated and the available DPAK mosfets are a bit dusty and creaky and a little frail compared to the wonders of modern silicon, there's probably more phase-node inductance than optimal, and the SMD electrolytic caps I wound up disliking and realizing were a rather daft idea in the first place as they are tricky to solder and their ESR is uncompetitive and really only good for smaller, lower current situations. Also, the final nag is that the resonator footprint is a bit tight on the pad sizes and makes it tricky to solder down.

But you know what, as a Spider/Afro-replacement ESC, it works great. Runs cool enough, eats up locked-rotor abuse testing and repeated 0-100% stomps with 67mm/70mm wheels and Emax RS2205Ses (pretty aggro little motor they are) without getting more than lukewarm, the logic power is solid and very good about not brownout-resetting the MCU even when I have accidentally flattened a battery with some of them, is excellent about startups and holds sync like a tick! I have a pair in combat service, I sold a T19 to a local with a pair in it, and at least one redditor has built and extensively run a pair and none of them have caused any trouble.

Much more to come though very soon (or you might have seen on reddit).

You can run any SimonK variant that you would on any other bs_nfet board. I recommend starting with the T19 tune and changing governor (and perhaps V/Hz current control) settings as/if required. For T19.100 series etc., you can use the published binaries. Remember to use the correct bs_nfet.hex board target: make bs_nfet.hex in your source tree.  Pay attention to the recommended fuse settings right there in the SimonK source and use avrdude to burn the fuses in that first time - KKMulticopterFlashTool will often set you to the wrong clock speed.

No comments:

Post a Comment