Re: 使用ADC時配合FVR的問題

作者 chrC475 於 2018年10月10日 04:03:16
今次再利用4.096V的FVR測試,以LM35DZ輸出0.25V為準。


5.13V
FVR:3A 3A 3A 3A
VDD:2E 2E 2E 2E
FVR測值23.2度
VDD測值23.0度
(1)、22.4度(2)

4.54V
FVR:3A 3A 3B 3A
VDD:35 35 35 35
FVR測值23.2度
VDD測值23.4度
(1)、25.8度(2)

3.96V
FVR:40 40 40 40
VDD:40 40 40 40
FVR測值25.6度
VDD測值24.7度
(1)、31.2度(2)


使用的測量值算法:

FVR:
(ADC/1024)*4096
(1)(ADC/1024)*mVDD
(2)(ADC/1024)*5000

(1)是按照當前VDD高低計算
(2)是以固定5V做參考值

雖然VDD的電壓值同樣可以透過讀取FVR取得,不過輸出值是跟電壓高低成反比,需要經過一系列轉換才可使用,故上述mVDD值僅作快速計算時使用。

實際計算時要先取得VDD的ADC值,以下為部分對應值:

5V
= 209
4.75V
= 220
4.5V
= 233
4.25V
= 246
4V
= 262
3.75V
= 279

mVDD
= (8192/V_ADC)*128

參考來源見https://edeca.net/pages/measuring-pic-vdd-with-no-external-components-using-the-fvr/

但從上述數據看出,如以VDD作為VREF+,無論從實際VDD還是固定5V的作為計算指標,還是會因為VDD變低而得出的越來越大的計算值。

在3.96V的情況下,使用FVR的顯然已經失準,而使用VDD的亦毫無意外的變得越來越不準確。從這些測量的數值看,使用4.096V的FVR測量仍存在1至2度的誤差(當然如果算式有誤還請指正),且不見得有比2.048V或1.024V的準確很多,加上每一度之間的數值空間越來越窄(1.024V > 2.048V > 4.096V),即是準確度會隨著FVR輸出值提升而變得更低。

此外還有在ADC輸入加設18kohm的下拉電阻做對照測試,發現兩者數據基本上沒有什麼分別,只是有加設下拉電阻所得出的數值會比較穩定。

針對這個誤差的問題,或許也要用到跟Temperature indicator一樣的調整方法才行(即是AN1333)。

來自: http://www.microchip.com.tw/newbb/viewtopic.php?forum=1&topic_id=22422&post_id=78768