AT&T,IBM,諾基亞聯(lián)合治理物聯(lián)網(wǎng)安全
步進電機是一種將電脈沖信號轉(zhuǎn)換成角位移或線位移的一種器件。在不超載情況下,步進電機的轉(zhuǎn)速和運動距離取決于控制電脈沖的頻率和數(shù)量。
其控制精度主要由兩方面決定:
1、步進電機的每步精度,以2相混合式步進電機為例,一個200步的步進電機在不細分情況下,單步的步距為:360°/200=1.8°,即該步進電機單步行走的最小距離就是1.8°。但實際使用中,一般都會細分步數(shù)。以2細分為例,此時步進電機行走兩步相當于原來走一步,則現(xiàn)在單步的步距為:360°/(200*2)=0.9°;同理,4細分下,單步步距為:360°/(200*4)
=0.45°;8細分下,單步步距為:360°/(200*8)=0.225°;16細分下,單步步距為:360°/(200*16)=0.1125°;32細分下,單步步距為:360°/(200*32)=0.05625°。所以驅(qū)動細分下,步進電機單步步距角計算公式為:360/(步進電機固有步數(shù)*細分數(shù))。
由此可見,要減小步進電機單步步距角以達到較高精度,需要從兩個方面著手,一是提高或采用固有步數(shù)更多的步進電機以獲得較小的單步步距角,如0.9°。二是提高步數(shù)細分的程度。
2、計算精度,在控制步進電機進行動作時,計算系統(tǒng)在將要移動的角位移或者線位移轉(zhuǎn)換成步進電機步數(shù)的計算時應該保證計算精度高于步進電機每步精度。比如說,步進電機每步的步距角為0.1125°,要移動的角位移為143.45°,要走的步數(shù)應該為=143°/0.1125°,計算結果為1275.11.....步,實際結果為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來進行計算,則一般都會舍棄掉小數(shù)部分,從而造成較大的計算誤差。