Motor Controller

Jump to: navigation, search
Error creating thumbnail: convert: no decode delegate for this image format `/tmp/magick-Rolb23SX' @ error/constitute.c/ReadImage/532.
convert: missing an image filename `/tmp/transform_519628de511c-1.jpg' @ error/convert.c/ConvertImageCommand/3011.
The pinout for the din-9 connectors between the daughterboard and the motor controllers

Speed Controller API

We will be using DC electronic speed control to control the Drive Motor and Steering Motor. Two H-Bridge driver will control the power to each motor. One supervisory driver controller will send control signals to each of the two H-bridge drivers.

Driver Controller

Plan: Atmel MCU to drive PWM inputs of H-bridge.

Here's a good example of an integrated controller/Hbridge with available Atmega code, including PID code

Another example is the MOB used with the OSMC:

H-Bridge Driver

Good overview of the theory here:

OTC high-current motor drivers are pretty much unaffordable. So we've pretty much settled on the "open source motor controller" design. Here's the Yahoo home page:

Some documentation: including overview PDF:

We have customized the OSMC design specifically for the Orbs. Details and assembly instructions are on the ORBMC page.

The power FETs are the most expensive parts. We need 8 per board, and two boards per orb, so they add up fast. There are three recommended ones, in order of decreasing cost:

IRF1405 Vds=55V Ids=169A Rds = 5.3mOhm

IRF4104 Vds=40V Ids=75A Rds = 5.5 mOhm

HRF3205 Vds=55V, Id=100A Rds = 8 mOhm

I've (jtf) ordered two bare OSMC boards from

For the purposes of testing, I will stuff one with IRF4104s and the other with HRF3205s. We will test them on a heavy load, and see how hot they get with heatsinks. The more expensive 4104 has lower Rds, and the TO-220 package is pretty much limited to 75A of sustained current for thermal reasons, so it will be interesting to see if there's much performance difference.

There is also the 3103 which is 1/2 price but has 50% more Rds (12 mOhm).

More FET suggestions:

IRFB3207 Vdss=75V Id=180A Rds=3.6 mOhm Pricy, but whoa: $1.33 in 50+ quantity? No wonder they are out of stock:

IRFB4310 Vdss=100V Id=140V Rds= 5.4mOhm

Great specs on these; newer than OSMC design? Pricy -- always?

IRL3803 Vds=30 Rds=6mOhm

IRL7833 Vds=30 Rds=3.8mOhm

IRL3713 Vds=30 Rds=3mOhm

IRL1404Z: Vds=40 Rds=3mOhm $1.50 at No wonder they're sold out.

Possible OSMC board modifications

  • Lay out the power FETs so heatsink tabs are lined up on edge of board for bolting to metal enclosure
  • Add "sanity check" bipolar red/green LED to main motor output
  • Replace board DC/DC converter with external 12V or TI DC/DC module
  • Switch in external braking resistors to a motor lead? That way braking current is dissipated there, rather than the motor windings or H-bridge.

Current sensing

Choice is between shunt resistors + buffer and Hall effect.

As Pete points out, sensing load current is non-trivial depending on drive mode: Media:Load_Current_Sensing.pdf

Jon likes these hall-effect sensors over shunt resistors: