李文廣, 湯清華, 吳國安
(華中科技大學電子科學與技術系,湖北武漢 430074)
步進電機是數(shù)字控制電機,它將電脈沖信號轉變?yōu)榻俏灰?,在正常情況下,步進電機的轉速、停止的位置僅由脈沖信號的頻率和個數(shù)決定;同時,步進電機只有周期性的無累積誤差,精度和可靠性高,動態(tài)響應快,易于起停、正反轉及變速。由于這些優(yōu)點,步進電動機已廣泛應用于速度控制、位置控制的系統(tǒng)中,如數(shù)控機床、計算機設備、自動記錄儀等。隨著應用的擴大,對步進電機的驅動控制要求也更高,如更小體積及更大的驅動能力等。
本文采用AVR單片機和ST公司的L6208電機驅動芯片作為電機驅動系統(tǒng)的設計方案,該系統(tǒng)的特點是集成度高、驅動電流大、精度及可靠性高、成本低,并具有很好的通用性,結合單片機串口通信可以實現(xiàn)遠程控制。
本文的步進電機控制系統(tǒng)采用上位機、下位機結構。下位機負責進行指令譯碼,控制步進電機的轉動、停止和加、減速的實現(xiàn)。加速或減速過程采用軟件程序實現(xiàn)。上位機為PC機,負責將控制指令傳遞給下位機,并接收下位機的狀態(tài)信息,上位機和下位機通過串口交換數(shù)據(jù)。
步進電機驅動系統(tǒng)硬件框圖如圖1所示,采用AVR單片機和L6208來控制兩相的步進電機,通過單片機來控制L6208實現(xiàn)驅動電機工作。單片機通過串口接收上位機發(fā)出的運行指令,根據(jù)指令控制電機執(zhí)行相應的運動,并將相應的狀態(tài)通過串口回傳給PC機。發(fā)光二極管用來檢測步進電機帶動的直線運動是否到達基準位置,一旦檢測到到達基準,高速比較器將光電轉換的信號送到AVR的外部中斷,單片機檢測到中斷后立即停止電機運行,該基準位置用來進行驅動部分的故障檢測,同時也能提高步進電機在直線位置控制中的精度。
圖1 驅動系統(tǒng)硬件框圖
單片機采用Atmel公司生產(chǎn)的ATmega128,它是8位低功耗增強型內置Flash程序存儲器的精簡指令集結構單片機,與51單片機相比,AVR單片機具有很高的執(zhí)行速度和非常豐富的片內資源。
L6208是ST公司推出的步進電機驅動芯片,集成了由8個功率DMOS晶體管組成的兩個全橋、一個執(zhí)行相位生成功能的集中式邏輯電路和關斷時間恒定的脈寬調制(Pulse Width Modulation,PWM)電流控制器,該控制器內部采用斬波電路的原理,解決了步進電機頻繁換相時電流劇烈波動而引起轉矩變化的問題。
L6208的解碼邏輯電路能夠生成3個不同的步進序列,使該器件能夠適合各種應用。該芯片還具有熱關斷功能,其高壓側功率MOSFET具有無損耗的過流保護功能;而且工作電壓范圍廣(8~52 V),平均輸出電流可達 2.8 A,峰值5.6 A,可驅動絕大部分步進電機。即使將來因為某些特殊需要而選用其他型號的步進電機,也無需改變驅動電路,極大地方便了整個系統(tǒng)的后續(xù)改進優(yōu)化。輸入脈沖頻率可達到100 kHz,因此可滿足各種轉速要求嚴格的場合,此電路和以往的驅動方案相比具有明顯的優(yōu)點,驅動電流大、穩(wěn)定性好、實現(xiàn)方便、安全可靠。
具體的電路如圖2所示,Us+、UCC通過外接電源來提供,其中Us+為驅動電源,電源值范圍為8~52 V,由于不同型號的步進電機工作電壓不一定相同,因此該電壓要與所使用電機的工作電壓保持一致。UREF為參考電壓,由UCC經(jīng)過分壓電阻得到,其與SENSE腳上的電壓進行比較后控制全橋的關閉與否。MOTOR為驅動電路的輸出單元,OUT1A、OUT1B、OUT2A、OUT2B 與兩相步進電機相連??刂菩盘栍葾Tmega128單片機提供,該系統(tǒng)采用單片機I/O中的PA4、PA5、PA6、PA7、PD5、PG1引腳配置為帶上拉電阻輸出并分別與驅動單元的 ENABLE、CW/CCW、CLOCK、CONTROL、RST、HALF/FULL 控制線相連。
圖2 步進電機驅動單元
ENABLE為L6208的使能信號,當輸入為低電平時,所有的MOSFET開關被關斷,高電平時使能工作。CW/CCW用來控制步進電機的轉向,高電平時,電機正轉;低電平時,電機反轉。CLOCK是相位序列發(fā)生器的時鐘,上升沿觸發(fā)有效,可以通過調整CLOCK脈沖的頻率來控制相位序列發(fā)生器產(chǎn)生的步進序列的頻率,以實現(xiàn)對步進電機速度的控制。RST信號用來復位相位序列發(fā)生器,當RST信號為低電平時,使相位序列發(fā)生器處于初始狀態(tài)。HALF/FULL用來設置步進序列的模式,配合RESET信號可以將L6208設置為半步模式、單相全步模式及兩相全步模式三種步進模式。CONTROL信號用來設置衰減模式,高電平時為慢速衰減模式,低電平時為快速衰減模式。
軟件流程圖如圖3所示,系統(tǒng)上電后,首先對程序進行初始化,包括讓電機運行到參考位置,設置串口通信模式以便接收上位機的控制命令,在收到串口信息幀后,單片機對數(shù)據(jù)幀進行判斷,得到相應的控制命令,控制步進電機執(zhí)行相應的動作,在電機執(zhí)行完畢后單片機將當前的狀態(tài)通過串口上報給PC機,然后返回繼續(xù)等待下條指令。
圖3 電機控制流程圖
步進電機在轉動時,隨著電機轉動速度的增大其力矩將會下降。在很多場合需要步進電機從低速慢慢加速升到高速轉動過程,然后勻速轉動,在接近停止時采用減速停止的過程以使電機的運行更加平滑和穩(wěn)定。特別是在對響應時間有要求的工作場合中,要求加、減速流程時間盡量短,恒速時間盡量長。步進電機常用的加、減速曲線有:直線型曲線、S型曲線、指數(shù)型曲線。該系統(tǒng)要求在起動時有較高的力矩,勻速時盡可能快,減速確保平穩(wěn)。因此,采用簡單的直線型加、減速曲線,L6208可以通過改變CLOCK脈沖的頻率來實現(xiàn)對電機轉速的改變,在軟件中可以很容易通過改變軟件延時來實現(xiàn)該CLOCK脈沖的頻率改變。電機直線加、減速控制流程如圖4所示。當步進脈沖數(shù)大于等于500時,電機先加速然后勻速再減速停止;當步進脈沖數(shù)大于等于250且小于500時,電機先加速起動然后又開始減速停止;當步進脈沖數(shù)小于250時,電機只做勻速步進。主要是在短程步進時能滿足時間要求,而在遠距離步進時希望能盡可能地縮短時間。
圖4 電機加、減速流程
該步進電機控制系統(tǒng)已成功應用于電可調濾波器中。電可調濾波器是一種中心頻率可變的濾波器,濾波器的基本元件為電容和電感,控制濾波器內部的電容或者電感就能實現(xiàn)濾波器中心頻率的變化。平板電容的容值及面積的大小與距離長短有關,通過步進電機改變兩平板之間的距離能得到不同的電容值,進而可以實現(xiàn)濾波器中心頻率的改變。目前,采用該系統(tǒng)的電可調濾波器的中心頻率精確度可控制在50 kHz以內,并且具有很高的重復性。
該系統(tǒng)結合單片機和步進電機驅動芯片設計步進電機控制系統(tǒng),該控制系統(tǒng)硬件電路設計簡單,結構緊湊、運行可靠;因使用專用驅動芯片,軟件編寫簡單;AVR單片機的JTAG接口使得程序調試和軟件更新更加方便。該系統(tǒng)能滿足42、56、82等系列的兩相步進電機的控制,實踐表明該控制系統(tǒng)效果好。該系統(tǒng)還可通過串口通信實現(xiàn)步進電機的遠程控制,或與其他反饋檢測環(huán)節(jié)連接,組成閉環(huán)控制系統(tǒng)用于精度和可靠性要求更高的控制系統(tǒng)中。
[1]馬潮.AVR單片機嵌入式系統(tǒng)原理與應用實踐[M].北京:北京航空航天大學出版社,2007.
[2]Atmel Corporation.Atmel data sheet(ATmega128 Rev.2467P-08/07)[G].2007.
[3]L6208 Datasheet.STMicroelectronics[G].2003.