How does it work?
Diff Pressure Click is based on the MPXV5010DP, an integrated silicon pressure sensor on-chip signal conditioned, temperature compensated, and calibrated from NXP Semiconductor. This piezoresistive transducer combines advanced micromachining techniques, thin-film metallization, and bipolar processing to provide an accurate, high-level output signal proportional to the applied pressure. The two ports are designated as a Pressure side (P1) and a Vacuum side (P2), and the sensor is designed to operate with a positive differential pressure where P1 > P2. It can handle pressure from 0 up to 10KPa, with a maximum error rate of 5.0% in the temperature range between 0°and 85°C.
The MPXV5010DP has an analog output; thus, this Click board™ features the MCP3551, a low-power, single-channel 22-bit Delta-Sigma ADC from Microchip. The analog signal passes through this ADC to the host MCU with high accuracy, low noise, and a high oversampling rate. The Diff Pressure uses the MCP3551 and its 3-wire SPI serial interface to communicate with the host MCU over the mikroBUS™ socket, supporting SPI 0 and 1 modes with maximum speeds of up to 5MHz. For voltage logic level translation, this Click board™ features the TXB0106, a 6-bit bidirectional level-shifting and voltage translator with auto-direction sensing and ESD protection from Texas Instruments.
This Click board™ can operate with either 3.3V or 5V logic voltage levels selected via the 3V3 5V jumper. This way, both 3.3V and 5V capable MCUs can use the communication lines properly. However, the Click board™ comes equipped with a library containing easy-to-use functions and an example code that can be used, as a reference, for further development.
Specifications
Type
Pressure
Applications
Can be used for the development of applications based on differential pressure measurement for controlling industrial processes, hospital beds, HVAC, respiratory systems, washing machine water level, and more.
On-board modules
MPXV5010DP – integrated silicon pressure sensor from NXP Semiconductor
Key Features
Differential pressure sensor with measurement range of 0 up to 10KPa, two axial ports to accommodate industrial grade tubing, maximum error rate of 5.0%, durable epoxy unibody and thermoplastic, temperature compensated, and more
Interface
SPI
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
S (28.6 x 25.4 mm)
Input Voltage
3.3V or 5V
Pinout diagram
This table shows how the pinout on Diff pressure Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
– | PWR | – | Power LED Indicator |
JP1-4 | 3V3 5V | Left | Logic Voltage Level Selection 3V3/5V: Left position 3V3, Right position 5V |
Diff pressure Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | 3.3 | – | 5 | V |
Pressure Measurement Rangee | 0 | – | 10 | KPa |
Sensitivity | – | 450 | – | mV/mm |
ADC Resolution | – | 22 | – | bit |
Software Support
We provide a library for the Diff pressure Click as well as a demo application (example), developed using MIKROE compilers. The demo can run on all the main MIKROE development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for Diff pressure Click driver.
Key functions
-
Generic read data function.
-
Generic read data function.
-
Check status of measurement.
Example Description
This application is temperature compensated and calibrated pressure sensor.
void application_task ( void )
{
int32_t difference = 0;
int32_t adc_value = 0;
uint8_t difference_txt[ 20 ];
uint8_t adc_value_txt[ 20 ];
uint8_t status;
adc_value = diffpressure_read_data( &diffpressure );
difference = diffpressure_get_kpa_difference( &diffpressure, adc_value );
status = diffpressure_status_check( &diffpressure, adc_value );
if ( status == DIFFPRESSURE_OK )
{
log_printf( &logger, "ADC Value: %drn", adc_value_txt );
log_printf( &logger, "Difference: &drn", difference_txt );
log_printf( &logger, " [Pa] rn" );
Delay_ms( 3000 );
}
if ( status == DIFFPRESSURE_OVH )
{
log_printf( &logger, "Overflow happened" );
Delay_100ms( );
}
if ( status == DIFFPRESSURE_OVL )
{
log_printf( &logger, "Underflow happened" );
Delay_100ms( );
}
log_printf( &logger, "" );
}
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.diffpressure
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 MIKROE compilers.
mikroSDK
This Click board™ is supported with mikroSDK – MIKROE Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.