在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用LabVIEW和NI myRIO實現PID控制器

科技觀察員 ? 來源:allaboutcircuits ? 作者:馬克·納維達斯 ? 2022-05-10 16:22 ? 次閱讀

在本系列中,我們將討論如何使用 LabVIEW 和一個愛好直流伺服電機來實現一個簡單的 PID 控制器。我們通過移除其內部控制器并用 myRIO 接口替換它來定制伺服。

這是我們以定制伺服電機為基礎的第二篇文章,專門關注 PID 控制器的編程。您需要按照本系列的第一部分(討論項目的硬件)來實施下面顯示的步驟。

LabVIEW

LabVIEW 是由 National Instruments 開發的圖形化編程語言。該語言的最大好處之一是可供它使用的大量工具包、模塊和庫。使用這些,您可以為眾多工程和研究項目快速開發最復雜的應用程序。

這個實驗也不例外。我們將完全控制 NI LabVIEW PID 和模糊邏輯工具包,而不是完全從頭開始編寫 PID 控制器。使用軟件包附帶的常規“PID.VI”,我們將能夠更快地解決繞過原始伺服控制器的挑戰。

教程無意涵蓋 PID 的基本理論細節。相反,它將向您展示如何實現一個簡單的 PID 控制器。

要求

要遵循,您應該有以下可用和/或安裝:

NI myRIO 嵌入式硬件設備

NI myRIO 擴展端口 (MXP) 原型板附件(預裝 myRIO)

現在應該連接到 Protoboard 附件的定制伺服電機

NI LabVIEW

NI LabVIEW PID 和模糊邏輯工具包

在本教程中,我使用 NI LabVIEW 2014 版對安裝了 NI LabVIEW PID 和 Fuzzy Logic Toolkit 的 NI myRIO 設備進行編程。如果您仍然是學生,您應該能夠從您的大學獲得所有軟件和相關許可證。

伺服控制——理論與實踐

之前,我們解釋了如何控制伺服以及我們如何繞過設備的內部控制器來控制速度而不是位置。我們說過這些設備接受脈寬調制 (PWM) 信號(圖 1)并遵循標準 RC 愛好伺服協議。

poYBAGJ6IM2ATuJ6AAAu6ijywZ4059.jpg

圖 1:通過 PWM 進行簡單的伺服控制

根據該標準協議,常規伺服系統將以 1000 μs 的脈沖長度 (T ON ) 移動到其最左側位置,以 2000 μs 移動到最右側位置,并在 1500 μs 時停留在中間位置(表 1)。

pYYBAGJ6IM6AT-7HAAA63WnfIBo737.jpg

表 1:標準伺服行為

定制后,它應該以 1000 μs 向左移動最快,以 2000 μs 向右移動,并在 1500 μs 時保持靜止(表 2)。請注意,這些假設假設刷新率為 50 Hz。

poYBAGJ6IM-AdR64AAA7A8XcVS0723.jpg

表 2:定制后的伺服行為

然而,在實踐中,這些值可能會有很大的變化,尤其是對于我們在本教程中使用的預算伺服系統。

因此,我們將憑經驗確定中心位置,我們自己,然后為順時針和逆時針行程添加任意正負偏移。

軟件

創建 LabVIEW 項目

首先,讓我們創建一個LabVIEW項目。啟動LabVIEW,在初始屏幕上,選擇“創建項目”(或者,您可以轉到文件》》創建項目)。

在新的彈出窗口中,選擇“myRIO Project”并單擊“Next”。

pYYBAGJ6INCAe_jWAADC-0tg2pI519.jpg

圖 2:創建 myRIO 項目——第 1 步

然后給項目起個名字。我把我的簡稱為“PID”。

最后,確保已插入并找到 myRIO,此時您可以單擊“完成”。

pYYBAGJ6INGAYlVxAADvVg7RUIU754.jpg

圖 3:創建 myRIO 項目——第 2 步

創建一個新VI

然后,在 myRIO 目標下創建一個名為“PID Controller.VI”的新 VI,如圖 4 所示。您可以忽略甚至刪除“Main.VI”——它是默認創建的,作為在下創建的每個 myRIO 項目的示例這個模板。

poYBAGJ6INKAaDapAAB0qZpE7P8547.jpg

圖 4:在 myRIO 上創建一個新 VI

打開新 VI 并切換到程序框圖窗口。創建一個帶有相關停止按鈕的 while 循環。我們將在這里放置所有需要連續執行的代碼。

pYYBAGJ6INOAAZMnAAAaVFfZbew979.jpg

圖 5:帶有停止按鈕的 While 循環

接下來,使用 Quick Drop (CTRL+Space) 或從 myRIO 函數面板中選擇函數,添加“Analog Input” express VI,如圖 6 所示。

在配置彈出窗口中,確保選擇的通道為“A/AI0 (Pin 3)”并為通道命名。我將其稱為“反饋”,因為使用此功能塊,我們將從內部伺服電位器讀取我們的位置值。

然后單擊“確定”并將 express VI 放入 while 循環中。

pYYBAGJ6INSAYCXKAACDz51Rq-o581.jpg

圖 6:添加模擬輸入功能。

同樣,讓我們??創建一個 PWM 輸出,以便我們可以控制伺服速度。同樣,使用 Quick Drop 或函數選板,添加一個名為“PWM”的快速 VI(圖 7)。

對于您的通道,選擇“A/PWM0(引腳 27)”。將頻率設置為 50 Hz(通過“設置常數”選項)并在“占空比”下選擇“使用 Express VI 的輸入設置”。

poYBAGJ6INWAKKMxAADBxWfTdco004.jpg

圖 7:添加 PWM 功能

然后單擊“確定”并將塊放入while循環中。您應該有一個類似于圖 8 中所示的布局。

pYYBAGJ6INaAMVKQAAA1Orr9dkI872.jpg

圖 8:向 while 循環添加模擬輸入和脈寬調制 (PWM) 功能。

確定伺服的中心位置

接下來,我們的目標是確定伺服的中心位置。為此,請為“占空比”輸入創建一個控件。

您也可以為“反饋”創建一個指標,這樣您就可以觀察電位計的值(范圍在 0 到 5 之間,但正如我們稍后將看到的,將這些值轉換為不同的范圍很簡單)。我們還將使用“等待”功能添加一些時間??驁D如圖9所示;Wait 函數顯示為手表,附加的常數 10 表示我們有 10 ms 的延遲。

poYBAGJ6INiAK6BhAABJi-PiV5U151.jpg

圖 9:添加控件、指示器和計時。

從理論上講,我們的占空比將介于 1 ms 和 2 ms 的脈沖寬度之間,其中 1.5 ms 是停止伺服的值(零速度)。我們的 50 Hz 信號的周期為 20 ms,因此這些脈沖寬度對應于 0.05、0.10 和 0.075 的占空比。

在實踐中,產生零速度的實際脈沖寬度可能與理論值不同。要找到實際值,請在占空比設置為 0.075 的情況下運行 VI,然后對其進行調整,直到伺服不旋轉。在我的例子中,實際值為 0.058(圖 10)。

pYYBAGJ6INmAOKGxAAAVMZVXwbs383.jpg

圖 10: 中心查找代碼的前面板(前面板)。

添加任意偏移量

接下來,我們將向該中心值添加任意速度控制偏移。

我選擇了 0.012 的偏移量。這意味著順時針方向的最大角速度對應于 0.046 (0.058 - 0.012) 的占空比,類似地,逆時針方向的最大角速度對應于 0.070 (0.058 + 0.012)。這些映射如表 3 所示。

pYYBAGJ6INqAUfqJAAArzGxi2iM922.jpg

表 3:速度映射

任何中間值都代表給定方向上最大角速度的一小部分。例如,對于以最大速度的一半逆時針旋轉,控制器需要將占空比設置為 0.058 + (0.012/2) = 0.064。

PID控制器實現

一旦我們確定了中間位置,我們就可以最終實現 PID 控制器。使用 Quick Drop 或函數選板,從 LabVIEW PID 和 Fuzzy Logic 工具包中添加“PID.vi”。

為設定點輸入創建一個控件;設定點是我們希望輸出具有的值(在這個系統中,旋轉速度)。

我們還可以為 PID 增益和輸出范圍創建控制(暫時保持這些不變)。

您現在應該有一個類似于圖 11 所示的 VI。

poYBAGJ6INqAPzbfAABSmcnuvgs779.jpg

圖 11:添加 PID 控制。

我們需要確保我們的設定點、輸出和反饋在適當的值范圍內變化。

我們的輸出范圍設置為在 -100 和 100 之間變化(圖 11),因此讓我們將相同的范圍應用于反饋。反饋最初在 0 到 5 的范圍內,因此我們需要縮放這些值(表 4)。

pYYBAGJ6INuAZUwnAAAXrGcrO1w813.jpg

表4:反饋映射表;0 應該映射到 -100,而 5 應該映射到 100。

通過對反饋值應用斜率(用 A 表示)和偏移量(用 B 表示)來實現縮放。我們可以通過求解以下兩個聯立方程找到所需的斜率和偏移量:

poYBAGJ6INyAGlc7AAAfEu6YCrI782.jpg

圖 12:求解將反饋值縮放到 -100 到 100 范圍所需的斜率 (A) 和偏移量 (B)。

縮放反饋和輸出

下圖顯示了我們如何將斜率和偏移量合并到 VI 中。

poYBAGJ6IN2ADIIbAABxwfHuEKY612.jpg

圖 13:縮放反饋值。

根據我們之前確定的占空比值,我們還必須縮放在 -100 和 100 之間變化的輸出:

表 5:輸出(占空比)映射表。

pYYBAGJ6IN6AeebzAAA2IALryfg692.jpg

圖 14:求解將輸出值縮放到 0.046 到 0.070 范圍所需的斜率 (A) 和偏移量 (B)。

下圖顯示了我們如何將輸出縮放合并到 VI 中。

poYBAGJ6IN-AEclHAACJH97BB1g936.jpg

圖 15:該項目的最終 VI。

概括

如果您已逐步按照教程進行操作,那么您已經成功實現了伺服的 PID 控制器,繞過了原來的伺服控制電路

如果您現在切換到 VI 的前面板,您可以獨立調整所有三個 PID 增益并使用“Setpoint”控件控制伺服。更改增益允許您調整 PID 控制器,從而獲得更好的伺服性能。

另外,請注意,我已將界面更改為滑塊,如下圖 16 所示,以便以更自然的方式移動伺服。

pYYBAGJ6IOCADzkdAABDTDuoqTA193.jpg

圖 16:該項目最終 VI 的前面板。

您也可以通過右鍵單擊數字控件并選擇“替換》》數字》》水平指針幻燈片”來執行此操作。

恭喜您使用 LabVIEW 和 NI myRIO 實現了 PID 控制器!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • LabVIEW
    +關注

    關注

    1995

    文章

    3670

    瀏覽量

    333987
  • PID控制器
    +關注

    關注

    2

    文章

    173

    瀏覽量

    19117
  • myRIO
    +關注

    關注

    28

    文章

    11

    瀏覽量

    28355
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    一步到位,Moku數字PID控制器實現系統實時調節與驗證

    PID控制被廣泛應用于實驗控制和工業自動化系統中,但在實際調試中,傳統的PID控制器往往需要大量計算與經驗積累,調節過程既繁瑣又耗時。而通過
    的頭像 發表于 06-03 12:00 ?220次閱讀
    一步到位,Moku數字<b class='flag-5'>PID</b><b class='flag-5'>控制器</b><b class='flag-5'>實現</b>系統實時調節與驗證

    激光 PID 控制器的工作原理與優勢

    在激光技術廣泛應用的今天,激光設備的性能優劣直接影響著眾多領域的生產與科研成果。而激光 PID控制器,憑借其卓越的調控能力,成為激光設備的 “智能核心調控”。
    的頭像 發表于 03-12 16:03 ?430次閱讀

    PID控制器介紹

    PID控制器由比例單元(P)、積分單元(I)和微分單元(D)組成。比例(P)調節作用:是按比例反應系統的偏差,系統一旦出現了偏差,比例調節立即產生調節作用用以減少 偏差。比例作用大,可以加快調節,減少誤差,但是過大的比例,使系統的穩定性下降,甚至造成系統的不穩定。
    發表于 02-26 15:14

    如何使用Python實現PID控制

    PID控制(比例-積分-微分控制)是一種常見的反饋控制算法,廣泛應用于工業控制系統中。在Python中
    的頭像 發表于 11-14 09:09 ?1463次閱讀

    PID控制中的反饋機制解析

    在現代工業自動化和過程控制中,PID控制器是最為常見和有效的控制策略之一。它通過比例(P)、積分(I)和微分(D)三個基本控制作用的組合,
    的頭像 發表于 11-14 09:07 ?1626次閱讀

    如何選擇合適的PID控制器

    ,以實現精確的過程控制。選擇合適的PID控制器不僅能夠提高系統的穩定性和響應速度,還能減少能耗和提高生產效率。 1. 理解PID
    的頭像 發表于 11-13 14:34 ?1190次閱讀

    如何調節PID參數 PID控制器的調試方法

    控制器通過計算誤差信號(期望值與實際值之差)的比例、積分和微分來調整控制量,以減少誤差并實現系統的穩定。比例項(P)對當前誤差進行響應,積分項(I)對過去累積的誤差進行響應,而微分項(D)則預測未來誤差的變化。 調節
    的頭像 發表于 11-13 14:31 ?8789次閱讀

    什么是PID控制器的原理 PID算法在自動化中的應用

    PID控制器是一種廣泛應用于工業控制系統中的控制器,它根據系統的偏差來計算控制量,以實現對被控對
    的頭像 發表于 11-13 14:27 ?2637次閱讀

    PID控制器的類型和選擇指南

    PID控制器是一種廣泛應用于工業控制系統中的控制器,它根據系統的偏差來計算控制量,以實現對系統的
    的頭像 發表于 11-06 10:37 ?1732次閱讀

    什么是PID控制與傳統控制的區別

    現代復雜系統的控制需求。 PID控制簡介 PID控制是一種反饋控制算法,它通過調整系統的輸入,以
    的頭像 發表于 11-06 10:34 ?1514次閱讀

    如何使用PID進行溫度控制

    PID(比例-積分-微分)控制器在溫度控制系統中扮演著至關重要的角色。以下是使用PID進行溫度控制的基本步驟和原理: 一、
    的頭像 發表于 11-06 10:31 ?7327次閱讀

    什么是PID控制器及其應用

    單元(I)和微分單元(D)三個基本部分組成,通過調整這三個部分的參數(Kp、Ki、Kd)來實現對被控對象的精確控制。 PID控制器的原理 PID
    的頭像 發表于 11-06 10:27 ?3382次閱讀

    VIDs、PID和固件:使用TI USB設備控制器時的設計決策

    電子發燒友網站提供《VIDs、PID和固件:使用TI USB設備控制器時的設計決策.pdf》資料免費下載
    發表于 09-30 14:52 ?0次下載
    VIDs、<b class='flag-5'>PID</b>和固件:使用TI USB設備<b class='flag-5'>控制器</b>時的設計決策

    PID調節中的d指的是什么控制器

    PID控制器是一種廣泛應用于工業控制系統中的反饋控制器,它根據控制對象的誤差來計算控制命令,并將
    的頭像 發表于 09-12 14:48 ?1977次閱讀

    工業控制中常用的pid控制器是什么

    比例(P)、積分(I)和微分(D)三個參數的調節,實現對系統輸出的精確控制。 一、PID控制器的基本原理 比例控制(P
    的頭像 發表于 06-30 10:41 ?1777次閱讀
    主站蜘蛛池模板: 色综合天天色综合 | 最新国产精品视频免费看 | 天天色影视综合网 | 一女被多男玩很肉很黄文 | 久久黄色毛片 | 午夜肉伦伦影院在线观看 | 亚洲色图在线播放 | yellow中文字幕久久网 | 久久精品屋 | 亚洲欧洲精品成人久久曰影片 | 久久精品国产精品亚洲红杏 | 成年人在线网站 | 国产一级做a爰片久久毛片男 | 久久伊人男人的天堂网站 | 日韩三级在线观看视频 | 日本加勒比官网 | 一区二区三区影视 | 日韩a一级欧美一级 | 波多野结衣在线网站 | 午夜激情婷婷 | 四虎永久免费地址在线网站 | 男人的天堂一区二区视频在线观看 | 亚洲黄色小说网站 | ww.久久| 丁香六月激情网 | 大尺度视频网站久久久久久久久 | 1314亚洲人成网站在线观看 | xxxxxx日本人免费 | 男女交性动态免费视频 | 亚洲欧美日韩综合一区 | h视频在线看 | 狠狠干综合 | 激情网网站| 狠狠久| 亚洲精品色一区色二区色三区 | 色综合亚洲 | 国产美女动态免费视频 | 亚洲日韩色图 | 国产精品青草久久 | 色月丁香 | 成人在线一区二区 |