步進(jìn)電機(jī)控制之控制精度討論
步進(jìn)電機(jī)是一種將電脈沖信號轉(zhuǎn)換成角位移或線位移的一種器件。在不超載情況下,步進(jìn)電機(jī)的轉(zhuǎn)速和運動距離取決于控制電脈沖的頻率和數(shù)量。
其控制精度主要由兩方面決定:
1、步進(jìn)電機(jī)的每步精度,以2相混合式步進(jìn)電機(jī)為例,一個200步的步進(jìn)電機(jī)在不細(xì)分情況下,單步的步距為:360°/200=1.8°,即該步進(jìn)電機(jī)單步行走的最小距離就是1.8°。但實際使用中,一般都會細(xì)分步數(shù)。以2細(xì)分為例,此時步進(jìn)電機(jī)行走兩步相當(dāng)于原來走一步,則現(xiàn)在單步的步距為:360°/(200*2)=0.9°;同理,4細(xì)分下,單步步距為:360°/(200*4)
=0.45°;8細(xì)分下,單步步距為:360°/(200*8)=0.225°;16細(xì)分下,單步步距為:360°/(200*16)=0.1125°;32細(xì)分下,單步步距為:360°/(200*32)=0.05625°。所以驅(qū)動細(xì)分下,步進(jìn)電機(jī)單步步距角計算公式為:360/(步進(jìn)電機(jī)固有步數(shù)*細(xì)分?jǐn)?shù))。
由此可見,要減小步進(jìn)電機(jī)單步步距角以達(dá)到較高精度,需要從兩個方面著手,一是提高或采用固有步數(shù)更多的步進(jìn)電機(jī)以獲得較小的單步步距角,如0.9°。二是提高步數(shù)細(xì)分的程度。
2、計算精度,在控制步進(jìn)電機(jī)進(jìn)行動作時,計算系統(tǒng)在將要移動的角位移或者線位移轉(zhuǎn)換成步進(jìn)電機(jī)步數(shù)的計算時應(yīng)該保證計算精度高于步進(jìn)電機(jī)每步精度。比如說,步進(jìn)電機(jī)每步的步距角為0.1125°,要移動的角位移為143.45°,要走的步數(shù)應(yīng)該為=143°/0.1125°,計算結(jié)果為1275.11.....步,實際結(jié)果為1275步,移動誤差為:0.11111*0.1125
=0.0125°。而如果計算移動的角位移是以1°為單位的,143.45°=143°,小數(shù)部分就被舍棄了。143/0.1125=1271.1111步,則比較之前的移動,誤差為:(1275-1271)*0.1125°
=0.45°。這里之所以這樣提出,主要是因為在嵌入式系統(tǒng)中,因為數(shù)據(jù)類型的限制,如果不使用float或double來進(jìn)行計算,則一般都會舍棄掉小數(shù)部分,從而造成較大的計算誤差。





