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