piezoaccel225g  2.1.0.0
Main Page

Piezo Accel 2 25g Click

Piezo Accel 2 Click - 25g is a compact add-on board for precise vibration and motion monitoring in condition-based maintenance applications. This board features the 830M1-0025, a triaxial piezoelectric accelerometer from TE Connectivity, capable of detecting motion and acceleration along all three axes (X, Y, Z). The 830M1-0025 offers a ±25g range with a sensitivity of 50mV/g, providing reliable and accurate analog voltage outputs. It integrates a built-in RTD temperature sensor for simultaneous vibration and temperature monitoring, and the onboard MCP3562R 24-bit ADC converts these signals into high-resolution digital data. Communication is made through an SPI interface with additional interrupt and clock functionality for easy integration with a host MCU.

Click Product page


Click library

  • Author : Stefan Filipovic
  • Date : Apr 2024.
  • Type : SPI type

Software Support

We provide a library for the Piezo Accel 2 25g 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 Piezo Accel 2 25g Click driver.

Standard key functions :

Example key functions :

Example Description

This example demonstrates the use of Piezo Accel 2 25g Click board by reading and displaying

the ADC values of X, Y, and Z axis, and the internal temperature sensor measurements. Those data can be visualized on the SerialPlot application.

The demo application is composed of two sections :

Application Init

Initializes the driver and performs the Click default configuration for ADC measurements.

void application_init ( void )
{
log_cfg_t log_cfg;
piezoaccel225g_cfg_t piezoaccel225g_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
piezoaccel225g_cfg_setup( &piezoaccel225g_cfg );
PIEZOACCEL225G_MAP_MIKROBUS( piezoaccel225g_cfg, MIKROBUS_1 );
if ( SPI_MASTER_ERROR == piezoaccel225g_init( &piezoaccel225g, &piezoaccel225g_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
if ( PIEZOACCEL225G_ERROR == piezoaccel225g_default_cfg ( &piezoaccel225g ) )
{
log_error( &logger, " Default configuration." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}

Application Task

Reads the ADC values of X, Y, and Z axis, and the internal temperature sensor measurements

and displays them on the USB UART (SerialPlot) every 5ms approximately.

void application_task ( void )
{
if ( PIEZOACCEL225G_OK == piezoaccel225g_read_adc_data ( &piezoaccel225g, &adc_data ) )
{
log_printf ( &logger, "%lu;%lu;%lu;%lu;\r\n", adc_data.raw_x, adc_data.raw_y,
adc_data.raw_z, adc_data.raw_temp );
}
}

Note

We recommend using the SerialPlot tool for data visualization. The temperature measurements

should be visualized independently. The data format for plotter is as follows: X;Y;Z;TEMP;

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

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.


PIEZOACCEL225G_ERROR
@ PIEZOACCEL225G_ERROR
Definition: piezoaccel225g.h:391
piezoaccel225g_read_adc_data
err_t piezoaccel225g_read_adc_data(piezoaccel225g_t *ctx, piezoaccel225g_adc_data_t *data_out)
Piezo Accel 2 25g read adc data function.
piezoaccel225g_cfg_t
Piezo Accel 2 25g Click configuration object.
Definition: piezoaccel225g.h:366
piezoaccel225g_adc_data_t::raw_x
uint32_t raw_x
Definition: piezoaccel225g.h:335
piezoaccel225g_adc_data_t::raw_y
uint32_t raw_y
Definition: piezoaccel225g.h:336
piezoaccel225g_fast_cmd_write
err_t piezoaccel225g_fast_cmd_write(piezoaccel225g_t *ctx, uint8_t fast_cmd)
Piezo Accel 2 25g fast cmd write function.
piezoaccel225g_t
Piezo Accel 2 25g Click context object.
Definition: piezoaccel225g.h:347
application_task
void application_task(void)
Definition: main.c:70
PIEZOACCEL225G_OK
@ PIEZOACCEL225G_OK
Definition: piezoaccel225g.h:390
piezoaccel225g_reg_read_multi
err_t piezoaccel225g_reg_read_multi(piezoaccel225g_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
Piezo Accel 2 25g reg read multi function.
application_init
void application_init(void)
Definition: main.c:34
piezoaccel225g_adc_data_t::raw_temp
uint32_t raw_temp
Definition: piezoaccel225g.h:338
PIEZOACCEL225G_MAP_MIKROBUS
#define PIEZOACCEL225G_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition: piezoaccel225g.h:318
piezoaccel225g_adc_data_t
Piezo Accel 2 25g Click adc data object.
Definition: piezoaccel225g.h:334
piezoaccel225g_default_cfg
err_t piezoaccel225g_default_cfg(piezoaccel225g_t *ctx)
Piezo Accel 2 25g default configuration function.
piezoaccel225g_init
err_t piezoaccel225g_init(piezoaccel225g_t *ctx, piezoaccel225g_cfg_t *cfg)
Piezo Accel 2 25g initialization function.
piezoaccel225g_cfg_setup
void piezoaccel225g_cfg_setup(piezoaccel225g_cfg_t *cfg)
Piezo Accel 2 25g configuration object setup function.
piezoaccel225g_adc_data_t::raw_z
uint32_t raw_z
Definition: piezoaccel225g.h:337