單片機控制步進電動機的軟件設計特點
郭景蘭(北京科技大學)
1引 言
步進電動機是一種將電脈沖信號轉換成角位移或線位移的精密執行元件,在數控系統、自動生產線、自動化儀表、繪圖機和計算機外圍設備中得到廣泛應用。微電子學的迅速發展和微型計算機的普及與應用,為步進電動機的應用開辟了廣闊前景,使得以往用硬件電路構成的龐大復雜的控制器得以用軟件實現,既降-氐了硬件成本又提高了控制的靈活性,可靠性及多功能性。用同一個電路只要改變軟件就可實現多種控制方案,特別是MCS_51系列單片微型計算機,它集CPU、RAM、ROM、CTC、I/O于一體,具有集成度高、軟件資源豐富、控制功能和位尋址功能強等優點,更為控制器的軟硬件設計提供了方便。本文介紹MCS-5l系列的8031單片機對三相、四相、五相等不同相數步進電動機實現啟動、停止、正轉、反轉、變速等控制的軟件設計。本應用系統只需改變EPROM內容及相應引腳的控制功能就可用于各種不同要求的系統。
2硬件結構
圖l所示電路以8031單片機為核心,外擴程序存儲器2732、地址鎖存器74LS377、輸出控制鎖存器74LS377及功能鍵等。單片機輸出控制字由Po口數據總絨經過鎖存器74LS377輸給步進電動機的功放電路,8031的P1口設置為位控方式,通過各功能鍵輸入控制指令實現對步進電動機的開環控制,P.口各引腳功能為:
P1.0-啟、停控制位,Pl.0=“0”,停止,P1.0=“1”,啟動電機。
Pl.l-正、反轉控制位,Pl.l=,“0”,電機正轉,P1.1=“1”電機反轉。
P1.2-單、雙拍制控制位,Pl.2=“0”為單拍制分配方式,即拍數N與電機相數m相等,P1.2“1”為雙拍制分配方式,即拍數為相數的二倍,如三相六拍、四相八拍等。
P1.3、P1.4. P1.5分別為三相、四相、五相脈沖分配方式的控制位,當P1.3=“1”,
P1.4. P1.5均為“0”時,系統由Po.o、P0.1、P0.2三端輸出三相脈沖信號,實現對三相步進電動機的控制;當P1.4=“1”,P1.3、P1.5均為“0”時,系統由P0.0~P0.3按四相環形分配器功能輸出脈沖信號,實現對四相步進電動機的控制。
3軟件設計
3.1 用軟件實現環形分配器功能的方法
用微機軟件實現環形分配器功能的方法比較多,如查表法、循環移位法、判斷法等,本設計采用查表法,對于三相反應式步進電動機,當A、B、C三相繞組的功放電路經鎖存器分別接到Po口的P0.0、P0.1、P0.2時,要使電機的A、B兩相繞組通電,P0口的狀態應為0.3H,使B、C兩相繞組通電,P0口的狀態應為0.6H。因此實現三相雙三拍及三相六拍分配方式的真值表如表l所示。
在內存開辟一個狀態表存儲區,把表中的狀態字存放在以8140H為首地址的存儲單元,在寄存器區選用尺,作為狀態表指針,初始化程序中設定(R1)=00H.即指向狀態表的首地址,把狀態字03H送出,使步進電動機的A、B兩相繞組通電按一定順序依次把狀態表中的內容送出口,即實現了環形分配器的功能。用軟件實現環形分配器功能的程序框圖如圖2所示。
三相六拍分配方式與三相雙三拍分配方式的程序有二點不同。
a.狀態表長度不同,因此指針內容不同,三相雙三拍時,(Ri) =00H—02H::相六拍時,(Rl)= 00H—05H;
b.狀態表首地址不同。
3.2轉向控制
對于三相六拍而言,如果把表中的狀態字自上而下的順序依次送出Po口,步進電動機三相繞組的通電順序為AB- B- BC-C- CA- A- AB,那么按自下而上的順序依次送出狀態字,電機的通電順序為AB-AAC- C- CB- B- BA,電機旋轉方向相反。因此,實現正反轉的程序框圖如圖3 所示。圖中虛線框內為調整狀態表指針的程序框圖。
|