基于89C51單片機的步進電動機控制系統(tǒng)設計
隨著數(shù)字化技術的快速發(fā)展,數(shù)字控制技術在工業(yè)控制方面得到了極其廣泛的應用。由步進電動機組成的控制系統(tǒng)具有結構簡單、功能強大、成本低廉等諸多優(yōu)點,能滿足工業(yè)控制的基本性能需求和大規(guī)模商用要求,因此在工業(yè)自動化設備等領域得到了廣泛而深入的應用。步進電動機是一種將電脈沖信號轉變成對應角位移或線位移的電動機,實際上是一個D/A轉換器,也即是一個數(shù)字/角度轉換器。步進電機的角位移與控制脈沖間實現(xiàn)精確同步,若將步進電機的角位移的改變轉換為線位移、位置、體積、流量等物理量的變化,便可實現(xiàn)對它們的控制。步進電動機是數(shù)字控制電動機,能將脈沖信號轉換成角位移,電動機的轉速、停止的位置取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,在非超載狀態(tài)下,根據上述線性關系,再加上步進電動機只有周期性誤差而無累積誤差,因此步進電機適用于單片機控制。由于步進電動機具有快速啟停,可直接接收計算機輸出的數(shù)字信號以及精度高等顯著特點,因此,步進電機現(xiàn)已成為工業(yè)過程控制中的重要控制元件之一。
本文引用地址:http://m.butianyuan.cn/article/201610/307409.htm由于單片機技術的成熟發(fā)展和成本優(yōu)勢,使得使用單片機控制的步進電動機系統(tǒng)具有成本低廉、使用靈活等優(yōu)點,可以廣泛應用在數(shù)控機床、機器人,工業(yè)自動控制以及各種可控的有定位要求的機械工具等應用領域中。
1 步進電動機工作原理
步進電動機按其相位數(shù)不同,可以分為二相、三相、四相、五相和六相。本文以三相為例來說明步進電動機的工作原理。電動機的定子上有6個等分的磁極,A——A’、B——B’、C——C’,相對的兩個磁極組成一組,每個磁極上都有5個均勻分布的小齒輪。轉子上由40個小齒輪均勻分布在圓周上,相鄰兩齒輪之間的夾角為3600/40=90。當電流通過某一繞組時,該繞組對應的兩個磁極即可形成N——S極,并產生磁場,寫轉子形成磁路。若定子的小齒輪此時與轉子的小齒輪沒有對齊,則在該磁場的作用下,轉子就會進行一定角度的旋轉,使轉子的小齒輪與定子的小齒輪進行對齊,選擇的角度即為步距角。
在單三拍控制方式下,當A相通電,B、C相斷電時,在磁場作用下,使轉子小齒輪與A相的定子小齒輪對齊。若假定與A相中心對齊的為0號齒輪,A相所在角度為00。由于三相磁極相差1200,此時轉子13號齒輪與B相的中心相差角度為1 200-90*13=30,轉子27號齒輪與C相的中心相差角度為2 400—90*27=-30,若此時讓B相通電,A、C相斷電,在磁場作用下,要使轉子小齒輪與B相定子齒輪對齊,轉子需順時針旋轉30。若此時讓C相通電,A、B相斷電,在磁場作用下,要使轉子小齒輪與C相定子齒輪對齊,轉子需逆時針旋轉30。若通電順序為:A——B——C——A,轉子則順時針旋轉,若通電順序為:A——C——B——A,轉子則逆時針旋轉,從而實現(xiàn)對電機的正反轉控制。
2 控制系統(tǒng)設計
步進電機控制系統(tǒng)主要由單片機、PC上位機、驅動電路、步進電動機、4*4鍵盤和LED顯示等模塊組成,下圖1為步進電機控制系統(tǒng)是總體結構圖。單片機產生脈沖信號并將脈沖信號傳送給步進電動機,完成對步進電動機的步數(shù)和圈數(shù)的準確計數(shù),從而實現(xiàn)對步進電動機的轉速控制。PC上位機模塊是系統(tǒng)的核心,通過串口向單片機發(fā)送控制命令,實現(xiàn)PC機對步進電動機的實時控制,并實時顯示步進電動機的運行狀態(tài)。4*4鍵盤模塊實現(xiàn)指令輸入,LED顯示模塊可顯示步進電動機的轉速和轉向等運行狀態(tài)。為保護單片機控制系統(tǒng)硬件電路,在單片機和步進電機之間增加過驅動電路。
由于步進電動機的驅動電流比較大,步進電動機較大驅動電流的通斷會造成電磁干擾,進而會影響單片機的正常工作。因而單片機與步進電動機之間的驅動電路就顯得尤為重要。本系統(tǒng)采用74LS04非門與有光電隔離的4N29達林頓管組成驅動電路,這樣不僅避免了在驅動電路發(fā)生故障,造成高電壓、大電流進入單片機而燒毀器件。同時割斷了驅動電路與單片機控制電路之間的電氣連接。另外步進電動機的啟停和正反轉分別由S1,S2控制。硬件接線圖如圖2所示。
3 軟件實現(xiàn)
單片機程序判斷步進電機是否啟動;若啟動則進一步判斷其旋轉方向;然后按照既定的旋轉方向傳送控制脈沖序列,再加上脈寬延時即可。每走一步步數(shù)減1,并判斷步數(shù)是否為零,從而決定是否送下一個脈沖序列。其控制狀態(tài)如表1所示。
由表1可以看出,輸出的不同狀態(tài)字,表示不同的勵磁方式。P1=0x06H,表示A相通電,其它兩相斷電:P1=0x05H,表示B相通電,其它兩相斷電;P1=0x03H,表示C相通電,其它兩相斷電。若以次給P1口送0X06H,0X05H,0X03H,則步進電機通電順序為A——B——C——A相。反之若以次給P1口送0X03H,0X05H,0X06H,則步進電機通電順序為C——B——A——C相。從而用軟件實現(xiàn)了步進電機的正反轉控制。步進電機的旋轉速度可以用脈沖寬度,即送出控制狀態(tài)字后的延時時間長短來控制。
軟件設計流程框圖如圖3所示。
4 結束語
本系統(tǒng)通過89C51單片機控制步進電動機,操作方便、可靠性高,步進電動機的步距角非常精確,且不受外界環(huán)境溫度,濕度等因素的影響。本系統(tǒng)只需要簡單的改變輸出狀態(tài)字序列,及狀態(tài)字的輸出頻率,便可實現(xiàn)對步進電機的精度及速度控制。由PC上位機程序可以完全控制步進電動機的各種運行方式,使系統(tǒng)能夠應用于惡劣環(huán)境中,保證使用人員的安全,且適用范圍較廣,該系統(tǒng)在數(shù)控銑床進給伺服機構的驅動電動機進行試用,實用價值較高,因此本系統(tǒng)具有很好的應用前景。
評論