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

評論