H-Bridge 2 click
PID: MIKROE-3000
Weight: 25 g
H-Bridge 2 click can be used to drive a motor by utilizing a specific configuration of the
output stage MOSFETs, known as the H-bridge. This configuration enables H-Bridge 2 click
to drive a motor with up to 1.2A and 15V, providing control of the speed and direction, as
well as the dynamic (rheostatic) braking capability. The Click board™ uses a monolithic Hbridge IC, which implements a set of features that provide trouble-free operation of the
connected motor, such as the undervoltage detection, shoot-through current protection,
efficient output stage MOSFETs with low RDSON, level shifted output for an external
MOSFET control and more.
These features allow the H-Bridge 2 to easily and effortlessly control small DC motors. It
can be used for a wide range of different applications which require easy and simple motor
speed and direction control, such as small mechanized toys, prototype robots, different
kind of movement actuators, and similar. Besides the driver IC, the H-Bridge 2 click is also
equipped with an onboard MOSFET, so it can control an additional DC motor, or some other
type of load, in an ON/OFF manner.
How does it work?
The main component used on the H-Bridge 2 click is the MPC17510, an H-Bridge DC motor
driver, with up to 15V and 1.2A, from NXP. This IC is an efficient integrated H-bridge driver,
with very low RDS ON output stage MOSFETs. H-bridge in general, allows the current to flow
in one or another direction. To achieve this, a special network of four output MOSFETs is
used, so that only two conduct the current through the source. Switching the biasing of the
MOSFET pairs, allows current to flow in both directions. A particular problem can be
simultaneous switching of all MOSFETs, which results in short-circuit through a pair of
MOSFETs. This leads to a destruction of the IC. To prevent this, MPC17510 employs crossconduction suppression timings and logic, ensuring that only one pair of MOSFETS is
conducting at a time.
If the input voltage of either the logic section or the power section drops under the detection
threshold, the H-Bridge 2 click outputs will become tri-stated, meaning that the outputs will be put
into a high impedance mode (disconnected). The onboard jumper labeled as VIN SEL allows
selection between the mikroBUS™ power rail (selected by another jumper, labeled as VCC SEL) and
the external voltage input (up to 15V) from the VIN screw terminal. It should be noted that the
mikroBUS™ only allows enough power for light loads (smaller motors), thus the external voltage
input should be selected when working with heavier loads.
H-Bridge 2 click is controlled via several pins:
The EN pin of the MPC17510 is routed to the CS pin of the mikroBUS™, which is labeled as
END on the Click board™. When set to a HIGH logic level, this pin enables the IC itself. By
pulling this pin to a LOW logic state, both of the low-side MOSFETs will be biased and
conductive, performing the dynamic motor braking. The pin is pulled up internally, so the
IC will be enabled, even if the END pin is left afloat.
The #GIN pin is used to drive the gate of the external MOSFET. This pin is routed to the AN
pin of the mikroBUS™, labeled as the GIN. The Click board™ can drive an external MOSFET,
which can be used as an auxiliary switch for controlling either another small motor or
some other type of load, with up to 15V and no more than 200mA of continuous current.
When the #GIN pin is driven to a LOW logic level, the external MOSFET becomes biased and
conductive, allowing current to flow through a load connected between the S1 and S2
inputs of the onboard screw terminal. This pin is also pulled up internally so that the
external MOSFET is not conductive if this pin is left afloat.
PWM and RST pins of the mikroBUS™, labeled as PWM and DIR on the Click board™, are
routed to the 74LVC1G3157, a two-channel analog multiplexer/demultiplexer IC, from
Nexperia. This IC is used to route the PWM signal from the MCU, to either IN1 or IN2 inputs
of the MPC17510 IC. The 74LVC1G3157 IC is driven by a logic state applied to the DIR pin:
when the DIR is set to a HIGH logic level, the PWM signal will be routed from the PWM pin
to the IN2 input pin of the MPC17510 IC. Else, the PWM signal will be routed to the IN1
input pin of the MPC17510 IC. Depending on the PWM signal path, the motor will rotate
either in clockwise or counter-clockwise direction, with the speed determined by the pulse
width ratio of the applied PWM signal. This way, the rotation direction is simply controlled
by a logic state applied to the DIR pin, while the motor rotation speed is controlled by the
PWM pulse ratio, applied to the PWM pin. The PWM signal frequency should stay below
200kHz. To better understand how to operate the H-Bridge 2 click, there is a truth table,
provided below the text.
Besides the VIN SEL and the VCC SEL jumpers, the Click board™ also has three screw
terminals, used to connect external voltage (VIN, GND), auxiliary load (S1, S2), and main
load, motor (M1, M2). These terminals ensure simple, firm and secure connection of all the
necessary conductors.
The H-Bridge 2 click comes with a mikroC, mikroBASIC, and mikroPASCAL compilers
compatible library, which contains functions for easy and simple operating of this Click
board™. The provided example application demonstrates their usage and can be used as a
reference for custom projects.
Truth table
MIKROBUS PINS
MPC17510 PINS
END
DIR
GIN
H
L
X
H
H
X
L
H
X
L
X
X
X
X
L
H
X
H
X
X
X
X
Z
L
X
X
X
X
L
L
Z
*
IN1
H
IN2
OUTPUT
L
**
H
M1
H
**
**
L
M2
S1
L
X
H
**
X
H = High
L = Low
Z = High impedance
X = Disregarded
* = Dynamic braking
** = HIGH logic level, or a PWM signal from the MCU
NOTE: S2 is connected to the positive input voltage rail.
Specifications
Type
DC
Applications
Can be used for a wide range of different applications which require
easy and simple motor speed and direction control, such as small
mechanized toys, prototype robots, different kind of movement
actuators, and similar
On-board
MPC17510, an H-Bridge DC motor driver, with up to 15V and 1.2A,
modules
from NXP; 74LVC1G3157, a two channel analog
multiplexer/demultiplexer from Nexperia
Key Features
Simple and easy motor driving by a monolithic H-bridge IC with
overshoot current protection, high efficiency output stage MOSFETs,
dynamic braking, undervoltage protection, motor speed control with
PWM signal up to 200kHz, and more
Interface
GPIO
Input
Voltage
3.3V,5V
Click board
size
M (42.9 x 25.4 mm)
Pinout diagram
This table shows how the pinout on H-Bridge 2 click corresponds to the pinout on the
mikroBUS™ socket (the latter shown in the two middle columns).
Notes
Pin
Pin
Notes
GOUT pin control
GIN
1
AN
PWM
16
PWM
Speed control
Direction control
DIR
2
RST
INT
15
NC
Enable device
END
3
CS
RX
14
NC
NC
4
SCK
TX
13
NC
NC
5
MISO
SCL
12
NC
NC
6
MOSI
SDA
11
NC
Power Supply
+3V3
7
3.3V
5V
10
+5V
Power Supply
Ground
GND
8
GND
GND
9
GND
Ground
Onboard settings and indicators
Label
Name
Default
Description
TB1
VIN
-
External voltage input screw terminal
TB2
M1,M2
-
Output screw terminal
TB3
S1,S2
-
Auxiliary load connector
JP1
VIN SEL
Right
Input voltage selection: left position VIN,
right position VCC
JP2
VCC SEL
Right
Power supply voltage selection: left position
3V3, right position 5V
LD1
PWR
-
Power LED indicator
Software support
We provide a library for H-Bridge 2 click on our Libstock page, as well as a demo
application (example), developed using MikroElektronika compilers and mikroSDK. The
provided click library is mikroSDK standard compliant. The demo application can run on all
the main MikroElektronika development boards.
Library Description
The library performs the control of the device outputs and in the way, it is possible to
perform control of the small DC motor. For more details check the documentation.
Key functions:
uint8_t hbridge2_setOutput( uint8_t outState ) - Function puts outputs (OUT1 (M1)
and OUT2 (M2) ) to the desired state.
void hbridge2_enable( uint8_t state ) - Function puts the device in enable or disable
state.
void hbridge2_setGOUT( uint8_t state ) - Function controls the state of the GOUT pin
(MOSFET GAIN).
Examples Description
The application is composed of three sections:
•
System Initialization - Initializes peripherals and pins.
•
Application Initialization - Initializes GPIO driver and puts the device to enable state,
and the GPIO pin to logic high state.
Application Task - (code snippet) - Demonstrates the control of output pins by put output pins to
different states. The outputs can be changed after every 3 seconds.
•
void applicationTask()
{
hbridge2_setOutput( _HBRIDGE2_OUT1_H_OUT2_L );
Delay_ms( 3000 );
hbridge2_setOutput( _HBRIDGE2_OUT1_L_OUT2_H );
Delay_ms( 3000 );
hbridge2_setOutput( _HBRIDGE2_OUT1_Z_OUT2_Z );
Delay_ms( 3000 );
}
The full application code, and ready to use projects can be found on our Libstock page.
Additional notes and information
Depending on the development board you are using, you may need USB UART click, USB
UART 2 click or RS232 click to connect to your PC, for development systems with no UART
to USB interface available on the board. The terminal available in all
MikroElektronika compilers, or any other terminal application of your choice, can be used
to read the message.
mikroSDK
This Click board™ is supported with mikroSDK - MikroElektronika Software Development
Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications,
mikroSDK should be downloaded from the LibStock and installed for the compiler you are
using.
For more information about mikroSDK, visit the official page.
Downloads
mikroBUS™ Standard specification
LibStock: mikroSDK
Libstock: H-Brigde 2 click library
H-Bridge 2 click: 2D and 3D files
MCP17510 datasheet
H-Bridge 2 click schematic
https://www.mikroe.com/h-bridge-2-click 5-11-18