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

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

步進(jìn)電機(jī)如何自適應(yīng)控制?步進(jìn)電機(jī)如何細(xì)分驅(qū)動(dòng)控制?
步進(jìn)電機(jī)如何在加減速過程中控制技術(shù)?
步進(jìn)電機(jī)轉(zhuǎn)速怎么控制高低
什么是混合式步進(jìn)電機(jī)?舉例分析
淺談步進(jìn)電機(jī)控制策略方式有哪些?
步進(jìn)電機(jī)的控制技術(shù)及發(fā)展概況有哪些?
什么是步進(jìn)電機(jī)?它的工作原理是什么?
步進(jìn)電機(jī)的伺服控制方法有哪些
步進(jìn)電機(jī)伺服控制系統(tǒng)的作用
絲桿步進(jìn)電機(jī)和普通步進(jìn)電機(jī)有什么區(qū)別
步進(jìn)電機(jī)型號與步進(jìn)電機(jī)命名規(guī)則

評論