資料介紹
描述
介紹
堅持只有一個萬用表/電壓表?但是,有時您需要同時檢查 2 或 3 個電壓。那么您可能會考慮制作一個真正的直流電壓表!
采用常用組件和易于理解的代碼設計,可以同時測量單個電路或 3 個獨立電路中 3 個節(jié)點的正電壓和負電壓。
示范
硬件
以下硬件用于構建此設備:-
- Arduino Uno:在 ATmega328P 微控制器上上傳代碼
- ATmega328P:帶有 Arduino Bootloader 和內置 10 位 ADC 的 8 位微控制器
- 帶 I2C 接口的 128x32 1306 OLED 顯示屏:顯示電壓
- LM324 OpAmp:ADC 的模擬信號調理
- 4cm x 6 cm FR4 原型板:構建電路板
- 10k 多圈電位器:調整零(半 AREF)電壓
- TP4056模塊:鋰聚合物電池充電
- LiPo電池:300mAh可充電電池為設備供電
工作原理:AFE 解釋
通常,ATmega328P (Arduino Uno) 可以測量 Gnd 和 AVCC 范圍之間的電壓(即 0 到 5V),無需任何分壓電阻網絡。如果啟用內部 AREF,它可以測量 Gnd 和 AREF 范圍之間的電壓(即 0 到 1.1 V)。使用一些分壓器,可以測量高于 5V 的電壓。這些都是相對于 Gnd 的正電壓。
但它無法測量低于 Gnd 的任何電壓,這意味著它無法測量負電壓。問題是,ATmega328P 有一個單端 ADC,默認情況下會根據(jù)Gnd 進行測量。
解決辦法是,不要再對 Gnd 進行測量。
真正的電壓表有 COM(黑色)和 V(紅色)端子,您將 COM 連接到一個節(jié)點,V 連接到電路上的另一個節(jié)點。相對于 COM 節(jié)點,V 節(jié)點上的電壓讀數(shù)。
您需要構建一個 (AFE)模擬前端,某種信號調節(jié)電路來生成類似 COM 的行為。此 COM 節(jié)點的電壓應介于 AVCC 和 Gnd 之間。理想情況下,AVCC 電壓的一半,但對于本設計,它是 AREF 的一半。
當對 COM 進行外部電壓測量時,您可以輕松測量正電壓和負電壓!
請仔細檢查以下電路:
那么,這里發(fā)生了什么?內部參考 AREF 在 ATmega328P 上啟用(來自無效設置中的固件/代碼)。AREF 引腳為 1.1 V。現(xiàn)在,ADC 測量的有效范圍為 0 至 1.1 伏。
接下來,使用 LM324 運算放大器緩沖這個 1.1 AREF 電壓,這意味著我們仍然有來自第一個運算放大器輸出的 1.1 電壓。一個 10k 多圈微調電位器精確設置為 5k 以產生 550mV(半 AREF)伏特。這個 550 mV 信號由第二個運算放大器緩沖。550 mV 信號也連接到 ADC Ch - 0。它應該讀取 512(10 位的一半)。
有一個分壓器網絡由 5 兆歐姆(兩個 10M 并聯(lián))和 100 千歐姆電阻組成,連接到第二個運算放大器的輸出。
我將此分壓器網絡上的電阻較低端 (100k) 定義為 COM,電阻較高端 (5M) 端定義為 V。此分壓器的中點連接到 ADC Ch - 1。當沒有外部電壓施加到此分壓器時,ADC Ch - 1 應讀取 512(因為 550 mV)
當施加外部電壓時,分壓器中點電壓將移動到 550 mV 以上或以下。如果 V 上的外部電壓相對于 COM 較高(正電壓),它將移動到 550 mV 以上,如果 V 上的外部電壓相對于 COM 較低(負電壓),它將移動到 550 mV 以下。ADC Ch-1 讀數(shù)將相應改變。使用 ADC 讀數(shù)的這種變化,我們可以計算外部電壓。
為什么使用 AREF 而不是 AVCC ?
此設計由 LiPo 電池供電,充滿電的 LiPo 將從 4.2 伏開始,電壓會逐漸下降。所以,AVCC也會發(fā)生變化。但內部參考 AREF 具有恒定的 1.1 伏特。這就是我選擇 AREF 的原因。
如果使用其他沒有AREF的單片機,??可以使用TL431 IC來產生參考電壓!
為什么使用 LM324 運算放大器?
LM324 IC 在一個封裝中有 4 個運算放大器,應用廣泛,它的輸出可以(非常接近)Gnd。它還適用于 3 至 32 伏之間的任何電源電壓。
您始終可以使用更好的運算放大器(精密、低噪聲、軌到軌)
電壓計算公式
使用 ADC 測量的電壓將是實際施加電壓的一小部分。這就是為什么在固件內部使用以下公式來計算實際電壓的原因:-
分壓電阻器:范圍與分辨率
- 選擇正確的輸入電阻 R_Low 和 R_High 很重要,因為電阻值將根據(jù)以下公式確定有效電壓測量范圍:
+/- V = (R_High / R_Low) / 2
- R_High和 R_Low 必須具有可以處理測量電壓的額定功率,應滿足以下公式:
V < sqrt ((R_High + R_Low) * P)
- 電壓測量設備的輸入阻抗必須在數(shù)百千歐到幾兆歐的數(shù)量級,以最大限度地減少負載效應:
R_High + R_Low > hundreds of kOhms to few MOhms
對于這個項目,這個電壓表可以測量 +/- 25 伏特,R_High = 5M(或 5000k)和 R_Low = 100K ,額定功率為 1/10 瓦,滿足以上 3 個條件
- 接下來是測量分辨率,它受實際 ADC 分辨率和您要設置的有效測量范圍的限制。ADC 分辨率是可以識別的最小增量電壓。
Measurement Resolution = Measurement Range / ADC Resolution
- 例如:如果使用 10 位 ADC 將測量范圍設置為 +/- 5 V,您應該在該范圍內獲得大約 10 mV 的分辨率。但對于這個測量范圍為 +/- 25 V(總計 50V)的設計,分辨率約為 49 mV。
- 分辨率還取決于顯示器中顯示的位數(shù)。此設計僅顯示小數(shù)點后一位數(shù)字,因此 49 mV 分辨率可高達 100 mV 或 0.1 伏特。
示例:假設新的 AA 電池用 Fluke 電壓表讀數(shù)為 1.627 伏,但該電壓表可能讀數(shù)僅為 1.5 或 1.6 或 1.7 伏
-
For better range or resolution select microcontroller with 12 bit ADC or more
-
Reduce measurement range to increase resolution
-
Reduce resolution to increase range or measure bigger voltages
準確性:硬件和軟件設計如何提供幫助
準確性取決于很多因素。在這個項目中實現(xiàn)了以下一些技巧。
- 首先,輸入電阻(分壓器 R_Low 和 R_High 上的電阻)必須具有更好的容差,大約為 1% 或更小。這將確保電阻器的電阻非常接近其額定值。
- AVCC 和 Gnd 引腳上帶有去耦電容器的穩(wěn)定電源(最好是電池,無 SMPS)將降低噪聲。建議使用 10uF 電容
- 穩(wěn)定的AREF 或模擬參考電壓對于精度非常重要,放置一個 100nF 的電容就可以做到這一點。
- 使用低噪聲電子設備將有助于提高準確性(更好的 Opamp)
- 建議在模擬前端采用良好的布線做法和屏蔽
在固件中實施以下操作將提高準確性:-
- 在切換模擬通道之前/之后添加輕微的延遲
- 丟棄第一個模擬轉換值
- 取幾百個樣本并取平均值以提高準確性
- 使用偏移變量進行讀數(shù)的軟校正/調整
盡管可以使用以下代碼將 Arduino UNO 或 Atmega328P 的 AREF 引腳設置為 1.1 伏
analogReference(INTERNAL);
不同芯片的實際 AREF 電壓可能在 1.06 伏到 1.13 伏之間變化。建議使用高精度萬用表測量 AREF 引腳,并找到實際電壓。然后在代碼中定義它以獲得更高的準確性
#define AREF 1.097 // Aref pin voltage
不要只是復制粘貼 1.1 伏!
輸入保護:安全問題!
這是用于過壓或浪涌保護的雙向二極管鉗位,您可以與 R_Low 并聯(lián)使用。由于空間不足,我將這部分留在了我的構建中!
安全永遠不能掉以輕心!當 R_Low 兩端的電壓超過 +/- 800 mV 時,這些二極管將開始鉗位。這只是一個例子,根據(jù)需要使用不同類型的二極管以獲得合適的鉗位電壓。
編程和焊接
- 第 1 步:從此處在您的計算機上下載并安裝 Arduino 。
- 第 2 步:打開 IDE。轉到工具 > 庫管理器并鍵入“u8g”
為 1306 OLED 顯示器安裝u8glib(由 Oliver 設計)庫。
- 第 5 步:根據(jù)此原理圖構建電路。將所有組件焊接到原型板上。
執(zhí)行電壓校準和測量
校準
為獲得最佳效果,您需要使用常規(guī)萬用表/電壓表校準該電壓表。您將需要任何電池 AA 或 LiPo。用普通萬用??表測量電池電壓。然后用這個電壓表測量電池。看到讀數(shù)有一些差異,現(xiàn)在稍微調整/調整 10K 電位器(參見示意圖)以進行校準。
通過反轉電池的負電壓來執(zhí)行相同的步驟。
您還可以通過使用電阻器定義的值添加/減去一些偏移值來從代碼進行軟校準。
測量
共有 3 個 Commons COM1、COM2、COM3 和 3 個對應的 V1、V2、V3 探頭,用于 3 個不同通道的電壓測量。
對于通道 1,電壓是在 V1 上相對于 COM1 測量的。如果用 V1 探測的電路節(jié)點的電位高于用 COM1 探測的節(jié)點,則電壓讀數(shù)將為正。如果 V1 和 COM1 在這兩個電路節(jié)點上交換,則電壓讀數(shù)將為負。
同樣適用于帶 V2 和 COM2 的通道 2 以及帶 V3 和 COM3 的通道 3。
在不共享任何電氣連接的 3 個不同電路上測量三個不同電壓時,對 3 個電路使用 V1/COM1、V2/COM2、V3/COM3 對。
在單個電路上測量三個不同的電壓時,請勿使用多個 COM 。只需將一個 COM (例如 COM3,任何 COM 都可以!)連接到 Gnd 或該電路的任何節(jié)點。然后使用 V1、V2、V3 測量 3 個不同節(jié)點上相對于 Gnd 或連接 COM 的節(jié)點的 3 個不同電壓。
在同一電路上連接多個 COM 會搞砸讀數(shù)!
結論和未來的工作
我忘了添加一些重要的東西,當電壓范圍超過測量范圍時顯示 OL(過載)。希望我會用額外的功能更新代碼。
內部 EEPROM 上的一些電壓記錄可能很方便,我也會嘗試這樣做。我想為 REL(歸零幻影電壓)和 HOLD(凍結屏幕)添加幾個按鈕。我已經在頂部焊接了一個母接頭以供將來擴展,敬請期待。
該設計可用于測量緩慢變化的交流電壓/信號(假設為正弦波),而無需更改硬件。它還可用于設計分流電流表(提示:用非常低的 R 值替換分壓器)。但是您需要為此編寫不同的代碼。
這個概念適用于任何微控制器,請隨意構建您自己的設計,祝您好運。
- 基于51單片機的自制電壓表源代碼 3次下載
- Arduino Nano數(shù)字電壓表
- 使用Arduino Uno作為電壓表進行小電壓測量
- Arduino電壓表開源分享
- 數(shù)字電壓表設計仿真資料 82次下載
- 《基于單片機控制的新型交流電壓表系統(tǒng)》論文 53次下載
- 數(shù)字電壓表設計與資源匯總下載 1次下載
- 積分式數(shù)字電壓表設計方法 17次下載
- 積分式數(shù)字電壓表設計 19次下載
- 數(shù)控電壓表的PCB原理圖免費下載 56次下載
- FPGA數(shù)字電壓表的程序資料免費下載 27次下載
- 簡易數(shù)字電壓表設計與制作 100次下載
- EDA數(shù)字電壓表設計報告 17次下載
- 電壓表protues仿真 基于51數(shù)字電壓表仿真設計 電壓表程序 232次下載
- 電壓表的讀數(shù)實驗 0次下載
- 數(shù)字電壓表的應用場景 518次閱讀
- 數(shù)字電壓表的原理與特點 1229次閱讀
- 電壓表的基本原理和類型 2908次閱讀
- 什么是負電壓?負電壓是如何產生的? 3077次閱讀
- 采用數(shù)字電壓表專用IC來制作數(shù)碼管電壓表 6925次閱讀
- 電壓表和電流表的區(qū)分 3.7w次閱讀
- 電壓表的讀數(shù)規(guī)則_如何讀取電流表、電壓表 6.2w次閱讀
- 電壓表測量電壓的原理是什么(電壓表工作原理) 7.9w次閱讀
- 電壓表的使用方法_數(shù)字電壓表的使用方法圖解 6w次閱讀
- 如何判斷電壓表的測量對象_判斷電壓表的測量對象的方法 11.7w次閱讀
- 電流電壓表故障診斷方法_電流表電壓表故障分析 4.1w次閱讀
- 電壓表與電流表的區(qū)別_電流表與電壓表的選擇和使用 2.2w次閱讀
- ICL7107組成電壓表的使用與維修 1.8w次閱讀
- 電壓表與示波器之間的不同之處 2822次閱讀
- 數(shù)字電壓表簡易檢修程序方案 2763次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多