current7  2.0.0.0
Main Page

Current 7 click

Current 7 Click is a compact add-on board providing a precise and accurate current sensing solution. This board features the INA282, a wide common-mode range, bidirectional, high-accuracy current shunt monitor from Texas Instruments. The INA282 represents a voltage output current shunt monitor that can sense drops across shunts at common-mode voltages from –14 V to +80 V, independent of the supply voltage, which operates in a range from 2.7V up to 18V supply. The zero-drift topology enables high-precision measurements with maximum input offset voltages as low as 70μV. Also, the user is allowed to process the output signal in analog or digital form.

click Product page


Click library

  • Author : Nenad Filipovic
  • Date : Nov 2021.
  • Type : I2C type

Software Support

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

Standard key functions :

Example key functions :

  • current7_read_voltage This function reads raw ADC value and converts it to proportional voltage level.
    err_t current7_read_voltage ( current7_t *ctx, float *voltage );
  • current7_get_current This function reads the input current level [A] based on CURRENT7_NUM_CONVERSIONS of voltage measurements.
    err_t current7_get_current ( current7_t *ctx, float *current );
  • current7_set_vref This function sets the voltage reference for Current 7 click driver.
    err_t current7_set_vref ( current7_t *ctx, float vref );

Example Description

This library contains API for Current 7 Click driver. The demo application reads current ( A ).

The demo application is composed of two sections :

Application Init

Initializes I2C or AN driver and log UART.

void application_init ( void )
{
log_cfg_t log_cfg;
current7_cfg_t current7_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
current7_cfg_setup( &current7_cfg );
CURRENT7_MAP_MIKROBUS( current7_cfg, MIKROBUS_1 );
if ( I2C_MASTER_ERROR == current7_init( &current7, &current7_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}

Application Task

This is an example that demonstrates the use of the Current 7 Click board™. In this example, we read and display the current ( A ) data. Results are being sent to the Usart Terminal where you can track their changes.

void application_task ( void )
{
float current = 0;
current7_get_current( &current7, &current );
log_printf( &logger, " Current : %.3f A\r\n", current );
log_printf( &logger, "--------------------\r\n" );
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.Current7

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.


current7_init
err_t current7_init(current7_t *ctx, current7_cfg_t *cfg)
Current 7 initialization function.
current7_s
Current 7 Click context object.
Definition: current7.h:130
current7_cfg_t
Current 7 Click configuration object.
Definition: current7.h:145
application_task
void application_task(void)
Definition: main.c:60
CURRENT7_MAP_MIKROBUS
#define CURRENT7_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition: current7.h:106
current7_set_vref
err_t current7_set_vref(current7_t *ctx, float vref)
Current 7 set vref function.
current7_cfg_setup
void current7_cfg_setup(current7_cfg_t *cfg)
Current 7 configuration object setup function.
current7_read_voltage
err_t current7_read_voltage(current7_t *ctx, float *voltage)
Current 7 read voltage level function.
application_init
void application_init(void)
Definition: main.c:30
current7_get_current
err_t current7_get_current(current7_t *ctx, float *current)
Current 7 get current function.