王建勇
(常州華達(dá)科捷光電儀器有限公司,江蘇常州 213023)
激光掃平儀的自動整平系統(tǒng)是掃平儀中重要的一部分,自動整平的速度和精度會直接影響掃平儀的整機(jī)精度和工作效率。整平系統(tǒng)一般由水平傳感器、電機(jī)驅(qū)動及傳動部分組成。MCU根據(jù)水平傳感器的狀態(tài),驅(qū)動電機(jī)調(diào)整儀器狀態(tài)。在儀器接近水平狀態(tài)時,要求電機(jī)以極低的速度運(yùn)行,以減少來回擺動的次數(shù)達(dá)到快速整平。但是,步進(jìn)電機(jī)的常規(guī)驅(qū)動方式不能達(dá)到上述要求,從而限制了掃平儀的整平速度和精度。因此,本文提出了一種基于軟件算法的改良方案,通過軟件實現(xiàn)步進(jìn)電機(jī)繞組電流的細(xì)分,解決常規(guī)驅(qū)動的缺點(diǎn),實現(xiàn)掃平儀快速、高精度的整平。
掃平儀整平系統(tǒng)框圖如圖1所示。
圖1 掃平儀整平系統(tǒng)框
從圖1可以看出,掃平儀的整平系統(tǒng)是一個閉環(huán)的控制系統(tǒng)。其工作過程為:MCU通過讀取水平傳感器的信號→判斷儀器的狀態(tài)→控制電機(jī)→儀器狀態(tài)改變→MCU再次讀取傳感器信號,如此循環(huán),直到儀器處于水平狀態(tài)。從工作過程可以看出,要保證整平速度,就要求在儀器傾斜角度過大時,要求電機(jī)以較快的速度驅(qū)動傳動機(jī)構(gòu),在儀器接近水平時,要降低步進(jìn)電機(jī)的速度,以降低因整平系統(tǒng)超調(diào)導(dǎo)致儀器來回擺動的現(xiàn)象。這就要求MCU根據(jù)傳感器的信號,實時調(diào)整電機(jī)的速度,并對步進(jìn)電機(jī)進(jìn)行細(xì)分驅(qū)動。
步進(jìn)電機(jī)常規(guī)驅(qū)時各繞組的電流變化如圖2(a)所示,電機(jī)每走一步,繞組電流會從0突然變化到最大相電流,然后從最大相電流突然變化到0。這種電流的突變不符合步進(jìn)電機(jī)矩頻特性的規(guī)律,會引起電機(jī)的抖動和噪聲。
細(xì)分驅(qū)動的目的就是將電流的突變轉(zhuǎn)變?yōu)榉喜竭M(jìn)電機(jī)矩頻特性規(guī)律的變化,即將繞組電流的變化細(xì)分為n步來完成,消除由于繞組電流的突變引起的電機(jī)抖動和噪聲,同時降低電機(jī)的步進(jìn)角度。圖2(b)所示細(xì)分后繞組電流變化,根據(jù)該曲線對每一微步的電流值進(jìn)行量化,通過MCU查表方式來控制電機(jī)的繞組電流,實現(xiàn)電機(jī)的軟件細(xì)分。
首先畫出符合步進(jìn)電機(jī)矩頻特性的繞組電流曲線,根據(jù)細(xì)分?jǐn)?shù)確定步進(jìn)電機(jī)相序與電流值的對應(yīng)表,然后通過實驗得到量化后的電流值對應(yīng)的PWM控制值,做出對應(yīng)表存入MCU的片內(nèi)EEPROM中。
步進(jìn)電機(jī)按一定的相序通電,就可以實現(xiàn)正轉(zhuǎn),反轉(zhuǎn)。通過當(dāng)前的相序值,查詢EEPROM中對應(yīng)的PWM控制值,就實現(xiàn)了電機(jī)的電流細(xì)分驅(qū)動,其流程圖見圖3。
圖2 步進(jìn)電機(jī)細(xì)分前后繞組電流變化圖
圖3 細(xì)分驅(qū)動流程圖
圖4 整平系統(tǒng)程序流程圖
在整平系統(tǒng)程序中,MCU循環(huán)讀取水平傳感器的數(shù)據(jù),如果儀器已經(jīng)整平,則返回繼續(xù)讀取數(shù)據(jù)。一旦發(fā)現(xiàn)儀器傾斜,判斷傾斜方向并計算傾斜的角度范圍、轉(zhuǎn)動方向、速度和轉(zhuǎn)動角度,然后再返回繼續(xù)讀取水平傳感器數(shù)據(jù),一直到儀器整平。整平系統(tǒng)程序流程圖如圖4所示。
本文提出并實現(xiàn)的一種基于軟件算法的步進(jìn)電機(jī)的細(xì)分方法在掃平儀中的應(yīng)用,在不改動現(xiàn)有產(chǎn)品的硬件電路的情況下,通過軟件算法對掃平儀的整平系統(tǒng)進(jìn)行改良,實際測試證明,該方法可以有效地改善掃平儀的整平速度和精度,且具有很好的穩(wěn)定性。