【雕爷学编程】Arduino动手做(61)---电压检测传感器

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)

实验六十一:电压检测模块 Voltage Sensor 电压传感器

【雕爷学编程】Arduino动手做(61)---电压检测传感器_第1张图片

电压检测传感器模块资料

由于目前电子产品各式各样,供电电源的电压也各不相同,要想检测就需要一款合适的电压检测模块和控制器。控制器模拟接口检测输入电压上限为5V,也就是说大于5V的电压将无法检测。

2011 年新推出的这款电压检测模块能够解决此问题,实现检测大于5V的电压,此模块基于电阻分压原理所设计,能使红色端子接口输入的电压缩小5倍,模拟输入电压上限为5V,那么电压检测模块的输入电压则不能大于5V×5=25V(如果用到3.3V系统,输入电压不能大于3.3Vx5=16.5V)。因为Arduino所用AVR 芯片为10位AD,所以此模块的模拟分辨率为0.00489V(5V/1023),故电压检测模块检测输入下限电压为 0.00489V×5=0.02445V。

通过3P传感器连接线插接到传感器扩展板,不仅可以轻松实现对电压电量大小的检测,监控互动媒体作品或机器人电池供电的电量,也可以通过IICLCD1602液晶模块显示电压制作电压监测器。

【雕爷学编程】Arduino动手做(61)---电压检测传感器_第2张图片

电压检测模块 Voltage Sensor 电压传感器是一种用于测量和监测电压的传感器,它可以检测交流电压或直流电压的电平,并将其转换为不同类型的输出信号,如开关、模拟电压、模拟电流、频率或可听信号等。电压传感器的工作原理通常是基于电阻分压或电容耦合的方法,通过改变输入电压与输出信号之间的比例来实现。

电压检测模块 Voltage Sensor 电压传感器的一个典型的电原理图如下所示:

【雕爷学编程】Arduino动手做(61)---电压检测传感器_第3张图片
【雕爷学编程】Arduino动手做(61)---电压检测传感器_第4张图片

这个电路还使用了一个Zener二极管来保护Arduino免受过高的输入电压的损害,当输入电压超过5.1V时,Zener二极管会导通,将多余的电流引入地线,从而限制输出模拟电压在5.1V以下。

这个电路还可以根据需要进行修改,例如改变分压比、增加滤波器、增加放大器等,以适应不同的应用场景。

为配合实验,找了一块DC-DC升压模块
【雕爷学编程】Arduino动手做(61)---电压检测传感器_第5张图片
升压模块

1、体积小可调升压模块,可轻松安装于各种小型设备里面。

2、可采用MicroUSB输入,用USB充电器或者移动电源通过手机数据线即3、可轻松得到9V,12V,15V,18V,24V的常用电压,使用非常方便。

4、宽的输入和输出电压,高的转换效率。
【雕爷学编程】Arduino动手做(61)---电压检测传感器_第6张图片
升压模块特性

1)大输出电流:2A(建议在1A内使用)

2)输入电压:2 v–24 v

3)大输出电压:> 28 v(建议在26V内使用)

4)效率:> 93%(效率与输入和输出的压差有关)

5)尺寸:30mm* 17mm* 14mm(长高)

注意事项

1)此模块是升压模块,输出电压要大于输入电压

  1. 峰值电流输出电流不过2A
    【雕爷学编程】Arduino动手做(61)---电压检测传感器_第7张图片
    【雕爷学编程】Arduino动手做(61)---电压检测传感器_第8张图片
    电压检测传感器模块

此模块基于电阻分压原理所设计,能使端子接口输入的电压缩小5倍,Arduino模拟输入电压最大为5V,那么电压检测模块的输入电压则不能大于5V×5=25V(如果用到3.3V系统,输入电压不能大于3.3Vx5=16.5V)。因为Arduino所用AVR芯片为10位AD,所以此模块的模拟分辨率为0.00489V(5V/1023),故电压检测模块检测输入最小电压为0.00489V×5=0.02445V。
【雕爷学编程】Arduino动手做(61)---电压检测传感器_第9张图片
电压传感器模块参数

电压输入范围:DC0-25V

电压工作范围:DC0-25V

电压检测范围:DC0.02445V-25V

数据类型:模拟输入

电压模拟分辨率:0.00489V

DC输入接口:红色端子正极接VCC,负极接GND

尺寸:30mm x 25mm

接口类型:KF2510-3P

输出接口:

"-"接GND,

"+"接5/3.3V,

"S"接Arduino的AD引脚(A0)
【雕爷学编程】Arduino动手做(61)---电压检测传感器_第10张图片
实验接线示意图
【雕爷学编程】Arduino动手做(61)---电压检测传感器_第11张图片
实验开源代码

/*

【Arduino】66种传感器模块系列实验(61)

实验六十一:电压检测模块 Voltage Sensor 电压传感器

试试看波形如何

*/

 

void setup() 

{ 

  Serial.begin(9600);

}

void loop() 

{

      int val;

      float temp;

      val=analogRead(0);

      temp=val/40.92;  

      val=(int)temp;

      Serial.println(val);

      delay(1000);

}

串口输出的实验电压变动波形图
【雕爷学编程】Arduino动手做(61)---电压检测传感器_第12张图片
【雕爷学编程】Arduino动手做(61)---电压检测传感器_第13张图片

/*

【Arduino】66种传感器模块系列实验(61)

实验六十一:电压检测模块 Voltage Sensor 电压传感器

程序之二

*/

 

int analogpin=0;                            

int val,val5;                     

int val2=0;                     

int val3=0;                     

int val4=0;                     

void setup()

{

    Serial.begin(9600);     

}

void loop()

{

    int val,val5;

    float val1;

    val=analogRead(analogpin);             

    val1=val/3.9;

    val5=(int)val1;

    val3=val5/100;

    val2=(val5%100)/10;

    val4=val5%10;

    Serial.print("$CLEAR\r\n");                 

    Serial.print("$GO 1 1\r\n");                 

    Serial.print("$PRINT Voltage:\r\n");         

    Serial.print("$GO 1 9\r\n"); 

    Serial.print("$PRINT ");         

    Serial.print(val3);                              

    Serial.print(val2);                              

    Serial.print(".");                               

    Serial.print(val4);                              

    Serial.println("V");                             

    delay(1000);                                      

}

串口输出的实验电压实时变动数值
【雕爷学编程】Arduino动手做(61)---电压检测传感器_第14张图片
实验开源图形编程(Mind+)
【雕爷学编程】Arduino动手做(61)---电压检测传感器_第15张图片
【雕爷学编程】Arduino动手做(61)---电压检测传感器_第16张图片
【雕爷学编程】Arduino动手做(61)---电压检测传感器_第17张图片
【雕爷学编程】Arduino动手做(61)---电压检测传感器_第18张图片
设定12V为监控电压阙值,当电压小于12V时自动报警(板载LED亮),十分精准
【雕爷学编程】Arduino动手做(61)---电压检测传感器_第19张图片

你可能感兴趣的:(Arduino,嵌入式硬件,单片机,机器人,物联网)