hbridge16  2.1.0.0
Main Page

H-Bridge 16 click

H-Bridge 16 Click is a compact add-on board with an H-Bridge gate driver, also known as a full-bridge pre-driver. This board features the DRV8262, a dual H-Bridge motor driver from Texas Instruments. The motor driver is designed for a variety of industrial applications and can drive one or two brushed DC motors, one stepper motor, and one or two thermoelectric coolers (TEC). It can operate in a wide supply voltage range of 4.5V to 65V.

click Product page


Click library

  • Author : Stefan Ilic
  • Date : Sep 2023.
  • Type : I2C type

Software Support

We provide a library for the H-Bridge 16 Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.

Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Library Description

This library contains API for H-Bridge 16 Click driver.

Standard key functions :

Example key functions :

Example Description

This example demonstrates the use of the H-Bridge 16 click board by

driving the motor in both directions with braking and freewheeling.

The demo application is composed of two sections :

Application Init

Initializes the driver and performs the click default configuration.

void application_init ( void )
{
log_cfg_t log_cfg;
hbridge16_cfg_t hbridge16_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
hbridge16_cfg_setup( &hbridge16_cfg );
HBRIDGE16_MAP_MIKROBUS( hbridge16_cfg, MIKROBUS_1 );
if ( I2C_MASTER_ERROR == hbridge16_init( &hbridge16, &hbridge16_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
if ( HBRIDGE16_ERROR == hbridge16_default_cfg ( &hbridge16 ) )
{
log_error( &logger, " Default configuration." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}

Application Task

This example is driving a motor in both directions with

motor braking and freewheeling in between.

void application_task ( void )
{
log_printf( &logger, " Motor in forward mode. \r\n" );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
log_printf( &logger, " Motor brake is on \r\n" );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
log_printf( &logger, " Motor in reverse mode. \r\n" );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
log_printf( &logger, " Motor is coasting \r\n" );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
}

The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Other Mikroe Libraries used in the example:

  • MikroSDK.Board
  • MikroSDK.Log
  • Click.HBridge16

Additional notes and informations

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. UART terminal is available in all MikroElektronika compilers.


hbridge16_t
H-Bridge 16 Click context object.
Definition: hbridge16.h:170
hbridge16_init
err_t hbridge16_init(hbridge16_t *ctx, hbridge16_cfg_t *cfg)
H-Bridge 16 initialization function.
application_task
void application_task(void)
Definition: main.c:65
hbridge16_cfg_setup
void hbridge16_cfg_setup(hbridge16_cfg_t *cfg)
H-Bridge 16 configuration object setup function.
HBRIDGE16_DRIVE_MOTOR_FREEWHEEL
#define HBRIDGE16_DRIVE_MOTOR_FREEWHEEL
Definition: hbridge16.h:112
hbridge16_cfg_t
H-Bridge 16 Click configuration object.
Definition: hbridge16.h:191
HBRIDGE16_DRIVE_MOTOR_BRAKE
#define HBRIDGE16_DRIVE_MOTOR_BRAKE
Definition: hbridge16.h:113
HBRIDGE16_MAP_MIKROBUS
#define HBRIDGE16_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition: hbridge16.h:155
HBRIDGE16_DRIVE_MOTOR_REVERSE
#define HBRIDGE16_DRIVE_MOTOR_REVERSE
H-Bridge 16 motor states setting.
Definition: hbridge16.h:110
application_init
void application_init(void)
Definition: main.c:29
hbridge16_default_cfg
err_t hbridge16_default_cfg(hbridge16_t *ctx)
H-Bridge 16 default configuration function.
HBRIDGE16_ERROR
@ HBRIDGE16_ERROR
Definition: hbridge16.h:211
HBRIDGE16_DRIVE_MOTOR_FORWARD
#define HBRIDGE16_DRIVE_MOTOR_FORWARD
Definition: hbridge16.h:111
hbridge16_set_mode
err_t hbridge16_set_mode(hbridge16_t *ctx, uint8_t mode_sel)
H-Bridge 16 set mode function.
hbridge16_set_out_state
err_t hbridge16_set_out_state(hbridge16_t *ctx, uint8_t out_state)
H-Bridge 16 set output function.
hbridge16_set_pins
err_t hbridge16_set_pins(hbridge16_t *ctx, uint8_t set_mask, uint8_t clr_mask)
H-Bridge 16 set pins function.