VCP Monitor 3 Click Board
VCP Monitor 3 Click Board
Overview
The VCP Monitor 3 Click Board™ is a high precision Voltage, Current and Power measurement Click Board™ with an input capable of taking up to 15V. It features the LTC2947, from Analog Devices, a high precision power and energy monitor with an internal sense resistor supporting up to ±30A. Three internal no latency delta-sigma ADCs ensure accurate measurement of voltage and current, with up to 0.5% voltage and 1% current accuracy while high-bandwidth analogue multiplication provides precise power measurement in a wide range of applications. An internal 300μΩ, temperature-compensated sense resistor minimizes efficiency loss while enabling high accuracy current measurement over the full temperature range. All measured values are stored in internal registers accessible via the selectable I2C or SPI interface. All these features make VCP Monitor 3 Click ideal for use in applications such as industrial measurements, electric vehicles, photovoltaic systems, telecom infrastructure, servers, and more.
The VCP Monitor 3 Click is supported by a mikroSDK compliant library, which includes functions that simplify software development. This Click Board™ comes as a fully tested product, ready to be used on a system equipped with the mikroBUS™ socket.
How Does The VCP Monitor 3 Click Board™ Work?
The VCP Monitor 3 Click Board™ is a high precision power and energy monitor with the capability of supporting up to ±30A with a low 9mA offset. Input Range allows 0V to 15V bus voltages with 0.5% measurement accuracy. The LTC2947 is responsible for measuring current, voltage, power, charge and energy with 1% current and charge accuracy and 1.2% power and energy accuracy. Additional features include an alert indication in case some of the thresholds are exceeded, and user-configurable GPIO pin for various functions. The LTC2947 possesses internal 300µΩ, temperature-compensated sense resistor that minimizes efficiency loss and external components, simplifying energy measurement applications while enabling high accuracy current measurement over the full temperature range. All measured quantities are stored in internal registers accessible via the selectable I2C/SPI interface. The LTC2947 features programmable high and low thresholds for all measured quantities to reduce digital traffic with the host.
Measuring a total of seven parameters: current, voltage, power, charge (coulombs), energy, and run time, as well as its own chip temperature, makes this click board excellent for high variety of applications. Main chip LTC2947 includes three no latency delta-sigma analog-to-digital converters to simultaneously measure current, voltage, and power. It also measures die temperature and derives the accumulated quantities charge, energy, and time using an on-board oscillator. It stores these values in internal registers that can be read out via the serial interface, configurable as either I2C or SPI. The LTC2947 keeps track of the minimum and maximum measured values for each of the measured quantities. Thresholds can be set for each parameter, and the LTC2947 will set the corresponding bit in the Alert register and optionally alert the host by pulling low on the ALERT pin when a threshold is exceeded. A GPIO pin is included that can be used for four different purposes. It can be configured as a general-purpose-logic input or output, as an output to automatically control a fan based on the LTC2947's internal silicon temperature measurement or as an input to enable and disable accumulation of charge, energy, and time.
The LTC2947 measures each input with an ADC specifically tailored for the task. Connections labeled as IM (Negative) and IP (Positive) are high side current sense inputs and must be tied in series with the load intended for the measurement. Voltage sense inputs VM (Negative) and VP (Positive) should be connected parallel to the load for a second ADC to measure the differential voltage between those two terminals. More information about the LTC2947's functionality, electrical specifications, and typical performance can be found in the attached datasheet.
VCP Monitor 3 Click supports both SPI and I2C communication interfaces, allowing it to be used with a wide range of different MCUs. The communication interface can be selected by moving SMD jumpers grouped under the COMM SEL to an appropriate position (SPI or I2C). The slave I2C address can also be configured by SMD jumpers under ADDR SEL when the Click board™ is operated in the I2C mode.
This Click Board™ is designed to be operated with both 3.3V and 5V logic levels that can be selected via VCC SEL jumper. This allows for both 3.3V and 5V capable MCUs to use the communication lines properly.
SPECIFICATIONS
Type | Measurements |
Applications | Can be used in applications including Servers, Telecom Infrastructure, Industrial, Electric Vehicles, Photovoltaics and more. |
On-board modules | LTC2947 - a high precision power and energy monitor with an internal sense resistor, from Analog Devices |
Key Features | Measures Current with ±30A range, Voltage with 0V to 15V input range, Power, Charge, Energy. Provides 0.5% Voltage Accuracy, 1% Current and Charge Accuracy, 1.2% Power and Energy Accuracy, Alerts When Thresholds Exceeded. |
Interface | I2C,SPI,GPIO |
Compatibility | mikroBUS |
Click board size | L (57.15 x 25.4 mm) |
Input Voltage | 3.3V or 5V |
PINOUT DIAGRAM
This table shows how the pinout on VCP Monitor 3 Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes | Pin | Pin | Notes | ||||
---|---|---|---|---|---|---|---|
NC | 1 | AN | PWM | 16 | IO | GPIO | |
NC | 2 | RST | INT | 15 | ALR | Alert pin | |
SPI Chip Select | CS | 3 | CS | RX | 14 | NC | |
SPI Clock | SCK | 4 | SCK | TX | 13 | NC | |
SPI Data OUT | MISO | 5 | MISO | SCL | 12 | SCL | I2C Clock |
SPI Data IN | MOSI | 6 | MOSI | SDA | 11 | SDA | I2C Data |
Power Supply | 3.3V | 7 | 3.3V | 5V | 10 | 5V | Power Supply |
Ground | GND | 8 | GND | GND | 9 | GND | Ground |
ONBOARD SETTINGS AND INDICATORS
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | - | Power LED Indicator |
LD2 | GPIO | - | User-configurable LED Indicator |
LD3 | ALERT | - | Alert LED Indicator |
JP1 | VCC SEL | Left | Power Supply Voltage Selection 3V3/5V, left position 3v3, right position 5v |
JP2 - JP5 | COMM SEL | Left | Communication interface selection: left position - SPI, right position - I2C |
JP6, JP7 | ADDR SEL | Right | I2C Slave Address selection: left position 0, right position 1 |
VCP MONITOR 3 CLICK ELECTRICAL SPECIFICATIONS
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Digital Supply Voltage | 1.8 | 3.3 | 5.5 | V |
Input Differential Voltage Range (VP - VM) | -0.3 | - | 15 | V |
Input Current Through IP and IM | -30 | - | 30 | A |
Internal Sense Resistor | 140 | 300 | 450 | µΩ |
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.
Software Support
We provide a library for the VCP Monitor 3 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 covers all the functions necessary to control VCP Monitor 3 click board. It initializes and defines the SPI and I2C bus drivers, and holds functions that allow full control of the device to the user. User can change operation mode, read: current, power, voltage, VCC voltage, energy, charge and base time. User can also use various read and write functions.
Key Functions
float vcpmonitor3_read_i ( );
- Function is used to get current in Amperes.float vcpmonitor3_read_p ( );
- Function is used to get power in Watts.float vcpmonitor3_read_v ( );
- Function is used to get voltage in Volts.
Example Description
The application is composed of three sections :
- System Initialization - Initializes I2C and LOG, and sets CS and PWM pins as output and INT pin as input.
- Application Initialization - Initalizes I2C driver and sets up the device.
- Application Task - This example shows capabilities of VCP Monitor 3 Click board by reading current, voltage, power, die temperature and voltage at DVCC and displaying the results via USART terminal.
void application_task( ) { float cur_data; float volt_data; float pow_data; float die_temp; float volt_vcc; cur_data = vcpmonitor3_read_i( ); FloatToStr( cur_data, log_txt ); mikrobus_logWrite( "Current : ", _LOG_TEXT ); mikrobus_logWrite( log_txt, _LOG_TEXT ); mikrobus_logWrite( " A", _LOG_LINE ); pow_data = vcpmonitor3_read_p( ); FloatToStr( pow_data, log_txt ); mikrobus_logWrite( "Power : ", _LOG_TEXT ); mikrobus_logWrite( log_txt, _LOG_TEXT ); mikrobus_logWrite( " W", _LOG_LINE ); volt_data = vcpmonitor3_read_v( ); FloatToStr( volt_data, log_txt ); mikrobus_logWrite( "Voltage : ", _LOG_TEXT ); mikrobus_logWrite( log_txt, _LOG_TEXT ); mikrobus_logWrite( " V", _LOG_LINE ); die_temp = vcpmonitor3_read_temp( ); FloatToStr( die_temp, log_txt ); mikrobus_logWrite( "Die Temperature : ", _LOG_TEXT ); mikrobus_logWrite( log_txt, _LOG_TEXT ); mikrobus_logWrite( deg_cel, _LOG_LINE ); volt_vcc = vcpmonitor3_read_vcc( ); FloatToStr( volt_vcc, log_txt ); mikrobus_logWrite( "Voltage at DVCC : ", _LOG_TEXT ); mikrobus_logWrite( log_txt, _LOG_TEXT ); mikrobus_logWrite( " V", _LOG_LINE ); mikrobus_logWrite( " ------------------------------- ", _LOG_LINE ); Delay_ms( 1000 ); }
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- I2C
- SPI
- UART
- Conversions
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 -
Software Support
We provide a library for the VCP Monitor 3 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 covers all the functions necessary to control VCP Monitor 3 click board. It initializes and defines the SPI and I2C bus drivers, and holds functions that allow full control of the device to the user. User can change operation mode, read: current, power, voltage, VCC voltage, energy, charge and base time. User can also use various read and write functions.
Key Functions
float vcpmonitor3_read_i ( );
- Function is used to get current in Amperes.float vcpmonitor3_read_p ( );
- Function is used to get power in Watts.float vcpmonitor3_read_v ( );
- Function is used to get voltage in Volts.
Example Description
The application is composed of three sections :
- System Initialization - Initializes I2C and LOG, and sets CS and PWM pins as output and INT pin as input.
- Application Initialization - Initalizes I2C driver and sets up the device.
- Application Task - This example shows capabilities of VCP Monitor 3 Click board by reading current, voltage, power, die temperature and voltage at DVCC and displaying the results via USART terminal.
void application_task( ) { float cur_data; float volt_data; float pow_data; float die_temp; float volt_vcc; cur_data = vcpmonitor3_read_i( ); FloatToStr( cur_data, log_txt ); mikrobus_logWrite( "Current : ", _LOG_TEXT ); mikrobus_logWrite( log_txt, _LOG_TEXT ); mikrobus_logWrite( " A", _LOG_LINE ); pow_data = vcpmonitor3_read_p( ); FloatToStr( pow_data, log_txt ); mikrobus_logWrite( "Power : ", _LOG_TEXT ); mikrobus_logWrite( log_txt, _LOG_TEXT ); mikrobus_logWrite( " W", _LOG_LINE ); volt_data = vcpmonitor3_read_v( ); FloatToStr( volt_data, log_txt ); mikrobus_logWrite( "Voltage : ", _LOG_TEXT ); mikrobus_logWrite( log_txt, _LOG_TEXT ); mikrobus_logWrite( " V", _LOG_LINE ); die_temp = vcpmonitor3_read_temp( ); FloatToStr( die_temp, log_txt ); mikrobus_logWrite( "Die Temperature : ", _LOG_TEXT ); mikrobus_logWrite( log_txt, _LOG_TEXT ); mikrobus_logWrite( deg_cel, _LOG_LINE ); volt_vcc = vcpmonitor3_read_vcc( ); FloatToStr( volt_vcc, log_txt ); mikrobus_logWrite( "Voltage at DVCC : ", _LOG_TEXT ); mikrobus_logWrite( log_txt, _LOG_TEXT ); mikrobus_logWrite( " V", _LOG_LINE ); mikrobus_logWrite( " ------------------------------- ", _LOG_LINE ); Delay_ms( 1000 ); }
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- I2C
- SPI
- UART
- Conversions
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 -
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.