李力, 武震宇, 曾德學, 余新亮
(水電機械設備設計與維護湖北省重點實驗室(三峽大學),湖北 宜昌443002)
在現(xiàn)代大型流程生產(chǎn)企業(yè)中,生產(chǎn)設備大都是低速重載設備。這類設備本身結構復雜,一旦發(fā)生事故或故障,維修困難且維修周期長,有時會引起整個生產(chǎn)線中斷,造成巨大的經(jīng)濟損失[1]。轉速作為此類設備故障監(jiān)測的一個重要參數(shù),其大小及變化往往意味著機器設備運轉的正常與否[2]。因此,對其轉速進行監(jiān)測就顯得十分必要。轉速測量方法多種多樣,其中基于單片機的轉速測量方法由于其功能強大及價格低廉等特點得到廣泛應用。根據(jù)單片機測速特點,對于低速重載設備而言,一般采用T 法測速[3]。T 法也稱為測周法,即在給定的角位移距離內,通過測量這一角位移的時間來進行測速,通常為測量相鄰兩個脈沖之間的時間間隔達到測速目的。由于相鄰兩個脈沖之間的時間間隔測量不便,因此,T 法測速理論研究較多,實際應用較少[4];單片機T2 端口在理論及工程實踐中也有所體現(xiàn)[5,6],但具體應用于低速重載設備測速系統(tǒng)中比較少見。針對以上兩點,采用AT89C52 單片機的T2 端口對低速重載設備的轉速進行測量。
定時器T2 是一個16 位定時/計數(shù)器,有3 種工作模式:16 位自動重裝載模式;16 位捕獲模式;波特率發(fā)生器模式。在其內部不僅設置有兩個8 位計數(shù)器TL2、TH2 和控制寄存器T2CON、T2MOD,還設置有兩個8 位捕獲寄存器RCAP2L 和RCAP2H。其中,控制寄存器T2CON 是一個逐位定義的特殊功能寄存器,其位地址及功能如表1 所示;捕獲寄存器RCAP2L 和RCAP2H 用于捕獲計數(shù)器TL2、TH2的計數(shù)狀態(tài),或用來設置計數(shù)初值;TL2、TH2 和RCAP2L、RCAP2H 之間接有三態(tài)緩沖器,復位后捕獲寄存器清零。
定時器T2 既可作為定時器使用,也可作為外部事件計數(shù)器使用,由T2CON 的定時/計數(shù)選擇位C/T2 控制。作為定時器使用時,計數(shù)脈沖來自于單片機內部的時鐘振蕩器;作為外部事件計數(shù)器使用時,計數(shù)脈沖來自于由引腳輸入的外部時鐘脈沖。在定時器T2 的3 種工作模式中,自動重裝載模式是指在一定條件下,自動將捕獲寄存器RCAP2L 和RCAP2H 中的數(shù)據(jù)裝入計數(shù)器TL2、TH2中;捕獲模式是指在一定條件下,自動將計數(shù)器TL2、TH2中的數(shù)據(jù)讀入捕獲寄存器RCAP2L 和RCAP2H 中;波特率發(fā)生器模式是指以定時器溢出脈沖為串行口提供波特率時鐘信。工作模式由T2CON 中的相應控制位RCLK、TCLK、C/RL2 及TR2 共同選擇控制。
定時功能通過對單片機內部的機器周期進行計數(shù),從而得到定時。定時器T2 的實質是加1 計數(shù)器,即每輸入一個脈沖,計數(shù)器加1。作為16 位計數(shù)器,其計數(shù)長度可以從0000H 或者某一設定值達到FFFFH,再輸入一個脈沖,就會使計時器回零,即計數(shù)器從FFFFH 溢出到0000H,溢出標志位TF2 被置1,向CPU 發(fā)出中斷請求。
定時器T2 具有負跳變脈沖捕捉的功能,當轉速脈沖信號發(fā)生負跳變時定時器T2 開始計時,下一個相鄰脈沖信號發(fā)生負跳變時停止計時,通過計算即可求出轉速值。采用T2 端口測量相鄰兩個轉速脈沖之間的時間間隔,必須準確捕獲一個周期的轉速脈沖信號。轉速脈沖信號可采用開關型霍爾傳感器配合磁鋼獲取,將磁鋼吸附在設備的旋轉軸上,霍爾傳感器對應磁鋼固定安裝。磁鋼正對霍爾傳感器時,傳感器輸出低電平;當磁鋼偏離傳感器時,傳感器輸出高電平,高低電平變化形成脈沖轉速信號。
測速時,置C/RL2 為1,即采用定時器T2 的捕獲模式。捕獲操作發(fā)生于兩種情況:(1)定時器T2 的寄存器TH2 和TL2 溢出時,TL2、TH2 和RCAP2L、RCAP2H 之間連接的三態(tài)緩沖器打開,把TL2 與TH2 中的內容自動讀入到捕獲寄存器RCAP2L 及RCAP2H 中,同時置TF2 為1,申請中斷;(2)當EXEN2=1 且T2EX 引腳的信號有負跳變時,將發(fā)生捕獲操作,即三態(tài)緩沖器打開并把TL2 與TH2 中的內容自動讀入到捕獲寄存器RCAP2L 及RCAP2H 中,同時置EXF2 為1,申請中斷。若T2 的終端是被允許的,兩種方式都會引起CPU 響應中斷。響應中斷后,需用軟件清除中斷申請。其工作原理如圖1 所示。
定時時間滿足以下公式:
式中,t-定時時間;TC-機器周期;L-計數(shù)器長度;Fosc-晶振頻率;TC-定時器/計數(shù)器初值。
取晶振頻率為12MHz,定時器T2 計數(shù)器長度為16,定時器初值置0,則機器周期TC值為1μs,定時時間t 為216μs,即定時器T2 最大定時時間為0.065536s。低速重載設備轉速一般不超過600r/min,轉速取600r/min 時,設備旋轉軸轉一周時間為0.1s;轉速取1r/min 時,設備旋轉軸轉一周時間為60s,俱已超過定時器最大定時時間。由于定時器T2 實質是加1 計數(shù)器,超過最大定時時間時計數(shù)器會發(fā)生溢出,溢出標志位TF2 被置1,向CPU 發(fā)出中斷請求,故需另設一個計數(shù)器Timer,初始值置0,TF2 每溢出一次,Timer 自動加1。最后,根據(jù)計數(shù)器Timer 與捕獲寄存器RCAP2L 及RCAP2H 的值即可計算出所測設備旋轉軸轉速值。
表1 定時器T2 控制寄存器T2CON 簡表
圖1 定時器T2 捕獲模式工作原理
圖2 所示為定時器T2 中斷流程圖,轉速脈沖信號由T2EX引腳輸入,當檢測到該信號發(fā)生負跳變時,置TR2 為1,啟動定時器T2。溢出標志位TF2 每溢出一次,計數(shù)器Timer 自動加1,當檢測到由T2EX 引腳輸入的下一個相鄰脈沖轉速信號發(fā)生負跳變時停止計時,計算的結果根據(jù)要求進行顯示、存儲或者發(fā)送到指定位置以便查看及進行診斷。
根據(jù)流程圖2 寫出定時器T2 中斷程序如下:
圖2 定時器T2 中斷流程圖
在調用該中斷程序之前,必須先對定時器T2 相關端口進行初始化,如寫入T2CON=0x09 允許外部信號觸發(fā)定時器T2 進行捕獲操作,寫入ET2=1 允許定時器T2 中斷等。計算得出的轉速即為所測設備旋轉軸的轉速,若需將數(shù)據(jù)顯示在LED 或LCD 屏上,還需對計算出的數(shù)值進行BCD 轉碼等操作。
完善程序后在Keil 軟件中編譯無誤,將生成的Hex文件加載給使用仿真軟件Proteus 搭建的硬件電路,仿真結果如圖3 所示。通過更改硬件電路中Clock 源的頻率模擬低速重載設備旋轉軸轉速的變化,所測速度相應變化,與設定值吻合。
圖3 定時器T2 應用仿真示意圖
繪制線路板,焊接相應元器件,燒制程序給單片機,連接好電路,在實驗室利用變頻電機替代低速重載設備的旋轉軸,可以比較準確地測量電機轉速。經(jīng)過與其他測量方式對比,誤差在1%以下。
本文闡述定時器T2 捕獲模式工作原理,介紹了AT89C52 單片機定時器T2 實現(xiàn)T 法測速的具體實現(xiàn)方式,用C 語言給出了計算轉速的程序,解決了用T 法測量低速重載設備旋轉軸轉速時兩個相鄰轉速脈沖信號之間時間間隔測量不便問題,且AT89C52 單片機的中斷功能得到了充分應用。通過仿真及實驗驗證,測速結果準確可靠,具有一定的社會推廣價值。
[1] 張珂,等.油液(脂)監(jiān)測技術在低速重載故障診斷中的應用[C]//第十屆全國振動理論及應用學術會議論文集,2011.
[2] 笪月君.基于單片機的柴油機轉速測量模塊設計[J].船電技術,2012(7):24-27.
[3] 蔣云云,王擊.一種新型電機轉速測量方法的研究[J].電腦知識與技術,2009(19):5290-5292.
[4] 袁鵬程,張偉峰.改進的M/T 法在電機測速中的應用[J].輕工機械,2012(1):59-62.
[5] 張小軍,張涌,黃國強,等.ATMEL89C52T2 的特殊用法[J].陜西煤炭,2002(4):41-42.
[6] 成海暉,王善臣,楊偉國.單片機定時計數(shù)器T2 在電阻焊上的應用[J].微計算機信息,2008(35):89-91.