hallcurrent  2.0.0.0
Main Page

Hall Current click

Hall Current Click is a compact add-on board that contains a precise solution for AC/DC current sensing. This board features the TLI4970-D050T4, a 16-bit digital SPI output (13-bit current value) coreless magnetic current sensor designed for the current range of ±25A from Infineon Technology. A differential measurement principle allows effective stray field suppression with a highly linear output signal without hysteresis. Due to the integrated primary conductor (current rail), there is no need for external calibration. The TLI4970-D050T4 is highly accurate over temperature range and lifetime with fast overcurrent detection with a configurable threshold.

click Product page


Click library

  • Author : MikroE Team
  • Date : Dec 2019.
  • Type : SPI type

Software Support

We provide a library for the HallCurrent 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 form compilers IDE(recommended way), or downloaded from our LibStock, or found on mikroE github account.

Library Description

This library contains API for HallCurrent Click driver.

Standard key functions :

Example key functions :

Examples Description

The application is current sensor.

The demo application is composed of two sections :

Application Init

Initialization driver enable's - SPI and start write log.

void application_init ( void )
{
log_cfg_t log_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, "---- Application Init ----" );
// Click initialization.
HALLCURRENT_MAP_MIKROBUS( cfg, MIKROBUS_1 );
hallcurrent_init( &hallcurrent, &cfg );
log_printf( &logger,"------------------------\r\n" );
log_printf( &logger, " Hall Current \r\n" );
log_printf( &logger, "------------------------\r\n" );
}

Application Task

This is an example which demonstrates the use of Hall Current Click board.

void application_task ( void )
{
log_printf( &logger, " Current : %.3f A \r\n", hallcurrent_read_current( &hallcurrent ) );
log_printf( &logger, "------------------------\r\n" );
Delay_ms ( 1000 );
}

The full application code, and ready to use projects can be installed directly form compilers IDE(recommneded) or found on LibStock page or mikroE GitHub accaunt.

Other mikroE Libraries used in the example:

  • MikroSDK.Board
  • MikroSDK.Log
  • Click.HallCurrent

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. The terminal available in all Mikroelektronika compilers, or any other terminal application of your choice, can be used to read the message.


HALLCURRENT_MAP_MIKROBUS
#define HALLCURRENT_MAP_MIKROBUS(cfg, mikrobus)
Definition: hallcurrent.h:69
hallcurrent_read_data
uint16_t hallcurrent_read_data(hallcurrent_t *ctx)
Generic read 16-bit data function.
HALLCURRENT_SET_DATA_SAMPLE_EDGE
#define HALLCURRENT_SET_DATA_SAMPLE_EDGE
Data sample selection.
Definition: hallcurrent.h:93
hallcurrent_check_status
uint8_t hallcurrent_check_status(hallcurrent_t *ctx)
Check status of read data function.
application_task
void application_task(void)
Definition: main.c:62
hallcurrent_cfg_t
Click configuration structure definition.
Definition: hallcurrent.h:120
hallcurrent_t
Click ctx object definition.
Definition: hallcurrent.h:107
hallcurrent_cfg_setup
void hallcurrent_cfg_setup(hallcurrent_cfg_t *cfg)
Config Object Initialization function.
hallcurrent_read_current
float hallcurrent_read_current(hallcurrent_t *ctx)
Read electric current function.
application_init
void application_init(void)
Definition: main.c:32
hallcurrent_init
err_t hallcurrent_init(hallcurrent_t *ctx, hallcurrent_cfg_t *cfg)
Initialization function.