发现充电效率的新标准,我们的锂电充电器完美结合速度和可靠性,确保您的设备始终准备好应对动态生活方式的需求。
A
A
硬件概览
它是如何工作的?
Charger 26 Click 基于 Analog Devices 的 MAX1811,这是一款 USB 供电的锂电充电器。MAX1811 的电压/电流调节器包括电压控制回路、电流控制回路和热控制回路。充电器允许您将电池调节电压设置为 4.1V 或 4.2V 的单节锂电池。它还允许您将电池的充电电流设置为 100mA 或 500mA 模式。需要注意的是,通过供电的 USB 主机充电时,可以选择 500mA 模式。而非供电的 USB 集线器则仅限于 100mA。Charger 26 Click 配备了电路,可以识别 MAX1811 是否通过 USB 供电。如果没有,MAX1811 将通过 5V mikroBUS™ 插座轨
供电。该电路由 MAX40200 组成,这是一款来自 Analog Devices 的超小型微功耗 1A 理想二极管,具有超低电压降,如果有 VUSB 存在,将保持 5V 轨。来自德州仪器的单输入双输入正 AND 门 SN74AHC1G08 可以防止 MAX1811 充电器在 Charger 26 Click 未连接到带有 mikroBUS™ 插座的开发板时从 UCB C 输入连接器供电。CHG 橙色 LED 用于指示充电状态。您可以通过 JST 输出连接器连接单节锂电池。在这样做之前,请仔细检查电池的极性。Charger 26 Click 使用 GPIO 与主 MCU 通信。您可以通过 VS 引脚选择电池调节电压,该引脚
通过上拉电阻设置为 4.2V 电池调节设定点。您还可以通过 IS 引脚选择电池调节电流,该引脚通过下拉电阻设置为 100mA 的最大电池调节电流。除了 CHG LED,充电状态还可以通过 CHG 输出引脚监控。使能 EN 引脚控制 MAX1811 充电器的使能输入,默认情况下通过上拉电阻使能。此 Click board™ 可以通过 VCC SEL 跳线选择使用 3.3V 或 5V 逻辑电压水平。这样,3.3V 和 5V 的 MCU 都可以正确使用通信线路。此外,这款 Click board™ 配备了包含易于使用功能和示例代码的库,可用于进一步开发。
功能概述
开发板
Fusion for TIVA v8 是一款专为快速开发嵌入式应用的需求而特别设计的开发板。它支持广泛的微控制器,如不同的32位ARM® Cortex®-M基础MCUs,来自Texas Instruments,无论它们的引脚数量如何,并且具有一系列独特功能,例如首次通过WiFi网络实现的嵌入式调试器/程序员。开发板布局合理,设计周到,使得最终用户可以在一个地方找到所有必要的元素,如开关、按钮、指示灯、连接器等。得益于创新的制造技术,Fusion for TIVA v8 提供了流畅而沉浸式的工作体验,允许在任何情况下、任何地方、任何
时候都能访问。Fusion for TIVA v8开发板的每个部分都包含了使同一板块运行最高效的必要组件。一个先进的集成CODEGRIP程序/调试模块提供许多有价值的编程/调试选项,包括对JTAG、SWD和SWO Trace(单线输出)的支持,并与Mikroe软件环境无缝集成。此外,它还包括一个干净且调节过的开发板电源供应模块。它可以使用广泛的外部电源,包括电池、外部12V电源供应和通过USB Type-C(USB-C)连接器的电源。通信选项如USB-UART、USB HOST/DEVICE、CAN(如果MCU卡支持的话)和以
太网也包括在内。此外,它还拥有广受好评的 mikroBUS™标准,为MCU卡提供了标准化插座(SiBRAIN标准),以及两种显示选项,用于TFT板线产品和基于字符的LCD。Fusion for TIVA v8 是Mikroe快速开发生态系统的一个组成部分。它由Mikroe软件工具原生支持,得益于大量不同的Click板™(超过一千块板),其数量每天都在增长,它涵盖了原型制作和开发的许多方面。
微控制器概述
MCU卡片 / MCU
类型
8th Generation
建筑
ARM Cortex-M4
MCU 内存 (KB)
1024
硅供应商
Texas Instruments
引脚数
212
RAM (字节)
262144
你完善了我!
配件
使用的MCU引脚
mikroBUS™映射器
“仔细看看!”
Click board™ 原理图
一步一步来
项目组装
实时跟踪您的结果
应用输出通过UART模式
1. 一旦代码示例加载完成,按下 "FLASH" 按钮将启动构建过程,并将其编程到创建的设置上。
2. 编程完成后,点击右上角面板中的工具图标,选择 UART 终端
3. 打开 UART 终端标签后,首先在选项菜单中检查波特率设置(默认是 115200)。如果该参数正确,通过点击 "CONNECT" 按钮激活终端。
4. 现在,终端状态从 Disconnected 变为绿色的 Connected,数据将显示在 Received data 字段中。
软件支持
库描述
该库包含 Charger 26 Click 驱动程序的 API。
关键功能:
charger26_set_vsel
- Charger 26 选择充电电压功能。charger26_set_isel
- Charger 26 选择充电电流功能。charger26_get_chg_state
- Charger 26 读取 CHG 引脚状态功能。
开源
代码示例
这个示例可以在 NECTO Studio 中找到。欢迎下载代码,或者您也可以复制下面的代码。
/*!
* @file main.c
* @brief Charger 26 Click Example.
*
* # Description
* This example demonstrates the use of Charger 26 click board by enabling the device
* and then reading and displaying the charger status.
*
* The demo application is composed of two sections :
*
* ## Application Init
* Initializes the driver and enables the device, sets the output
* voltage to 4.2 V and charging current to 100 mA.
*
* ## Application Task
* Tracking charging status, as soon as charging stops, device output is disabled.
*
* @author Stefan Ilic
*
*/
#include "board.h"
#include "log.h"
#include "charger26.h"
static charger26_t charger26; /**< Charger 26 Click driver object. */
static log_t logger; /**< Logger object. */
void application_init ( void )
{
log_cfg_t log_cfg; /**< Logger config object. */
charger26_cfg_t charger26_cfg; /**< Click config object. */
/**
* 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.
charger26_cfg_setup( &charger26_cfg );
CHARGER26_MAP_MIKROBUS( charger26_cfg, MIKROBUS_1 );
if ( DIGITAL_OUT_UNSUPPORTED_PIN == charger26_init( &charger26, &charger26_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
charger26_default_cfg ( &charger26 );
Delay_ms( 1000 );
log_printf( &logger, " Connect input power and battery. \r\n" );
Delay_ms( 5000 );
log_printf( &logger, " Enableing output. \r\n" );
charger26_enable_output ( &charger26, CHARGER26_ENABLE_OUTPUT );
while ( CHARGER26_PIN_STATE_LOW != charger26_get_chg_state( &charger26 ) )
{
log_printf( &logger, " Check connection. \r\n" );
Delay_ms( 1000 );
}
log_info( &logger, " Application Task " );
}
void application_task ( void )
{
if ( CHARGER26_PIN_STATE_LOW == charger26_get_chg_state( &charger26 ) )
{
log_printf( &logger, " Battery is charging. \r\n" );
}
else
{
log_printf( &logger, " Battery isn't charging, disabling output. \r\n" );
charger26_enable_output ( &charger26, CHARGER26_DISABLE_OUTPUT );
for ( ; ; );
}
Delay_ms( 1000 );
}
void main ( void )
{
application_init( );
for ( ; ; )
{
application_task( );
}
}
// ------------------------------------------------------------------------ END