近年來(lái)隨著傳感器技術(shù)和信息處理技術(shù)的快速發(fā)展,工程應(yīng)用中對(duì)傳感器的測(cè)量精度、數(shù)據(jù)傳輸距離和信息處理能力都提出了更高的要求。為了克服普通力敏、光敏傳感器抗*力差、傳輸距離短、調(diào)零難、測(cè)量節(jié)點(diǎn)無(wú)法直接與上位機(jī)通信等缺點(diǎn),本文設(shè)計(jì)了一種以FreescaleMC9S08SH4單片機(jī)[1]和AD7705為核心構(gòu)成的智能傳感器系統(tǒng),在普通傳感器上增加了軟件調(diào)零、浮點(diǎn)數(shù)據(jù)處理、自動(dòng)補(bǔ)償、與上位機(jī)雙向通訊、標(biāo)準(zhǔn)化數(shù)字輸出等功能,可以很方便地實(shí)現(xiàn)上位機(jī)對(duì)數(shù)據(jù)的實(shí)時(shí)采集和處理,并具有測(cè)量精度高、結(jié)構(gòu)緊湊、抗*力強(qiáng)等特點(diǎn)。
1、系統(tǒng)組成
智能傳感器系統(tǒng)由信號(hào)調(diào)理電路、A/D轉(zhuǎn)換電路、主控電路、調(diào)零電路、RS-485通信電路和電源電路等模塊組成。其中信號(hào)調(diào)理模塊負(fù)責(zé)對(duì)傳感器輸出的mV級(jí)差分信號(hào)進(jìn)行調(diào)理和放大;A/D轉(zhuǎn)換模塊將信號(hào)調(diào)理模塊輸出的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)供MCU處理;調(diào)零模塊可以在任意時(shí)刻將當(dāng)前的輸入值設(shè)置為參考零點(diǎn);RS-485通信模塊實(shí)現(xiàn)主控電路與上位機(jī)之間的通信;電源模塊為主控電路、傳感器、信號(hào)調(diào)理模塊和RS-485通信模塊提供電源。系統(tǒng)結(jié)構(gòu)如圖1所示。
2、功能模塊設(shè)計(jì)
2.1信號(hào)調(diào)理和A/D轉(zhuǎn)換模塊
傳感器的輸出信號(hào)一般為mV級(jí)的差分信號(hào),傳統(tǒng)的信號(hào)調(diào)理電路是在A/D轉(zhuǎn)換前加一級(jí)或多級(jí)高精度的放大電路,這樣不但增加了成本,電路也較為復(fù)雜。而AD7705具有完整的模擬前端,內(nèi)置增益可編程放大器(PGA)和可編程數(shù)字濾波器[2],能直接對(duì)傳感器輸出的mV級(jí)信號(hào)進(jìn)行調(diào)理、濾波、放大和A/D轉(zhuǎn)換,然后串行輸出,無(wú)需使用外部?jī)x表放大器,極大地簡(jiǎn)化了電路設(shè)計(jì)。
AD7705的A/D轉(zhuǎn)換功能也很強(qiáng),其采用的Σ-Δ轉(zhuǎn)換技術(shù)zui高可實(shí)現(xiàn)16位無(wú)誤碼傳輸[3]。在本次設(shè)計(jì)中,AD7705的兩個(gè)全差分模擬輸入通道可以同時(shí)滿足兩路傳感器輸出信號(hào)的輸入,通過(guò)軟件編程可以方便地對(duì)信號(hào)增益、極性、輸入通道、數(shù)據(jù)輸出更新率和數(shù)字濾波器進(jìn)行設(shè)置。AD7705電路模塊如圖2所示。其中,傳感器輸出信號(hào)直接接入AD7705的差分模擬輸入通道AIN1端。
2.2主控模塊
智能傳感器系統(tǒng)的主控MCU選用的是MC9S08SH4,屬于Freescale公司S08系列8位單片機(jī)[4],具有體積小、速度快,片上資源豐富、數(shù)據(jù)處理能力強(qiáng)等特點(diǎn)。其zui大時(shí)鐘頻率為20MHz,片上資源包括4KBFlash、512BRAM、8路鍵盤中斷、SCI接口、SPI接口、IIC總線等模塊,采用TSSOP16封裝,尺寸很小,非常適用于本系統(tǒng)。為了盡量減小電路板面積,本次設(shè)計(jì)中MC9S08SH4的編程接口沒(méi)有使用標(biāo)準(zhǔn)的6芯BDM接口,而采用自定義的4芯接口,zui小系統(tǒng)如圖3所示。
2.3調(diào)零模塊
調(diào)零模塊有兩個(gè)作用,一是在每次測(cè)量前讓傳感器歸零,二是在測(cè)量過(guò)程中即時(shí)設(shè)置參考零點(diǎn)。
傳統(tǒng)的機(jī)械調(diào)零方法是在電路中增加一個(gè)電位器,利用改變分壓值的方法進(jìn)行調(diào)零。這種方法調(diào)節(jié)速度很慢,準(zhǔn)確性也比較差。本設(shè)計(jì)中采用的是軟件調(diào)零方法,首先利用鍵盤中斷采集傳感器零輸入時(shí)的A/D轉(zhuǎn)換結(jié)果作為參考零點(diǎn),并存放到一個(gè)全局變量中;以后每次A/D轉(zhuǎn)換的值都與全局變量中的參考零點(diǎn)相比較,即可得到校正后的結(jié)果。軟件調(diào)零方法準(zhǔn)確度高、調(diào)節(jié)速度非??欤貏e適用于在測(cè)量過(guò)程中即時(shí)設(shè)置參考零點(diǎn)。
2.4RS-485通信模塊
系統(tǒng)與上位機(jī)之間的通信采用RS-485通信協(xié)議。在實(shí)際應(yīng)用中,一臺(tái)上位機(jī)需要拖掛多個(gè)傳感器,并且對(duì)傳輸距離有較高的要求。RS-485串行總線接口采用平衡發(fā)送和差分接收的方式進(jìn)行數(shù)據(jù)通信,較RS-232提高了抗共模*力和傳輸距離;并且RS-485總線能用于多個(gè)帶有RS-485接口的設(shè)備互連,實(shí)現(xiàn)數(shù)據(jù)的高速遠(yuǎn)距離傳送[5]。本系統(tǒng)中采用的RS-485通信芯片為MAX1487,輸入口DI和輸出口RO分別和MC9S08SH4的串行數(shù)據(jù)發(fā)送端TXD和串行數(shù)據(jù)接收端RXD相連。讀寫使能端連接在一起,由MC9S08SH4的PTA1引腳控制。當(dāng)PTA1輸出高電平時(shí),傳感器系統(tǒng)向上位機(jī)發(fā)送數(shù)據(jù);當(dāng)PTA1輸出低電平時(shí),傳感器系統(tǒng)從上位機(jī)接收數(shù)據(jù),如圖4所示。
2.5電源模塊
電源模塊采用24V直流輸入,除了為傳感器預(yù)留24V、12V供電接口外,還為AD7705、MAX1487、MC9S08SH4提供5V工作電壓。為使系統(tǒng)結(jié)構(gòu)緊湊、體積小,電源模塊中使用的穩(wěn)壓芯片為小電流的78L12、78L05和LM1117(SOT-223封裝)各一片。經(jīng)現(xiàn)場(chǎng)測(cè)試后發(fā)現(xiàn),由于系統(tǒng)功率很小,所以電源模塊發(fā)熱量并不大,能夠保證長(zhǎng)時(shí)間穩(wěn)定工作。
3、軟件設(shè)計(jì)
軟件設(shè)計(jì)部分主要包括MC9S08SH4初始化、A/D轉(zhuǎn)換結(jié)果的中值濾波和均值濾波、設(shè)置參考零點(diǎn)進(jìn)行數(shù)據(jù)校正、數(shù)據(jù)的浮點(diǎn)化處理、校對(duì)數(shù)據(jù)幀格式、通過(guò)SCI模塊和RS-485通信模塊將數(shù)據(jù)幀發(fā)送到上位機(jī)。具體流程如圖5所示。
上位機(jī)軟件采用LabVIEW結(jié)合SQL編寫,通過(guò)串口和RS485通信協(xié)議對(duì)智能傳感器系統(tǒng)的運(yùn)行狀態(tài)進(jìn)行監(jiān)控,必要時(shí)上位機(jī)軟件可以重新設(shè)置數(shù)字傳感器的通信地址、A/D轉(zhuǎn)換位數(shù)、數(shù)據(jù)幀格式和串口波特率等參數(shù),并將采集到的運(yùn)行數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,便于日后分析整理。
本設(shè)計(jì)實(shí)現(xiàn)的基于FreescaleMC9S08SH4和AD7705的智能傳感器系統(tǒng),充分利用MC9S08SH4體積小、速度快,片上資源豐富、數(shù)據(jù)處理能力強(qiáng)等特點(diǎn),結(jié)合AD7705內(nèi)置的信號(hào)處理電路和高精度?撞-?駐A/D轉(zhuǎn)換器,在普通傳感器上增加了軟件調(diào)零、浮點(diǎn)數(shù)據(jù)處理、多點(diǎn)測(cè)量、RS-485雙向通信、標(biāo)準(zhǔn)化數(shù)字輸出等功能,克服了普通力敏、光敏傳感器數(shù)據(jù)傳輸距離短、零點(diǎn)調(diào)節(jié)困難、測(cè)量節(jié)點(diǎn)無(wú)法直接與上位機(jī)通信、抗*力差等缺點(diǎn)。經(jīng)現(xiàn)場(chǎng)測(cè)試,該系統(tǒng)具有體積小、測(cè)量精度高、運(yùn)行穩(wěn)定可靠等優(yōu)點(diǎn)。