【雕爺學編程】Arduino動手做(61)---電壓檢測傳感器


37款傳感器與執行器的提法,在網絡上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止這37種的。鑒於本人手頭積累了一些傳感器和執行器模塊,依照實踐出真知(一定要動手做)的理念,以學習和交流為目的,這里准備逐一動手嘗試系列實驗,不管成功(程序走通)與否,都會記錄下來---小小的進步或是搞不掂的問題,希望能夠拋磚引玉。

【Arduino】168種傳感器模塊系列實驗(資料+代碼+圖形+仿真)

實驗六十一:電壓檢測模塊 Voltage Sensor 電壓傳感器

電壓檢測傳感器模塊資料

由於目前電子產品各式各樣,供電電源的電壓也各不相同,要想檢測就需要一款合適的電壓檢測模塊和控制器。控制器模擬接口檢測輸入電壓上限為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液晶模塊顯示電壓制作電壓監測器。

為配合實驗,找了一塊DC-DC升壓模塊

升壓模塊

1、體積小可調升壓模塊,可輕松安裝於各種小型設備里面。

2、可采用MicroUSB輸入,用USB充電器或者移動電源通過手機數據線即3、可輕松得到9V,12V,15V,18V,24V的常用電壓,使用非常方便。

4、寬的輸入和輸出電壓,高的轉換效率。

升壓模塊特性

1)大輸出電流:2A(建議在1A內使用)

2)輸入電壓:2 v--24 v

3)大輸出電壓:> 28 v(建議在26V內使用)

4)效率:> 93%(效率與輸入和輸出的壓差有關)

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

 

注意事項

1)此模塊是升壓模塊,輸出電壓要大於輸入電壓

2)  峰值電流輸出電流不過2A

電壓檢測傳感器模塊

此模塊基於電阻分壓原理所設計,能使端子接口輸入的電壓縮小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。

電壓傳感器模塊參數

電壓輸入范圍: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】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】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);                                      

}

  串口輸出的實驗電壓實時變動數值

實驗開源圖形編程(Mind+)

 

 

設定12V為監控電壓闕值,當電壓小於12V時自動報警(板載LED亮),十分精准

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM