Home

Awesome

OtterControl

Hardware files for OtterControl BLDC motor controller.

What is OtterControl?

OtterControl is a open source, open hardware DC / BLDC motor controller. The basic idea was to make the well-known VESC (http://vedder.se/2015/01/vesc-open-source-esc/) even cheaper - making hoverboard-powered armchairs or crazycarts affordable.

While these 350W hoverboards motors are great and quiet affordable (only 40€ in Germany), you need a powerful ESC to get them running. Until now, the only open ESC I'm aware of is the VESC - which is great and all, but with ~100-120€ per piece quiet expensive. That's why I decided to save on some parts:

The STM32f303 has lots of internal peripherals such as OpAmps, PGAs etc. Using this chip reduces external components and system complexity - saving about 10€. Also, using D2PAK Mosfets allows more flexible part selection - saving another 20€ with almost the same specs.

The final BOM for 50pcs of OtterControl turns out to be ~19€ per piece.

Specs

Versions

There are currently two different versions of OtterControl V1.3: One with 1mOhm current-sensing shunts, and one with 3mOhm. The reason for this:

To measure the phase current, the f303 internal PGA is set to 16x gain. This gives a input range of 3.2AVDD / 16 = 200mV. It is necessary to measure positiv and negative currents, so the shunt is pre-biased to 100mV, giving +/- 100mV measurable voltage drop.

Depending on your application, you want as much current resolution as possible. For a 5A DC motor, or a small BLDC, 33A is way enough, archiving good current regulation. However, for applications with more current, 1mOhm increases the current scale to the necessary range.

Software

OtterControl is based on the stmbl codebase (https://github.com/rene-dev/stmbl). A ported version can be found in my fork (ottercontrol branch). Essentially, the code on the f303 is the same as in stmbl, but without the f4 this mcu now also handles encoder input, position regulation, user settings etc.