Sunday, April 4, 2010

High Current Motor Controller Shield for the Arduino

I've decided what to call it.  It will now be known as the High Current Motor Controller Shield for the Arduino.

Electrical Specifications

Recommended operating conditions:
Voltage input:7-12V
Continuous current output:15A
Peak output current output:30A

Absolute maximum operating conditions:
Voltage input:6-20V
Continuous current output:15A
Peak output current output:30A

Check out the datasheet for the VNH2SP30 for more specific information.

In short, though, the VNH2SP30 has some nice safety features. It features the following safety measures:
  • Undervoltage and overvoltage shut-down
  • Overvoltage clamp
  • Thermal shut down
  • Linear current limiter
  • Cross-conduction protection
  • Protection against loss of ground and loss of

The Skinny

Overall, these are very nice resilient chips that are designed for automotive uses. They feature a current sense allowing control loops to try to drive motors with a constant current (also meaning to some extent, constant force).

In the documentation for the VNH2SP30, ST provides ideas for ideas for controlling up to 3 motors with 2 of these chips. Because each chip basically consists of 2 high and low side switches, with separate inputs that force half of the bridge into high impedance, the VNH2SP30 is extremely versatile.

If you do the math, you can safely match the high current motor shield to 2 180W DC motors, or to 1 360W motor! Even better, you can stack these shields to expand capability.

Let me know if anyone is interested in purchasing these items. In larger quantities these could be sold for around $50 to $60 dollars. I originally made these because I could find nothing good that existed between the motor controller shield and the OSMC

Similar Boards

After some digging, I found out that Pololu actually sells something similar to this, and that SparkFun sells a serial enabled version for a little more. The main differences are that they include the reverse voltage protection FETS mentioned in the app note, they have holes instead of pads, and they don't fit nicely on the Arduino. In my experience a big fat pad can be more useful than a hole. For example, I have soldered Dean's Ultra connectors to the pads. Dean's Ultras can handle loads of current, and are polarized, thus helping to protect against reverse voltage.

Regular terminal blocks could be soldered to the pads as pictured.
Hirose DF5 series connectors also work with the shown pads.

Update: A video has been posted here

1 comment :

  1. Your controller is very impressive. Did you layout the PCB yourself? If so would you tell us how you did it? I'm interesting in experimenting with the ICs mentioned in your blogs but am somewhat hesitant since I havent worked with surface-mount ICs before. How did you mount the ICs to the PCBs?