How does it work?
VCP Monitor 3 Click 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
GPIO,I2C,SPI
Feature
No ClickID
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).
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 | µΩ |
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.
Examples 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 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. 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.