范磊磊,庹先國,2,王洪輝,劉 靜
(1.成都理工大學,四川成都 610059;2.地質災害防治與地質環(huán)境保護國家重點實驗室,四川成都 610059)
在自動控制領域經常需要用到步進電動機,L297+L298由于其電路結構簡單、易于控制的優(yōu)點在雙極性兩相步進電動機和單極性四相步進電動機的控制中得到廣泛應用[1]。使用L297和L298雖然可以方便地驅動步進電動機,但在使用過程中依然存在若干細節(jié)問題。如:轉速與定時器間關系及如何設置,并未有相關文獻指出[1-4];細分驅動中細分量的計算、軟件如何設計,并未見詳細說明[5-6];以及在使用單片機控制L297、L298時電機不能正常運轉等問題。針對這些問題,以一兩相步進電動機為例,給出了普通驅動、斬波恒流驅動和細分驅動電路三種電路、相關參數計算方法以及軟件設計方法,對使用L297+L298驅動步進電動機進行了詳細分析。
在實際使用過程中,經常遇到查不到相關資料的步進電動機,對此,初次使用者常常無從下手。以一步進電動機為例,其型號為57BYGH439-09,機身標注1.8°、3.0 A,即整步距 1.8°,最大電流 3 A。下面以該步進電動機為例,從電機分析到系統設計進行詳細說明。
首先需要確定電機的繞組關系,該電機有紅、綠、黃、藍四根線,通過萬用表測量得到如圖1所示的繞組接線示意圖。
測得其兩相繞組的直流電阻均為 1.5 Ω,其中紅、綠線和黃、藍線共同組成兩相四線制步進電動機,根據機身標注的1.8°,可初步判斷該電機為兩相混合式步進電動機[2]。
圖1 電機繞組示意圖
電機繞組確定后,需要進行相關電路設計對該電機進行測試。L297兼容TTL電平,采用IO口3.3 V電平的單片機可實現對其控制。L298雙H橋最大可驅動46 V、2.5 A的步進電動機,若負載需更大電流驅動,可使用L297+雙L6203組合[7]。
L297+L298組合步進電動機驅動電路可以分為3種驅動電路,即:普通驅動、斬波恒流驅動和細分驅動。
1.2.1 普通驅動
普通驅動模式是L297和L298最簡單的驅動方式,單片機可以通過控制L297的時鐘頻率、方向、全步/半步和使能信號就可迅速驅動步進電動機。電路原理如圖2所示,其中續(xù)流二極管使用1N4007。L297的CTL引腳用于INH1、INH2和ABCD功能切換,在普通驅動和斬波恒流驅動電路中CTL電平對步進電動機驅動沒有影響。L297具有全步、半步控制功能,但工作于半步模式時,步進電動機所獲得的轉矩較常規(guī)值偏小[2]。為了避免單片機在上電瞬間IO口的高電平對L297的影響,在EN引腳相連接了下拉電阻R1,也可以使用非門進行處理。
圖2 普通驅動電路原理圖
電機接線順序的選擇需要通過實驗確定。首先,將DIR、EN置高電平、HF置低電平,由信號發(fā)生器將TTL脈沖送入CLK,由此測得如表1所示的電機旋轉方向組合表。其中任何一種接線方式均可實現電機驅動,這里采用紅綠黃藍組合。從接線組合表中可以看出,任何一個繞組交換接線順序均可改變電機旋轉方向,這就表明在CW/CCW已經固定的情況下通過交換繞組的接法可改變電機旋轉方向。
表1 電機旋轉方向接線組合表
普通驅動模式下,在低速運行時步進電動機將出現振蕩和電流增大的問題,提高電機轉速后,電源電流將減小,即轉矩降低,并且容易發(fā)生失步現象。采用斬波恒流驅動可減小這兩方面的問題。普通驅動模式可用于對轉速、轉矩要求不高的場合。
1.2.2 斬波恒流驅動
斬波恒流驅動方式具有提高電源效率、有效抑制共振和提高轉速的特點,是步進電動機主流驅動方式。L297內部集成斬波恒流驅動電路,采用恒流斬波控制能夠保證電機轉矩的平均值基本恒定[4]。通過在OSC引腳加入RC電路同時給VREF引腳加比較電壓即可控制斬波頻率,進而控制步進電動機相電流的大小。斬波恒流驅動電路原理如圖3所示。
圖3 斬波恒流驅動電路原理圖
1.2.3 細分驅動
在實際應用中,經常需要精確控制機械機構的位移或角度,對于1.8°的步距角常常滿足不了需求,細分驅動可以使實際步距角減小,可以大大地提高對執(zhí)行機構的控制精度。同時,也可以減小或消除振蕩、噪聲和轉矩波動[8]。
(1)細分驅動原理
步進電動機的轉矩和AB兩相合電流大小成正比[9],由此得到合電流矢量圖為一個以合電流矢量為半徑的圓。
電流矢量的角度改變,可使轉子有不同的平衡位置,這個平衡位置是在原來的整步范圍內。由此可以在一個整步內得到多個新的平衡位置,即細分出多個小步[9]。
圖4 四分步模式矢量圖[9]
將合電流在A、B軸上投影,即可得到各相電流值,通過L297的VREF引腳即可控制兩相步進電動機的A、B相電流,從而完成對步進電動機的細分控制。
(2)細分驅動電路
為達到細分驅動的目的,需要分別控制步進電動機A、B兩相的電流值,單個L297只能同時控制A、B兩相電流大小,因此,必須采用雙 L297+單L298結構。電流值的控制通過VREF引腳的電壓實現,通常使用DAC完成,筆者使用內部帶2個12位電流型DAC的C8051F410單片機作為控制器,將DAC輸出電流值通過電阻轉換為電壓,進而控制VREF的大小。電路圖如圖5所示。
圖5 細分驅動電路
采用細分驅動時CTL引腳必須置低電平,即采用ABCD功能進行控制,否則電機不能運轉。圖5中將兩個L297的SYNC引腳相連且U3的OSC引腳接地,同步了兩個L297的斬波頻率。
1.3.1 普通模式、斬波恒流模式下定時器與轉速計算
普通模式與斬波恒流模式的定時器及轉速計算方式相同。圖6為L297在正常模式下的工作時序圖,從圖中可以看出,每4個時鐘一個周期,對于該步進電動機,整步距為1.8°,即每個時鐘步進電動機旋轉1.8°,運行200步即200個時鐘轉一周。
圖6 L297正常模式工作時序圖
步進電動機轉速是由給入的驅動脈沖信號頻率決定的[2],采用單片機通過控制脈沖信號CLK頻率即可控制步進電動機的轉速,而頻率的控制通常使用單片機內部定時器中斷方式實現,這樣可以提高系統的響應時間。
計算公式如下:
式中:fclk為MCU輸出脈沖頻率;n為電機轉速;tw為定時器中斷時間;Tclk為脈沖頻率周期;fTimer為MCU定時器時鐘頻率;x為定時器填充值;fSYS為MCU系統時鐘頻率;N為分頻系數。
轉速n通過按鍵設定,在定時器中斷服務程序中重新填充定時器的值,同時將輸出時鐘進行翻轉,這樣就可以精確控制fclk的頻率,進而控制電機轉速n,這種方式下,所輸出的控制脈沖是占空比為50%的方波。
1.3.2 細分驅動模式下轉速與定時器計算
(1)細分值計算
下面以4細分驅動為例說明細分參考電壓計算方法,4細分時將90°分為四份,矢量變化角度為22.5°,由于L297、L298能夠自動控制相電流方向,無需人為控制相電流方向。將計算得到的數值分別存入兩個數組中,程序采用查表法即可方便的進行相電流控制。表2為四細分值計算(VR為采樣電阻壓降)。
表2 四細分計算表
圖7為細分后A、B兩相電流脈沖時序示意圖。
圖7 A、B兩相電流脈沖時序示意圖
(2)轉速定時器計算
由于轉速與單片機所產生的時鐘頻率成正比,細分驅動時產生一拍定時器需中斷m次(m為細分數),每過m次中斷時鐘翻轉一次,由式(5)可得細分模式下定時器重裝計算公式:
軟件流程圖如圖8所示,從左到右依次為主程序流程圖、普通驅動和斬波恒流驅動的定時器中斷流程圖、細分驅動的定時器中斷流程圖。
圖8 軟件流程圖
主程序完成相關硬件初始化,L297所需時鐘由定時器中斷完成。轉速等參數通過鍵盤中斷進行設置,同時按照式(5)、式(6)計算出定時器填充值。在普通模式、斬波恒流模式下只需在定時器中斷后重裝定時器,同時將輸出時鐘電平翻轉即可;細分模式時,先填充定時器值,然后查詢細分表,讀取相應參數后設置DAC控制步進電動機兩相電流值,當完成一個細分周期后,將輸出時鐘電平翻轉。
L297、L298使用過程中應注意以下問題:
(1)L297 EN端需加10 kΩ下拉電阻(或使用非門處理),保證了在上電時EN=0,執(zhí)行程序后EN=1,從而避免了上電瞬間影響L297正常工作。
(2)VCC端必需并聯1000 μF以上電容,保證電機正常起動、停止。
(3)斬波恒流驅動、細分驅動電路中采樣電阻值根據實際需要進行設定,電阻必須功率減額。
(4)細分驅動電路中CTL引腳必須置為低電平,否則電機無法運轉。
本文以一兩相步進電動機為例,采用普通驅動、斬波恒流驅動和細分驅動三種不同電路實現了對該步進電動機的驅動,對三種驅動電路進行了分析總結。文中給出了定時器與轉速間的計算公式、細分量的計算方法、相關軟件的設計和若干注意事項,便于開發(fā)者更方便地使用L297+L298芯片驅動步進電動機。
[1]孟英紅,齊婉玉.用L297,L298組成步進電機驅動電路[J].儀器儀表學報,2003,24(8):573 -574.
[2]向海健.基于L297/298的步進電機工作模式的單片機接口[J].微計算機信息,2007,23(9 -2):302 -303.
[3]李強,耿躍峰.基于單片機的步進電動機驅動系統[J].許昌學院學報,2007,26(5):44 -46.
[4]蔚永強,張秦嶺.一種低成本的新型步進電機驅動器的研制[J].微計算機信息,2007,23(10 -1):95-97.
[5]姜昌明,丁明健.基于DSP的噴碼機運動控制系統的設計[J].測控技術,2008,27(7):32 -34.
[6]王鵬飛,尤波.基于L297/298芯片混合式步進電動機驅動器的研制[J].哈爾濱理工大學學報,2003,8(4):40 -43.
[7]原立家,祝連慶.高精度的步進電機控制系統設計[J].北京機械工業(yè)學院學報,2006,21(1):47 -48.
[8]王曉明.電動機的單片機控制[M].北京:北京航空航天大學出版社,2002:194 -204.
[9]任廣振,陳飛凌.電機細分技術在球機控制系統中的研究與應用[J].中國安防,2011(6):95-97.