單片機(jī)是整個(gè)測(cè)量系統(tǒng)的主要部分,擔(dān)負(fù)對(duì)前端脈沖信號(hào)的處理、計(jì)算、以及信號(hào)的同步,計(jì)時(shí)等任務(wù),其次,將測(cè)量的數(shù)據(jù)經(jīng)計(jì)算后,將得到的轉(zhuǎn)速值傳送到顯示接口中,用數(shù)碼管顯示數(shù)值。在本系統(tǒng)中考慮到計(jì)數(shù)的范圍、使用的定時(shí),計(jì)數(shù)器的個(gè)數(shù)及I/O口線。
電機(jī)轉(zhuǎn)速測(cè)量需要經(jīng)過(guò)的4個(gè)基本步驟:1是控制方式;2是確定計(jì)數(shù)方式;3是信號(hào)輸入方式;4是計(jì)數(shù)值的讀??;單片機(jī)完成對(duì)電機(jī)轉(zhuǎn)速脈沖計(jì)數(shù)的控制,讀取寄存器完成轉(zhuǎn)速頻率的確定。
其測(cè)量過(guò)程是測(cè)量轉(zhuǎn)速的霍爾傳感器和電機(jī)機(jī)軸同軸連接,機(jī)軸每轉(zhuǎn)一周,產(chǎn)生一定量的脈沖個(gè)數(shù),由霍爾器件電路輸出。成為轉(zhuǎn)數(shù)計(jì)數(shù)器的計(jì)數(shù)脈沖。同時(shí)霍爾傳感器電路輸出幅度為12V的脈沖經(jīng)光電耦合后降為5V,保持同單片機(jī)AT89C51邏輯電平相一致,控制計(jì)數(shù)時(shí)間,即可實(shí)現(xiàn)計(jì)數(shù)器的計(jì)數(shù)值對(duì)應(yīng)機(jī)軸的轉(zhuǎn)速值。主CPU將該值數(shù)據(jù)處理后,在數(shù)碼管上顯示出來(lái)。本系統(tǒng)采用89C51中的0INT中斷對(duì)轉(zhuǎn)速脈沖計(jì)數(shù)。定時(shí)器T0工作于定時(shí)方式,工作于方式1。每到1s讀一次外部中斷0INT計(jì)數(shù)值,此值即為脈沖信號(hào)的頻率,可計(jì)算出電機(jī)的轉(zhuǎn)速。
當(dāng)直流電機(jī)通過(guò)傳動(dòng)部分帶圓盤(pán)旋轉(zhuǎn)時(shí),霍爾傳感器根據(jù)圓盤(pán)上得磁片獲得一系列脈沖信號(hào)。這些脈沖信號(hào)通過(guò)單片機(jī)系統(tǒng)定時(shí)/計(jì)數(shù)器0INT計(jì)數(shù),定時(shí)器T0定時(shí)。定時(shí)器T0完成100次溢出中斷的時(shí)間T除以測(cè)得的脈沖數(shù)m,經(jīng)過(guò)單位換算,就可以算得直流電機(jī)旋轉(zhuǎn)的速度。 然后判斷是否啟動(dòng)系統(tǒng)進(jìn)行測(cè)量。如果是,就啟動(dòng)系統(tǒng)運(yùn)行。如果不是就等待啟動(dòng)。啟動(dòng)系統(tǒng)后,霍爾傳感器檢測(cè)脈沖到來(lái)后,啟動(dòng)外部中斷,每來(lái)一個(gè)脈沖中斷一次,記錄脈沖個(gè)數(shù)。同時(shí)啟動(dòng)T0定時(shí)器工作,每1秒定時(shí)中斷一次,讀取記錄的脈沖個(gè)數(shù),即電機(jī)轉(zhuǎn)速。連續(xù)采樣三次,取平均值記為一次轉(zhuǎn)速值。再進(jìn)行數(shù)值的判斷,若數(shù)值高于5000rpm則報(bào)警并返回初始化階段,否則就進(jìn)行正常速度數(shù)碼管顯示。