TOP Contributors

  1. MIKROE (2784 codes)
  2. Alcides Ramos (405 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (133 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 (141632 times)
  2. FAT32 Library (74659 times)
  3. Network Ethernet Library (59129 times)
  4. USB Device Library (49168 times)
  5. Network WiFi Library (44942 times)
  6. FT800 Library (44461 times)
  7. GSM click (31122 times)
  8. mikroSDK (30037 times)
  9. microSD click (27531 times)
  10. PID Library (27512 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

Piezo Accel 2 50g Click

Rating:

0

Author: MIKROE

Last Updated: 2024-11-27

Package Version: 2.1.0.0

mikroSDK Library: 2.0.0.0

Category: Motion

Downloaded: 42 times

Not followed.

License: MIT license  

Piezo Accel 2 Click - 50g is a compact add-on board for precise vibration and motion monitoring in condition-based maintenance applications. This board features the 830M1-0050, a triaxial piezoelectric accelerometer from TE Connectivity, capable of detecting motion and acceleration along all three axes (X, Y, Z). The 830M1-0050 offers a ±50g range with a sensitivity of 25mV/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.

No Abuse Reported

Do you want to subscribe in order to receive notifications regarding "Piezo Accel 2 50g Click" changes.

Do you want to unsubscribe in order to stop receiving notifications regarding "Piezo Accel 2 50g Click" changes.

Do you want to report abuse regarding "Piezo Accel 2 50g Click".

  • Information
  • Comments (0)

mikroSDK Library Blog


Piezo Accel 2 50g Click

Piezo Accel 2 Click - 50g is a compact add-on board for precise vibration and motion monitoring in condition-based maintenance applications. This board features the 830M1-0050, a triaxial piezoelectric accelerometer from TE Connectivity, capable of detecting motion and acceleration along all three axes (X, Y, Z). The 830M1-0050 offers a ±50g range with a sensitivity of 25mV/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.

piezoaccel250g_click.png

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 50g 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 50g Click driver.

Standard key functions :

  • piezoaccel250g_cfg_setup Config Object Initialization function.

    void piezoaccel250g_cfg_setup ( piezoaccel250g_cfg_t *cfg );
  • piezoaccel250g_init Initialization function.

    err_t piezoaccel250g_init ( piezoaccel250g_t *ctx, piezoaccel250g_cfg_t *cfg );
  • piezoaccel250g_default_cfg Click Default Configuration function.

    err_t piezoaccel250g_default_cfg ( piezoaccel250g_t *ctx );

Example key functions :

  • piezoaccel250g_read_adc_data This function reads raw ADC values of X, Y, and Z axis, and the internal temperature sensor measurements.

    err_t piezoaccel250g_read_adc_data ( piezoaccel250g_t *ctx, piezoaccel250g_adc_data_t *data_out );
  • piezoaccel250g_fast_cmd_write This function writes the selected fast command by using SPI serial interface.

    err_t piezoaccel250g_fast_cmd_write ( piezoaccel250g_t *ctx, uint8_t fast_cmd );
  • piezoaccel250g_reg_read_multi This function reads a desired number of data bytes starting from the selected register by using SPI serial interface.

    err_t piezoaccel250g_reg_read_multi ( piezoaccel250g_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len );

Example Description

This example demonstrates the use of Piezo Accel 2 50g 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;  /**< Logger config object. */
    piezoaccel250g_cfg_t piezoaccel250g_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.
    piezoaccel250g_cfg_setup( &piezoaccel250g_cfg );
    PIEZOACCEL250G_MAP_MIKROBUS( piezoaccel250g_cfg, MIKROBUS_1 );
    if ( SPI_MASTER_ERROR == piezoaccel250g_init( &piezoaccel250g, &piezoaccel250g_cfg ) )
    {
        log_error( &logger, " Communication init." );
        for ( ; ; );
    }

    if ( PIEZOACCEL250G_ERROR == piezoaccel250g_default_cfg ( &piezoaccel250g ) )
    {
        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 )
{
    piezoaccel250g_adc_data_t adc_data;
    if ( PIEZOACCEL250G_OK == piezoaccel250g_read_adc_data ( &piezoaccel250g, &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.PiezoAccel250g

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

AD SWIO Click

0

AD-SWIO Click is a quad-channel software configurable input/output solution based on AD74412R. The AD74412R is a quad-channel software configurable input/output integrated circuit for building and process control applications.

[Learn More]

Servo Click

0

Servo Click is a 16-channel PWM servo driver with the voltage sensing circuitry. It can be used to simultaneously control 16 servo motors, each with its own programmable PWM signal.

[Learn More]

Brushless 24 Click

0

Brushless 24 Click is a compact add-on board that controls brushless DC (BLDC) motors with any MCU. This board features the DRV10866, a 3- phase sensorless motor driver from Texas Instruments with integrated power MOSFETs with current drive capability up to 800mA peak. The DRV10866 implements a 150° commutation (sensorless BEMF control scheme) for a 3-phase motor alongside a synchronous rectification mode of operation that achieves increased efficiency for motor driver applications. Besides choosing the motor speed and a wide operating voltage range of up to 5V, it also has several built-in protection circuits, such as undervoltage, lock detection, voltage surge protection, and overtemperature.

[Learn More]