文/謝利軍 鄭慶華
LabVIEW是NI公司研發的一種用于虛擬儀器設計的圖形化編程軟件, 現已被廣泛用于工業自動化控制和測試領域。DAQmx是NI公司的一套與LabVIEW兼容的數據采集驅動,集成了豐富的應用程序編程接口(API)和VI函數等開發工具。
步進電機是一種使用數字脈沖信號控制轉軸進行機械角位移的電機,數字脈沖的頻率和數量決定了電機的轉速和轉角。步進電機是現代數字程序控制系統中的主要執行元件,由于其控制方式簡單、運行可靠,在各種工業控制場合已得到廣泛的應用。
本文控制系統硬件主要基于NIcDAQ9188機箱搭建,使用數字輸出模塊完成對步進電機驅動的信號輸出,使用數字輸入模塊檢測運行限位開關狀態,使用通訊模塊完成對絕對值編碼器實時數值的讀取。運動執行器由步進電機、滑塊和導軌組成,電機通過傳動齒輪和皮帶帶動滑塊在導軌上做往復運動。
本系統組成如圖1所示。計算機機作為系統的上位機運行虛擬儀器軟件,并通過以太網與NI-cDAQ9188機箱進行數據交換;機箱上掛載的NI9472用于向步進電機驅動發送方向和脈沖信號以控制步進電機運動;NI9425用于實時檢測導軌上的限位開關狀態,以確保滑塊只在導軌的安全行程內運行;絕對值編碼器與步進電機為同軸安裝,用于實時檢測步進電機轉動角度,即滑塊位置;NI9862模塊則用于與編碼器通訊,周期地查詢后者的當前數值。
本試驗系統選用了NI公司的NI-cDAQ9188機箱、NI9472數字輸出模塊、NI9425數字輸入模塊和NI9862 CAN接口模塊。NI-cDAQ9188是一款8插槽NI CompactDAQ以太網機箱,其工作溫度范圍、抗沖擊和振動特性均非常適用于復雜的工業控制環境。表1為本試驗選用的采集模塊參數。

表1:模塊參數

表2:控制基本參數

圖1:系統組成
步進電機選擇型號為FM86128SJT03的三相混合式步進電機,該電機的步距角為1.2o,電機扭矩7N·m,額定電流3A。選用的驅動型號為FMDT220A48NOM,供電電壓AC220V,電流設定選擇3A,驅動細分精度選擇5000脈沖/轉。
位置傳感器選擇Baumer公司的GXP5W多圈絕對值編碼器,單圈精度13位,多圈精度16位,滿足滑塊全行程運行位置的測量,通訊協議為CANopen協議。
系統控制時序如圖2所示。
首先上位機界面通過輸入控件獲取電機的轉動角度,然后系統循環檢測正/反轉按鈕是否被觸發。正反轉按鈕被觸發后,系統輸出控制信號至電機驅動控制電機運行。同時系統循環監測電機運行位置和限位開關狀態以修正輸出的控制信號。最后,系統在判斷已經抵達目標位置或觸發了限位開關的條件下,結束此次運行。
系統的位置控制分為了兩個階段:粗定位階段和精定位階段。在粗定位階段,系統按照設定的初速和加速度勻加速至最大速度,再經過恒速運行和相應的勻減速過程后,電機速度降至設定低速運行。加速時間、恒速時間和減速時間則根據設置的轉動角度先行計算。在粗定位階段電機將完成98%左右的轉動,即在粗定位階段控制器向電機驅動輸出的脈沖數量為理論運行所需數量的98%。在精定位階段,則采用PID控制方式控制電機低速運行至指定位置。試驗中的控制參數數值如表2所示,脈沖頻率變化過程如圖3所示。

圖2:系統控制時序

圖3:脈沖頻率變化過程示意圖
控制系統的輸出信號為方向信號和脈沖信號。程序中首先使用NI-DAQmx中的“創建”虛擬通道函數完成兩路信號的創建,接著使用 “開始”任務函數啟動輸出任務。然后,在控制循環主體中使用“寫入”函數完成對方向信號值的寫入,使用“屬性節點寫入”函數完成脈沖頻率的更新。最后,在控制循環結束后使用“任務清除”函數清除輸出任務。為了確保在脈沖信號輸出有效前先建立方向信號,需要將方向信號通道 “開始”函數的錯誤輸出接入脈沖信號通道“創建”函數的錯誤輸入。整理后的輸出信號任務程序見圖4所示。
系統的輸入信號為兩個常開限位,未觸發時輸入信號為邏輯0,觸發后信號為邏輯1。輸入信號任務的設計與輸出信號任務相近,主要使用了“創建”、“開始”、“讀取”和“清除”函數構建。整理后的輸入信號任務程序見圖5所示。
位置檢測任務調用了NI-XNET函數庫,創建了一個幀輸出任務和一個幀輸入任務,輸出任務用于發送讀取請求幀,輸入任務用于接收編碼器返回的結果幀。請求幀的組包和結果幀的解析都依照編碼器的CAN OPEN傳輸協議設計。整理后的位置檢測檢測任務程序見圖6所示,圖中的位置數據解析使用了VI子程序。

圖4:輸出信號任務設計程序框圖

圖5:輸入信號任務設計程序框圖

圖6:位置檢測任務設計程序框圖
由于滑塊移動精度受傳動機構影響較大,所以本試驗只以步進電機轉動角度作為控制對象進行研究。因為步進電機驅動細分數設定為5000脈沖/轉,即電機轉動精度可以達到360 o/5000=0.072 o,而位置傳感器的測量精度為360 o/(2^13)≈0.044 o,所以理論上電機轉動精度控制可以做到±0.072 o以內。
測試過程中,利用編碼器的實時位置求取電機的轉速表明電機轉速變化基本與圖3所示頻率變化一致。如果系統輸出脈沖的初始頻率過大或者頻率加速過大,滑塊運行過程中步進電機會出現失步現象。但由于系統使用位置反饋對電機進行閉環控制,電機的最終轉動精度達到了設計要求。
本文應用LabVIEW和DAQmx設計步進電機控制軟件的過程,充分利用了二者圖形化編程直觀、便捷的優勢。結合NI公司的采集設備,能夠迅速完成步進電機控制測試平臺的搭建。測試平臺具備可靠性高、可維護性高的特點,為后續進一步的運動控制研究提供了基礎和參考。