汪利建,李 川,楊啟帆
(中國航空工業(yè)集團公司西安航空計算技術研究所,陜西 西安 710068)
隨著科技發(fā)展,步進電機在航空航天、醫(yī)療器械、機器人等領域的應用愈發(fā)廣泛,步進電機控制系統(tǒng)逐漸轉變?yōu)橐晕⑻幚砥?驅動器為核心的控制方式為主,這種控制策略具有輕量化、易于實現(xiàn)、性能可觀以及成本可控等優(yōu)點[1]。目前,機械傳動控制技術已經成為工業(yè)自動化領域最常用的研究技術之一[2]。在復雜控制系統(tǒng)中,多個步進電機同步控制對系統(tǒng)硬件資源和控制效率提出了嚴格的要求[3,4]。利用TI公司的重新生成代碼(HAL Code Generator,HCG)工具和高端計時器集成開發(fā)環(huán)境(High End Timer Integrated Development Environment,HET IDE),將TMS570微控制器與DRV84x2驅動器應用在多路步進電機控制系統(tǒng)中,可以有效簡化控制電路的復雜度,提高控制效率。
步進電機是將電脈沖信號轉換為角位移或線位移的開環(huán)控制電機。在步進電機中,當電流流過定子繞組時,會使定子繞組產生矢量磁場,該磁場會帶動轉子旋轉一定的角度[5,6]。每輸入一個控制脈沖,電機就會按照特定的角度旋轉一步,這個角度叫做步距角。步進電機隨著脈沖輸入旋轉,輸入脈沖的周期長,則電機轉速慢;輸入脈沖的周期短,則轉速快[7]。
步進電機共有3種驅動模式,分別是滿步驅動、半步驅動以及微步驅動[8]。在實際應用中,為了減少機械傳動結構的磨損、提高控制精度,通常采用微步驅動模式[9]。微步驅動的基本原理是控制定子繞組上的電流大小,使定子繞組線圈產生的磁場強度不同,從而導致轉子的平衡位置發(fā)生變化。
本文采用TMS570LS3137芯片作為主控芯片、DRV8432芯片作為步進電機驅動器進行設計。MS570LS3137芯片是TI公司研發(fā)的高性能汽車級微控制器,最大可支持44路脈沖寬度調制(Pulse Width Modulation,PWM)輸出,因此可以輸出多路步進電機的控制信號[10]。設計中采用HET IDE對多路PWM信號進行設置,采用HCG工具將HET IDE生成的.c文件與.h文件添加至工程中,從而生成可執(zhí)行文件。HCG工具的增強型高端計時器(Enhanced High-End Timer,NHET)驅動設置界面如圖1所示。
圖1 HCG工具界面
DRV8432芯片內部集成雙全橋電機驅動器,可以根據需求配置為4路半橋驅動、2路全橋驅動或雙全橋驅動。該芯片的每路半橋具有獨立電源與接地引腳,可以根據實際需求進行配置[11,12]。同時,DRV8432芯片最大支持500 kHz的PWM開關頻率,內部集成保護電路,可以識別欠壓、過壓、過溫、過載以及短路等多種異常情況,廣泛應用于醫(yī)療、工廠自動化以及機器人領域。
基于TMS570LS3137與DRV8432進行多路步進電機控制系統(tǒng)設計,采用兩相四線制步進電機作為控制對象,控制原理如圖2所示。
將TMS570LS3137作為主控芯片,完成PWM信號輸出和外圍芯片的使能控制,同時監(jiān)控后級驅動芯片和步進電機的工作狀態(tài),對超溫、過壓等異常狀態(tài)及時告警。由于TMS570LS3137芯片能夠支持多路PWM信號輸出,DRV8432可以同時輸出4路驅動信號,針對多路步進電機的控制需求,設計中直接采用多個驅動芯片控制的方式實現(xiàn)[13]。主控芯片同時輸出多路PWM控制信號,每路步進電機相互獨立、互不影響,采用嵌入式軟件對PWM信號的輸出頻率和占空比進行控制即可完成多路步進電機的同步控制[14]。
以2路步進電機的控制為例,采用HET IDE工具對所需的2路步進電機(8路PWM信號)控制信號的周期和占空比進行設置,其中定時器頻率設置為90 MHZ,PWM信號頻率設置為40 kHz,占空比為50%。HET IDE工具中對4路PWM信號的設置程序為
L00 CNT {reg=A, irq=OFF, max=99}
L01 MCMP {en_pin_action=ON, pin=0, order=REG_GE_DATA,action=PULSELO, reg=A,data=2, hr_data=64};
L02 MCMP {en_pin_action=ON, pin=1, order=REG_GE_DATA,action=PULSELO, reg=A,data=0, hr_data=4};
L03 MCMP {en_pin_action=ON, pin=2, order=REG_GE_DATA,action=PULSELO, reg=A,data=4, hr_data=0};
L04 MCMP {en_pin_action=ON, pin=3, order=REG_GE_DATA,action=PULSELO, reg=A,data=0, hr_data=0};
L05 BR {next=L00,cond_addr=L00, event=NOCOND}
在嵌入式軟件中采用定時器中斷來實現(xiàn)步進電機的微步驅動,即在不同時刻控制TMS570LS3137芯片在相應引腳輸出期望的PWM控制信號,然后由驅動芯片輸出步進電機的實際控制信號。步進電機每接收到1組控制信號,便轉動相應的角度,以此實現(xiàn)控制。具體的軟件控制邏輯如圖3所示。
圖3 軟件控制邏輯
根據步進電機的控制原理,在軟件中控制對應PWM信號的占空比變化,即可完成步進電機的轉速控制。
基于實際硬件電路與嵌入式軟件進行系統(tǒng)功能驗證,通過設定、調節(jié)期望PWM控制信號,使用示波器來觀測微控制單元(Micro Controller Unit,MCU)輸出電壓波形和驅動器輸出電壓波形,并連接實際步進電機進行驗證。經過實際測試,結果顯示該控制系統(tǒng)中的電壓輸出波形與期望相符,實際步進電機工作狀態(tài)良好,能夠通過調節(jié)對應信號進行啟??刂啤⒎较蚩刂埔约稗D速控制。
基于微處理器與驅動器設計多路步進電機控制方案,避免了復雜煩瑣的驅動控制電路,具有控制方式簡單靈活、簡化電路布局布線的優(yōu)勢,同時兼顧了實際電機控制效率與控制精度。經過實際驗證與分析,該控制系統(tǒng)能夠實現(xiàn)多路步進電機控制,具備較好的工程應用價值。