大家好,我是一名研二的在校學生,自學labview快一個學期了,這次實驗室項目需要控制步進電機,于是我就用labview來實現(xiàn)這個實驗。這個步進電機控制程序是我目前得學習成果,程序有些簡單,今天就分享給大家,希望對有需要的同學有所幫助。
一、步進電機工作原理
步進電機按其力矩產(chǎn)生原理可以分為反應式、永磁式和混合式幾種。本文采用的是反應式二相四線步進電機,定子有兩個線圈繞組,設其中一個線圈繞組為A相,另一個線圈繞組為B相。當給A相繞組通電時,該繞組即產(chǎn)生磁場,轉(zhuǎn)子齒與A相繞組各齒對齊;當給B相繞組通電時,轉(zhuǎn)子齒與B相繞組各齒對齊。
這樣,轉(zhuǎn)子就旋轉(zhuǎn)了一個角度。依次給A相,B相繞組通電,就可以實現(xiàn)步進電機的旋轉(zhuǎn),改變通電的順序(即先給B相繞組通電,再給A相繞組通電)就可以改變電機旋轉(zhuǎn)的方向。另外,由于步進電機是由脈沖信號進行控制的,給電機發(fā)一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖,它會再轉(zhuǎn)一步。兩個脈沖的時間間隔越短,步進電機就轉(zhuǎn)得越快。調(diào)整單片機發(fā)出的脈沖頻率,就可以對步進電機進行調(diào)速[1]。
二、步進電機控制硬件
本次實驗采用VSMD113-045T微型一體化步進電機控制驅(qū)動器對步進電機進行運動控制。輸入電壓為12-30VDC,最大輸入電流為4.5A,支持最高256微步細分,通訊方式為RS485。
三、步進電機控制程序設計
1.VSMD113-045T驅(qū)動器動態(tài)鏈接庫的調(diào)用
采用labview調(diào)用VSMD113-045T驅(qū)動器動態(tài)鏈接庫的方式來編寫控制程序。若要在labview中調(diào)用DLL,首先需要確定庫的種類是C/C++ DLL還是Microsoft.NET程序集。.NET DLL也被稱作.NET程序集,在.NET程序編寫中被廣泛地使用。.NET DLL使用公共語言運行庫(Common Language Runtime,CLR)和.NET框架(.NET Framework)對DLL中的功能函數(shù)進行組織和管理。
(1)使用C/C++ DLL
1)找到頭文件(* .h)或功能函數(shù)原型定義。
2)確定需要調(diào)用的功能函數(shù)。注意函數(shù)所使用的參數(shù)是否僅包含原始數(shù)據(jù)類型(如整型,字符型,雙精度浮點型等)還是包含有其他復雜數(shù)據(jù)類型(如結(jié)構,數(shù)組或向量)。
3)如果功能函數(shù)的參數(shù)中不包含任何復雜數(shù)據(jù)類型且您有相應的頭文件(* .h),那么可以使用導入共享庫向?qū)?chuàng)建包含該頭文件中功能函數(shù)的LabVIEW庫。你可以在"工具→導入→共享庫"中找到該工具。
4)如果沒有頭文件,那么需要使用調(diào)用庫函數(shù)節(jié)點(Call Library Function Node)以及正確的.DLL文檔以調(diào)用DLL中的功能函數(shù)。
5)雙擊調(diào)用庫函數(shù)節(jié)點打開節(jié)點的配置窗口。在配置窗口的功能選項卡上,輸入DLL的路徑并選擇需要調(diào)用的功能。
6)如果要調(diào)用的函數(shù)包含復雜數(shù)據(jù)類型的參數(shù),那么需要在調(diào)用庫函數(shù)節(jié)點的配置對話框中手動定義函數(shù)原型(如果當前DLL已使用類型庫編譯,參數(shù)數(shù)據(jù)和返回類型將被自動定義)。選擇配置窗口中的參數(shù)選項卡,需要在該選項卡中添加相應的參數(shù)并修改返回值類型,直到窗口底部的函數(shù)原型與DLL中的函數(shù)定義相匹配。
(2)使用.NET程序集
1)若要在LabVIEW中使用.NET程序集,只需使用.NET功能選板即可找到所有可用的功能函數(shù)。(在程序框面板,函數(shù)→互聯(lián)接口→.NET)
2)首先,需要使用構造器節(jié)點將.NET程序集中的類實例化。雙擊構造器節(jié)點以顯示選擇.NET構造器對話框。
3)只需將類的引用從構造器節(jié)點連接到屬性節(jié)點或調(diào)用節(jié)點,便可以通過屬性節(jié)點或調(diào)用節(jié)點簡便地訪問該類的屬性和方法。
2.Labview程序設計
本文動態(tài)鏈接庫為.NET程序集,因此采用.NET的構造器節(jié)點對運動控制驅(qū)動器的動態(tài)鏈接庫進行調(diào)用。
(1)參數(shù)設置程序
首先在庫中選擇類creatvsmdinfo設置設備ID,即cid=1,然后選擇類openseriaport設置串口和波特率,之后再次選擇類creatvsmdinfo,調(diào)用里面的各類屬性函數(shù)設置使能端、加速電流、勻速電流、加速度、減速度、速度和移動距離。參數(shù)設置程序流程圖和程序框圖如圖1所示。動態(tài)鏈接庫函數(shù)含義如表1所示。
(a)參數(shù)設置程序流程圖
(b)參數(shù)設置程序框圖
圖1參數(shù)設置程序示意圖
(2)運動控制程序
運動控制程序采用while循環(huán)結(jié)構。流程圖和程序框圖如圖2所示,前面板框圖如圖3所示。
(a)while循環(huán)流程圖
(b)程序框圖
圖2運動控制程序示意圖
圖3前面板框圖
圖4 完整程序框圖
責任編輯:xj
原文標題:基于LabVIEW的步進電機控制方法設計
文章出處:【微信公眾號:labview學習日記】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
-
電機控制
+關注
關注
3534文章
1876瀏覽量
268735 -
LabVIEW
+關注
關注
1970文章
3654瀏覽量
323290 -
步進電機
+關注
關注
150文章
3109瀏覽量
147443
原文標題:基于LabVIEW的步進電機控制方法設計
文章出處:【微信號:gh_15eff9efd85b,微信公眾號:漫談labview學習】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論