原文链接:https://www.yourcee.com/newsinfo/2929597.html
MAX4080S
MAX4080S简介
MAX4080是高端的电流感应放大器,输入电压范围从4.5V延伸到76V,使它们成为电信行业、其他高压电流监测系统的理想选择。MAX4080是为单向电流感测应用而设计的,与MAX4081不同的是,MAX4081需要一个外部引用来设置零电流输出电平(VSENSE=0V),充电电流用VREF到VCC的输出电压表示,放电电流由VREF到GND表示。而MAX4080不需要外接设置零电流输出电平,即无需单独外接基准电压,实时电流由OUT引脚输出的电压表示。
工作电压:4.5V - 76V
测量耐压:4.5V - 76V
具体参数
引脚说明:
- RS+:与外部感应电阻器的电源连接,即被测电路输入正极
- VCC:模块供电正极
- GND:接地
- OUT:电压输出。对于单向的MAX4080,VOUT与VSENSE成正比
- RS-:加载连接到外部感应电阻器,即被测电路输出负极
实验说明
了解了MAX4080S的特性下面开始进入主题,
除了MAX4080S模块外,我们还需要用到Arduino 单片机,本次实验用的是Arduino UNO板,由于Arduino UNO自带有10位的ADC可用于(够用)处理MAX4080S模块输出的模拟量。
同时为了方便查看测量的电流值,还需要一个屏幕,本次实验用到的是0.96寸SSD1306的OLED屏幕,用于打印实时电流值。
由于本次实验模块是由arduino UNO的5v供电 所以测量的电流最大只能测量到800mA。
通过更改供电电压可以实现测量不同的量程。
实验
接线
Arduino UNO | MAX4080S | OLED |
---|---|---|
5V | VCC | VCC |
GND | GND | GND |
A2 | OUT | |
SDA | SDA | |
SCL | SCL |
RS+和RS-串联到被测电路中。
代码
实验用到了Arduino 的U8g2库来驱动OLED
通过
u8g2.print("")
语句把换算后的模拟量-电压值和电流值打印到OLED上面
由于读取到的模拟量会有小幅度的跳动,所以通过多次取样再取平均值的方法去提高读数的准确性
float ReadData(int Datapin)
{
float reading = 0;
analogRead(Datapin);
delay(1);
for (int i = 0; i < sampleSize; i++)
{
reading += analogRead(Datapin);
}
return reading / sampleSize;
}
实验结果
10mA以内出现误差可以通过补偿解决