hallcurrent19  2.1.0.0
Main Page

Hall Current 19 Click

Hall Current 19 Click is a compact add-on board designed for precise current sensing in various applications. This board features the CZ3AG2, a coreless current sensor from AKM Semiconductor. The CZ3AG2 offers high-accuracy and high-speed current sensing using Hall sensor technology, with features like stray magnetic field reduction and dual overcurrent detection.

Click Product page


Click library

  • Author : Stefan Ilic
  • Date : Feb 2024.
  • Type : ADC type

Software Support

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

Standard key functions :

Example key functions :

Example Description

This example demonstrates the use of Hall Current 19 Click board

by reading and displaying the current measurements.

The demo application is composed of two sections :

Application Init

Initializes the driver and logger, and set the zero voltage reference.

void application_init ( void )
{
log_cfg_t log_cfg;
hallcurrent19_cfg_t hallcurrent19_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
hallcurrent19_cfg_setup( &hallcurrent19_cfg );
HALLCURRENT19_MAP_MIKROBUS( hallcurrent19_cfg, MIKROBUS_1 );
if ( ADC_ERROR == hallcurrent19_init( &hallcurrent19, &hallcurrent19_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
log_printf( &logger, " Turn off the load current in the following 5 sec.\r\n" );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
if ( HALLCURRENT19_OK == hallcurrent19_set_zero_ref( &hallcurrent19 ) )
{
log_printf( &logger, " Process complete!\r\n");
}
else
{
log_error( &logger, " Zero reference." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}

Application Task

The demo application reads the current measurements [A] and displays the results.

Results are being sent to the UART Terminal, where you can track their changes.

void application_task ( void )
{
float voltage = 0;
if ( HALLCURRENT19_OK == hallcurrent19_get_current ( &hallcurrent19, &voltage ) )
{
log_printf( &logger, " Current : %.3f[A]\r\n\n", voltage );
Delay_ms ( 1000 );
}
if ( HALLCURRENT19_OCD_ACTIVE == hallcurrent19_get_oc1( &hallcurrent19 ) )
{
log_printf( &logger, " Current over 7A \r\n" );
}
if ( HALLCURRENT19_OCD_ACTIVE == hallcurrent19_get_oc2( &hallcurrent19 ) )
{
log_printf( &logger, " Current over 17.5A \r\n" );
}
}

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.HallCurrent19

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.


hallcurrent19_t
Hall Current 19 Click context object.
Definition: hallcurrent19.h:114
HALLCURRENT19_MAP_MIKROBUS
#define HALLCURRENT19_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition: hallcurrent19.h:101
hallcurrent19_cfg_t
Hall Current 19 Click configuration object.
Definition: hallcurrent19.h:129
hallcurrent19_cfg_setup
void hallcurrent19_cfg_setup(hallcurrent19_cfg_t *cfg)
Hall Current 19 configuration object setup function.
application_task
void application_task(void)
Definition: main.c:75
hallcurrent19_get_oc1
uint8_t hallcurrent19_get_oc1(hallcurrent19_t *ctx)
Hall Current 19 get over current detection 1 state function.
HALLCURRENT19_OCD_ACTIVE
#define HALLCURRENT19_OCD_ACTIVE
Hall Current 19 Over Current Detection values.
Definition: hallcurrent19.h:82
hallcurrent19_get_current
err_t hallcurrent19_get_current(hallcurrent19_t *ctx, float *current)
Hall Current 19 get current function.
hallcurrent19_set_zero_ref
err_t hallcurrent19_set_zero_ref(hallcurrent19_t *ctx)
Hall Current 19 set zero reference function.
hallcurrent19_init
err_t hallcurrent19_init(hallcurrent19_t *ctx, hallcurrent19_cfg_t *cfg)
Hall Current 19 initialization function.
application_init
void application_init(void)
Definition: main.c:29
hallcurrent19_get_oc2
uint8_t hallcurrent19_get_oc2(hallcurrent19_t *ctx)
Hall Current 19 get over current detection 2 state function.
HALLCURRENT19_OK
@ HALLCURRENT19_OK
Definition: hallcurrent19.h:145