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