日韩欧美视频第二区,秋霞成人午夜鲁丝一区二区三区,美女日批视频在线观看,av在线不卡免费

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 基礎入門 >> Arduino開發學習 >> 正文

Arduino如何監測電池電壓

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2019-05-31

在一些使用Arduino制作的項目中,我們會時常用到鋰電池組,為了防止鋰電池過放電導致電池損壞,監測電壓是很有必要的。

鋰電池

關于鋰電池的知識可查閱:鋰電池的相關知識 這篇文章。

Arduino監測電池電壓

使用Arduino監測電池電壓的方式有很多,比如聲音提醒、燈光提醒、欠電停止等等。本文介紹相對簡單的一種方式,燈光提醒。使用燈光監測電池電壓的思路是,通過一個Arduino的模擬輸入腳實時采集電池電壓,當采集的電壓低于某一閾值時,燈光點亮,提示電池電壓低。

Arduino與電池的電路連接

Arduino監測電池電壓
Arduino監測電池電壓

上圖中,我們設定Arduino采集電池電壓的腳為A4,電路中使用兩個電阻,組成分壓電路,因為Arduino 只能測量0-5V的電壓 。 A4的輸入電壓值采用以下公式計算:

 Vout =(Vin×R2)/(R1 + R2) ,對應上圖R2為1K,R1為2K,計算A4值為4V。

然后通過analogRead()函數采集 A4 的值,我們知道Arduino控制器有多個10位數模轉換通道。這意味著Arduino可以將0-5V的電壓輸入信號映射到數值0-1023。換句話說,我們可以將5V信號等分成1024份,0伏特的輸入信號對應著數值0,而5伏特的輸入信號對應著1023。因此,當A4模擬輸入引腳的輸入電壓為4V時,該引腳的數值為819。(計算:4V / 5V = 0.8, 1024 X 0.8=819.2,實際讀取值應該在818~819之間)

要實現電壓監測,光使用 analogRead()函數讀取A4值還不夠,我們需要將這個讀取值轉換為實際電壓值,因此可以使用以下公式進行轉換:

電池電壓值 V = A4讀取值 * (5.00 / 1023.00) * 乘數

這個乘數值可以使用上面提供的方法在理論上計算,或者如果有一組已知的電壓值,您可以實際計算它。條件允許的情況下,最好采用遵循了后一種選擇,因為它更準確。在本例中這個乘數的值是2.9。

Arduino監測電池電壓代碼

 
#define ledB 10
int sensorValue = analogRead(A3);
float voltage = sensorValue * (5.00 / 1023.00) * 2.9; 
Serial.println(voltage);
if (voltage < 11) {
digitalWrite(ledB, HIGH);
}
else {
digitalWrite(ledB, LOW);
}

通過以上代碼,當監測到的電池電壓低于11V時,LED被點亮,否則LED常滅。以此實現簡單的電池電量監測,達到避免電池的過放電的目的。

Tags:Arduino,監測電池電壓  
責任編輯:admin
  • 上一個文章: 沒有了
  • 下一個文章:
  • 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網友評論
    關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢
    主站蜘蛛池模板: 琼结县| 佛坪县| 延吉市| 定兴县| 永善县| 集安市| 武川县| 库伦旗| 巍山| 旬阳县| 汪清县| 芦山县| 鸡泽县| 广汉市| 冀州市| 随州市| 沐川县| 海淀区| 闸北区| 黄平县| 万山特区| 河东区| 天津市| 镇沅| 铁岭县| 伊金霍洛旗| 保靖县| 绥宁县| 彭泽县| 禹州市| 扬州市| 山西省| 华阴市| 麻江县| 荆州市| 根河市| 巫溪县| 饶河县| 揭东县| 柯坪县| 柘荣县|