Robot platforms like the Open Source Outdoor Robot platform JECCbot mini need a decent motor driver board. The requirements are quite standard and should be similar with every other robot platform:

 

HighPowerMotorFeatherWing rendering

 

Requirements

 

  • drive two motors with more than 10 A
  • up to 30 V input (for 24 V battery)
  • reverse polarity protection
  • motor speed measurement
  • emergency stop

 

Motivation

 

There exist some motor driver shields like the Arduino Motor Shield ( https://store.arduino.cc/arduino-motor-shield-rev3  ) but these rely on the ancient L298 which in my opinion has not enough power. Another option is the Infineon DC Motor Control Shield ( https://www.infineon.com/cms/de/product/evaluation-boards/dc-motorcontr_btn8982/  ) but this one only drives one motor.

 

Design

 

So I decided to make my own motor driver board. The board is based on an Adafruit Feather board so that I don't have to take care of a microcontroller and its circuits and can rely on a working ecosystem. The board uses four Infineon BTN8982 / IFX007T to drive to motors. It also has an ADS1015 I2C ADC to read the current and back EMF of the motors. This can be used to control the speed of the motors. I will come back later with a software that uses that feature.

The board also hat an Infineon IFX910EJV voltage regulator to generate 3.3V for the Adafruit feather board.

On my robot I use an Adafruit Feather M0 Adalogger but other feather boards can be used as well. You only have to check if your feather board supports being powered with 3.3V from a feather wing.

 

HighPowerMotorFeatherWing on JECCbot mini

 

All data including schematics and source files can be found on github: https://github.com/generationmake/HighPowerMotorFeatherWing

The board was designed using KiCAD.