Infineon DC Motor Control Shield

Element14 was kind enough to provide me with an Infineon DC Motor Control Shield after the Internet of Holiday Lights RoadTest Plus, in which contestants were given another Infineon shield as part of the kit: the Infineon RGB LED Shield.

This post will cover my first observations and tests using the DC Motor Shield. You can find my review and project using the RGB LED Shield here.

DC Motor Shield

The shield is built around two BTN8982TA: a high current half bridge for motor control applications.

Screen Shot 2015-02-07 at 20.24.27

The BTN8982TA package consists of:

  • a driver circuit
  • one p-channel highside MOSFET
  • one n-channel lowside MOSFET

Offering:

  • logic level inputs (driver circuit)
  • high PWM frequency control capabilities
  • various protections, such as: undervoltage, short circuit, overcurrent and overtemperature
  • diagnosis with current sense
  • adjustable slew rates (fixed on the shield though)

First observations

Out of the package, the board looks very well made and of high quality. There are however a few things that immediately drew my attention:

  • no headers on the board or in the box
  • a huge vertically mounted capacitor
  • no (screw) terminals, but instead big ring shaped pads

IMG_5852 IMG_5853

No headers

This was already the case with the RGB LED Shield. My main problem with this is that you cannot start using the shield right away. If you have anticipated for the missing headers, the only remaining task is to solder them on. Else, you’re stuck with an unusable shield until you are able to find a fitting pair of headers, which would probably delay you a day or two.

The fact that no headers are soldered on does give you the option to choose your own header type though: stackable, long, short, … Whatever type suits your needs.

My suggestion remains the same as last time: include a pair of tall stackable headers in the box, preferably even soldered on.

Huge capacitor

The huge capacitor in the middle of the board really sticks out: about 25mm! One of the advantages of the BTN8982TA, is that it has very low board space consumption for the features it offers. I personally feel the capacitor obsoletes that advantage completely. It also prevents other shields to be stacked on top of this one, which seems like a big problem as other shields with displays or prototyping areas require to be on top.

Couldn’t the capacitor have been put on its side ?

No (screw) terminals

One of the things I liked very much about the RGB LED Shield, were the screw-less terminals for both the power supply and the RGB LED strip. I was expecting something similar for this shield, but instead found big ring shaped pads. This will require soldering as opposed to the terminals, which makes it less practical for testing different types of motors and power supplies.

Is there a specific reason (except cost), why pads would be better than (screw) terminals ?

Software

I was looking for some sample code to use the shield with an Arduino, but I couldn’t find any!

Not on the Infineon or E14’s pages on the shield:

Unfortunate, but not a disaster as the shield seems easy enough to control.

This is the test sketch I came up with for testing:

First tests

There are two tests I wanted to perform using the motors I had at hand:

  • half-bridge configuration: controlling two unidirectional DC motors
  • H-bridge configuration: controlling a single bidirectional DC motor

But first … finding a set of suitable headers to be able to use the shield and make some practical modifications.

Headers

I’ve ordered tall stackable headers for Arduino, but it will take some days until they get here. In the mean time, I’ve been experimenting with what I had at hand.

The first tests was to use different size male headers with an Arduin UNO. Using the typical size male headers, there was contact between the shield’s VBAT connector and the UNO’s USB port, which would create a very nasty short circuit. With a different size male headers the problem was resolved for the UNO.

IMG_5857 IMG_5861

The next test was about finding suitable headers for the YUN. The Arduino YUN has a vertically mounted USB port and an ethernet port, which are sure to cause problems as they are taller than the UNO’s USB port. The tall headers working for the UNO were too short for the YUN and had to be combined with intermediate female headers.

IMG_5866 IMG_5864

The following is the result with extra tall stacking headers. There is just enough clearance for the YUN. I put some tape on the bottom side of the shield to avoid direct contact. With the capacitor on its side, other shields can be used as well, although they should have long headers.

photo 4 photo 2

Modifications

There are two modifications I made, based on the feedback given during my first observations: laying the capacitor on its side and using screw terminals.

photo 2

Single bidirectional motor

To use a single bidirectional motor with the shield, following steps were taken:

  • connect the motor to OUT1 and OUT2
  • connect a power supply (I used 12V/2A)
  • set INH1 and INH2 to HIGH
  • use IN1 for direction 1, IN2 for direction 2

Two unidirectional motors

To use a two unidirectional motors with the shield, following steps were taken:

  • connect the motor 1 to OUT1 and GND, motor 2 to OUT2 and GND
  • connect a power supply (I used 12V/2A)
  • set INH1 and INH2 to HIGH
  • use IN1 to control motor 1, IN2 for motor 2

Demo

Here’s a video of the different modes in action:

7 thoughts on “Infineon DC Motor Control Shield”

    1. Hi Andy,

      from what I understood from other people is that you could use these holes in combination with nuts and bolts to attach motors with ring connectors. The size of the holes is also suitable for banana plugs.

      Frederick

  1. Thanks for sharing this. I am just wondering how you would code the BTN8982TA chip for 3-phase motor.
    Based on the datasheet “http://www.infineon.com/dgdl/Infineon-BTN8982TA-DS-v01_00-EN.pdf?fileId=db3a30433fa9412f013fbe32289b7c17&ack=t “, it said it can be combined 3 of them to form 3-phase drive configurations. And do you have any ideas how you would code the kind of application? I have built the circuit based on the datasheet.

    And also for this case, how would you code this for just 1 motor, and both of the output from BTN8982TA are connected to both motor inputs?

    Thanks so much!

  2. Hi Frederick,
    I just found your test of the Motor Control Shield. Thanks a lot. Even it is almost a year ago I just gives some comments.
    Software examples and documentation were available just after you did your test. See:
    http://www.infineon.com/cms/en/product/productType.html?productType=5546d4624ad04ef9014b07c0c07922e0

    It was Infineons first Shield for Arduino. The missing headers were because of pricing. The shield should be as cheap as possible. It is intended for makers. The Shields which followed later on come with pin headers. Lesson learned 🙂
    http://www.infineon.com/cms/en/tools/landing/arduino.html?channel=5546d4614b0b239c014ba1e6c4a73098

    The half bridges are capable of driving 600W Motors (60A). This was the reason for the huge ring shaped pads.
    They were intended for banana jacks. The 600W were also the reason for the large capacitor. Just in case somebody is driving such a strong motor, this so called DC-link capacitor is required to keep the voltage ripple at the Vs-pin of the NovalithIC™ low during switching operation. It could be replaced by smaller capacitors if used with smaller motors. Thanks a lot for testing and commenting on the Shield. I appreciate this.

    1. Hello Johannes,

      thank you for your feedback, great insights on why things were designed this way! Also glad to see things like headers and instructions are now solved! 🙂

  3. Almost 2 years since you posted this, but hopefully you still remember something about it 🙂

    The current sense/diagnostic pins IS are connected directly to the Arduino’s A0/A1 analog input pins. As I understand it the voltage at IS can be as high as Vs (which is 6-40V), which is far higher than the Arduino can handle.

    Any idea how the current monitoring works?

Leave a Reply

Your email address will not be published. Required fields are marked *