摘 要 在步進電機控制系統(tǒng)中,最常見的方法是用PLC或單片機實現(xiàn)步進電機控制,都是非常成熟的技術,但是電路復雜不穩(wěn)定,而且編程比較復雜。本文步進電機控制系統(tǒng)采用LabVIEW作為開發(fā)環(huán)境,LabVIEW是一款圖形化編程語言軟件,編寫步進電機控制程序則更加簡單,提供了豐富的數(shù)據(jù)采集和庫函數(shù),調試方便等諸多優(yōu)點,相對比傳統(tǒng)的VB或者VC語言更具有優(yōu)勢。本文將虛擬儀器應用于步進電機的速度控制和轉動方向控制,對步進電機的應用控制領域具有重大的意義。
【關鍵詞】LabVIEW 步進電機 控制系統(tǒng)
1 硬件系統(tǒng)設計以及工作原理
步進電機是將電脈沖信號轉換為角位移的機電設備,通過改變脈沖頻率來實現(xiàn)能夠快速啟動、反轉和制動的執(zhí)行元件,因此一般步進電機控制系統(tǒng)是指PLC或者單片機產(chǎn)生來脈沖電路,然后產(chǎn)生與轉速相對應的步進脈沖,分配給步進電機的各相繞組,以實現(xiàn)步進電機的控制。一般來講,脈沖一般由微機或者一些輔助電路來產(chǎn)生步進電機的啟動信號。
所以,本文的設計方案是使用LabVIEW完成產(chǎn)生頻率可調的脈沖信號和布爾信號的程序,經(jīng)過硬件連接,通過DAQ板卡將脈沖信號輸送至驅動器,分別連接至步進電機的各個輸入端,即可實現(xiàn)對步進電機的控制,如圖1所示。
故本次設計選用的板卡為PXI-7833R,PXI-7833R多功能RIO模塊提供的可編程FPGA芯片,用戶根據(jù) LabVIEW中的FPGA模塊實現(xiàn)模擬和數(shù)字功能信號的輸入、輸出和PWM信號的輸出。接口部分采用PXI-7833加上相應的軟件對輸入的脈沖信號進行寫操作,將信號加到步進電機驅動器上,實現(xiàn)對步進電機的控制。
2 系統(tǒng)軟件設計
LabVIEW的編程環(huán)境分為前面板和程序框圖。前面板,是圖形化的人機界面,通過操作前面板可以控制調試程序。圖2是后面板,表示前面板各個控件之間的邏輯關系。
2.1 “連續(xù)運行”VI的編程
根據(jù)步進電機工作原理,該控制系統(tǒng)應該實現(xiàn)連續(xù)運轉運行和角度運轉,所以程序用case結構用來選擇不同的運行狀態(tài)。這兩個運行狀態(tài)利用LabVIEW的FPGA模塊來完成,,在“FPGA Target”目錄下創(chuàng)建“連續(xù)運行”VI和“指定角度運行”VI,如圖2所示。
如圖3所示,利用FPGA模塊中自帶的方波發(fā)生函數(shù)產(chǎn)生一個脈沖,這一個脈沖信號首先從FPGA板卡的模擬輸出通道1輸出出來,然后送到步進電機驅動器。
由于指定的轉速單位是r/s,而方波發(fā)生函數(shù)的控制量是頻率,步進電機的轉速可以用頻率來控制,因此,需要將轉速轉化為頻率計算,根據(jù)公式步進電機轉速=頻率*60/((360/固有步進角)*細分倍數(shù)),計算出步進電機的控制頻率,則可以實現(xiàn)直接控制脈沖頻率來控制步進電機的轉速。另外,圖3中將方波信號加一個5V的偏移量,以為了確保低電平是0。波形圖表用來顯示方波發(fā)生函數(shù)發(fā)生的脈沖信號。另外,還需要編寫另外一個VI來控制步進電機轉動方向。
2.2 “指定角度”VI的編程
步進電機的轉動角度是由輸入的脈沖數(shù)決定的,所以該VI的編程可以實現(xiàn)指定角度運轉。因此,無非就是計算輸入脈沖個數(shù),一般采取計時法和計數(shù)法,對比這兩種方案,本次設計采用了對脈沖計數(shù)的方法,因為步進電機啟動或者停止時有一段加速和減速的過程,使用計時方法就有可能出現(xiàn)誤差的現(xiàn)象。解決方案如下:首先,計算步進電機轉動到特定的角度需要的脈沖個數(shù)。其次,所需要的脈沖個數(shù)等于計數(shù)器計算出來脈沖個數(shù),程序必須停止運行。所以,根據(jù)編程思路,如圖4所示,應將計數(shù)的布爾值與“停止”按鈕的布爾值進行“或”運算,只要邏輯運算結果出現(xiàn)1,電機應該停止運行,最后將結果連接至While循環(huán)的“循環(huán)條件”端。
2.3 主程序的編程
在“連續(xù)運轉”狀態(tài)下,電機啟動時只需要調整脈沖信號就可以,可以忽略計時或計數(shù),主程序的功能是控制步進電機分別在兩種不同的狀態(tài)下運轉,使用case結構來實現(xiàn)運動狀態(tài)的選擇,本文的設計思路采用六段直線式遞增,運行過程當中,每隔1秒,轉速增加六分之一,六秒后達到額定轉速。程序如圖5所示。
步進電機的角度轉動設計思路是通過對脈沖進行計數(shù)的方式來實現(xiàn),當脈沖周期數(shù)達到指定個數(shù)時,程序停止。因此電機啟動和停止階段,不能失步或者過沖,為了要保證實現(xiàn)這個功能,在啟動階段要設計一個加速運行,同理在停止階段也要設計一個減速運行。所以在本次設計中要引入“順序局部變量”和“局部變量”。當一按啟動按鈕時,電機馬上進入加速狀態(tài),從加速到平穩(wěn),當達到指定角度的五分之四時,進入減速階段直到停止運行。加速過程程序圖見圖6,這里只附出加速過程第一幀,其他減速和穩(wěn)定階段的程序圖類此。
3 前面板的設計
前面板操作流程的設計思路如圖7所示,首先設計運動狀態(tài)和轉動方向,然后輸入轉速。前面板應當具備轉速控制、轉動方式、轉動方法等按鈕,并且良好的人機操作界面,易于操控。
4 系統(tǒng)運行結果
本設計的主要功能是產(chǎn)生脈沖信號和布爾量,所以按照圖1所示的硬件連線方式進行連線。系統(tǒng)運行實驗結果表明,該系統(tǒng)不僅可準確實現(xiàn)轉速測量和調速控制,而且運行效果良好,通過LabVIEW產(chǎn)生頻率可調的脈沖信號和布爾信號的程序,經(jīng)編譯后下載到PXI-7833R板卡,實現(xiàn)了步進電機控制脈沖及方向信號的生成。
5 結論
從系統(tǒng)運行結果分析,本系統(tǒng)采用基于labview步進電機測控系統(tǒng),完成了該系統(tǒng)的軟件設計部分,包括前面板設計、連續(xù)運行和角度運轉程序的編寫,實現(xiàn)了可以通過FPGA模塊中設置計算驅動脈沖頻率,產(chǎn)生頻率可調的脈沖信號和布爾信號的程序,經(jīng)編譯下載到PXI-7833R板卡,對步進電機進行連續(xù)運行和指定角度運轉,該系統(tǒng)將數(shù)據(jù)采集和控制處理緊密結合在一起,將結果在labview前面板顯示出來,速度快和精度高,與傳統(tǒng)的PLC或單片機步進電機控制系統(tǒng)相比,其成本和可維護性、操作性更強更簡單,該系統(tǒng)已經(jīng)在實際測量系統(tǒng)中得到了應用。
參考文獻
[1]劉君華.基于LabVIEW的虛擬儀器設計[M].北京:電子工業(yè)出版社,2003.
[2]楊樂平,李海濤,楊磊.LabVIEW程序設計與應用[M].北京:電子工業(yè)出版社,2005.
[3]楊林,方宇棟.LabVIEW控制步進電機[J],微計算機信息,2004(02):7-8.
[4] 王來運.步進電機一體化控制系統(tǒng)的設計[J],科技風,2008(21):69-70.
作者簡介
譚偉超(1986-),碩士研究生學歷。任職于江門職業(yè)技術學院。研究方向為機電一體化。
作者單位
江門職業(yè)技術學院 廣東省江門市 529000