电子说
一、工作原理 :
SD712是一款高性能集成式霍尔效应电流传感器芯片。该系列内部集成了一颗高精度、低噪声的线性霍尔和一根低阻抗的主电流回路导线,当采样电流流经主电流回路时,其产生的磁场在霍尔电路上感应出相应的电信号,经过信号处理电路输出电压信号,使得产品输出严格地与被测电流值成比例。
SD712设计中使用了差分电流检测技术,从而保证了芯片的精度。电流传感器静态输出为2.5V固定电压或50%VCC。在电源电压5V条件下,传感器静态输出可以在0.2~4.8V之间随磁场线性变化,线性度可达0.4%。
二、引脚描述 :
SD712采用SOP8 封装,其引脚分布如上图所示,采用单电源5V 供电。 各引脚的功能介绍下表所示, 其中引脚 1 和 2、 3 和 4 均内置有保险, 为待测电流的两个输入端,当检测直流电流时,1和 2、 3 和 4 分别为待测电流的输入端和输出端。
三、推荐电路:
SD712典型应用电路包含有VCC与地之间的滤波电容CVcc,以及一个输出与地之间的可选配的滤波电容CVout。在被测电流的输入端,管脚1和管脚2短接在一起,作为被测电流的输入端,管脚3和管脚4短接在一起,作为被测电流的输出端,传感器的模拟输出信号与被测的交直流电流完全成正比。6脚用于出厂检测和编程可以不接。
四、Arduino示例代码
/************************************************************
************************************************************/
const int VOUT_PIN = A0; // 模拟输入引脚
// 传感器固定参数(来自型号 SD712-F-B-20)
const float V_OFFSET = 2.5; // 零点电压 (V)
const float SENSITIVITY = 0.020; // 灵敏度 (V/A)
// Arduino Uno ADC 参数
const float VREF = 5.0; // ADC 参考电压(默认 5V)
const float ADC_RES = 1024.0; // 10 位分辨率,最大计数 1023
void setup() {
Serial.begin(115200); // 初始化串口通信
analogReference(DEFAULT); // 使用默认参考电压(5V)
delay(100);
Serial.println("SD712 Current Sensor Reader");
Serial.println("Vout(V), Current(A)");
}
void loop() {
// 读取 ADC 原始值(0~1023)
int raw = analogRead(VOUT_PIN);
// 计算传感器输出电压
float voltage = raw * (VREF / ADC_RES);
// 计算电流(双向,正负均有意义)
float current = (voltage - V_OFFSET) / SENSITIVITY;
// 通过串口输出结果
Serial.print("Vout: ");
Serial.print(voltage, 3); // 保留 3 位小数
Serial.print(" V, Current: ");
Serial.print(current, 3);
Serial.println(" A");
delay(500); // 0.5 秒刷新一次
}
五、输出计算公式
以SD712FB20为例,F表示电流为0是V OUT =2.5V 固定2.5V输出的意思。
灵敏度是100mV/Gs,V CC =5V, 双向测量范围±20mA.
计算公式V OUT =2.5V+0.1*I~p~~~
实际使用时,如果你的被测电流范围较窄(例如±50A),只需关注中间区域。传感器线性度 0.4%,因此实际值可能轻微偏离理论计算。
全部0条评论
快来发表一下你的评论吧 !