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