基于ICL7135與PIC單片機的溫度變送器
對A/D 轉(zhuǎn)換數(shù)據(jù)的智能控制。本文以 PIC 單片機與 ICL7135 的實際工程應用為例,介紹一款智能溫度控制儀表在溫度變送器中的應用。
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 以保密熔絲來保護代碼,用戶在燒入代碼后熔斷熔絲,別人再也無法讀出,除非恢復熔絲、自帶看門狗定時器,可以用來提高程序運行的可靠性。在本工程項目中選用了 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é)果有一一對應關(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:
在實際應用中,監(jiān)測的對象為玻璃熔爐的溫度,采用熱電偶將信號采集到變送器。作為溫度變送器還必須要考慮環(huán)境溫度的影響。其次,還要考慮到器件的溫度漂移,必須在后期 得到的數(shù)據(jù)對這兩個干擾量進行處理才能得到真實的溫度值。因此在模擬量的輸入部分有三個量需要采集,通過多路模擬開關(guān)隔離,再將信號送給運算放大器后進行 A/D 轉(zhuǎn)換。在 A/D 轉(zhuǎn)換部分,由于 ICL7135 本身沒有自帶的參考電壓,因此設(shè)計中必須配以精確的參考電壓源。
實際應用中采用的是 TL431 可調(diào)電壓基準,應用中達到了生產(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)的需要。
評論