Smart Buck Click Board
Smart Buck Click Board
The Smart Buck Click Board™ is the two-channel step-down DC/DC converter and regulator, with plenty of additional functions. It can provide voltage measurement at each of its two programmable voltage outputs, as well as the measurement of the current consumption. In addition, it can also provide power consumption measurements of the Smart Buck Click Board™, both at the mikroBUS +5V power rail, and the external voltage input terminal. Finally, there is 2kbit of EEPROM at disposal, which can be used for logging the measurements, storage of the working parameters, or any other type of general purpose data.
Software Support
We provide a demo application for the Smart Buck Click Board™ 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
Library offers a choice to communicate with all devices on the Smart Buck Click Board™. The library has the ability to control both regulators, both wipers on the potentiometer, EEPROM memory and main sense chip (PAC1934). User can get from driver functions voltage(V), current(mA) and power(mW) data for each activated channel on click. The user also can perform desired configurations, that includes a number of activated channels, data format (unsigned or signed) for each channel, and data selection, which determines a configuration for conversion cycle, one sample data or more samples (averaged data) will be converted in one conversion cycle. For more details check the documentation.
Key Functions
uint8_t smartbuck_writePot( uint8_t regAddr, uint16_t dataIn )
- The function writes 16bit data to the Potentiometer register (MCP4661).void smartbuck_enRegulator1( uint8_t state )
- Function puts Regulator1 to the desired state.uint8_t smartbuck_setConfigPAC( uint8_t enChann, uint8_t dataFormat, uint8_t dataSel )
- The function sets configuration for conversion cycle for PAC1934.void smartbuck_getData( float *voltage, float *current, float *power )
- The function reads and calculates the voltage, current and power data from PAC1934 activated channels.
Example Description
The application is composed of three sections:
- System Initialization - Initializes peripherals and pins.
- Application Initialization - Initializes I2C interface and performs the click configuration to work in Single-Shot Mode with signed averaged data of 64 samples. CH1 and CH3 are only activated and included in the conversion cycle.
- Application Task - (code snippet) - Sends command to update data registers with newly converted data, waits one second and after that reads new data from data registers. In this way, a user can get voltage, current and power data for activated channels. Results for activated channels logs on UART terminal. Note: If we want to update registers with new converted data, after at least one conversion cycle is done, we should send first REFRESH or REFRESH_V command, before data be read, which will update registers with new values. Also, these commands will update the Control register with new desired configurations.
void applicationTask() { smartbuck_sendCmdPAC( _SMARTBUCK_REFRESH_V_CMND ); Delay_ms( 1000 ); smartbuck_getData( &voltageRes[0], ¤tRes[0], &powerRes[0] ); checkByte = 0x80; index = 0; for (cnt = 0; cnt < 4; cnt++) { if ((enabledChann & checkByte) == 0) { channelLog(); FloatToStr( voltageRes[ index ], text ); mikrobus_logWrite( text, _LOG_TEXT ); mikrobus_logWrite( "V", _LOG_LINE ); FloatToStr( currentRes[ index ], text ); mikrobus_logWrite( text, _LOG_TEXT ); mikrobus_logWrite( "mA", _LOG_LINE ); FloatToStr( powerRes[ index ], text ); mikrobus_logWrite( text, _LOG_TEXT ); mikrobus_logWrite( "mW", _LOG_LINE ); index++; } checkByte >>= 1; } mikrobus_logWrite( "", _LOG_LINE ); }
Additional Functions :
- channelLog - Checks which channel is activated (from CH1 to CH4) and logs text on UART.
The full application code, and ready to use projects can be found on our Libstock page.
Other MikroElektronika libraries used in the example:
- Conversions
- I2C
- UART
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
The Smart Buck 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.
Smart Buck Click Board
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.