User Tools

Site Tools


Power Motor Driver (PMD) for RoboCORE

RoboCORE can drive high-power DC motors via additional Power Motor Driver (shortly: PMD). It is an external, high power H-bridge module which can be driven from the low power H-bridge output included in RoboCORE. It requires the external power supply. The voltage of this supply can be either higher or lower than RoboCORE supply voltage and shall be in the range 6V to 24V.

The picture below describes the pinout of the PMD.

Caution - high temperature! PMD can get very hot during normal operation. Don't touch it unless you know what you are doing. The proper ventillation is needed when the PMD is working with high currents.


Parameter Description
Name Power motor driver for RoboCORE
Version 1.0
Number of outputs 1
Supply voltage range 6V - 18V(24V*)
Absolute maximum supply voltage 36V
Max. average output current 15A
Max. peak output current 30A
Communication interface hMotor
Motor signal input voltage range 6 - 16V
Overcurrent protection yes
Overtemperature protection yes
Reverse polarity protection yes
Firmware upgrade possibility n/a - no microcontroller

* - see the chapter below for more information

Choosing the right power supply source for your motor

The power supply voltage range for the PMD shall be between 6V and 24V. When the voltage is higher than 18V, the operation with a battery is strongly recommended. Why? When you are using a PWM signal for motor driving and you are decreasing the speed, there are 3 phenomenons:

  • back-EMF voltage is generated in motor windings
  • the windings current is chopped by PWM signal
  • the winding inductances can store the energy

As a result, the voltage on H-bridge supply nodes can be multiplicated, as it happens in DC/DC converters. If the power supply cannot surpress this voltage, it can exceed the 36V limit of the power motor driver or even damage your power supply. If the PMD is supplied from a battery, the problem does not exist - batteries are able to surpress the voltage peaks. Of course, this problem occurs with every motor driver and every supply voltage. If you are not sure if your power supply can survive voltage peaks, please use batteries or appropriate transils for limiting the supply voltage.

The GND link jumper should be attached by default. It can be useful when you supply RoboCORE and power driver from the same voltage source and grounds are connected anyway. The additional GND connection on the power motor driver board could make a ground loop. Not usual, but sometimes it causes problems with reception of small signals referenced to ground. Remove this jumper only if you are experiencing problem with other signals and you are sure that you provided a reliable GND connection between power supplies.

When jumper is removed, the encoder supply ground connection is separated from motor driver ground.

Status pins

The half-bridge drivers provides additional functions that could not be hanled using 6-pin hMotor interface. You can still use them, for example by connecting appropriate pins to hSensor or hExt interface.

Pin name Direction Pin function Voltage level Info
RST input Reset input (active low) 0 - 5V (0 - 3.3V) resets the overtemperature protection and/or activate the sleep mode
IA output Current sense output A U_sense = 0.1V per 1A provides voltage proportional to the A channel output
IB output Current sense output B U_sense = 0.1V per 1A provides voltage proportional to the B channel output
G - GND (ground) 0V reference node

The accuracy of current measurement is low. The total error may be up to 40%. The purpose of this output is e.g. indicating the motor stall or overload.

Encoder connection

The power motor driver is almost “transparent”. It means that you can connect the motor directly to the RoboCORE or to the power driver output - and it will work in the same way.

The encoder interface is really transparent and the motor connection pins are logically transparent which means that signal is not inverted.

Pin name Direction Pin function Voltage level Info
GND_E - Ground for encoder supply 0V 0V directly from RoboCORE hMotor output
+5V output Encoder supply voltage 5V 5V directly from RoboCORE hMotor output
ENC_A input Encoder input A 0 - 5V connect to encoder or limit switch
ENC_B input Encoder input B 0 - 5V connect to encoder or limit switch
robocore/hardware/motordriver.txt · Last modified: 2017/03/13 15:59 by