安全测量交流电流,无需直接接触,适用于高压系统的安全监测
A
A
硬件概览
它是如何工作的?
AC Current 2 Click 是一款附加板,专为对导体中流动的交流电(AC)进行安全且精确的测量而设计。它特别适配 MIKROE 提供的 AC Current Sensor - 30A 等非接触式电流传感器,能够在不直接接触电路的情况下,监测高压装置中的电流,例如市电线路。凭借其电气隔离和非侵入式设计,该板非常适用于电流消耗监测、安全系统以及其他对用户安全和电路完整性有高要求的交流电流测量应用。本板配备了 3.5mm 音频插孔和接线端子,便于用户根据传感器探头的不同连接方式进行灵活安装。传感器探头基于电磁感应
原理运行,类似变压器,但没有初级线圈。导体中流动的交流电自然产生所需的电磁场,实现电流感应。探头采用可分式铁芯设计,可轻松夹住电缆进行测量,无需更改或干扰现有电气系统。为保证信号质量,传感器输出的电压首先通过 RC 滤波器,有效抑制电磁干扰(EMI)和射频噪声。随后,信号由 Microchip 出品的 MCP607 运算放大器进行放大,该器件具备轨到轨输出、极低的偏置电压与输入偏置电流,确保在各种工况下依然保持测量的准确性与稳定性。接着,放大的信号由 MCP3221 进行模数转换
(ADC),这是一款 12 位逐次逼近型 ADC,通过标准 I2C 接口与主控 MCU 通信。除数字输出外,AC Current 2 Click 还通过 AN 引脚提供模拟信号输出,用户如有需要可直接访问放大后的原始信号。该 Click 板™ 通过 VCC SEL 跳线支持 3.3V 和 5V 逻辑电平,方便不同电压等级的 MCU 正确连接通信接口。此外,本板还附带易于使用的软件库和示例代码,为二次开发提供便利参考。
功能概述
开发板
32L496GDISCOVERY Discovery 套件是一款功能全面的演示和开发平台,专为搭载 Arm® Cortex®-M4 内核的 STM32L496AG 微控制器设计。该套件适用于需要在高性能、先进图形处理和超低功耗之间取得平衡的应用,支持无缝原型开发,适用于各种嵌入式解决方案。STM32L496AG 采用创新的节能架构,集成
了扩展 RAM 和 Chrom-ART 图形加速器,在提升图形性能的同时保持低功耗,使其特别适用于音频处理、图形用户界面和实时数据采集等对能效要求较高的应用。为了简化开发流程,该开发板配备了板载 ST-LINK/V2-1 调试器/编程器,提供即插即用的调试和编程体验,使用户无需额外硬件即可轻松加载、调
试和测试应用程序。凭借低功耗特性、增强的内存能力以及内置调试工具,32L496GDISCOVERY 套件是开发先进嵌入式系统、实现高效能解决方案的理想选择。
微控制器概述
MCU卡片 / MCU

建筑
ARM Cortex-M4
MCU 内存 (KB)
1024
硅供应商
STMicroelectronics
引脚数
169
RAM (字节)
327680
你完善了我!
配件
AC 电流传感器是一种非侵入式设备,专为测量交流电流而设计。该分体式传感器可以轻松夹在火线或零线上,使其在各种应用中具有很强的通用性。它广泛应用于交流电机、照明设备和空气压缩机的电流测量、监控和保护。传感器的主要特点包括开口尺寸为 13mm x 13mm,导线长度为 1米,壳体与输出之间的介电强度为 1000V AC/1 分钟 5mA。它的工作温度范围为 -25°C 至 +70°C,符合 B 级电阻标准。内置采样电阻(RL)为 186Ω,非线性度为 ±3%。输出模式范围为 0 至 1V,可容纳输入电流从 0 到 10A AC。该 AC 电流传感器还具备符合 UL94-VO 的阻燃特性,确保在各种电气应用中进行可靠且安全的电流监控。

使用的MCU引脚
mikroBUS™映射器
“仔细看看!”
Click board™ 原理图

一步一步来
项目组装
软件支持
库描述
AC Current 2 Click 演示应用程序使用 NECTO Studio开发,确保与 mikroSDK 的开源库和工具兼容。该演示设计为即插即用,可与所有具有 mikroBUS™ 插座的 开发板、入门板和 mikromedia 板完全兼容,用于快速实现和测试。
示例描述
本示例演示如何使用 AC Current 2 Click 板,从连接到 Click 板输入端的交流电流传感器读取测量值。
关键功能:
accurrent2_cfg_setup- 初始化 Click 配置结构为默认初始值。accurrent2_init- 初始化使用此 Click 板所需的所有引脚和外设。accurrent2_read_current- 从 AC 电流传感器(30A/1V)读取电流测量值。
应用初始化
初始化驱动程序和日志记录器。
应用任务
持续读取交流电流值,并以安培(A)为单位记录测量数据。
开源
代码示例
完整的应用程序代码和一个现成的项目可以通过NECTO Studio包管理器直接安装到NECTO Studio。 应用程序代码也可以在MIKROE的GitHub账户中找到。
/*!
* @file main.c
* @brief AC Current 2 Click Example.
*
* # Description
* This example demonstrates how to use the AC Current 2 Click board for reading
* the measurements from the AC Current sensor attached to the Click board input.
*
* The demo application is composed of two sections:
*
* ## Application Init
* Initializes the driver and logger.
*
* ## Application Task
* Continuously reads the AC current value and logs the measured data in amperes (A).
*
* @note
* The AC Current sensor [MIKROE-2524] required for this Click board should
* have a specification of 30A/1A.
*
* @author Stefan Filipovic
*
*/
#include "board.h"
#include "log.h"
#include "accurrent2.h"
static accurrent2_t accurrent2; /**< AC Current 2 Click driver object. */
static log_t logger; /**< Logger object. */
void application_init ( void )
{
log_cfg_t log_cfg; /**< Logger config object. */
accurrent2_cfg_t accurrent2_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.
accurrent2_cfg_setup( &accurrent2_cfg );
ACCURRENT2_MAP_MIKROBUS( accurrent2_cfg, MIKROBUS_1 );
err_t init_flag = accurrent2_init( &accurrent2, &accurrent2_cfg );
if ( ( ADC_ERROR == init_flag ) || ( I2C_MASTER_ERROR == init_flag ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}
void application_task ( void )
{
float current = 0;
if ( ACCURRENT2_OK == accurrent2_read_current ( &accurrent2, ¤t ) )
{
log_printf( &logger, " AC Current : %.3f A\r\n\n", current );
Delay_ms ( 1000 );
}
}
int main ( void )
{
/* Do not remove this line or clock might not be set correctly. */
#ifdef PREINIT_SUPPORTED
preinit();
#endif
application_init( );
for ( ; ; )
{
application_task( );
}
return 0;
}
// ------------------------------------------------------------------------ END
额外支持
资源
类别:电流传感器
































