当前位置: 首页 > backend >正文

几种直流电流采样方法

目录

1、低端电流采样

2、高端电流采样

3、集成数字功率计

4、霍尔效应电流传感器


在嵌入式系统设计中,电流测量是监控系统性能、优化能耗和确保安全运行的关键环节。无论是电池管理、电机控制还是工业电源系统,精确的电流采样都能提供重要数据支持。

本文深入探讨四种常见的直流电流采样方法:低端电流采样、高端电流采样、集成数字功率计和霍尔效应电流传感器。每种方法都有其独特的工作原理、电路设计、优缺点和适用场景。

1、低端电流采样

低端电流采样通过在负载与地之间串联一个分流电阻(通常为毫欧级)来测量电流。流经分流电阻的电流会产生一个微小的电压降,根据欧姆定律(V = I × R),通过测量该电压降即可计算电流。由于电压降通常较小(几十毫伏),需要使用运算放大器放大信号后送入模数转换器(ADC)进行测量。

负载连接在电源正极(V+)与分流电阻之间,分流电阻另一端接地。分流电阻两端的电压通过运算放大器(配置为非反相放大器,增益例如21)放大后,输出到微控制器的ADC引脚。可选地,可在放大器后添加一个电压跟随器以提高信号稳定性,防止ADC输入阻抗影响测量。

使用25mΩ分流电阻和OPA2365放大器(增益21),1A电流产生25mV电压降,放大后为0.525V,适合ADC测量。 

#define ADC_PIN A0
#define RS 0.025  // 分流电阻,单位:欧姆
#define G 21.0    // 放大器增益
#define V_REF 5.0 // ADC参考电压void setup() {Serial.begin(9600);
}void loop() {int adc_value = analogRead(ADC_PIN);float v_adc = (adc_value / 1023.0) * V_REF;float current = v_adc / (RS * G);Serial.print("Current: ");Serial.print(current, 3);Serial.println(" A");delay(1000);
}

上述代码读取ADC值,转换为电压(V_adc = ADC_value / 1023 × 5V),然后根据公式I = V_adc / (R_s × G)计算电流。假设分流电阻为25mΩ,增益为21,1A电流对应ADC值约为107,计算结果接近1A。 

2、高端电流采样

高端电流采样将分流电阻置于电源与负载之间,测量流经电阻的电流产生的电压降。由于分流电阻位于高电压侧,需要使用能够处理高共模电压的专用电流检测放大器(如AD8418)来放大信号。

分流电阻连接在电源与负载之间。AD8418的IN+引脚连接到分流电阻的电源侧,IN-引脚连接到负载侧,输出引脚直接连接到ADC。

使用25mΩ分流电阻和AD8418放大器,1A电流产生25mV电压降,放大后为0.5V。

#define ADC_PIN A0
#define RS 0.025  // 分流电阻,单位:欧姆
#define G 20.0    // 放大器增益
#define V_REF 5.0 // ADC参考电压void setup() {Serial.begin(9600);
}void loop() {int adc_value = analogRead(ADC_PIN);float v_out = (adc_value / 1023.0) * V_REF;float current = v_out / (G * RS);Serial.print("Current: ");Serial.print(current, 3);Serial.println(" A");delay(1000);
}

 代码与低端采样类似,但增益为20。1A电流对应ADC值约为102,计算结果接近1A。

3、集成数字功率计

集成数字功率计使用专用芯片(如INA229)直接测量电流、电压和功率。这些芯片内置高精度ADC(例如20位),通过SPI或I2C接口与微控制器通信,提供数字化的测量结果。

分流电阻串联在负载电路中,INA229的VIN+和VIN-引脚连接到分流电阻两端,VBUS引脚测量负载电压。INA229通过SPI接口与微控制器通信。

 使用10mΩ分流电阻和INA229,1A电流产生10mV电压降,INA229直接输出数字化的电流值。

#include <SPI.h>
#include <INA229.h>INA229 ina229;void setup() {Serial.begin(9600);SPI.begin();ina229.begin(); // 初始化INA229
}void loop() {float current = ina229.readCurrent();Serial.print("Current: ");Serial.print(current, 3);Serial.println(" A");delay(1000);
}

假设存在INA229的Arduino库,代码通过SPI接口读取电流值。实际应用中需根据数据手册配置寄存器。

4、霍尔效应电流传感器

霍尔效应电流传感器(如ACS758LCB-050B)利用霍尔效应测量电流产生的磁场,提供非接触式测量。传感器输出与电流成比例的电压,通常为中心点电压(Vcc/2)加上电流引起的偏移。

电流导体穿过传感器,传感器输出引脚(VIOUT)连接到ADC。传感器由3.3V或5V供电,输出电压范围与供电电压一致。

使用ACS758LCB-050B(±50A,灵敏度40mV/A),0A时输出2.5V(Vcc=5V),1A时输出2.54V。

#define ADC_PIN A0
#define V_REF 5.0 // ADC参考电压,与传感器Vcc相同
#define SENSITIVITY 0.04 // 灵敏度,单位:V/Avoid setup() {Serial.begin(9600);
}void loop() {int adc_value = analogRead(ADC_PIN);float v_out = (adc_value / 1023.0) * V_REF;float current = (v_out - V_REF / 2.0) / SENSITIVITY;Serial.print("Current: ");Serial.print(current, 3);Serial.println(" A");delay(1000);
}

代码读取ADC值,转换为输出电压(V_out),然后根据公式I = (V_out - Vcc/2) / 灵敏度计算电流。需确保V_REF与传感器供电电压一致。

选择电流采样方法时,需综合考虑以下因素:

  • 成本:低端采样成本最低,适合预算有限的项目。
  • 安全性:高端采样和霍尔效应传感器提供更高的安全性,适合汽车和工业应用。
  • 精度:集成数字功率计(如INA229)提供最高精度,适合高精度需求。
  • 电流范围:霍尔效应传感器适合高电流应用,低端和高端采样适合中小电流。
  • 功耗:集成数字功率计和霍尔效应传感器功耗较低,适合电池供电系统。
  • 复杂性:低端采样最简单,集成数字功率计需要通信协议配置。
http://www.xdnf.cn/news/8174.html

相关文章:

  • ADC 单次转换、连续转换、扫描转换和间接转换模式 详解。
  • MySQL 可观测性最佳实践
  • 怎样通过神经网络估计股票走向
  • Jeecg漏洞总结及tscan poc分享
  • 现代健康养生指南
  • 性能测试场景题
  • 高频晶振的信号完整性挑战:如何抑制EMI与串扰
  • 如何在 Windows 11/10 计算机上有效粉碎文件
  • 十二、Linux实现截屏小工具
  • [MH22D3开发笔记]1. 变量地址对齐,宏__ALIGNED的使用
  • MRI学习笔记-表征相似性分析(Representational Similarity Analysis, RSA)
  • Redis 中如何保证缓存与数据库的数据一致性?
  • 高性能算法RIME:基于物理的优化的霜冰优化算法
  • Golang——1、环境搭建与入门
  • 苍穹外卖06 HttpClient微信小程序开发 微信登录导入商品浏览功能代码
  • Vue3前后端分离用户信息显示方案
  • ModbusRTU转profibusDP网关接皖仪SFJ-16M 氦质谱检漏仪与PLC通讯
  • 虚拟小号查询技术解析
  • Redis进阶之高可用
  • 选新手机的参考:CPU型号、内存、外存、屏幕、摄像头以及电池等。
  • 详解受约束的强化学习(三、公式关系串联)
  • 【Linux 服务器磁盘映像备份与恢复实战指南】虚拟机备份,物理机上云都可以用这套方案!
  • 2025年气候持续大风,消纳减少,如何保收益?东润能源整体解决方案持续保收益保增长
  • C++:面试题汇总
  • 系统与账户安全
  • 一个纯粹基于jQuery和Django的SSE站内信通知的例子
  • 飞牛fnNAS远程映射盘符
  • PARSCALE:大语言模型的第三种扩展范式
  • CAD如何导出PDF?PDF如何转CAD?详细教程来了
  • Phantom 根据图片和文字描述,自动生成一段视频,并且动作、场景等内容会按照文字描述来呈现