單片機(jī)在電機(jī)轉(zhuǎn)速測(cè)量?jī)x應(yīng)用
電機(jī)轉(zhuǎn)速測(cè)量需要經(jīng)過(guò)的4個(gè)基本步驟:1是控制方式;2是確定計(jì)數(shù)方式;3是信號(hào)輸入方式;4是計(jì)數(shù)值的讀?。粏纹瑱C(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)部分帶圓盤旋轉(zhuǎn)時(shí),霍爾傳感器根據(jù)圓盤上得磁片獲得一系列脈沖信號(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)的速度。
單片機(jī)的轉(zhuǎn)速測(cè)量完成,定時(shí)器T0作為內(nèi)部定時(shí)器,外部中斷來(lái)的時(shí)候讀取TH0,TL0,并同時(shí)清零TH0、TL0,使定時(shí)器再次循環(huán)計(jì)內(nèi)部脈沖。此外,對(duì)于低速情況下,我們還要設(shè)定一個(gè)軟件計(jì)數(shù)器VTT,當(dāng)外部中斷還沒(méi)來(lái)而內(nèi)部定時(shí)器已經(jīng)溢出,產(chǎn)生定時(shí)器0中斷時(shí),增加VTT,作為三字節(jié)中的高字節(jié)。三字節(jié)組成除數(shù),上面的常數(shù)為四字節(jié),所以計(jì)算程序?qū)嶋H上就是調(diào)用一個(gè)四字節(jié)除三字節(jié)商為兩字節(jié)的程序。為數(shù)碼管能夠顯示出來(lái),需將二進(jìn)制轉(zhuǎn)換為十進(jìn)制,在將十進(jìn)制轉(zhuǎn)換為非壓縮BCD碼后,才能調(diào)用查表程序,最后送顯示。
評(píng)論