The MPXV6115V sensor is shaped so that a small tube can be attached to it, which simplifies interfacing with the object that produces a vacuum. This makes the sensor an ideal solution for monitoring the operation of various vacuum pumps, brake boosting parts, and other types of devices that operate using the vacuum that needs monitoring. The sensor also allows monitoring of the liquid level: as the liquid level drops, a vacuum is formed in a tube immersed in the measured liquid. By measuring the vacuum percentage in the tube, the liquid level can be easily estimated.
How does it work?
Vacuum click uses a highly advanced, integrated, monolithic vacuum sensor, labeled as MPXV6115V from NXP. This sensor features the piezo-resistive MEMS sensor element, combined with the integrated electronic elements that allow achieving a high degree of linearity, as well as a very low drift over temperature. The lower part of the sensor contains the necessary sensing elements, while the upper part of the sensor is shaped like the small tube and it is referred to as "port" in the datasheet. A small rubberized hose can easily be attachet to the inlet, so the vacuum producing counterpart is securely interfaced with the sensor. The design of the inlet prevents leakage that might appear if the sealing is not good enough.
The sensor itself outputs about 4.6V DC voltage on its output pin when it is located at the sea-level pressure. As the pressure decreases, the voltage drops towards 0V. The internal circuit ensures that the voltage drop is linear with the pressure. The MPXV6115V datasheet offers a graphic diagram that shows the output voltage with respect to the applied pressure. It can be utilized for absolute pressure measurement, allowing the exact value of the pressure to be extracted.
The second section of the Click board™ is an Analog-to-Digital converter (ADC). Vacuum click utilizes the MCP3221, a 12-bit successive approximation ADC, with I2C Interface, from Microchip. It is used to sample the output voltage from the sensor, providing data for the microcontroller (MCU) or some other device capable of communicating over I2C bus. The voltage is sampled out to a 12-bit value using 5V as a reference voltage. The connection between the ADC value and the voltage on the output pin is given by the formula:
VOUT = 5/4096 x VAL
Where VOUT is the output voltage of the sensor and VAL is the 12-bit ADC value. However, the Click board™ is supplied with the library that contains functions which automatically calculate values, providing vacuum percentage as the output.
The voltage output of the sensor is also directly available on the AN output and it is buffered with the operational amplifier, in the cases when the onboard 12-bit ADC accuracy is not high enough, or if some other type of conversion device needs to be used. The AN pin of the mikroBUS™ offers two output settings, which can be chosen by the SMD jumper. The jumper is labeled as VOUT and offers a selection of the output voltage. The default position (1V8) offers the output voltage from the sensor which is scaled down by the voltage divider. The maximum voltage value, in this case, should be about 1.85 V when used at the sea level, preventing damage in the case when used MCU is not 5V tolerant. If the used MCU has 5V tolerant pins, then the full voltage output can be used, providing the highest dynamic range for the external ADC. When the VOUT jumper is moved to the 4V6 position, there is no voltage scaling and the full sensor output is available at the AN pin of the mikroBUS™. This voltage ranges up to 4.6V at sea level (101.325 kPa). Please note that the output can also increase above this value when a positive pressure is applied to the sensor's pressure inlet (which is not advised).
Another onboard jumper labeled as I/O SEL offers a selection of the I2C communication voltage levels. This jumper can be used to interface the Click board™ both with the 3.3V and 5V MCUs, allowing a wide range of different MCUs to be used with the Click board™.
Specifications
Type | Pressure |
Applications | It can be used for monitoring vacuum percentage in various hydraulic or other type of devices that rely on a vacuum percentage for a proper operation: vacuum pumps, braking assemblies and similar |
On-board modules | MPXV6115V, a highly advanced, integrated monolithic vacuum sensor, labeled as MPXV6115V, from NXP; MCP3221, a 12bit D/A converter with I2C Interface, from Microchip; MCP6022, a rail-to-rail operational amplifier, from Microchip |
Key Features | High measurement accuracy, low drift over temperature, specially designed inlet port for simplified sealing in applications, very linear vacuum percentage readings, available in 12-bit format over I2C or via the buffered analog pin, and more |
Interface | I2C,Analog |
Input Voltage | 3.3V,5V |
Compatibility | mikroBUS |
Click board size | M (42.9 x 25.4 mm) |
Pinout diagram
This table shows how the pinout on IR Grid 2 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard jumpers and settings
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | - | Power LED indicator |
JP1 | VOUT SEL | Left | Analog voltage level selection: left position 1.8V, right position 4.6V |
JP2 | I/O SEL | Left | Logic voltage level selection: left position 3.3V, right position 5V |
Software support
We provide a library for the Vacuum click on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
The library initializes and defines the I2C bus driver.
The library includes the function for reading ADC data and the function for converting ADC value to the percentage of Vacuum and pressure in mBar.
The user also has the function for sensor calibration.
Key functions :
void vacuum_calibration()
- Sensor calibrationuint16_t vacuum_readData()
- The function for reads 12 bit ADC datafloat vacuum_getVoltage()
- The function for converting ADC value to pressure datafloat vacuum_getPercentageOfVacuum()
- The function for converting ADC value to percentage of VacuumExample description
The application is composed of three sections :
void applicationTask() { mikrobus_logWrite("Vacuum (voltage) : ", _LOG_TEXT); Vacuum_volt = vacuum_getVoltage(); FloatToStr(Vacuum_volt, demoText); mikrobus_logWrite(demoText, _LOG_TEXT); mikrobus_logWrite(" V", _LOG_LINE); mikrobus_logWrite("Percentage of vacuum: ", _LOG_TEXT); Vacuum = vacuum_getPercentageOfVacuum(); FloatToStr(Vacuum, demoText); mikrobus_logWrite(demoText, _LOG_LINE); mikrobus_logWrite(" ", _LOG_LINE); Delay_ms(300); }
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
Additional notes and information
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.
mikroSDK
This click board is supported with mikroSDK - MikroElektronika 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.
Downloads
mikroBUS™ Standard specification