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]
Rating:
Author: MIKROE
Last Updated: 2018-09-27
Package Version: 1.0.0.0
mikroSDK Library: 1.0.0.0
Category: Measurements
Downloaded: 4166 times
Not followed.
License: MIT license
PWR Meter 2 click is a compact and accurate power monitoring Click board, capable of measuring and monitoring voltage up to 24V and current up to 5A.
Do you want to subscribe in order to receive notifications regarding "PWR Meter 2 click" changes.
Do you want to unsubscribe in order to stop receiving notifications regarding "PWR Meter 2 click" changes.
Do you want to report abuse regarding "PWR Meter 2 click".
Library Description
Library can communicate with the device via SPI driver by writting to the registers and reading from the registers. Library offers a choice to measure output voltage and current, depending on the input voltage supply, and can measure power by calculating this two data values. Library also can check the output state from modulator for both channels. The data resolution can be changed to 16, 24, and 32-bit. For more details check documentation.
Key functions:
uint8_t pwrmeter2_writeReg( uint8_t register_address, uint32_t transfer_data )
- Function writes 24-bit data to the register.uint8_t pwrmeter2_readReg( uint8_t register_address, uint32_t *dataOut, uint8_t nData )
- Function reads the desired number of 24-bit data from the register/registers.uint8_t pwrmeter2_readConvData( uint32_t *dataCH0, uint32_t *dataCH1 )
- Function reads the converted data from both channels when conversion is finished.void pwrmeter2_getData( int32_t *voltageData, int32_t *currentData, int32_t *powerData )
- Function gets the calculated voltage(mV), current(mA) and power(mW) data.Example description
The application is composed of three sections :
System Initialization - Initializes peripherals and pins.
Application Initialization - Initializes SPI driver and performs the hardware reset of the device.
Also performs the device configuration and gain calibration for both channels, for the properly working.
Application Task - (code snippet) - Gets calculated voltage, current and power data every 500 miliseconds
and shows results on UART.
void applicationTask()
{
pwrmeter2_getData( &voltageRes, ¤tRes, &powerRes );
LongToStr( voltageRes, text );
mikrobus_logWrite( "U = ", _LOG_TEXT );
mikrobus_logWrite( text, _LOG_TEXT );
mikrobus_logWrite( " mV", _LOG_LINE );
LongToStr( currentRes, text );
mikrobus_logWrite( "I = ", _LOG_TEXT );
mikrobus_logWrite( text, _LOG_TEXT );
mikrobus_logWrite( " mA", _LOG_LINE );
LongToStr( powerRes, text );
mikrobus_logWrite( "P = ", _LOG_TEXT );
mikrobus_logWrite( text, _LOG_TEXT );
mikrobus_logWrite( " mW", _LOG_LINE );
mikrobus_logWrite( "", _LOG_LINE );
Delay_ms( 500 );
}
Other MikroElektronika libraries used in the example:
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.