基于SPMC75F2413A單片機的步進電機加減速控制
步進電機(脈沖電動機)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu),是數(shù)字控制的一種執(zhí)行元件,其可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。步進電機具有轉(zhuǎn)矩大、慣性小、響應(yīng)頻率高等優(yōu)點,因此具有瞬間啟動與急速停止的優(yōu)越特性。步進電機在各種應(yīng)用場合下最大的優(yōu)勢是:可以開環(huán)方式控制而無需反饋就能對位置和速度進行控制,但也正是因為負(fù)載位置對控制電路沒有反饋,步進電機就必須正確響應(yīng)每次勵磁變化。如果勵磁頻率選擇不當(dāng),電機不能夠移到新的位置,那么實際的負(fù)載位置相對控制器所期待的位置出現(xiàn)永久誤差,即發(fā)生失步現(xiàn)象或過沖現(xiàn)象。因此步進電機開環(huán)控制系統(tǒng)中,如何防止失步和過沖是開環(huán)控制系統(tǒng)能否正常運行的關(guān)鍵。
本設(shè)計使用SPMC75F2413A作為該系統(tǒng)設(shè)計的控制器。SPMC75F2413A是μ’nSPTM系列產(chǎn)品的一個新成員,是凌陽科技新推出的一個16位結(jié)構(gòu)的微控制器。本設(shè)計中由SPMC75F2413產(chǎn)生脈沖信號,驅(qū)動電路使用由Allergo公司生產(chǎn)的兩相步進電機專用驅(qū)動器SLA7042M構(gòu)成步進電機的驅(qū)動電路,執(zhí)行機構(gòu)是兩相混合式步進電機。
1 步進電機加減速控制原理
S曲線加減速將傳統(tǒng)的3段加減速過程變?yōu)?段加減速過程,形成S字形,如圖1所示。加速段由加加速度段(T1)、勻加速度段(T2)、減加速度段(T3)組成;減速段由加減速度段(T5)、勻減速度段(T6)、減減速度段(T7)組成;而勻速段為(T4)。
在步進電機的控制系統(tǒng)中,給一個電脈沖信號,步進電機就轉(zhuǎn)動一個角度或前進一步,如輸人為脈沖數(shù)N,在規(guī)定的時間T內(nèi),其頻率即為f。驅(qū)動脈沖的頻率f隨時間t有:
式中,fm為步進電機的最高連續(xù)頻率,τ是決定升速快慢的時間常數(shù),實際工作中可由實驗來確定,已知系統(tǒng)達到勻速時的速度和系統(tǒng)達到最大速度所用的時間。
本系統(tǒng)使用單片機定時中斷方式控制步進電機的速度,在升降速控制時,實際上是不斷改變定時器的裝載值的大小。
將升速過程離散處理,在設(shè)計中將加速時間固定為T=T1+T2+T3,為使說明方便,令T2=0。這時加速段由3個變?yōu)?個,即加加速段與減加速段。將T等分為40個時間相同的時間段,即將加加速時間T1分為20等分,將加減速時間T3分為20等分。則兩次速度變化的間隔時間為△t=T/40,則每一檔的頻率可由式(1)計算得出,在每一檔頻率下步進電機所執(zhí)行的步數(shù)也可通過計算得出。
2 系統(tǒng)硬件設(shè)計
圖2為系統(tǒng)硬件設(shè)計結(jié)構(gòu)框圖。
圖2中,SPMC75F2413A是一款系列產(chǎn)品的16位結(jié)構(gòu)的微控制器。在4.5-5.5 V工作電壓范圍內(nèi)的工作速度為0-24 MHz,擁有2 K字SRAM和32 K字閃存ROM;IOA~IOD4組64位可編程I/O端口,5個通用16位定時器/計數(shù)器。該系統(tǒng)采用S17MC75F2413A的IOB端口的IOB0~IOB3位作為控制信號的輸出端口,IOB4位作為光電傳感器的輸入端口。
步進電機易于與數(shù)字電路接口,但一般數(shù)字電路的信號能量遠遠不足以驅(qū)動電機。因此,必須有一個與之匹配的驅(qū)動器來驅(qū)動步進電機。驅(qū)動器通過給電機繞組提供特定的激磁電流,告訴電機需要運行多少微步。步進電機運行在整步模式時,因為剛好與電機的機械設(shè)計特點相吻合。此時定轉(zhuǎn)子齒正好完全對齊,且繞組中流過的電流最大,步距角也最大。隨著細分?jǐn)?shù)的增加,步矩角相應(yīng)減小。
該系統(tǒng)采用Allergo公司生產(chǎn)的驅(qū)動器SLA7042M,其本質(zhì)上是利用數(shù)字量輸入控制輸出電流,其內(nèi)部的2個4 bit的移位寄存器分別接收由SerialData引腳輸入的電機相位信息和激磁電流比例數(shù)據(jù)。該4 bit的移位寄存器的第l位先載入相位信息,接著依次串行載入激磁電流比例數(shù)據(jù)的最低位,次低位,最后載入最高位。驅(qū)動部分電路如圖3所示。
3 系統(tǒng)軟件設(shè)計
通過式(1)可計算出每個頻率檔的頻率以及在該檔內(nèi)步進電機所走的步數(shù),將這40個檔的頻率以及各個檔內(nèi)所走的步數(shù)分別存入2個數(shù)組變量。該系統(tǒng)軟件程序首先判斷步進電機是否能達到最大速度。當(dāng)規(guī)定步進電機轉(zhuǎn)動的步數(shù)少時,步進電機不能達到最大速度,速度就要開始下降。這時首先應(yīng)求出升速所能達到的步數(shù)和頻率,及降速所能達到的步數(shù)和頻率。而減速過程和加速過程正好相反,即就是將2個數(shù)組中存入的數(shù)據(jù),按相反順序輸出。圖4為步進電機S曲線加減速軟件流程。
4 結(jié)束語
使用凌陽SPMC75F2413A單片機,采用S曲線增減速的方法有效控制了步進電機啟動和停止過程中容易產(chǎn)生的失步及過沖現(xiàn)象。該控制方法有效、實用,已在數(shù)控切削系統(tǒng)中得到驗證,結(jié)果穩(wěn)定可行。