实现稳定且受控的输出电压,以满足电子设备的特定需求。
A
A
硬件概览
它是如何工作的?
Buck 11 Click基于德州仪器的LMR36015,这是一款同步降压转换器。这款先进的集成降压转换器需要的外部组件极少,市场上容易获得。它采用峰值电流模式控制架构,确保良好的效率和自动PFM/PWM模式切换。LMR36015降压转换器具有过流、欠压和热保护功能,使Buck 11 Click成为一种强大而可靠的电源解决方案。FB引脚上的反馈电压决定输出电压。输出电压设置为3.3V,使其可用于大多数嵌入式应用,允许它们与应用程序的其余部分从同一电源供电,可能使用较高电压运行。这在各种现场应用中是常见情况,需要相对较高的电压,如伺服、步进
电机、显示器等。当输出过载时,低侧MOSFET将允许电感电流下降。它将保持开启,直到通过电感器的电流低于限制。如果在过载期间FB电压下降过多,设备将进入打嗝模式,在此模式下设备尝试定期重启。LMR36015可以根据负载电流自动在PWM和PFM模式之间切换。在非常轻的负载下,设备在PFM模式下运行。在此模式下,高侧MOSFET以突发模式运行,之后LMR36015等待电感器中的电流下降到限制以下。这样,设备在轻负载消耗线圈内储存的能量时处于空闲状态。这大大提高了轻负载时的效率。在PWM模式下运行时,输出MOSFET
以恒定的PWM频率400kHz驱动,使用脉宽调制控制输出电压。这提供了良好的电压调节和低输出电压波动。由于采用了HotRod™技术,LMR36015在PCB上占用的面积很小。结合所需的外部组件数量少,LMR36015为使用额外的IC留出了足够的空间。该Click板使用MCP3221,这是一款来自Microchip的12位A/D转换器(ADC),使用I2C接口。它允许通过I2C接口监控输出电压。该ADC由+5V mikroBUS™电源轨供电。相同电压用作参考。Click板本身需要将外部电源连接到标有VIN的输入端子。VOUT端子为连接的负载提供稳定的3.3V电压。
功能概述
开发板
Clicker 2 for Kinetis 是一款紧凑型入门开发板,它将 Click 板™的灵活性带给您喜爱的微控制器,使其成为实现您想法的完美入门套件。它配备了一款板载 32 位 ARM Cortex-M4F 微控制器,NXP 半导体公司的 MK64FN1M0VDC12,两个 mikroBUS™ 插槽用于 Click 板™连接,一个 USB 连接器,LED 指示灯,按钮,一个 JTAG 程序员连接器以及两个 26 针头用于与外部电子设备的接口。其紧凑的设计和清晰、易识别的丝网标记让您能够迅速构建具有独特功能和特性
的小工具。Clicker 2 for Kinetis 开发套件的每个部分 都包含了使同一板块运行最高效的必要组件。除了可以选择 Clicker 2 for Kinetis 的编程方式,使用 USB HID mikroBootloader 或外部 mikroProg 连接器进行 Kinetis 编程外,Clicker 2 板还包括一个干净且调节过的开发套件电源供应模块。它提供了两种供电方式;通过 USB Micro-B 电缆,其中板载电压调节器为板上每个组件提供适当的电压水平,或使用锂聚合物 电池通过板载电池连接器供电。所有 mikroBUS™ 本
身支持的通信方法都在这块板上,包括已经建立良好的 mikroBUS™ 插槽、重置按钮和几个用户可配置的按钮及 LED 指示灯。Clicker 2 for Kinetis 是 Mikroe 生态系统的一个组成部分,允许您在几分钟内创建新的应用程序。它由 Mikroe 软件工具原生支持,得益于大量不同的 Click 板™(超过一千块板),其数量每天都在增长,它涵盖了原型制作的许多方面。
微控制器概述
MCU卡片 / MCU

建筑
ARM Cortex-M4
MCU 内存 (KB)
1024
硅供应商
NXP
引脚数
121
RAM (字节)
262144
使用的MCU引脚
mikroBUS™映射器
“仔细看看!”
Click board™ 原理图

一步一步来
项目组装
实时跟踪您的结果
应用程序输出
1. 应用程序输出 - 在调试模式下,“应用程序输出”窗口支持实时数据监控,直接提供执行结果的可视化。请按照提供的教程正确配置环境,以确保数据正确显示。

2. UART 终端 - 使用UART Terminal通过USB to UART converter监视数据传输,实现Click board™与开发系统之间的直接通信。请根据项目需求配置波特率和其他串行设置,以确保正常运行。有关分步设置说明,请参考提供的教程。

3. Plot 输出 - Plot功能提供了一种强大的方式来可视化实时传感器数据,使趋势分析、调试和多个数据点的对比变得更加直观。要正确设置,请按照提供的教程,其中包含使用Plot功能显示Click board™读数的分步示例。在代码中使用Plot功能时,请使用以下函数:plot(insert_graph_name, variable_name);。这是一个通用格式,用户需要将“insert_graph_name”替换为实际图表名称,并将“variable_name”替换为要显示的参数。

软件支持
库描述
该库包含Buck 11 Click驱动程序的 API。
关键功能:
buck11_read_adc
- ADC读取功能buck11_get_vout
- 获取VOUT功能buck11_get_averaged_vout
- 获取平均VOUT功能
开源
代码示例
完整的应用程序代码和一个现成的项目可以通过NECTO Studio包管理器直接安装到NECTO Studio。 应用程序代码也可以在MIKROE的GitHub账户中找到。
/*!
* \file
* \brief Buck11 Click example
*
* # Description
* This aplication control voltage using Buck 11.
*
* The demo application is composed of two sections :
*
* ## Application Init
* Initializes I2C serial interface and selects the desired VDD voltage value
* and VOUT value resolution (to get VOUT value in Volts).
*
* ## Application Task
* Reads the averaged VOUT voltage calculated to Volts by performing a 30 conversions
* in one measurement cycle. The measured results will be showed on the uart terminal every 300 milliseconds.
*
* *note:*
* The user should measure the VDD voltage value and enter this measured value to the function as VDD value to get
* more accurate measurement. This VDD voltage is used as reference voltage for the AD conversion.
*
* The input voltage (VIN) range is from 4.2V to 60V.
* The output current (IOUT) value should not be greater than 1.5A.
*
* \author MikroE Team
*
*/
// ------------------------------------------------------------------- INCLUDES
#include "board.h"
#include "log.h"
#include "buck11.h"
// ------------------------------------------------------------------ VARIABLES
static buck11_t buck11;
static log_t logger;
// ------------------------------------------------------ APPLICATION FUNCTIONS
void application_init ( void )
{
uint8_t vout_resol;
log_cfg_t log_cfg;
buck11_cfg_t cfg;
/**
* Logger initialization.
* Default baud rate: 115200
* Default log level: LOG_LEVEL_DEBUG
* @note If USB_UART_RX and USB_UART_TX
* are defined as HAL_PIN_NC, you will
* need to define them manually for log to work.
* See @b LOG_MAP_USB_UART macro definition for detailed explanation.
*/
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, "---- Application Init ----" );
// Click initialization.
buck11_cfg_setup( &cfg );
BUCK11_MAP_MIKROBUS( cfg, MIKROBUS_1 );
buck11_init( &buck11, &cfg );
Delay_ms( 500 );
buck11_set_vdd_value( 4.935 );
vout_resol = BUCK11_VOUT_VOLTS;
log_printf( &logger, "** Buck 11 is initialized ** \r\n" );
log_printf( &logger, "************************************* \r\n" );
Delay_ms( 200 );
}
void application_task ( )
{
float vout_value;
uint8_t vout_resol;
vout_value = buck11_get_averaged_vout( &buck11, vout_resol, 30 );
log_printf( &logger, "VOUT: %f", vout_value );
if ( vout_resol == BUCK11_VOUT_VOLTS )
{
log_printf( &logger, " V \r\n" );
}
else
{
log_printf( &logger, " mV \r\n" );
}
log_printf( &logger, "************************************* \r\n" );
Delay_ms( 300 );
}
void main ( void )
{
application_init( );
for ( ; ; )
{
application_task( );
}
}
// ------------------------------------------------------------------------ END