歡迎您光臨本站 登入註冊首頁

步進電機程序控制

admin @ 2014-03-26 , reply:0

概述

摘要:步進電機具有控制簡便、定位準確等特點。隨著科學技術的發展,在許多領域將得到廣泛的應用。鑒於傳統的脈衝系統移植性不好,本文提出微機控制系統代替脈衝發生器和脈衝分配器,用軟體的方法產生控制脈衝,通過……

摘要:步進電機具有控制簡便、定位準確等特點。隨著科學技術的發展,在許多領域將得到廣泛的應用。鑒於傳統的脈衝系統移植性不好,本文提出微機控制系統代替脈衝發生器和脈衝分配器,用軟體的方法產生控制脈衝,通過軟體編程可以任意設定步進電機的轉速、旋轉角度、轉動次數和控制步進電機的運行狀態。以簡化控制電路,降低生產成本,提高系統的運行效率和靈活性。在此基礎上提出了雙三拍步進電機程序控制的硬體介面電路、程序流程圖和彙編程序。

  步進電機是自動控制系統中常用的執行部件。步進電機的輸入信號為脈衝電流,它能將輸入的脈衝信號轉換為階躍型的角位移或直線位移,因而步進電機可看作是一個串列的數/模轉換器。由於步進電機能夠直接接受數字信號,而不需數/模轉換,所以使用微機控制步進電機顯得非常方便。
步進電機有以下優點:

  • 通常不需要反饋就能對位置和速度進行控制;
  • 位置誤差不會積累;
  • 與數組設備兼容,能夠直接接收數字信號;
  • 可以快速啟停。

    步進電機的品種規格很多,按照它們的結構和工作原理可以劃分為磁阻式(也稱反應式或變磁阻式)電機、混合式電機、永磁式電機和特種電機等四種主要型式。
    步進電機不需位移感測器就可精確定位,所以在精確定位系統中應用廣泛。目前打字機、計算機外部設備、數控機床、傳真機等設備中都使用了步進電機。隨著電子計算機技術的發展,步進電機必將發揮它的控制方便、控制準確的特點,在工業控制等領域取得更為廣泛的應用。

1. 步進電機的工作原理
以磁阻式步進電機為例,介紹一下步進電機的工作原理,圖1. 1是磁阻式步進電機工作原理的示意圖。
 
圖1. 1 磁阻式步進電機的工作原理
    它的定子上有六個極,轉子有四個極。定子磁極上繞有三組繞組,每組繞組由相互串聯的兩個線圈構成。一組繞組叫做一相。因此,圖1. 1所示的電機為三相步進電機。直流電源通過開關I、Ⅱ和Ⅲ,驅動電流流過繞在定子上的繞組。
    狀態(1) ,開關I閉合,A相通電。由於A相繞組受到激磁,空氣隙里出現如箭頭所示的磁場。A相上的兩個定子磁極和兩個轉子齒對準,轉子處於平衡狀態。若再閉合開關R激勵B相,如狀態(2)所示, B相的定子磁極以同樣的方式產生磁場。在磁力線的張力作用下,產生逆時針方向的轉矩。於是,轉子沿逆時針方向轉過一個固定的角度,到達狀態(3) 。圖中,轉過的角度為15°。如果現在打開開關I,去掉A相的激磁,轉子將再轉15°,到達狀態(4) 。因此,轉子的角位置可以用這種開關方式進行控制。若開關以某種時序轉換,則轉子就能以步進運動的方式連續旋轉;若進一步使時序轉換的速度可調,則平均速度也能用這種開關方式進行控制。
    實際上,驅動步進電機的開關是晶體管,開關信號由數字集成電路或微機產生。通過前面的介紹可以看到,步進電機是一種把開關激勵的變化變換成精確的轉子位置增量運動的執行機構 。

2. 步進電機程序控制的設計
2.1 步進電機的傳動方式
2.1.1 三相單三拍工作方式
    在這種工作方式下,A、B、C三相輪流通電,電流切換三次,磁場旋轉一周,轉子向前轉過一個齒距角。因此這種通電方式叫做三相單三拍工作方式。這時步距角θb (度)為
θb = 360 /mz  ( °) (2-1)
式中:m──定子相數; z ──轉子齒數

2.1.2 三相六拍工作方式
    在這種工作方式下,首先A相通電,轉子齒與A相定子齒對齊。第二拍,A相繼續通電,同時接通B相,A、B各自建立的磁場形成一個合成磁場,這時轉子齒既不對準A相也不對準B相,而是對準A、B兩極軸線的角等分線,使轉子齒相對於A相定子齒轉過1 /6齒距,即1. 5°。第三拍,A相切斷,僅B相保持接通。這時,由B相建立的磁場與單三拍時B相通電的情況一樣。依次類推,繞組以A—AB—B—BC—C—CA—A時序(或反時序)轉換6次,磁場旋轉一周,轉子前進一個齒距,每次切換均使轉子轉動1. 5°,故這種通電方式稱為三相六柏工作方式。其步距角θb 為:
θb = 360 /2mz = 180 /mz  ( °) (2-2)

2.1.3 雙三拍工作方式
    這種工作方式每次都是有兩相導通,兩相繞組處在相同電壓之下,以AB─BC─CA─AB (或反之)方式通電,故稱為雙三拍工作方式。以這種方式通電,轉子齒所處的位置相當於六拍控制方式中去掉單三拍后的三個位置。它的步距角計算公式與單三拍時的公式相同。
    由上述分析可知,要使磁阻式步進電機具有工作能力,最起碼的條件是定子極分度角不能被齒距角整除,且應滿足下列方程:
極分度角/齒距角= R + k·1/m
進一步化簡得齒數z:
z = q (mR + k)          (2-3)
式中:m──相數; q──每相的極數; k──≤ (m - 1)的正整數;
R──正整數,為0、1、2、3……。
    按選定的相數和不同的極數,由上式就可推算出轉子齒數。
    因為三相雙三拍步進電機不易失步,控制精度比較高,所以本文對三相雙三拍步進電機進行控制,定子有三對磁極,運行時兩相同時通電,循環帶動轉子轉動。

2.2 硬體介面電路
   傳統的步進電機控制系統採用硬體進行控制,用一個脈衝發生器產生頻率變化的脈衝信號,再經一個脈衝分配器把方向控制信號和脈衝信號轉換成有一定邏輯關係的環形脈衝;經驅動電路放大后就可以來驅動步進電機了。在這種控制中,步進電機的脈衝由硬體電路產生,如果系統發生變化或使用不同類型的步進電機,需重新設計硬體電路,系統的可移植性不好。
   用微機控制系統代替脈衝發生器和脈衝分配器,就可以根據系統需要通過軟體編程的方法任意設定步進電機的轉速、旋轉角度、轉動次數和控制步進電機的運行狀態。這樣可簡化控制電路,降低生產成本,提高系統的運行效率和靈活性。圖2. 1為單片機控制步進電機介面原理圖。
 
圖2.1 單片機控制步進電機介面電路原理圖

2.3 脈衝的形成
    實現對步進電機的控制,微機應能輸出有一定周期的控制脈衝。
    步驟是:先輸出一個高電平,延時一段時間后,再輸入一個低電平,然後再延時。改變延時時間的長短,即可改變脈衝的周期,脈衝的周期由步進電機的工作頻率確定。
用軟體形成環形脈衝的程序流程圖如圖2.2所示。
 
圖2.2 軟體法形成脈衝序列的程序流程

程序如下:
PULSE:MOV R3 , # NUM
   PUSH A
   PUSH PSW
LOOP: SETB P1.0
   ACALL DELAY1
   CLR P1.0
   ACALL DELAY2
   DJNZ R3,LOOP
   POP PSW
   POP A
   RET

2. 4 旋轉方向控制
步進電機的旋轉方向和內部繞組的通電順序及通電方式有密切關係。
對於三相雙三拍工作方式:
正相旋轉:AB→BC→CA→AB
反相旋轉:AB→CA→BC→AB
三相雙三拍控制模型如表2. 1所示。
 
2. 5 轉速控制
   控制步進電機的運行速度,實際上是控制系統發出時鐘脈衝的頻率或換相的周期,即在升速過程中,使脈衝的輸出頻率逐漸增加;在減速過程中,使脈衝的輸出頻率逐漸減少。脈衝信號的頻率可以用軟體延時和硬體中斷兩種方法來確定。
   採用軟體延時,一般是根據所需的時間常數來設計一個子程序,該程序包含一定的指令,設計者要對這些指令的執行時間進行嚴密的計算或者精確的測試,以便確定延時時間是否符合要求。每當延時子程序結束后,可以執行下面的操作,也可用輸出指令輸出一個信號作為定時輸出。採用軟體定時, CPU一直被佔用,因此CPU利用率低。
    可編程的硬體定時器直接對系統時鐘脈衝或某一固定頻率的時鐘脈衝進行計數,計數值則由編程決定。當計數到預定的脈衝數時,產生中斷信號,得到所需的延時時間或定時間隔。由於計數的初始值由編程決定,因而在不改動硬體的情況下,只通過程序變化即可滿足不同的定時和計數要求,因此使用很方便。

2.6 控制程序設計
    控制程序的設計方法是:通過標誌位FLAG來判斷電機的旋轉方向,然後輸出相應的控制脈衝序列;判斷要求的脈衝信號是否輸出完畢。
三相雙三拍控制模型完成的步進電機控制程序設計如下:
三相雙三拍控制程序流程圖如圖2. 3 和圖2. 4所示。
正轉控制模型03H、06H、05H存放在以RM為起始地址的內存單元中,反轉控制模型03H、05H、06H存放在以LM為起始地址的內存單元中。
 
圖2.3 主程序流程圖                                                              圖2.4 定時器中斷服務程序流程圖
主程序如下:
CON: MOV R3, # N
   MOV TMOD , # 10H
   MOV TL1 , # LOW
   MOV TH1 , # H IGH
   JNB FLAG ,LEFT
   MOV R0 , RM
   AJMP TIME - S
LEFT: MOV R0 , LM
TIME: SETB EA
   SETB ET1
   SETB TR1
WA IT: SJMP WA IT
中斷服務程序如下:
INTTO: PUSH  A
   PUSH PSW
   MOV A , @R0
   MOV P1 ,A
   INC R0
   MOV A , # 00H
   XRL A , @R0
   JNZ NEXT
   MOV A , R0
   CLR C
   SUBB A , # 03H
   MOV R0 , A
NEXT: DJNZ R3 , RETU
   CLR ET1
   CLR EA
RETU: POP PSW
   POP A
   RETI

3. 總結與展望
    步進電機是機電一體化產品中的關鍵組件之一,是一種性能良好的數字化執行元件。隨著計算機應用技術、電子技術和自動控制技術在國民經濟各個領域中的普及與深入,步進電機的需要量越來越大。有資料說明,世界上步進電機的年產量以10%以上的速度增長。國內對步進電機的需求同樣也與日俱增。實際工作中,很多工程技術人員和技術工人都希望比較全面地了解步進電機及其控制技術。
    本文對步進電機的控制方法進行了詳細的論述,包括硬體介面的設計、軟體方案的設計和彙編控制程序的編寫。此種方法高效、方便、成本低廉,在實際應用中有著很高的利用價值。

參考文獻:
[ 1 ] 王鴻鈺. 步進電機控制技術入門[M ]. 上海:同濟大學出版社,1990.
[ 2 ] 鄭偉. 步進電機的計算機控制[ J ]. 韶關大學學報, 1994 (4) .
[ 3 ] 李君凱. 步進電機控制系統[ J ]. 自動化與儀器儀錶, 2003 (1) .
[ 4 ] 寧愛華. 步進電機的微機控制方法與高速特性分析[ J ]. 西南民族大學學報(自然科學版) , 2003 (8) .
[ 5 ] 黃文平. 淺談步進電機的驅動[ J ]. 機床電器, 2004 (5) .
[ 6 ] 王彥增. 步進電機速度控制的軟體設計方法[ J ]. 機械與電子,1994 (2) .
[ 7 ] 霍迎輝,陳宇翔. 步進電機的微機和單片機控制[ J ]. 電機電器技術, 2003 (3) .
[ 8 ] 劉清. 一種控制步進電機轉速的方法[ J ]. 微特電機, 2004 (1) .
[ 9 ] 徐曉波. 應用8098單片機實現對步進電機的控制[ J ]. 電子與自動化, 2000 (4) .
[ 10 ] 曹航. 用微機直接控制的步進驅動系統[ J ]. 低壓電器,1998 (8).
[ 11 ] 許永華,李剛,陳科,李逸東. 8098單片機對步進電機的升降速控制[ J ]. 機械與電子, 1995 (6).
[ 12 ] 王玉琳. 一種新型步進電機驅動器[ J ]. 機電一體化,2004 (4).
[ 13 ] 彭樹生. 用PC機控制步進電機的兩種方法[ J ]. 電子技術, 1995 (12).
[ 14 ] 鄭學堅. 微型計算機控制技術[ J ]. 清華大學出版社,1999 (3).


[admin via 研發互助社區 ] 步進電機程序控制已經有3043次圍觀

http://cocdig.com/docs/show-post-44890.html