虛擬儀器技術在步進電機控制系統中的應用
近年來,虛擬儀器技術在航空、航天、航海、通信、汽車、半導體、生物醫學等眾多領域得到了廣泛應用,從簡單的儀器控制、數據采集到尖端的測控和工業自動化,從大學實驗室到工業現場,從探索研究到技術集成,可以發現虛擬儀器技術應用的很多實例。國內外學者對此作了很多的研究工作,也發表了不少相關文章或論文,但在運動控制方面,卻探討的不多。因此,筆者想就虛擬儀器技術在步進電機控制系統中的應用,談談自己的一些初步探討和體會。
一、虛擬儀器與運動控制
1. 虛擬儀器與圖形化編程語言-LabVIEW
虛擬儀器(即Virtual Instrument,簡稱NI)是一種基于計算機的儀器,就是在通用計算機上加上軟件和(或)硬件,使得使用者在操作這臺計算機時,就象是在操作一臺他自己設計的專用的傳統電子儀器。在虛擬儀器系統中,硬件僅僅是為了解決信號的輸入輸出,軟件才是整個儀器系統的關鍵,任何一個使用者都可以通過修改軟件的方法,很方便地改變、增減儀器系統的功能與規模,所以有“軟件就是儀器”之說。虛擬儀器技術的出現,徹底打破了傳統儀器由廠家定義,用戶無法改變的模式,虛擬儀器技術給用戶一個充分發揮自己的才能、想象力的空間。用戶(而不是廠家)可以隨心所欲地根據自己的需求,設計自己的儀器系統,滿足多種多樣的應用需求。
虛擬儀器系統是計算機系統與儀器系統技術相結合的產物。它利用PC計算機強大的圖形編程環境和在線幫助功能,結合相應的硬件,快速建立人機交互界面的虛擬儀器面板,完成對儀器或設備的控制、數據分析與顯示,提高儀器的功能和使用效率,大幅度降低儀器的價格,使用戶可以根據自己的需要定義儀器的功能,方便地對其進行維護、擴展、升級等。
LabVIEW是美國NI公司利用虛擬儀器(virtual instnlments)技術開發的32位,主要面向計算機測控領域的虛擬儀器軟件開發平臺。LabVIEW同時也是一一種功能強大的圖形編程語言,但它與傳統的文本編程語言(如c語言)不同,采用了一種基于流程圖的圖形化編程形式,因此也被稱為G語言(graphical language)。這種圖形化的編程形式,方便了非軟件專業的工程師快速編制程序。LabVIEW也不同于傳統文本式的編程語言的順序執行方式,而是采用了數據流的執行方式,這種方式要求程序僅在各節點已獲得它的全部數據后才執行。
多任務并行處理一般是通過多線程技術來實現的,不同的任務實際上通過各自的線程輪流占用CPU時間片來達到“同時”處理的目的。LabVIEW 也采用了多線程技術,而且與傳統文本式的編程語言相比,有兩大優點:LabVIEW把線程完全抽象出來,編程者不需對線程進行創建、撤銷及同步等操作;LabVIEW使用圖形化的數據流的執行方式,因此在調試程序時,可以非常直觀地看到代碼的并行運行狀態,這使編程者很容易理解多任務的概念。
LabVIEW圖形化編程語言有效地利用了當今圖形用戶接口的點擊特性。編寫程序只包含以下的一些簡單步驟:
(1)用鼠標選擇儀器函數作為對象;收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(稱為“步距角”),它的旋轉是以固定的角度一步一步運行的。可以通過控制脈沖個數來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。步進電機可以作為一種控制用的特種電機,步進電機由于具有轉子慣量低、定位精度高、無累積誤差、控制簡單等特點,成了控制系統的主要執行元件之一。步進電機的控制方法包括開環控制和閉環控制兩種。
二、基于虛擬儀器的步進電機控制系統整體結構與原理
一般運動控制系統主要由五部分構成:被移動的機械設備、運動I/O的馬達(伺服或步進)、馬達驅動單元、智能運動控制器、以及編程/操作接口軟件。
本系統的目標是利用筆者實驗室已有美國國家儀器公司(NI)的NI PCI 7354伺服/步進運動控制卡及其配套軟件、NI 7604伺服 /步進驅動器及其配套軟件、兩相步進電機、LabVIEW軟件、多軸精密電移臺(負載)、PC機等構建一套步進電機運動控制系統,分別實現單軸、兩軸、三軸和
四軸的運動控制,要求系統具有數控系統的基本功能,能實現不同坐標系下的直線、圓弧插補、速度控制、電子傳動等功能,以供實驗教學應用。系統整體結構框圖如圖1示。
1. NI PCI 7354運動控制卡
NI PCI 7354控制卡可同時控制包括交流和步進電機的4軸運動,能實現諸如點到點位置控制、速度控制、三維直線、圓弧、螺旋型和球形運動、電子傳動、混合運動、回程和限位控制、Trigger輸入和Breakpoint輸出等功能。NI PCI 7354的嵌入式固件是基于RT0S(實時操作系統)內核的,實時性強,通過簡單易用的運動控制器、軟件、以及外設提供集成方案的功能與能力,為一般伺服與步進應用提供精確、高性能的運動功能。該運動控制器可以使用支持Windows 2000/NT/Me/xp操作系統的LabVIEW、 Measurement Studio(LabWindows/CVI、Visual Basic)以及C/C++進行編程。
NI PCI 7354運動控制卡是高性能PCI步進/伺服控制器,可用于所有運動控制系統中,控制器采用先進的技術,在嵌入式實時運動或者以主機為中心的編程環境中提供混合運動軌跡控制和完全協同的圓形、線性、點到點、齒輪和空間矢量控制。其豐富的功能可以滿足最為嚴格的要求。
NI PCI 7354運動控制卡的主要特點:通過PCI總線與主機(上位機)通信; 68芯VHDCI輸出電纜;普通數字輸出電壓:0-32V;高電平3.5——30V, 低電平0—2V;最大脈沖速率:100KHZ;運行電流:3-14mA;觸發輸出最大脈沖速率:1MHz;
2. 運動控制軟件
利用NI LabVIEW圖形化編程語言以及各種應用軟件可以開發功能強大的運動控制程序,運動控制器配備NI-Motion驅動軟件提供的 LabVIEW VI、固件更新程序、DLL程序,可以利用其它開發工具(比如Measurement Studio, LabWindows CVI)或其它編程語言開發運動控制應用。NI運動助手(Motion Assistant)是一個采用LabVIEW代碼生成方法的附加工具,運用該工具您只需進行極少編程甚至無需編程即可開發LabVIEW運動控制應用。

3. NI 7604 驅動器
NI 7604驅動器將NI 7354提供的四軸運動控制信號放大,以驅動兩相步進電機運轉,帶動精密電移臺運動。該驅動器將運動控制器與特定應用馬達、編碼器、限位器、用戶I/O連接在一起。一根控制電纜連接運動控制器與驅動器,為全部的命令集與反饋信號提供一個通道。(信息來源:www.dqjsw.com.cn)
NI 7604的主要特點:輸入電壓:115V/23V,2/1A,60/50Hz; 步進放大器:IM481H;每相電流:0.2—1.4A;電源連續輸出容量:80W;輸入電纜:68芯VHDCI型;輸出電壓:24V DC;+5V輸出:1A。
4. 運動控制外設
兩相步進電機4臺,四軸精密電移臺一套,電移臺是滾珠絲杠/螺母驅動結構。系統原理圖如圖2示。

三、系統工作原理
通過上位機(PC機)的數據終端設備設置步進電機的目標位置、加速度、速度和減速度(即發出運動控制任務),NI PCI7354運動控制卡根據設置信息控制電機的運動時間(輸出脈沖個數)和方向,即控制卡完成實時運動規劃,NI 7604驅動器放大脈沖信號以驅動電機運轉。
在電機運行過程中,控制脈沖的頻率f應隨時變化以滿足電機低速起停及高速運行的需要。脈沖頻率由發送數據的波特率(B)決定,每發出一個脈沖需用兩個二進制位1和0來構成其高、低電平,所以f=B/2,通過調整發送數據的波特率可改變所發出的控制脈沖的頻率。按常規波特率系列發送數據時所產生的控制脈沖頻率變化較大,不能滿足電機正常起停及調速的要求,為此計算機需按非標準的波特率發送數據以產生任意頻率的控制脈沖。一般在電機起動及停止階段每發送一個字節調整一次波特率,以使電機起停得盡量平滑。
四、軟件研究與實現
在系統硬件環節構建完成后,先后逐步完成了單軸直線運動控制、兩軸平面運動控制、三軸空間運動控制系統的軟件研究與開發。
控制軟件利用LabVIEW 7這種虛擬儀器軟件開發平臺設計,每個程序分為前面板和框圖程序兩部分。前面板用于設置控制參數和顯示控制過程及結果,框圖程序是程序的代碼。兩軸平面螺旋運動前面板如圖3示,兩軸平面螺旋運動框圖程序(局部)如圖4示。

三軸空間運動的前面板和框圖程序(局部)分別如圖5、圖6所示。
文章版權歸西部工控xbgk所有,未經許可不得轉載。