基于SPMC75F2413A單片機的步進電機加減速控制
步進電機(脈沖電動機)是一種將電脈沖轉化為角位移的執行機構,是數字控制的一種執行元件,其可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。步進電機具有轉矩大、慣性小、響應頻率高等優點,因此具有瞬間啟動與急速停止的優越特性。步進電機在各種應用場合下最大的優勢是:可以開環方式控制而無需反饋就能對位置和速度進行控制,但也正是因為負載位置對控制電路沒有反饋,步進電機就必須正確響應每次勵磁變化。如果勵磁頻率選擇不當,電機不能夠移到新的位置,那么實際的負載位置相對控制器所期待的位置出現永久誤差,即發生失步現象或過沖現象。因此步進電機開環控制系統中,如何防止失步和過沖是開環控制系統能否正常運行的關鍵。
本設計使用SPMC75F2413A作為該系統設計的控制器。SPMC75F2413A是μ’nSPTM系列產品的一個新成員,是凌陽科技新推出的一個16位結構的微控制器。本設計中由SPMC75F2413產生脈沖信號,驅動電路使用由Allergo公司生產的兩相步進電機專用驅動器SLA7042M構成步進電機的驅動電路,執行機構是兩相混合式步進電機。
1 步進電機加減速控制原理
S曲線加減速將傳統的3段加減速過程變為7段加減速過程,形成S字形,如圖1所示。加速段由加加速度段(T1)、勻加速度段(T2)、減加速度段(T3)組成;減速段由加減速度段(T5)、勻減速度段(T6)、減減速度段(T7)組成;而勻速段為(T4)。
在步進電機的控制系統中,給一個電脈沖信號,步進電機就轉動一個角度或前進一步,如輸人為脈沖數N,在規定的時間T內,其頻率即為f。驅動脈沖的頻率f隨時間t有:
式中,fm為步進電機的最高連續頻率,τ是決定升速快慢的時間常數,實際工作中可由實驗來確定,已知系統達到勻速時的速度和系統達到最大速度所用的時間。
本系統使用單片機定時中斷方式控制步進電機的速度,在升降速控制時,實際上是不斷改變定時器的裝載值的大小。
將升速過程離散處理,在設計中將加速時間固定為T=T1+T2+T3,為使說明方便,令T2=0。這時加速段由3個變為2個,即加加速段與減加速段。將T等分為40個時間相同的時間段,即將加加速時間T1分為20等分,將加減速時間T3分為20等分。則兩次速度變化的間隔時間為△t=T/40,則每一檔的頻率可由式(1)計算得出,在每一檔頻率下步進電機所執行的步數也可通過計算得出。
2 系統硬件設計
圖2為系統硬件設計結構框圖。
圖2中,SPMC75F2413A是一款系列產品的16位結構的微控制器。在4.5-5.5 V工作電壓范圍內的工作速度為0-24 MHz,擁有2 K字SRAM和32 K字閃存ROM;IOA~IOD4組64位可編程I/O端口,5個通用16位定時器/計數器。該系統采用S17MC75F2413A的IOB端口的IOB0~IOB3位作為控制信號的輸出端口,IOB4位作為光電傳感器的輸入端口。
評論