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 H-bridge 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 cross-conduction 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 | OUTPUT | |||||
---|---|---|---|---|---|---|---|
END | DIR | GIN | IN1 | IN2 | M1 | M2 | S1 |
H | L | X | H ** | L | H ** | L | X |
H | H | X | L | H ** | L | H ** | X |
H | X | L | X | X | X | X | L |
H | X | H | X | X | X | X | Z |
L * | X | X | X | X | L | L | Z |
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
Brushed
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 modules
MPC17510, an H-Bridge DC motor driver, with up to 15V and 1.2A, 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
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
M (42.9 x 25.4 mm)
Input Voltage
3.3V or 5V
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).
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.