溫度標定
發布時間:2012/6/19 20:00:35 訪問次數:1893
使用單片機測定溫度時,需要考慮BD6775EFV-E2傳感器的誤差。由于單片機測溫是使用片上二極管測溫,所以誤差比較大。在不經標定的情況下,可能只有±10℃的精度,所以需要使用標定方法來提高精度。對于電子測量來說,我們是用電信號來表達另一個物理量,也就是用電壓來表示溫度,并用ADC來轉換為數字量。因此,我們需要電壓與溫度的函數關系,才能夠用電壓值來反推溫度值。顯然,我們需要知道單片機測量到的真實溫度。我們可以用一個較高精度的溫度計來獲得溫度值,市售的玻璃水銀溫度計、指針溫度計或遠程溫度計均可,也可使用萬用表附贈的熱電偶,或著是經過激光標定的傳感器,比如18820。如果Geek精神夠足,使用冰水混合物等非主流方法亦可,可行性請咨詢物理老師。
得知溫度后,接下來就是建立電壓與溫度的函數關系。由于我們最終要由ADC轉換為數字量,所以數字量輸出和溫度的函
數關系也是等價的。理想的情況下,我們要取到盡可能多的溫度點,使任何一個輸出值都被覆蓋到,使用查找表即可用輸出值反推溫度值。但是,這么多溫度點的覆蓋往往是不現實的,我們只能采集有限個數據點,并擬合出函數曲線。一般來說,函數的次數要低于采樣的數據點數,可以使用最小二乘法來擬合曲線。如果只需要結果,excel就能做到這一點。另外,如果想知道穿過所有點曲線的形狀,可以嘗試使用拉格朗日插值法來獲得函數。一般工程上,采用等距離采集多個數據點,然后分段直線擬合就能得到比較不錯的效果。
這個制作由于對精度要求不高,而且追求簡單,我們假設數字量輸出和溫度的函數關系是線性的,而且每1℃的變化對應數字輸出量變化1。我們只需要1個點就能確定函數的位置。當然,這一點處于待測區間之中會使精度蓓寸些。在這種情況下t只要把待測點的輸出值和標定點的輸出值求差,并把這個差加到標定點的真實溫度值上,就可以求到待測點的真實溫度值。雖然精度仍然不高,但對于這個制作綽綽有余。
另外,傳感器測定出的溫度值可能會有少許的抖動,這會導致系統在臨界溫度上在兩種模式間來回切換。所以,在溫度的判定上,我采用了滯回算法,即在溫度土升到40℃時切換到高溫模式,而下降到35℃才能切換回普通模式。低溫也應用類似算法。這樣,系統不會被傳感器的抖動所干擾,工作較為穩定。
使用單片機測定溫度時,需要考慮BD6775EFV-E2傳感器的誤差。由于單片機測溫是使用片上二極管測溫,所以誤差比較大。在不經標定的情況下,可能只有±10℃的精度,所以需要使用標定方法來提高精度。對于電子測量來說,我們是用電信號來表達另一個物理量,也就是用電壓來表示溫度,并用ADC來轉換為數字量。因此,我們需要電壓與溫度的函數關系,才能夠用電壓值來反推溫度值。顯然,我們需要知道單片機測量到的真實溫度。我們可以用一個較高精度的溫度計來獲得溫度值,市售的玻璃水銀溫度計、指針溫度計或遠程溫度計均可,也可使用萬用表附贈的熱電偶,或著是經過激光標定的傳感器,比如18820。如果Geek精神夠足,使用冰水混合物等非主流方法亦可,可行性請咨詢物理老師。
得知溫度后,接下來就是建立電壓與溫度的函數關系。由于我們最終要由ADC轉換為數字量,所以數字量輸出和溫度的函
數關系也是等價的。理想的情況下,我們要取到盡可能多的溫度點,使任何一個輸出值都被覆蓋到,使用查找表即可用輸出值反推溫度值。但是,這么多溫度點的覆蓋往往是不現實的,我們只能采集有限個數據點,并擬合出函數曲線。一般來說,函數的次數要低于采樣的數據點數,可以使用最小二乘法來擬合曲線。如果只需要結果,excel就能做到這一點。另外,如果想知道穿過所有點曲線的形狀,可以嘗試使用拉格朗日插值法來獲得函數。一般工程上,采用等距離采集多個數據點,然后分段直線擬合就能得到比較不錯的效果。
這個制作由于對精度要求不高,而且追求簡單,我們假設數字量輸出和溫度的函數關系是線性的,而且每1℃的變化對應數字輸出量變化1。我們只需要1個點就能確定函數的位置。當然,這一點處于待測區間之中會使精度蓓寸些。在這種情況下t只要把待測點的輸出值和標定點的輸出值求差,并把這個差加到標定點的真實溫度值上,就可以求到待測點的真實溫度值。雖然精度仍然不高,但對于這個制作綽綽有余。
另外,傳感器測定出的溫度值可能會有少許的抖動,這會導致系統在臨界溫度上在兩種模式間來回切換。所以,在溫度的判定上,我采用了滯回算法,即在溫度土升到40℃時切換到高溫模式,而下降到35℃才能切換回普通模式。低溫也應用類似算法。這樣,系統不會被傳感器的抖動所干擾,工作較為穩定。
熱門點擊