0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于LabVIEW的步進(jìn)電機(jī)控制方法設(shè)計(jì)詳解

zwjV_gh_ ? 來(lái)源:labview學(xué)習(xí)日記 ? 作者:labview學(xué)習(xí)日記 ? 2021-02-17 09:23 ? 次閱讀

大家好,我是一名研二的在校學(xué)生,自學(xué)labview快一個(gè)學(xué)期了,這次實(shí)驗(yàn)室項(xiàng)目需要控制步進(jìn)電機(jī),于是我就用labview來(lái)實(shí)現(xiàn)這個(gè)實(shí)驗(yàn)。這個(gè)步進(jìn)電機(jī)控制程序是我目前得學(xué)習(xí)成果,程序有些簡(jiǎn)單,今天就分享給大家,希望對(duì)有需要的同學(xué)有所幫助。

一、步進(jìn)電機(jī)工作原理

步進(jìn)電機(jī)按其力矩產(chǎn)生原理可以分為反應(yīng)式、永磁式和混合式幾種。本文采用的是反應(yīng)式二相四線步進(jìn)電機(jī),定子有兩個(gè)線圈繞組,設(shè)其中一個(gè)線圈繞組為A相,另一個(gè)線圈繞組為B相。當(dāng)給A相繞組通電時(shí),該繞組即產(chǎn)生磁場(chǎng),轉(zhuǎn)子齒與A相繞組各齒對(duì)齊;當(dāng)給B相繞組通電時(shí),轉(zhuǎn)子齒與B相繞組各齒對(duì)齊。

這樣,轉(zhuǎn)子就旋轉(zhuǎn)了一個(gè)角度。依次給A相,B相繞組通電,就可以實(shí)現(xiàn)步進(jìn)電機(jī)的旋轉(zhuǎn),改變通電的順序(即先給B相繞組通電,再給A相繞組通電)就可以改變電機(jī)旋轉(zhuǎn)的方向。另外,由于步進(jìn)電機(jī)是由脈沖信號(hào)進(jìn)行控制的,給電機(jī)發(fā)一個(gè)控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個(gè)脈沖,它會(huì)再轉(zhuǎn)一步。兩個(gè)脈沖的時(shí)間間隔越短,步進(jìn)電機(jī)就轉(zhuǎn)得越快。調(diào)整單片機(jī)發(fā)出的脈沖頻率,就可以對(duì)步進(jìn)電機(jī)進(jìn)行調(diào)速[1]。

二、步進(jìn)電機(jī)控制硬件

本次實(shí)驗(yàn)采用VSMD113-045T微型一體化步進(jìn)電機(jī)控制驅(qū)動(dòng)器對(duì)步進(jìn)電機(jī)進(jìn)行運(yùn)動(dòng)控制。輸入電壓為12-30VDC,最大輸入電流為4.5A,支持最高256微步細(xì)分,通訊方式為RS485。

三、步進(jìn)電機(jī)控制程序設(shè)計(jì)

1.VSMD113-045T驅(qū)動(dòng)器動(dòng)態(tài)鏈接庫(kù)的調(diào)用

采用labview調(diào)用VSMD113-045T驅(qū)動(dòng)器動(dòng)態(tài)鏈接庫(kù)的方式來(lái)編寫控制程序。若要在labview中調(diào)用DLL,首先需要確定庫(kù)的種類是C/C++ DLL還是Microsoft.NET程序集。.NET DLL也被稱作.NET程序集,在.NET程序編寫中被廣泛地使用。.NET DLL使用公共語(yǔ)言運(yùn)行庫(kù)(Common Language Runtime,CLR)和.NET框架(.NET Framework)對(duì)DLL中的功能函數(shù)進(jìn)行組織和管理。

(1)使用C/C++ DLL

1)找到頭文件(* .h)或功能函數(shù)原型定義。

2)確定需要調(diào)用的功能函數(shù)。注意函數(shù)所使用的參數(shù)是否僅包含原始數(shù)據(jù)類型(如整型,字符型,雙精度浮點(diǎn)型等)還是包含有其他復(fù)雜數(shù)據(jù)類型(如結(jié)構(gòu),數(shù)組或向量)。

3)如果功能函數(shù)的參數(shù)中不包含任何復(fù)雜數(shù)據(jù)類型且您有相應(yīng)的頭文件(* .h),那么可以使用導(dǎo)入共享庫(kù)向?qū)?chuàng)建包含該頭文件中功能函數(shù)的LabVIEW庫(kù)。你可以在"工具→導(dǎo)入→共享庫(kù)"中找到該工具。

4)如果沒(méi)有頭文件,那么需要使用調(diào)用庫(kù)函數(shù)節(jié)點(diǎn)(Call Library Function Node)以及正確的.DLL文檔以調(diào)用DLL中的功能函數(shù)。

5)雙擊調(diào)用庫(kù)函數(shù)節(jié)點(diǎn)打開節(jié)點(diǎn)的配置窗口。在配置窗口的功能選項(xiàng)卡上,輸入DLL的路徑并選擇需要調(diào)用的功能。

6)如果要調(diào)用的函數(shù)包含復(fù)雜數(shù)據(jù)類型的參數(shù),那么需要在調(diào)用庫(kù)函數(shù)節(jié)點(diǎn)的配置對(duì)話框中手動(dòng)定義函數(shù)原型(如果當(dāng)前DLL已使用類型庫(kù)編譯,參數(shù)數(shù)據(jù)和返回類型將被自動(dòng)定義)。選擇配置窗口中的參數(shù)選項(xiàng)卡,需要在該選項(xiàng)卡中添加相應(yīng)的參數(shù)并修改返回值類型,直到窗口底部的函數(shù)原型與DLL中的函數(shù)定義相匹配。

(2)使用.NET程序集

1)若要在LabVIEW中使用.NET程序集,只需使用.NET功能選板即可找到所有可用的功能函數(shù)。(在程序框面板,函數(shù)→互聯(lián)接口→.NET)

2)首先,需要使用構(gòu)造器節(jié)點(diǎn)將.NET程序集中的類實(shí)例化。雙擊構(gòu)造器節(jié)點(diǎn)以顯示選擇.NET構(gòu)造器對(duì)話框。

3)只需將類的引用從構(gòu)造器節(jié)點(diǎn)連接到屬性節(jié)點(diǎn)或調(diào)用節(jié)點(diǎn),便可以通過(guò)屬性節(jié)點(diǎn)或調(diào)用節(jié)點(diǎn)簡(jiǎn)便地訪問(wèn)該類的屬性和方法。

2.Labview程序設(shè)計(jì)

本文動(dòng)態(tài)鏈接庫(kù)為.NET程序集,因此采用.NET的構(gòu)造器節(jié)點(diǎn)對(duì)運(yùn)動(dòng)控制驅(qū)動(dòng)器的動(dòng)態(tài)鏈接庫(kù)進(jìn)行調(diào)用。

(1)參數(shù)設(shè)置程序

首先在庫(kù)中選擇類creatvsmdinfo設(shè)置設(shè)備ID,即cid=1,然后選擇類openseriaport設(shè)置串口和波特率,之后再次選擇類creatvsmdinfo,調(diào)用里面的各類屬性函數(shù)設(shè)置使能端、加速電流、勻速電流、加速度、減速度、速度和移動(dòng)距離。參數(shù)設(shè)置程序流程圖和程序框圖如圖1所示。動(dòng)態(tài)鏈接庫(kù)函數(shù)含義如表1所示。

d27e5092-507f-11eb-8b86-12bb97331649.png

(a)參數(shù)設(shè)置程序流程圖

d2b1acc6-507f-11eb-8b86-12bb97331649.png

(b)參數(shù)設(shè)置程序框圖

圖1參數(shù)設(shè)置程序示意圖

d4ab8830-507f-11eb-8b86-12bb97331649.png

(2)運(yùn)動(dòng)控制程序

運(yùn)動(dòng)控制程序采用while循環(huán)結(jié)構(gòu)。流程圖和程序框圖如圖2所示,前面板框圖如圖3所示。

d4eaa95c-507f-11eb-8b86-12bb97331649.png

(a)while循環(huán)流程圖

d53a583a-507f-11eb-8b86-12bb97331649.png

(b)程序框圖

圖2運(yùn)動(dòng)控制程序示意圖

d5714f16-507f-11eb-8b86-12bb97331649.png

圖3前面板框圖

d5926714-507f-11eb-8b86-12bb97331649.png

圖4 完整程序框圖

責(zé)任編輯:xj

原文標(biāo)題:基于LabVIEW的步進(jìn)電機(jī)控制方法設(shè)計(jì)

文章出處:【微信公眾號(hào):labview學(xué)習(xí)日記】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 電機(jī)控制
    +關(guān)注

    關(guān)注

    3512

    文章

    1811

    瀏覽量

    267323
  • LabVIEW
    +關(guān)注

    關(guān)注

    1954

    文章

    3647

    瀏覽量

    320404
  • 步進(jìn)電機(jī)
    +關(guān)注

    關(guān)注

    150

    文章

    3041

    瀏覽量

    146843

原文標(biāo)題:基于LabVIEW的步進(jìn)電機(jī)控制方法設(shè)計(jì)

文章出處:【微信號(hào):gh_15eff9efd85b,微信公眾號(hào):漫談labview學(xué)習(xí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    兩分鐘帶你了解步進(jìn)電機(jī)控制方法

    步進(jìn)電機(jī)是一種將電脈沖信號(hào)轉(zhuǎn)換為角位移或線位移的電動(dòng)機(jī)。其工作原理基于電磁學(xué)原理,通過(guò)將電能轉(zhuǎn)換為機(jī)械能來(lái)實(shí)現(xiàn)控制步進(jìn)電機(jī)
    的頭像 發(fā)表于 09-18 14:47 ?62次閱讀
    兩分鐘帶你了解<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>控制</b>的<b class='flag-5'>方法</b>

    步進(jìn)電機(jī)的伺服控制方法有哪些

    步進(jìn)電機(jī)的伺服控制方法主要包括以下幾種: 1. 位置模式 定義 :在位置模式下,步進(jìn)伺服電機(jī)根據(jù)
    的頭像 發(fā)表于 09-04 09:48 ?173次閱讀

    步進(jìn)電機(jī)控制方法與主要應(yīng)用

    步進(jìn)電機(jī),作為一種能將電脈沖信號(hào)轉(zhuǎn)換為角位移或線位移的執(zhí)行元件,在自動(dòng)化控制領(lǐng)域扮演著至關(guān)重要的角色。它以其獨(dú)特的開環(huán)控制特性、高精度定位及快速響應(yīng)能力,廣泛應(yīng)用于打印機(jī)、機(jī)器人、汽車
    的頭像 發(fā)表于 06-26 14:45 ?532次閱讀

    如何改變步進(jìn)電機(jī)方向的方法

    步進(jìn)電機(jī)作為一種精密的控制電機(jī),其方向控制對(duì)于許多應(yīng)用至關(guān)重要。本文將詳細(xì)介紹幾種改變步進(jìn)
    的頭像 發(fā)表于 06-14 09:56 ?1481次閱讀

    步進(jìn)電機(jī)步進(jìn)驅(qū)動(dòng)器計(jì)算方法

    步進(jìn)電機(jī)是一種將電脈沖信號(hào)轉(zhuǎn)換為機(jī)械角位移的執(zhí)行元件,廣泛應(yīng)用于自動(dòng)化設(shè)備、機(jī)器人、打印機(jī)等領(lǐng)域。步進(jìn)電機(jī)驅(qū)動(dòng)器是步進(jìn)
    的頭像 發(fā)表于 06-12 09:41 ?607次閱讀

    步進(jìn)電機(jī)控制器怎么調(diào)速度

    調(diào)整控制器的參數(shù),可以實(shí)現(xiàn)步進(jìn)電機(jī)的速度調(diào)節(jié)。本文將詳細(xì)介紹步進(jìn)電機(jī)控制器的調(diào)速
    的頭像 發(fā)表于 06-12 09:17 ?948次閱讀

    什么是步進(jìn)電機(jī)的細(xì)分控制?步進(jìn)電機(jī)為什么要細(xì)分,如何細(xì)分?

    什么是步進(jìn)電機(jī)的細(xì)分控制?步進(jìn)電機(jī)為什么要細(xì)分,如何細(xì)分? 步進(jìn)
    的頭像 發(fā)表于 02-18 09:39 ?5576次閱讀

    arduino控制步進(jìn)電機(jī)代碼

    Arduino是一種開放源代碼的電路板平臺(tái),它可以用于控制各種不同的電子設(shè)備,包括步進(jìn)電機(jī)。步進(jìn)電機(jī)是一種電動(dòng)機(jī),可以通過(guò)下達(dá)特定的指令來(lái)
    的頭像 發(fā)表于 02-14 16:29 ?1613次閱讀

    步進(jìn)電機(jī)控制方法 步進(jìn)電機(jī)和伺服電機(jī)的區(qū)別

    步進(jìn)電機(jī)控制方法 步進(jìn)電機(jī)是一種將電信號(hào)轉(zhuǎn)化為機(jī)械轉(zhuǎn)動(dòng)的電動(dòng)機(jī),其輸出轉(zhuǎn)角是按照電脈沖
    的頭像 發(fā)表于 01-22 17:18 ?926次閱讀

    步進(jìn)電機(jī)控制方法 步進(jìn)電機(jī)控制器參數(shù)設(shè)置

    步進(jìn)電機(jī)是一種在控制系統(tǒng)中常見的電機(jī)類型,它以步進(jìn)角度為單位進(jìn)行旋轉(zhuǎn),并且可以精確控制位置和速度
    的頭像 發(fā)表于 01-19 10:50 ?2251次閱讀

    步進(jìn)電機(jī)控制方法及需要哪些控制信號(hào)

    步進(jìn)電機(jī)控制方法以及所需的控制信號(hào)。 步進(jìn)電機(jī)
    的頭像 發(fā)表于 12-20 11:21 ?2705次閱讀

    步進(jìn)電機(jī)一體化控制系統(tǒng)的設(shè)計(jì)

    了一種以最少參數(shù)確定一條圓弧軌跡的插補(bǔ)方法步進(jìn)電機(jī)變頻調(diào)速的方法。步進(jìn)電機(jī)
    發(fā)表于 12-18 09:24 ?2次下載

    步進(jìn)電機(jī)定位控制的常用方法

    步進(jìn)系統(tǒng)=步進(jìn)驅(qū)動(dòng)器+步進(jìn)電機(jī)步進(jìn)電機(jī)步進(jìn)驅(qū)動(dòng)器
    發(fā)表于 10-30 11:30 ?2755次閱讀
    <b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>定位<b class='flag-5'>控制</b>的常用<b class='flag-5'>方法</b>

    步進(jìn)電機(jī)開環(huán)控制與閉環(huán)控制有什么區(qū)別?

    步進(jìn)電機(jī)控制,一般有開環(huán)控制和閉環(huán)控制兩種方法。開環(huán)控制
    的頭像 發(fā)表于 10-28 08:07 ?3254次閱讀
    <b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>開環(huán)<b class='flag-5'>控制</b>與閉環(huán)<b class='flag-5'>控制</b>有什么區(qū)別?

    步進(jìn)電機(jī)開環(huán)控制與閉環(huán)控制有什么區(qū)別?

    控制精度要求較高的場(chǎng)合,如打印機(jī)、數(shù)碼相機(jī)等。而對(duì)于步進(jìn)電機(jī)控制,一般有開環(huán)控制和閉環(huán)控制
    的頭像 發(fā)表于 10-24 11:49 ?1388次閱讀