摘要:設(shè)計一種適用于工業(yè)測量領(lǐng)域的溫度變送器。該系統(tǒng)以單片機(jī)技術(shù)為核心,將 8 路 Pt100 溫度傳感器輸出信號轉(zhuǎn)變?yōu)榕c所測溫度呈線性關(guān)系的 8 路 4~20 mA 電流信號,支持 RS485 總線,其采用的數(shù)據(jù)傳輸方式與硬件電路設(shè)計能將所測溫度以數(shù)字信號向外輸出,支持工業(yè)的局域網(wǎng)絡(luò)。
1 引言
溫度變送器主要應(yīng)用于工業(yè)過程中溫度參數(shù)的測量和控制,是一種不可或缺的測量設(shè)備。其工作原理是將接收到的溫度信號轉(zhuǎn)化為后置電路可接收并傳送的標(biāo)準(zhǔn)信號或者是滿足通信協(xié)議要求的信號。傳統(tǒng)的溫度變送器在需要改變量程范圍時,一般通過對兩個電位器進(jìn)行調(diào)零和調(diào)滿處理來達(dá)到相應(yīng)效果[1]。但是這樣做很可能會產(chǎn)生溫度漂移現(xiàn)象而導(dǎo)致測量結(jié)果不準(zhǔn)確。隨著計算機(jī)技術(shù)的發(fā)展,利用微型計算機(jī)改造傳統(tǒng)的測量儀器,研發(fā)更加先金的智能儀表已經(jīng)成為儀表開發(fā)的新方向。本課題給出了以單片機(jī)為核心利用軟測量技術(shù)實現(xiàn)溫度變送的設(shè)計方案。
2 系統(tǒng)設(shè)計
系統(tǒng)主要由前向通道、主機(jī)電路、后向通道、通訊電路以及供電電源電路構(gòu)成。系統(tǒng)的總體結(jié)構(gòu)框圖如圖 1 所示。
3 電路設(shè)計
系統(tǒng)硬件電路是以 AT89C55 單片機(jī)為主控芯片,以 Pt100 測溫金屬熱電阻作為溫度傳感器,并配合電源電路和其他外圍電路組成。
3.1 前向通道
前向通道由檢測電路、多路模擬開關(guān)、放大器和 A/D 轉(zhuǎn)換器四部分組成。檢測電路的主要作用是對來自傳感器、變送器的信號進(jìn)行濾波處理,同時將該非電壓信號轉(zhuǎn)變成電壓信號。本設(shè)計采用 8 路惠斯登電橋來接收 8 路來自溫度傳感器的輸出信號以實現(xiàn)檢測電路的功能。
測溫?zé)犭娮?Pt100 采用 3 線連接的方式接入電路,其主要優(yōu)點是可以利用橋路對稱平衡的特點來克服長距離傳輸時,由 Pt100 引線電阻引起的信號偏差、供電電源電壓波動、以及橋路電阻溫度漂移的影響等問題導(dǎo)致的誤差。
CD4052 多路模擬開關(guān)的供電電源為 3~20 V,#大通道數(shù)為 4[2],設(shè)計中通過加入多路模擬開關(guān)來接收多路輸入的模擬信號,并按照時分多路連接的原理,分別將信號傳送至后級的電路中去,使得多路輸入的模擬信號可以共用同一套后級電路,以此來降低設(shè)計成本。
放大電路采用差動放大器放大來自前級電路的雙端信號。本設(shè)計采用的 ICL7135A/D 轉(zhuǎn)換器是美國 INTERSIL 公司生產(chǎn)的一款雙向積分式的 A/D 轉(zhuǎn)換器,抗干擾能力強(qiáng)。
3.2 主機(jī)電路
AT89C55 是一種內(nèi)存為 256 Byte 的 8 位單片機(jī),有 6 個中斷源和兩級的優(yōu)先中斷級,32 根可編程 I/O 接口線,1 個 WDT 硬件定時器,工作電壓 4~5.5 V,16 位定時器/計數(shù)器,可重復(fù)編程,重復(fù)次數(shù)可達(dá) 1 000 次,采用 0~24 MHz 的石英晶體元件[3]。8 位單片機(jī)足以滿足要求。
3.3 后向通道
后向通道的主要作用是擔(dān)任信號的輸出通道,從而實現(xiàn)單片機(jī)對外部設(shè)備的控制。單片機(jī)處理完的數(shù)字信號需要經(jīng) D/A 轉(zhuǎn)換電路處理轉(zhuǎn)化為模擬信號,再經(jīng)由電流轉(zhuǎn)換電路將信號線性的轉(zhuǎn)變?yōu)?4~20 mA 的后置電路可接收的標(biāo)準(zhǔn)電流信號輸出。D/A 轉(zhuǎn)換電路是由一個 8 路模擬開關(guān) CD4051、1 個 D/A 轉(zhuǎn)換器 TLC5615 以及 8 套模擬保持電路構(gòu)成[4]。其中,U1 TLC5615 是一種 10 位的串行輸入 D/A 轉(zhuǎn)換器。
CD4051 可根據(jù)單片機(jī)的 P2.4、P2.5 和 P2.6 三個引腳的高低電平狀態(tài),使 D/A 轉(zhuǎn)換的模擬電壓輸出到不同的保持電路中去。當(dāng)三個引腳均為低電平時,TLC5615 的模擬輸出電壓通過 CD4051 接通 X0 通道,向輸出保持電容 C1 充電。如果電容 C1 為 0.01μF 時,充電可在 10 s 內(nèi)完成,當(dāng)三個引腳的電平發(fā)生變化時,開關(guān)將會切換到其他的通道,此時這個輸出的回路就會對電壓信號起到保持的作用。D/A 轉(zhuǎn)換器的輸出方式為動態(tài)刷新,每 2 ms 打開一路,從 0 路到 7 路反復(fù)進(jìn)行,不停止。
3.4 通信接口
通信接口的設(shè)計采用 RS485 總線。MAX485、MAX487 以及 MAX1487 是用于 RS485 總線通信的低功耗收發(fā)器,每個器件中都具有一個驅(qū)動器和一個接收器[5]。本設(shè)計中采用的 MAX487 工作在 5 V 單電源下,額定電流為 300 mA,采用半雙工的通訊方式工作,負(fù)載數(shù)為 32,有 8 個引腳。實際應(yīng)用時將單片機(jī)控制端 RE 與 DE 連接在一起與單片機(jī) P1.7 引腳相連。P1.7 高電平時為發(fā)送狀態(tài),低電平時則為接收狀態(tài)。
4 軟件設(shè)計
根據(jù)系統(tǒng)結(jié)構(gòu)和功能需求軟件設(shè)計過程中的重點是數(shù)據(jù)采集、處理和通信服務(wù)兩個部分。整機(jī)軟件流程圖如圖 2 所示。
4.1 初始化
初始化程序僅需在開機(jī)時運行一次。系統(tǒng)的初始化就是將變量賦予一個默認(rèn)值,再將被控制的元器件賦予成默認(rèn)狀態(tài),將系統(tǒng)還原成一開始的狀態(tài)。初始化程序主要的作用就是用來實現(xiàn)各種硬件的功能配置,其中包括:定時器/計數(shù)器、串行通信、中斷系統(tǒng)、RAM 等。
4.2 檢測周期的實現(xiàn)
根據(jù)工業(yè)上的需要,本設(shè)計將檢測周期設(shè)定為 0.1 s。定時器的工作方式為方式 2,當(dāng) M0 和 M1 為 10 時,T1 和 T0 就會在方式 2 的狀態(tài)下進(jìn)行工作。在方式 2 的工作中,定時器/計數(shù)器為 8 位,可以自動的恢復(fù)為初始值狀態(tài),作為一種 8 位計數(shù)器,TL1 計數(shù)在溢出的時候,就會將置“1”溢出標(biāo)志 TF1,同時也將 TH1 中的常數(shù)送到 TL1,此時,初始值開始重新計數(shù)。
本次設(shè)計規(guī)定從 6 開始計數(shù),頻率為 1 2 MHz,T0 的溢出周期為 250 μs,每計 250 個數(shù)就會有一次溢出,每次計數(shù)時間為 1 μs,內(nèi)部 RAM 的 30H 單元中,地衣個字節(jié)記錄溢出的次數(shù),31H 單元記錄時間,單位 ms。每次溢出次數(shù)達(dá)到 4 次時,31H 單元+1。8 路信號按序單好輸入單片機(jī),一個周期輸入 8 次。
4.3 數(shù)據(jù)采集與數(shù)據(jù)處理
設(shè)計中用到的 9 路數(shù)據(jù)通道,其中,0 路是動態(tài)零點數(shù)據(jù),另外的 1~8 路是溫度數(shù)據(jù)。然后,要對信號進(jìn)行穩(wěn)零的處理,#后就是溫度的計算,并且要通過 A/D 轉(zhuǎn)換器來打開下一個流程的通道。
4.4通信服務(wù)
通信服務(wù)的任務(wù)是對來自網(wǎng)絡(luò)的所有信息進(jìn)行響應(yīng)服務(wù)。串行通信在接到信息后,CPU 便會被迫進(jìn)入中斷程序中,并且執(zhí)行通信服務(wù)的程序。
在通信服務(wù)程序中,必須要分析判斷接收的命令是否為主機(jī)調(diào)度的命令,若不是,則要退出中斷服務(wù),若是,則根據(jù)通信協(xié)議,針對不同的命令做出相應(yīng)的不同的反映。主機(jī)只能夠通過從機(jī)專屬的通信地址來發(fā)送命令,并且,在主機(jī)發(fā)出命令之后,要等待從機(jī)進(jìn)行響應(yīng)。如若本次連接超時,則主機(jī)將自動的中斷本次通信,重新發(fā)送控制命令。
5 結(jié)語
基于 Pt100 和單片機(jī)的溫度變送器能夠?qū)崿F(xiàn)將 8 路 Pt100 溫度傳感器輸出的信號轉(zhuǎn)變?yōu)橄鄳?yīng)的 8 路 4~20 mA 電流信號,以滿足后級 DCS 等系統(tǒng)的應(yīng)用,同時要能夠支持 RS485 總線,并且能將 8 路傳感器輸出的信號轉(zhuǎn)變?yōu)閿?shù)字信號在局域網(wǎng)絡(luò)中共享。