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