本文以 PIC 單片機與 ICL7135 的實際工程應(yīng)用為例,,介紹一款智能溫度控制儀表在溫度變送器中的應(yīng)用,。
1 PIC 單片機
PIC 系列 8 位 CMOS 單片機具有獨特的 RISC 結(jié)構(gòu),數(shù)據(jù)總線和指令總線分離的哈佛總線(Harvard)結(jié)構(gòu),,使指令具有單字長的特性,,且允許指令碼的位數(shù)可多于 8 位的數(shù)據(jù)位數(shù), 這與傳統(tǒng)的采用 CISC 結(jié)構(gòu)的 8 位單片機相比,,可以達到 2:1 的代碼壓縮,,速度提高 4 倍。
PIC 有優(yōu)越開發(fā)環(huán)境,、徹底的保密性,、PIC 以保密熔絲來保護代碼,用戶在燒入代碼后熔斷熔絲,,別人再也無法讀出,,除非恢復(fù)熔絲、自帶看門狗定時器,,可以用來提高程序運行的可靠性,。在本工程項目中選用了 PIC 中檔單片機 PIC16F62x,內(nèi)部含有 2K flash,、224 字節(jié) SRAM,、128 字節(jié) EEPROM、16 個 I/O 口,、1 個 CCP 捕獲通道,、2 個比較器通道、2 個 8 位 1 個 16 位定時器,、具有 UART 功能,。
2 7135 A/D 轉(zhuǎn)換原理
7135 采用高阻抗差分輸入方式,總失調(diào)電壓小于 10μV,,其 A/D 轉(zhuǎn)換器采用雙積分式,, 共分 4 個階段:自動調(diào)零,輸入信號積分,,標準信號反積分,,積分器歸零。其當個轉(zhuǎn)換過程如圖 1 所示。
由圖 1 可以看出,,7135 在對輸入信號進行積分時,其 BUSY 信號線由低向高跳變并一直保持高電平,,直到標準信號反積分結(jié)束時才跳變到低電平,。在此過程中,對輸入信號的積分一般保持 10001 個時鐘脈沖,,而在滿量程的情況下,,反相標準積分值為 20001(當 Vin="2Vref" 時),對于不同的模擬量輸入,,7135 反向標準積分脈沖數(shù)不同,,BUSY 信號的高電平寬度也不 同,且反向積分脈沖數(shù)正比于輸入信號幅度,,與測量結(jié)果有一一對應(yīng)關(guān)系,。在轉(zhuǎn)換過程中,7135 提供一輸入信號極性判斷引腳 POL,,當輸入(Vin+-Vin-)為正值時,,POL 信號為高電 平,(Vin+-Vin-)為負值時,,POL 信號為低電平,。
3 7135 與 PIC 單片機的串行連接
由7135 的轉(zhuǎn)換原理可知,可以通過脈沖計數(shù)的方式獲得測量的結(jié)果,,且只需要 3 條控 制線 CLK,,BUSY,POL,。Microchip 推出的 PIC 系列單片機具有驅(qū)動能力大,,抗干擾能力強,價格適中等優(yōu)點,。其推出的 PIC16F6X 系列,,有 2~4K FLASH 內(nèi)存,1 個 16 位定時器,,2 個CCP 比較/捕捉模塊,,多于 22 個 I/O,唯一的遺憾是沒有符合 7135 的采樣時鐘,??紤]到儀表需要通信及隔離模擬變送輸出,采用 16M 晶振,,利用 16 位定時器 T1 作為 7135 的同步計數(shù) 脈沖,,BUSY 接于 CCP1 引腳,工作于捕捉方式,用于測量脈沖寬度;而 7135 的 CLK 時鐘,,則利用 CPU 的晶振接于高速反相器,,再經(jīng)分頻取出??紤]到采樣速度及對 50Hz 電源的抗干擾影響,,以及溫度變量的慣性大的特點,取 CLK="250kHz",,采樣速度約為 4 次/min,。系統(tǒng)硬 件聯(lián)接如圖 2:
在實際應(yīng)用中,監(jiān)測的對象為玻璃熔爐的溫度,,采用熱電偶將信號采集到變送器,。作為溫度變送器還必須要考慮環(huán)境溫度的影響。其次,,還要考慮到器件的溫度漂移,,必須在后期 得到的數(shù)據(jù)對這兩個干擾量進行處理才能得到真實的溫度值。因此在模擬量的輸入部分有三個量需要采集,,通過多路模擬開關(guān)隔離,,再將信號送給運算放大器后進行 A/D 轉(zhuǎn)換。在 A/D 轉(zhuǎn)換部分,,由于 ICL7135 本身沒有自帶的參考電壓,,因此設(shè)計中必須配以精確的參考電壓源。
實際應(yīng)用中采用的是 TL431 可調(diào)電壓基準,,應(yīng)用中達到了生產(chǎn)要求,,效果良好。在變送器的輸出部分則需加以隔離并且 MAX485 的輸出端接以上,,下拉電阻,。
4 A/D轉(zhuǎn)換結(jié)果的計算處理
定時器 T1 的時鐘和 7135 的時鐘不是同一個輸入,T1 的時鐘為系統(tǒng)時鐘的 1:128 分,,而 7135 的 CLK 為 125KHz,,為 CPU 引腳輸出的方波脈沖。7135 的 BUSY 腳接 CPU 具有電平中斷功能的引腳,,這樣當 BUSY 為高時便開始計入脈沖數(shù),,直到一次轉(zhuǎn)換完畢。對熱電偶通道所測得的數(shù)據(jù)根據(jù)其電壓—溫度特性表進行處理后得到其 溫度值,,對溫度飄移則視 POLARITY 的極性而定,,若為正則將其用熱電偶溫度值減去,否則則加,。環(huán)境溫度直接相加,。溫度數(shù)據(jù)處理完畢等待上位機發(fā)送指令上傳即可。
5 軟件設(shè)計
系統(tǒng)軟件的設(shè)計中含有以下幾個處理模塊:初始化及主程序模塊,中斷處理模塊,,數(shù)據(jù)處理及傳送控制輸出模塊,。其中中斷處理模塊包括通訊中斷,捕捉中斷處理,。數(shù)據(jù)處理及傳送控制輸出模塊則包括溫度對象的數(shù)據(jù)處理,,串行通訊的接收與發(fā)送控制。以下簡要介紹主程序運行流程與 7135 電平中斷處理,。程序流程如下:
在 A/D 轉(zhuǎn)換過程中,因為 BUSY 腳上升沿時開始脈沖計數(shù),,下降沿是計數(shù)即完畢,,所得結(jié)果 存放在 CCP 寄存器中,它是分 CCPR1H 與 CCPR1L 高,、低兩個字節(jié)共 16 位寄存器,。將 CCPR1H左移 4 位加上 CCPR1L 再減去 10001,即為 A/D 轉(zhuǎn)換脈沖的計數(shù)值,。將轉(zhuǎn)換后的數(shù)據(jù)按前述方法由軟件進行進一步處理,。對采樣數(shù)據(jù)的處理過程中,可取對每 4 次或 8 次采樣值進行脈沖 濾波,,或可以結(jié)合其他濾波方法一起例如一階濾波方法對數(shù)據(jù)進行處理,,送顯,控制,,這樣能使測量更準確,,顯示更穩(wěn)定。為保證生產(chǎn)的持續(xù)穩(wěn)定進行提供有力保障,。
6 結(jié)束語
此溫度變送器的工作環(huán)境相當惡劣,,靜電干擾非常大,在調(diào)試過程中甚至出現(xiàn)了芯片被靜電激穿燒壞的現(xiàn)象,,在串行通信的前端加光耦隔離并對 MAX485 芯片 A,、B 分別上拉到電源和下拉到地起到了良好的保護作用,在長時間的使用期間此變送器無論是在穩(wěn)定性,、精度,、 實時性還是安全性上都表現(xiàn)良好,滿足了實際生產(chǎn)的需要,。