1 引言
磁致伸縮位移 (液位) 傳感器以其遠(yuǎn)程測量、高精度、安全可靠、穩(wěn)定性好、安裝方便等優(yōu)點 ,在鍋爐、造紙、制藥、石油、化工、水利、食品等領(lǐng)域逐漸取代了傳統(tǒng)的傳感器。目前應(yīng)用的此類位移傳感器大多都是把位移轉(zhuǎn)換成時間間隔 ,再把時間間隔轉(zhuǎn)換為相應(yīng)的模擬電壓 (電流) 信號 ,這種測量方法存在一些不足之處 : (1) 模擬信號抗力有限 ,不能遠(yuǎn)距離傳輸 ; (2)由于電路轉(zhuǎn)換引入噪聲 ,使其測量精度不高 ; (3) 1 根測桿只能測量 1 個液位 (位移) 。
研制的智能化磁致伸縮位移 (液位) 傳感器直接測量多個時間間隔 ,并利用單片機進(jìn)行較好的處理 ,實現(xiàn)了多點高精度測量 ,并通過 RS - 485 串行通信實現(xiàn)遠(yuǎn)距離傳輸及接入工業(yè)監(jiān)測網(wǎng)。另外 ,由于采用 PIC 低功耗單片機及其他低功耗芯片 ,優(yōu)化電路結(jié)構(gòu) ,使系統(tǒng)功耗大大降低 ,滿足本安型傳感器要求。
2 傳感器的結(jié)構(gòu)及工作原理
智能化磁致伸縮位移 (液位) 傳感器由不導(dǎo)磁的不銹鋼管(探測桿) 、磁致伸縮線 (波導(dǎo)絲) 、可移動的浮球 (磁環(huán)) 和測量處理系統(tǒng)等組成。波導(dǎo)絲被安裝在不銹鋼管內(nèi)保持電磁特性 ,磁環(huán)在不銹鋼管外側(cè)可自由滑動 ,測量處理系統(tǒng)集成在傳感器頭部的電子倉內(nèi)。
智能化磁致伸縮位移 (液位) 傳感器工作原理圖如圖 1 所示 ,進(jìn)行液位測量時 ,磁環(huán)被封在浮球內(nèi) ,浮球套在探測桿上 ,可沿探測桿隨液位的變化而上下移動。測量處理系統(tǒng)產(chǎn)生一周期電脈沖 ,該周期電脈沖加載波導(dǎo)絲 ,產(chǎn)生一個磁場 ,該磁場與測桿外磁環(huán)的正交磁場相遇時 ,相互作用形成螺旋磁場 ,產(chǎn)生瞬時扭力 ,使波導(dǎo)絲扭動 ,產(chǎn)生應(yīng)變波 ,并以音速沿波導(dǎo)絲傳回 ,在接收端線圈產(chǎn)生一個電脈沖。每個周期可進(jìn)行一次測量 ,電脈沖為測量起始脈沖 ( start 脈沖) ,接收端的電脈沖 ( stop脈沖) ,與每個磁環(huán)對應(yīng) ,最多有 3 個。start 脈沖與 stop 脈沖之間時間間隔與磁環(huán)的位置成比例 ,因此通過測量 start 脈沖與stop 脈沖的時間間隔的就可精確地確定被測位移量。應(yīng)變波在波導(dǎo)絲中的傳輸速度大約為 2 830 m/ s ,要想得到 5μm 的分辨率 ,時間測量的精度要達(dá)到 118 ns ,要求參考時鐘要達(dá)到 GHz 的范圍。
3 系統(tǒng)硬件設(shè)計
3. 1 系統(tǒng)功能及硬件結(jié)構(gòu)
硬件結(jié)構(gòu)主要由脈沖輸入信號整形及緩沖電路、TDC - GP1 測量芯片、PIC16C63 單片機、AT24C01 串行存儲器、DS18B20 測溫傳感器、顯示電路、電源電路、時鐘電路及 RS - 485 通信電路組成。
系統(tǒng)功能主要有 :最多能同時對 3 個液位 (位移) 、3 個溫度點進(jìn)行測量 ;用戶可根據(jù)自己的需要通過上位機設(shè)置測量的液位 (位移) 數(shù)、溫度點數(shù)、測量的量程、標(biāo)定參數(shù)、磁致伸縮位移(液位) 傳感器的地址、DS18B20 的地址碼及串行通信波特率 ,并保存在串行存儲器 AT24C01 中 ,AT24C01 是一種不揮發(fā)存儲器 ,掉電后數(shù)據(jù)仍然保留其中 ,每次開機由軟件調(diào)用 ;用戶可以通過上位機對通信、TDC - GP1、AT24C01、DS18B20 等硬件功能進(jìn)行自檢 ,自檢失敗會給出警告信號 ;系統(tǒng)的液位測量和溫度測量是獨立進(jìn)行的 ,彼此不影響 ;鑒于 DS18B20 有可能出現(xiàn)故障 ,系統(tǒng)提供了溫度測量故障報警 ,并允許在線更換新的溫度傳感器 ,系統(tǒng)能夠自動找到新的溫度傳感器并使用 ;每只磁致伸縮位移 (液位) 傳感器有 1 個 8 位二進(jìn)制碼地址 ,采用 RS - 485 串行總線連接可以構(gòu)成最多有 256 只磁致伸位移 (液位) 傳感器的一個測控網(wǎng)。
3. 2 微處理電路
系統(tǒng)采用了美國 Microchip 公司的 PIC16C63A 單片機作為下位機。它的主要特點 :高速度 ,PIC16C63 微控制器采用寬字單周期指令、哈佛雙總線和 RISC 結(jié)構(gòu) ,低功耗 ;較強的驅(qū)動能力 ,數(shù)據(jù)輸入線允許有 25 mA 的倒灌電流 ,可以直接驅(qū)動 LED ;一次性編程 (OTP) 功能 ,可編程編碼 (加密) 保護(hù)功能 ;多種振蕩器類型 ,多種復(fù)位功能 ,可編程 ID 標(biāo)識碼 ,可在線串行編程。但是 PIC16C63A 單片機指令集中沒有帶進(jìn)位減法、乘法及除法等指令 ,給用匯編語言開發(fā)復(fù)雜軟件增加了難度。PIC16C63A 單片機是下位機的核心 ,完成包括 TDC - GP1測量芯片、AT24C01 串行存儲器及 DS18B20 測溫傳感器操作控制 ,信號處理、通信、顯示等所有功能。
3. 3 TDC - GP1 電路
TDC - GP1 (Time to Digital Converter - General Purpose) 電路是德國 ACAM公司生產(chǎn)的一種高精度時間測量芯片。TDC - GP1提供了 8 位數(shù)據(jù)總線和 4 位地址總線接口 ,操作時序符合通用微處理器的總線操作時序 ,這使得 TDC - GP1 很方便作為一個微處理器的簡單外圍電路 ,用于操作 TDC - GP1 的 12 個 8 位控制寄存器、2 個 8 位狀態(tài)寄存器和 8 個 16 位結(jié)構(gòu)寄存器 ;內(nèi)部自帶高精度時鐘 ,通過設(shè)置控制寄存器分辨率可達(dá)到 125/ s ,測量范圍在 2 ns~200 ms 之間 ;操作電壓的范圍為 217~515 V ,兩次事件的時間間隔由一個 29 位的動態(tài)區(qū)域數(shù)字化 ,測量速度可高達(dá) 4 ×106 次/ s ,TDC - GP1 平均電流消耗由測量速度決定 ,可以降低到 10μA 的范圍 ,內(nèi)置 16 位的算術(shù)邏輯單元 ,能夠?qū)崿F(xiàn)測量后必要的直接標(biāo)度的算術(shù)運算和存儲 16 位輸出寄存器的結(jié)果 ;參考時鐘可在 500 kHz~35 MHz 之間選擇 ;另外 TDC -GP1 還提供了 4 個接口用于測量電阻、電容或者電感 ,具有 16位的精度和 2 ×104 次/ s 的測量速度。
它主要有兩種工作模式 :2 路通道、250/ s 分辨率的小量程工作模式 ;1 路通道、125/ s 分辨率大量程工作模式 ,可以通過設(shè)置片內(nèi) 12 個控制寄存器來改變工作狀態(tài)。
工作在小量程模式時 ,TDC 的兩個通道都是由 start 脈沖的邊沿觸發(fā)的 ,每個獨立的通道可以檢測到 4 個采樣值 ,這些采樣值與 start 脈沖的時間被存儲到各個通道的采樣寄存器中。在 start 信號和個 stop 信號之間 ,不能少于 3 ns 的時間間隔 ,如果小于這個值 ,開始的 stop 信號是要被忽略的 ,所以 start信號和個 stop 信號之間的間隔必須大于 3 ns ;在同一個通道的 stop 信號之間 ,也必須有 15 ns 的時間間隔 ,太靠近的 stop信號也會被忽略 ;而在兩個不同通道的 stop 信號之間則沒有最小時間的限制 ;所有的 stop 信號在 stop 信號之后都不能超過716μs 的值。
工作在大量程模式時 ,在這個模式中 stop 信號和接下來的個參考時鐘信號的正跳沿之間的時間設(shè)定為 FC1 ,出現(xiàn)個正跳沿后計時器被觸發(fā) , TDC 記錄下經(jīng)過的時鐘周期數(shù)CC ,直到個 stop 信號被檢測到 ,個 stop 脈沖和接下來的個參考時鐘信號的正跳沿之間的時間設(shè)定為 FC2 ,接著開始新一輪的計數(shù)。由時間計算式可算出時間值 ,如式 (1) 。其后的 stop 信號也同樣處理。
在這種模式下可以處理超過 100 ms 的時間間隔。stop 信號之間、兩個不同通道的 stop 信號之間至少要大于 2 個時鐘周期 ,所有 stop 信號之間不應(yīng)超過 216倍的時鐘周期。所以的測量范圍不超過 200 ms.由于該芯片具有高分辨率、低功耗、測量范圍廣、多點測量、體積小等優(yōu)點 ,使它成為傳感器和處理器之間的方便的橋梁 ,大大減輕了處理器的工作壓力。系統(tǒng)最多可配 3 個磁環(huán)另加 stop 脈沖的回波共 4 個 stop 脈沖 ( 如圖 3) , 只要利用PIC16C63A 單片機對 TDC - GP1 的控制寄存器進(jìn)行設(shè)定 ,TDC -GP1 就自動進(jìn)行測量并把結(jié)果轉(zhuǎn)化為十六進(jìn)制數(shù)輸出。
寄存器的設(shè)置如下程序 :
outputbyte , (reg11 ,0xa0) ;
outputbyte , (reg7 ,0x00) ;
outputbyte , (reg0 ,0xf0) ;
outputbyte , (reg2 ,0x91) ;
outputbyte , (reg4 ,0x00) ;
outputbyte , (reg6 ,0x01) ;
outputbyte , (reg11 ,0x03) ;
outputbyte , (reg7 ,0x0C) ;
3. 4 顯示電路、通信電路、電源電路
測量現(xiàn)場數(shù)據(jù)顯示電路采用 8 位串行液晶顯示模塊 ,微處理器通過串行接口同步輸入液位值 ,用戶可在線觀察液位的變化。上位機和下位機之間用 RS - 485 串行標(biāo)準(zhǔn)進(jìn)行通信 ,采用ADM483E芯片來實現(xiàn) ,波特率可由用戶設(shè)置。采用 LM2575 開關(guān)電源 ,效率大于 85 % ,輸出電流可達(dá)到 1 A ,較好的滿足了要求。
3. 5 信號前置處理電路
系統(tǒng)采用帶施密特觸發(fā)器邏輯門、比較器及濾波電路對模擬板提供的脈沖信號進(jìn)行隔離、緩沖、整形及濾波。不僅去掉了毛刺 ,改善了波形的上升沿及下降沿 ,而且提高了模擬信號負(fù)載能力 ,提高了 TDC 的測量精度。
4 軟件系統(tǒng)設(shè)計
上位機軟件采用 Visual C ++ 610 來實現(xiàn) ,具有良好的人機界面 ,完成所有的自檢、參數(shù)設(shè)定、測量命令的下達(dá) ;下位機軟件用 PIC16C63A 的匯編語言實現(xiàn) 。
下位機通過串行口與上位機進(jìn)行通信 ,下位機的通信模塊包括串行口的初始化和中斷服務(wù)程序。
上位機命令格式 :8 位地址碼 + 8 位命令碼 + 8 位參數(shù)值 + 8 位異或校驗碼。
5 信號處理
磁環(huán)在某一靜態(tài)位置的情況下 ,用數(shù)字示波器對原始的 stop 信號和 start 信號進(jìn)行多次采樣所得數(shù)據(jù)。從表 1 可以發(fā)現(xiàn) ,磁環(huán)靜止不動 ,而不同次的采樣中 stop信號和 start 信號之間的時間差就有波動 ,波動范圍可達(dá)μs級 ,按應(yīng)變波在波導(dǎo)絲中的傳輸速度 2 830 m/ s 計算 ,也就是說磁致伸縮位移 (液位) 傳感器本身就有 mm 級誤差 ,系統(tǒng)對多種濾波算法進(jìn)行了仿真 ,選用防脈沖干擾平均值法 ,結(jié)果精度提高到全量程的 3 ‰?;?PIC16C63 單片機有限的運算能力和存貯空間的限制 ,下位機具體采取以下濾波算法 :把在靜態(tài)情況下每次采集的 10 組數(shù)據(jù)累加起來 ,然后減去和最小的一組 ,除以 8 所得平均值作為測量結(jié)果。
6 結(jié)束語
在調(diào)試中遇到并解決了一些問題 :在某些場合可能需要測量 3 層的液位 ,而當(dāng) TDC 工作在大量程模式時 ,兩個測量通道中只有個通道在工作 ,1 個測量通道只有 4 個采樣寄存器 ,只可以接收 1 個 start 信號和 3 個 stop 信號 ,也就是說只能測量兩層的液位 ,為解決該問題做了多次實驗 ,結(jié)果發(fā)現(xiàn) :事實上可以通過設(shè)定控制寄存器 ,把第 4 個 stop 信號采集暫存入第二通道 ,這樣在大量程工作模式下就可以同時測量 3 個液位了。PIC單片機的數(shù)據(jù)存儲空間分 BANK1 和 BANK2 ,編程者通過設(shè)定status 寄存器的第 6 位來決定訪問哪一部分 ,但調(diào)試過程中經(jīng)常會發(fā)現(xiàn)數(shù)據(jù)存儲空間的某一存儲單元被改寫。系統(tǒng)很好地解決了該問題 ,就是在進(jìn)入中斷服務(wù)程序時 ,除了保存 status 寄存器的值 ,一定要對 status 寄存器清零 ,退出中斷服務(wù)程序時恢復(fù)status 寄存器的值 ; PIC 單片機的程序存儲空間分 2 頁 ,當(dāng)程序足夠大并同時占用 2 頁時 ,往往出現(xiàn)程序“飛”的情況 ,系統(tǒng)為解決此問題采取了以下辦法 :當(dāng)用 goto 和 call 命令訪問另一頁時 ,設(shè)置 platch 寄存器的第 4 位 ,并且在程序中打開“看門狗”。
與煙臺拿度智能科技有限公司合作 ,系統(tǒng)從 2001 年 9月份開始設(shè)計調(diào)試 ,先后研制及調(diào)試了 5 臺樣機 ,并于 2002 年10 月在北京第十一屆多國儀器儀表展覽會 (MICONEX2000) 上進(jìn)行了演示及展覽 ,得到了好評 ,2003 年 4 月完成研制 ,投入試生產(chǎn)。