步進電機控制系統(tǒng)程序流程如圖2所示,首先采集當前步進電機負載指針位置,得出當前位置與指定位置的偏差,當偏差 圖2 程序流程圖小于穩(wěn)態(tài)誤差(偏差≤0.02 cm),則控制步進電機自鎖(位置控制完成),當偏差大于穩(wěn)態(tài)誤差,則通過PID算法得到控制量,控制步進電機向指定位置運動。系統(tǒng)編程采用LabVIEW軟件,其應(yīng)用程序由3部分組成:前面板、框圖程序和圖標/連接器。圖3為步進電機控制系統(tǒng)前面板,圖4為步進電機控制系統(tǒng)框圖程序。
從框圖程序中可知,整個程序結(jié)構(gòu)是一個while循環(huán),其內(nèi)部結(jié)構(gòu)分為4個模塊:數(shù)據(jù)采集及數(shù)字濾波模塊;位置比較及波形顯示模塊;PID控制算法模塊;電機運轉(zhuǎn)方向和速度控制模塊。下面介紹各模塊的設(shè)計方法。
(1)數(shù)據(jù)采集及數(shù)字濾波模塊其功能是采集步進電機負載指針位置。設(shè)計方法:首先用設(shè)備打開子模板打開設(shè)備,通過數(shù)據(jù)采集配置子模板設(shè)置采集通道,由數(shù)據(jù)采集子模板采集數(shù)據(jù)。為了使采集的數(shù)據(jù)更準確,采用數(shù)字濾波,方法是用一個For循環(huán)對采集的前8個數(shù)據(jù)依次存人8個移位寄存器,相加后除以8。
(2)位置比較及波形顯示模塊其功能是計算步進電機負載指針實際位置與指定位置的偏差,并實時顯示位置變化曲線,設(shè)計方法:實際位置采樣的電壓值輸入此模塊后,先乘以16/5(步進電機負載的線位移范圍為0~16 em,對應(yīng)于采集電壓的0~5 V),換算為實際位置,并與指定位置比較,其差值為步進電機負載指針位置偏差,將此偏差存人移位寄存器,同時將實際位置和指定位置送人波形指示器并在前面板上實時顯示位置變化曲線。
(3)PID算法控制模塊此模塊輸入量為步進電機負載指針實際位置和指定位置的差值,輸出量為控制步進電機運行速度的脈沖周期。程序采用增量式PID算式:△u(k)=^ [e(k)一e(k一1)]+Kie(k)+Kd[e(k)一2e(k一1)+e(k一2)] (1)在計算控制量時,調(diào)用公式結(jié)點,并向結(jié)點輸入最近3次的位置偏差和PID參數(shù),即可由公式結(jié)點算出控制量,控制量可作為控制步進電機運行速度的脈沖頻率。由于系統(tǒng)采用脈沖周期時間間隔來控制步進電機的運行速度,且脈沖周期不能為負值,故要將PID算法得到的脈沖頻率轉(zhuǎn)變?yōu)槊}沖周期,并取絕對值。但是由于步進電機最高穩(wěn)定運行頻率是有限的,對該系統(tǒng)來說,電機最高穩(wěn)定運行頻率對應(yīng)的脈沖周期為0.5 ins,當PID算法得到的脈沖周期≤0.5 ins時,選擇開關(guān)1選通0.5 ins作為控制步進電機運行速度的脈沖周期;當PID算法得到的脈沖周期>0.5 ms時,就取實際算得的脈沖周期控制步進電機的運行速度。
更多直線步進電機參數(shù)知識,請咨詢覃工QQ:176340526