曾經想過要DIY一個比較精確的電壓測量系統(tǒng),其精度比市面上的3位半萬用表要高,可以測量到0.0001V,用來DIY一個高精度電源。
查了部分高位萬用表使用的專用IC后,發(fā)現(xiàn)其中的ICL7135效果還不錯,于是做了幾塊板來測試。
在選擇了大量的積分電容做實驗后,最終找到了一種可以達到所謂的9999的電容,經測試基本符合要求,但這個電容體積相當大,不方便做成表頭的形式。偶然一個機會發(fā)現(xiàn)了一片高位的ADC,其性能超過ICL7135并不需要很多元件,于是向凌特公司申請了兩片LTC2400回來測試。
LTC2400,24位ADC。5V供電,輸入電壓為-0.3V-5V,串型數(shù)據(jù)流,比并行ADC更節(jié)省走線,做了塊實驗板,效果好不錯,完全超過ICL7135。
完成后錄了個視頻。原理圖見附件內容
擴展1:原理圖見附件
在運行中考慮到AD586的溫飄有2PPM,在天熱或天冷的時候電壓會有偏差,所以后來打算打算使用更高精度的恒溫基準來為電路提供基準電壓,看了很久,發(fā)現(xiàn)性價比較高的只有LM399。
而LM399的輸出電壓為7V,高于LTC2400的5V。如果用精密電阻做分壓,其效果還不如直接用AD586。因為AD586使用的是晶圓電阻,其比值穩(wěn)定度要比一般的精密電阻還要好。
另外LTC2400的輸入電壓只有5V,想擴展到10V如果使用精密電阻的話,其穩(wěn)定度也就無法得到了保證。
為了能使用到LM399的高穩(wěn)定電壓,最終做了一個想到了一個設計方案:
使用電阻將LM399的電壓降到5V給LTC2400做基準使用。
另外使用另一對電阻將LM399的電壓降到5V內,而將這對電阻分別用模擬開關進行切換LM399的電壓和待測電壓。由于電阻受溫度的影響變化是一個較長的過程,而短時間(幾秒)內電阻的變化非常小。這樣,待測電壓和LM399的電壓就成了一個比值內的關系。首先將LM399的電壓÷測量到的LM399分壓=目前分壓電阻的比值,這個比值在幾秒內的時間是微忽其微的,再用這個比值×測到的輸入電壓分壓,則獲得了準確的輸入電壓。
更方便的就是,這樣可以很好的將量程擴展到了10V。
在每一個測量周期,LTC2400分別測量0V 7V 被測電壓。然后根據(jù)0V的誤差(歸0誤差)和基準電壓,得到當前系統(tǒng)中的誤差和電阻的比值,再用這兩個值算出輸入的電壓。LTC2400的測量速度約為6次/秒,這樣,不需要1秒就可以完成一個比較周期。
擴展2:原理圖見附件
在添加了LM399做為基準后,經過了一段時間的測試,發(fā)現(xiàn)測量的電壓值要比原AD586要準確,而且增加了運放做LTC2400的緩沖,測量輸入阻抗也提高了,后覺得四路模擬開關還空出一路,就打算再添點東西,把這路也使用上。于是就有了在這個基礎上增加DAC部分的打算。
LTC2400是一個24位的ADC,要想滿足它的性能,就必須使用18位以上的DAC。但18位的DAC太貴,所以打算用兩個12位便宜的DAC聯(lián)合輸出24位。
由于DAC輸出的電壓為0-5V,所以決定用一個2.5倍電壓放大電路升到12.5V左右。
其實升壓電路也有一定的誤差,并隨溫度的變化而變化。為了消除這個誤差,決定用主DAC先產聲一個電壓,測量后用副DAC產生一個電壓并降至1/4000做為誤差的微調。
之后還考慮到單片機對模擬電路的干擾問題,所以決定使用光藕進行數(shù)模隔離。
基本電路圖。
這個已經算是有點復雜了。
其流程如下:
設置10.00000V
指定主DAC輸出4V
4V被放大到10V(電路中設計放大倍數(shù)約2.5倍)
ADC測量基準電壓
ADC測量接地電壓
ADC測量DAC輸出后放大的電壓
將DAC輸出后放大的電壓與10.00000V做比較,得出一個電壓差
命令副DAC輸出相應的電壓糾正電壓差
ADC測量輸入點電壓。
。
。
。
如此循環(huán),ADC都將測出輸出電壓與設定電壓的差值并通過副DAC糾正,逐步逼近設定電壓。
畫完圖后已經不打算再自己做電路板,便到工廠開樣板。
經測試很成功。但測試時臨近年末,部分商家已放假,所以只能在垃圾堆里翻出一個壞的顯示屏臨時調試使用。
使用電腦232接口控制單片機,使系統(tǒng)分別輸出0-11V。并用6位半萬用表測量。
精確到0.0001V算是沒有問題,由于線性度的關系,暫時還無法精確到0.00001V