TOP Contributors

  1. MIKROE (2784 codes)
  2. Alcides Ramos (403 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (132 codes)
  5. Bugz Bensce (97 codes)
  6. S P (73 codes)
  7. dany (71 codes)
  8. MikroBUS.NET Team (35 codes)
  9. NART SCHINACKOW (34 codes)
  10. Armstrong Subero (27 codes)

Most Downloaded

  1. Timer Calculator (140956 times)
  2. FAT32 Library (73507 times)
  3. Network Ethernet Library (58321 times)
  4. USB Device Library (48508 times)
  5. Network WiFi Library (44132 times)
  6. FT800 Library (43686 times)
  7. GSM click (30546 times)
  8. mikroSDK (29286 times)
  9. PID Library (27220 times)
  10. microSD click (26931 times)
Libstock prefers package manager

Package Manager

We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]

< Back
mikroSDK Library

H-Bridge 12 Click

Rating:

0

Author: MIKROE

Last Updated: 2024-10-31

Package Version: 2.1.0.8

mikroSDK Library: 2.0.0.0

Category: Brushed

Downloaded: 154 times

Not followed.

License: MIT license  

H Bridge 12 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 DRV8823, a 4-bridge serial interface motor driver from Texas Instruments.

No Abuse Reported

Do you want to subscribe in order to receive notifications regarding "H-Bridge 12 Click" changes.

Do you want to unsubscribe in order to stop receiving notifications regarding "H-Bridge 12 Click" changes.

Do you want to report abuse regarding "H-Bridge 12 Click".

  • Information
  • Comments (0)

mikroSDK Library Blog


H-Bridge 12 Click

H Bridge 12 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 DRV8823, a 4-bridge serial interface motor driver from Texas Instruments.

hbridge12_click.png

Click Product page


Click library

  • Author : Stefan Ilic
  • Date : Apr 2023.
  • Type : SPI type

Software Support

We provide a library for the H-Bridge 12 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 12 Click driver.

Standard key functions :

  • hbridge12_cfg_setup Config Object Initialization function.

    void hbridge12_cfg_setup ( hbridge12_cfg_t *cfg );
  • hbridge12_init Initialization function.

    err_t hbridge12_init ( hbridge12_t *ctx, hbridge12_cfg_t *cfg );
  • hbridge12_default_cfg Click Default Configuration function.

    err_t hbridge12_default_cfg ( hbridge12_t *ctx );

Example key functions :

  • hbridge12_write_config H-Bridge 12 write settings function.

    err_t hbridge12_write_config ( hbridge12_t *ctx, hbridge12_config_t config_data );
  • hbridge12_set_current_scale H-Bridge 12 set current scale function.

    void hbridge12_set_current_scale ( hbridge12_t *ctx, uint8_t channel_sel, uint8_t out1_curr_scale, uint8_t out2_curr_scale );
  • hbridge12_turn_clockwise H-Bridge 12 turn motor clockwise function.

    err_t hbridge12_turn_clockwise ( hbridge12_t *ctx, uint8_t channel_sel );

Example Description

This example demonstrates the use of the H-Bridge 12 Click board by driving the motor connected to OUT A and OUT B, 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;  /**< Logger config object. */
    hbridge12_cfg_t hbridge12_cfg;  /**< Click config object. */

    /** 
     * Logger initialization.
     * Default baud rate: 115200
     * Default log level: LOG_LEVEL_DEBUG
     * @note If USB_UART_RX and USB_UART_TX 
     * are defined as HAL_PIN_NC, you will 
     * need to define them manually for log to work. 
     * See @b LOG_MAP_USB_UART macro definition for detailed explanation.
     */
    LOG_MAP_USB_UART( log_cfg );
    log_init( &logger, &log_cfg );
    log_info( &logger, " Application Init " );

    // Click initialization.
    hbridge12_cfg_setup( &hbridge12_cfg );
    HBRIDGE12_MAP_MIKROBUS( hbridge12_cfg, MIKROBUS_1 );
    if ( SPI_MASTER_ERROR == hbridge12_init( &hbridge12, &hbridge12_cfg ) )
    {
        log_error( &logger, " Communication init." );
        for ( ; ; );
    }

    if ( HBRIDGE12_ERROR == hbridge12_default_cfg ( &hbridge12 ) )
    {
        log_error( &logger, " Default configuration." );
        for ( ; ; );
    }

    log_info( &logger, " Application Task " );
}

Application Task

Driving motor in both directions for 5 seconds with a motor braking and freewheeling in between.

void application_task ( void )
{
    log_printf( &logger, " Turning motor counterclockwise \r\n" );
    hbridge12_turn_counterclockwise( &hbridge12, HBRIDGE12_AB_BRIDGE_SEL );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );

    log_printf( &logger, " Turning motor brake on \r\n" );
    hbridge12_turn_brake_on( &hbridge12, HBRIDGE12_AB_BRIDGE_SEL );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );

    log_printf( &logger, " Turning motor clockwise \r\n" );
    hbridge12_turn_clockwise( &hbridge12, HBRIDGE12_AB_BRIDGE_SEL );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );

    log_printf( &logger, " Motor freewheeling \r\n" );
    hbridge12_freewheeling_on( &hbridge12, HBRIDGE12_AB_BRIDGE_SEL );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );
    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.HBridge12

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.


ALSO FROM THIS AUTHOR

DAC 9 Click

0

DAC 9 Click is a compact add-on board that contains a fully-featured, highly accurate digital-to-analog converter. This board features the DAC80501, a 16-bit voltage-output digital-to-analog converter with precision internal reference from Texas Instruments. It supports both I2C and SPI serial interface and offers a linearity of < 1 LSB. It also includes a 2.5V internal reference, giving full-scale output voltage ranges of 1.25V, 2.5V, or 5V, incorporate a Power-On Reset function, consume a low current of 1mA, and include a Power-Down feature that reduces current consumption to typically 15μA at 5V.

[Learn More]

Air Quality 11 Click

0

Air Quality 11 Click is a compact add-on board for monitoring and analyzing indoor air quality. This board features the ENS161, a multi-gas sensor from ScioSense based on metal oxide (MOX) technology, to detect a range of volatile organic compounds with high sensitivity. The board supports I2C and SPI communication protocols, allowing flexible integration with various MCU platforms. It can calculate equivalent CO2 and TVOC levels and provide standardized air quality indices directly on-chip.

[Learn More]

EEPROM 2 Click

0

EEPROM2 Click provides 2 Mbit (2,097,152 bits) of Electrically Erasable and Programmable Read Only Memory, organized in bytes. In other words, this Click board™ is an EEPROM memory medium with the capacity of 256 KB. The used EEPROM module has an impressive endurance of 4,000,000 write cycles and data retention period of over 200 years.

[Learn More]