步進電機的 LabVIEW 控制與應(yīng)用
本文介紹了樹莓派 RP2350 開發(fā)板使用 LabVIEW 上位機串口發(fā)送指令,實現(xiàn)步進電機 單步 和 連續(xù) 旋轉(zhuǎn)指定角度的項目設(shè)計。進一步結(jié)合具體的應(yīng)用場景,設(shè)計了開發(fā)板與儀器的聯(lián)合調(diào)用、進而實現(xiàn)數(shù)據(jù)自動采集的應(yīng)用案例。
項目介紹
在前面關(guān)于串口發(fā)送 json 指令使 RP2350 通過 ULN2003 驅(qū)動 28BYJ-48 步進電機旋轉(zhuǎn)指定角度的項目設(shè)計的基礎(chǔ)上,使用 LabVIEW 上位機串口發(fā)送指令,實現(xiàn)步進電機旋轉(zhuǎn)指定角度。
LabVIEW 介紹
LabVIEW (Laboratory Virtual Instrument Engineering Workbench)是 National Instruments(NI)公司開發(fā)的一種圖形化編程語言。主要用于數(shù)據(jù)采集、儀器控制、工業(yè)自動化以及測試測量系統(tǒng)的開發(fā)。
關(guān)鍵組件
- 前面板(Front Panel)
用戶交互界面,包含按鈕、圖表、指示燈等控件。 - 程序框圖(Block Diagram)
圖形化編程區(qū)域,通過連線連接函數(shù)、結(jié)構(gòu)和子VI。 - VI(Virtual Instrument)
LabVIEW程序的基本單元,每個VI包含前面板和程序框圖,可嵌套使用。 - 工具包與模塊
- DAQmx :數(shù)據(jù)采集驅(qū)動;
- Vision Development Module :機器視覺處理;
- LabVIEW NXG :新一代Web化設(shè)計工具。
詳見:[艾默生旗下測試和測量系統(tǒng) - NI] .
環(huán)境配置
下載并安裝最新完整版 [LabVIEW] ;
安裝時注意 VISA 串口驅(qū)動器的安裝,后續(xù)測試將調(diào)用該模塊。
工程設(shè)計
介紹了 LabVIEW 軟件工程創(chuàng)建與程序設(shè)計的流程,實現(xiàn)上位機編寫、旋轉(zhuǎn)角度的串口發(fā)送、狀態(tài)顯示等。
1 單步控制
功能實現(xiàn)
- 串口發(fā)送 json 格式的角度值;
- 打印發(fā)送和接收的數(shù)據(jù)至前面板;
- 顯示旋轉(zhuǎn)狀態(tài)(靜止或運動)等。
前面板
程序框圖
功能實現(xiàn)
程序使用步驟
- 選擇目標(biāo)串口對應(yīng)的端口號,配置波特率等信息;
- 點擊運行按鈕,自動打開串口;
- 輸入目標(biāo)旋轉(zhuǎn)角度值,點擊
Send
發(fā)送按鈕; - 字符面板顯示發(fā)送和接收的信息;
State
指示燈將在完成旋轉(zhuǎn)任務(wù)后(收到OK
)閃爍一次;
參考:[Labview 自動化測試信息轉(zhuǎn)JSON字符串] 、[基于LabView開發(fā)的串口助手] 、[利用VISA進行串口通信]
2 連續(xù)控制
在實現(xiàn)單步控制的基礎(chǔ)上,介紹了循環(huán)發(fā)送旋轉(zhuǎn)角度指令,進而實現(xiàn)連續(xù)旋轉(zhuǎn)的控制。
子VI定義
為了方便連續(xù)控制并旋轉(zhuǎn)指定角度,采用模塊化設(shè)計,定義步進電機旋轉(zhuǎn)子 VI 程序。
前面板
程序框圖
功能實現(xiàn)
- 輸入端口:串口配置參數(shù) (波特率等)、步進電機的旋轉(zhuǎn)速度
velocity
和目標(biāo)旋轉(zhuǎn)角度angle
; - 運行程序;
- 待檢測到串口反饋回 OK 字樣,表明任務(wù)執(zhí)行完畢;
- 打印字符串,點亮
State
狀態(tài)指示燈。
連續(xù)運行
利用模塊化設(shè)計的旋轉(zhuǎn)子 VI 程序,結(jié)合 while 循環(huán)實現(xiàn)連續(xù)旋轉(zhuǎn)控制。
前面板
程序框圖
功能實現(xiàn)
- 串口配置參數(shù) (波特率等);
- 運行程序;
- 單步運行:
- 輸入旋轉(zhuǎn)速度
velocity
和目標(biāo)旋轉(zhuǎn)角度angle
; - 點擊
Go To
按鈕; - 待字符串面板顯示 OK ,完成單步運行流程 .
- 輸入旋轉(zhuǎn)速度
- 連續(xù)運行:
- 在步長
Step
(單次旋轉(zhuǎn)的角度)、最終需要的角度值End
、延時Delay
欄分別輸入對應(yīng)的數(shù)值; - 點擊
START
按鈕,開始運行程序; Position
顯示當(dāng)前位置、loop 指示燈顯示連續(xù)運行狀態(tài),同時輸出提示字符串;- 待循環(huán)結(jié)束,到達目標(biāo)角度,loop 指示燈熄滅,表明連續(xù)運行結(jié)束。
- 在步長
- 點擊
Terminate
按鈕終止程序。
應(yīng)用案例
介紹了開發(fā)的 LabVIEW 上位機步進電機控制系統(tǒng) 的應(yīng)用案例。
案例一:自動數(shù)據(jù)采集裝置
實驗中通常使用二分之一波片或中性密度濾光片(Neutral Density, ND)實現(xiàn)光束的強度和光功率的調(diào)節(jié)。
也可以通過旋轉(zhuǎn)起偏器或檢偏器實現(xiàn)光強的精細調(diào)節(jié)
參考:[二分之一波片的四種用法]
方案介紹
使用 LabVIEW 上位機通過串口向單片機循環(huán)發(fā)送指令,精確控制步進電機的旋轉(zhuǎn)角度,進而機械驅(qū)動波片旋轉(zhuǎn),實現(xiàn)光強的精確控制。
介紹了兩種實現(xiàn)光功率調(diào)節(jié)的方案,分別是采用二分之一波片和 ND 濾波片的解決方案。
工作原理
介紹旋轉(zhuǎn)二分之一波片實現(xiàn)光強控制的基本原理。
馬呂斯 (E. L. Malus) 定律
I = I_0cdot cos^2{theta}
結(jié)合本項目設(shè)計,使用 LabVIEW 控制單片機驅(qū)動步進電機,進而旋轉(zhuǎn)波片,實現(xiàn)光強的精確控制。
中性密度濾光片
ND 濾光片大致分為兩種
- 不連續(xù)變化
詳見:[Round, Step-Variable, Metallic Neutral Density Filters]
- 連續(xù)變化
詳見:[Round Continuously Variable Metallic Neutral Density Filters] .
兩種濾波片均可通過控制旋轉(zhuǎn)角度,調(diào)整光斑入射至 ND 的相對位置,進而實現(xiàn)光強的精確調(diào)控。
數(shù)據(jù)采集
實驗室中的光強數(shù)據(jù)采集通常由 光敏探頭 結(jié)合 光功率計 完成
參考:[Power Meter Kits - Thorlabs]
或使用光電探測器(PD)、雪崩探測器 (APD)、光電倍增管 (PMT)、CCD 傳感器等。
參考:[平衡光電探測器] 、[光電倍增管] 、[雪崩光電二極管] 、[CCD]
這里使用混入噪聲的鋸齒波模擬旋轉(zhuǎn) ND 時,光強信號的變化。
項目工程
介紹了 LabVIEW 上位機聯(lián)合調(diào)用設(shè)備實現(xiàn)自動化數(shù)據(jù)采集的項目設(shè)計,包括面板設(shè)計、程序框圖、功能實現(xiàn)等。
前面板
程序框圖
功能實現(xiàn)
- 選擇目標(biāo)串口對應(yīng)的端口號,配置波特率等信息;
- 點擊運行按鈕,自動打開串口;
- 單次運行:
(a)輸入目標(biāo)旋轉(zhuǎn)角度值;
(b)點擊Go To
按鈕,字符面板顯示發(fā)送和接收的信息;
(c)Running
指示燈顯示旋轉(zhuǎn)狀態(tài)(運行時點亮,靜止時熄滅); - 連續(xù)運行:
(a)輸入步長、目標(biāo)角度、延時、文件保存路徑;
(b)點擊START
按鈕開始運行;
(c)實時顯示位置、循環(huán)狀態(tài)、提示字符串;
(d)顯示數(shù)據(jù)與角度演化曲線;
(e)運行結(jié)束后,曲線數(shù)據(jù)自動保存至目標(biāo)路徑。 - 點擊
Terminate
按鈕終止程序。
效果演示
參數(shù)配置完成后點擊 START
按鈕運行程序
數(shù)據(jù)保存樣式
至此完成了 RP2350 開發(fā)板結(jié)合 LabVIEW 上位機實現(xiàn)自動數(shù)據(jù)采集的項目。
案例二:自動雨刷(自動撐傘裝置、自動澆水器、自動換水魚缸)
結(jié)合雨滴傳感器、土壤濕度傳感器、水位傳感器、光強傳感器等,當(dāng)檢測到傳感器模擬信號變化或達到閾值,旋轉(zhuǎn)步進電機實現(xiàn)力矩傳遞和機械驅(qū)動目標(biāo)裝置,實現(xiàn)擺動、進動、旋動、開關(guān)等操作,自動完成設(shè)定任務(wù)。
總結(jié)
本文介紹了 DFRobot Beetle RP2350 開發(fā)板使用 LabVIEW 上位機串口發(fā)送指令,實現(xiàn)步進電機 單步 和 連續(xù) 旋轉(zhuǎn)指定角度的項目設(shè)計。
進一步結(jié)合具體的應(yīng)用場景,設(shè)計了開發(fā)板與儀器的聯(lián)合調(diào)用、進而實現(xiàn)數(shù)據(jù)自動采集的應(yīng)用案例。
結(jié)合其他應(yīng)用場景,有針對性地提出了工程設(shè)計思路與解決方案。
上述系統(tǒng)性的測試為電機驅(qū)動等相關(guān)類似項目提供了新思路,也為該型號開發(fā)板的應(yīng)用提供了具有 LabVIEW 上位機控制的一系列有價值的參考。
審核編輯 黃宇
-
LabVIEW
+關(guān)注
關(guān)注
2000文章
3670瀏覽量
335347 -
步進電機
+關(guān)注
關(guān)注
152文章
3165瀏覽量
149620
發(fā)布評論請先 登錄
步進電機的控制實現(xiàn)方法

步進電機的詳解解答
行星減速步進電機與步進電機的區(qū)別

評論