基于CS5550的工業(yè)測量?jì)x表設計
如圖6所示,rx為待測電阻,溈流經(jīng)rx的電流,所產(chǎn)生的壓降為u,由歐姆定律得到式(1)、(2)。本文引用地址:http://dyxdggzs.com/article/195507.htm
整理后得式(3),其中V,R為未知數,u是由本系統測得的數據。通過(guò)連接精密電阻箱來(lái)取代待測電阻,取定rx兩個(gè)值,如100Ω和400Ω。代入式(3),解方程組可得V和R的校準值,并存入EEPROM中作為系統參數。
經(jīng)校準后便可根據式(4)精確地計算出待測電阻rx的值。
2.2 計算與變換模塊
經(jīng)校準和初始化后,CS5550進(jìn)入測量階段,通過(guò)最新獲得的N個(gè)瞬時(shí)測量值計算出轉換有效值后,以滿(mǎn)量程的相對百分比方式提供所有的測量結果。其中通道1具有可編程放大器增益選擇,當工作在增益為10的情況下,如果測量結果低于10%,則系統將其增益切換成增益為50;反之,當工作在增益為50的情況下,如果測量結果高于90%,則系統將其增益切換成10。這樣不僅測量的信號范圍寬,而且提高了系統測量的精確性。
從CS5550讀取測量結果轉化成相對百分比后,乘上相應的滿(mǎn)量程值就可以得出實(shí)際測得的電壓值u,如果輸入的是電流值,則除以系統參數r即為所測得的電流值,如果是測量輸入電阻,則根據式(4)計算所測得的電阻值。
得到相應測量信號的實(shí)際值后需再進(jìn)一步地變換。如熱電偶輸入的是電壓信號,需變換成相對應的溫度信號,而且電壓一溫度之問(wèn)不是線(xiàn)性的變換關(guān)系。變換方法可以采用多項式曲線(xiàn)擬合方法或者小區間線(xiàn)性化處理方法。
本系統可進(jìn)行十幾種的信號變換,真正做到一表多用,下面介紹信號變換切換的C語(yǔ)言實(shí)現方法,這是通過(guò)函數指針來(lái)實(shí)現的。首先聲明函數指針,
typedef float,(*convert_t)(float val);
然后定義該函數指針的一個(gè)變量,
convert_tconvert:
下面是一些信號變換的函數原形聲明,函數中的參數是測量的電壓值,函數返回的是變換后的值,
float lkConvert(float val): //熱電偶K級
float lsConveit(float val)://熱電偶S級
float Pt100Convert(float val)://熱電阻Pt100
float Cu50Conveit(float val): //熱電阻Cu50
信號變換切換方法示例如下,
SWitch(opNum){
case 1: //熱電偶K級
convert=lkConvert:
break:
……
}
確定了信號變換函數,最后是函數調用,舉例如下,
unsigned long temp;
float result;
//從CS5550中讀取通道1數據
temp=read(Ox16);
//轉換成百分比
result=temp/(float)0x0l000000;
//乘上滿(mǎn)量程值
result*=fullScale;
//執行信號變換
result=convert(result);
這樣result變量就是傳感器對應的信號值,如溫度。
3 結束語(yǔ)
本系統使用CS5550進(jìn)行硬件核心電路設計,性?xún)r(jià)比極高,使用簡(jiǎn)單的配置實(shí)現一表多用,體積小、集成度高、運行可靠,有很好的推廣價(jià)值。
評論