基于51單片機的數(shù)字測速系統(tǒng)的設(shè)計方案
0 引言
本方案所設(shè)計的基于霍爾元件的脈沖發(fā)生器要求成本低,構(gòu)造簡單,性能好。在電氣控制系統(tǒng)中存在著較為惡劣的電磁環(huán)境,因此要求產(chǎn)品本身要具有較強的抗干擾能力。系統(tǒng)主要由AT89S52 單片機處理系統(tǒng)、電機、傳感器檢測單元、信號處理單元和顯示系統(tǒng)等幾個部分組成。
1 總體方案設(shè)計
對轉(zhuǎn)速的測量實際上是對轉(zhuǎn)子旋轉(zhuǎn)引起的周期脈沖信號的頻率進行測量。霍爾元件測速法是利用霍爾開關(guān)元件測轉(zhuǎn)速的。
霍爾開關(guān)元件內(nèi)含穩(wěn)壓電路、霍爾電勢發(fā)生器、放大器、施密特觸發(fā)器和輸出電路。輸出電平與TTL 電平兼容,在電機轉(zhuǎn)軸上裝一個圓盤,圓盤上裝若干對小磁鋼,小磁鋼越多,分辨率越高,霍爾開關(guān)固定在小磁鋼附近,當(dāng)電機轉(zhuǎn)動時,每當(dāng)一個小磁鋼轉(zhuǎn)過霍爾開關(guān),霍爾開關(guān)便輸出一個脈沖,計算出單位時間的脈沖數(shù),即可確定旋轉(zhuǎn)體的轉(zhuǎn)速。其系統(tǒng)框圖如圖1 所示。
2 系統(tǒng)硬件電路設(shè)計
該系統(tǒng)包括霍爾傳感器、隔離整形電路、主CPU、顯示電路、報警電路及電源等部分。其測量過程是測量轉(zhuǎn)速的霍爾傳感器和電機機軸同軸連接,機軸每轉(zhuǎn)一周,產(chǎn)生一定量的脈沖個數(shù),由霍爾器件電路輸出,經(jīng)隔離整形后送入單片機進行處理,單片機收到信號將該值數(shù)據(jù)處理后,在LCD 液晶顯示器上顯示出來。
一旦超速,CPU 通過蜂鳴器進行報警。
2.1 傳感器的選擇
測量電機轉(zhuǎn)速的第一步就是要將電機的轉(zhuǎn)速表示為單片機可以識別的脈沖信號,從而進行脈沖計數(shù)。利用霍爾器件檢測脈沖信號因其具有結(jié)構(gòu)牢固、體積小、重量輕、壽命長、安裝方便等優(yōu)點。當(dāng)電機轉(zhuǎn)動時,帶動傳感器運動,產(chǎn)生對應(yīng)頻率的脈沖信號,經(jīng)過信號處理后輸出到計數(shù)器或其他的脈沖計數(shù)裝置,進行轉(zhuǎn)速的測量。
2.2 微處理器的選擇
為了減少體積與功耗,采用較常使用且較經(jīng)濟的AT89S52單片機:AT89S52 是一種低功耗、高性能CMOS 的8 位微控制器,具有8K 在系統(tǒng)可編程存儲器。其最小系統(tǒng)包括單片機AT89S52接口電路、晶振電路、復(fù)位電路。如圖2 所示。
2.3 計數(shù)器與定時器
使用片內(nèi)的計數(shù)器的優(yōu)點在于降低單片機系統(tǒng)的成本。每到一個脈沖將會產(chǎn)生一個T1 的計數(shù),在T0 產(chǎn)生的100ms 中斷完成后,T1 的中斷溢出次數(shù)就是所需要計的脈沖數(shù)。系統(tǒng)計數(shù)部分采用片內(nèi)的計數(shù)器。定時器部分可由片內(nèi)始終信號產(chǎn)生。
2.4 信號處理電路
用霍爾傳感器測量轉(zhuǎn)速,其檢測到的信號為一個個的脈沖,所以不需要進行模數(shù)轉(zhuǎn)換,信號經(jīng)傳感器后,濾去雜波即可直接接入單片機進行計數(shù)處理。由于是數(shù)字脈沖信號,所以濾波的時候采用兩次反向操作,即可達(dá)到隔離整形的目的。硬件搭接如圖3 所示。其中74LS14 為六位反相器。
2.5 系統(tǒng)設(shè)計總框圖
實際測量時,要把霍爾傳感器固定在直流測速電機的底板上,與霍爾探頭相對的電機的軸上固定著一片磁鋼塊,電機每轉(zhuǎn)一周,霍爾傳感器便發(fā)出一個脈沖信號,如圖4 所示。
3 檢測系統(tǒng)軟件設(shè)計
電機轉(zhuǎn)速測量需要經(jīng)過的4 個基本步驟:1 是控制方式;2 是確定計數(shù)方式;3 是信號輸入方式;4 是計數(shù)值的讀取。其測量過程是測量轉(zhuǎn)速的霍爾傳感器和電機機軸同軸連接,機軸每轉(zhuǎn)一周,產(chǎn)生一定量的脈沖個數(shù),由霍爾器件電路輸出。經(jīng)過隔離整形電路后,成為轉(zhuǎn)數(shù)計數(shù)器的計數(shù)脈沖??刂朴嫈?shù)時間,即可實現(xiàn)計數(shù)器的計數(shù)值對應(yīng)機軸的轉(zhuǎn)速值。主CPU 將該值數(shù)據(jù)處理后,在LCD 液晶顯示器上顯示出來。[!--empirenews.page--]
3.1 主程序框圖
先進行初始化設(shè)置各定時器初值,然后判斷是否啟動系統(tǒng)進行測量。啟動系統(tǒng)后,霍爾傳感器檢測脈沖到來后,啟動外部中斷,每來一個脈沖中斷一次,記錄脈沖個數(shù)。同時啟動T0 定時器工作,每1 秒定時中斷一次,讀取記錄的脈沖個數(shù),即電機轉(zhuǎn)速。連續(xù)采樣三次,取平均值記為一次轉(zhuǎn)速值。再進行數(shù)值的判斷,若數(shù)值高于5000r/s 則報警并返回初始化階段,否則就進行正常速度液晶顯示。如圖5 所示。
3.2 中斷服務(wù)程序
在處于中斷服務(wù)程序階段,首先進行關(guān)中斷設(shè)置。其次進行對位進行的脈沖個數(shù)計數(shù)的數(shù)值讀取。再次對、T0 進行賦初值并且進行關(guān)中斷設(shè)置。最后進行中斷返回。
3.2.1 外部計數(shù)中斷
3.2.2 定時器中斷流程圖
4 總結(jié)
本文介紹了一種基于單片機的電機轉(zhuǎn)速測量系統(tǒng)的設(shè)計方案, 克服了傳統(tǒng)方法測量的不足, 可以實現(xiàn)電機轉(zhuǎn)速不同區(qū)段的精度測量。該速度測量系統(tǒng)具有測量速度快,測量精度高的優(yōu)點,霍爾傳感器的輸出信號經(jīng)信號調(diào)理后,通過單片機對連續(xù)脈沖記數(shù)來實現(xiàn)轉(zhuǎn)速測量,充分利用了單片機的內(nèi)部資源,有很高的性價比。事實證明,該系統(tǒng)在一般的轉(zhuǎn)速檢測和控制中均可應(yīng)用。