正文
Moku:Go PID控制器實驗
采用齊格勒-尼克爾斯方法進行PID調整并開展實驗
視頻演示
Moku:Go 將 8 種實驗儀器整合為一臺高性能設備。這份應用說明將利用 Moku:Go 的 PID 控制器、示波器、波形發生器和可編程電源功能,為學習 PID 控制器的各種調節和優化方法提供一種很直觀的方式。
Moku:Go
Moku:Go將8種實驗儀器整合為一臺高性能設備,具有2個模擬輸入、2個模擬輸出、16個數字I/O引腳和可選的集成電源。
PID 控制器
比例-積分-微分(PID)控制器是最常見的反饋控制形式,應用非常廣泛,例如車輛的定速巡航和無人機的電機 控制。PID 控制器的目的是驅動過程達到特定的輸出,通常叫做設定點。控制器的反饋被用于調節和優化對過程的控制。
這份應用說明旨在介紹 Moku:Go 的 PID 控制器,以及如何輕松地將其整合到實驗室環境中,用于控制理論的教學。一般來說,控制理論主要是通過嚴謹的數學模型和計算來進行教學,只有極少數實驗室會帶領課堂控制 某個物體的溫度或直流電機的速度。這份應用說明介紹了一種控制理論教學的新方法,采用更為直觀的組件幫學生更好地將課堂學習的理論與實際控制系統聯系起來。這種方法使用一個直流電機電扇、一個紅外距離傳感 器和一臺 Moku:Go 對一顆乒乓球的高度實現控制。Moku:Go 中包含一個集成示波器、PID 控制器、波形發生 器和可編程電源,能夠驅動電機控制電路、采集傳感器數據,并輸出特定信號來控制直流電機的速度。這樣, 通過對比乒乓球的上升時間、過沖距離和穩定高度等參數,就能很明顯地表現出使用和不使用 PID 控制器的差異。用戶還可以通過 Moku:Go 的應用程序進行實時調整,使學生看到不同 PID 增益如何在數學和實際上影響系統。實驗所需的完整組件列表請參見下方的“實驗設置”一節。
實驗設置
組件
- Moku:Go 硬件 [x1]
- 5V 電扇 [x1]
- 聚碳酸酯管 [~100cm]
- IC3 GP2Y0A21YK 紅外距離傳感器 [x1]
- IC1 NE555 (定時器), IC2 LM358 (運算放大器) [x1]
- Q1 IRFZ44N (場效應管), Q2 C1815 (晶體管) [x1]
- D1 1N4004 (二極管) [x1]
- C1 200nF [x1], C2 47nF [x1], C3 330μF [x1]
- R1 27kΩ [x1], R2 39kΩ [x1], R3 120kΩ [x1], R4/R5/R6 10kΩ [x3] 電阻
- 50kΩ 電位器 [x1]
- 實驗電路板 [x1]
圖 1: 基于脈沖寬度調制(PWM)的直流電機速度控制原理圖
上圖電路使用 NE555 定時器(IC1)產生一個鋸齒波形,隨后被饋送到比較器(IC2)的反相輸入端。Moku:Go PID 控制器的輸出(輸出 1)被饋送到比較器的同相輸出端,從而產生一個 PWM 信號。這個信號被 送到場效應管(Q1)中,用來直接控制 5V 風扇消耗的功率。風扇的功率大小會直接以乒乓球的懸浮高度體現 出來。控制高度的方法是采用通過輸入 1 端口連接到 Moku:Go 的設定點電位計。PID 控制器通過這個設定點 來控制輸出 1 端口的直流電壓,從而達到所需的乒乓球高度。要對乒乓球高度進行閉環控制,首先將紅外傳感 器(IC3)的輸出與 Moku:Go 的輸入 2 端口相連,然后重新配置 PID 的控制矩陣,使電位計設定點變化的反應時間得到改進。下方圖 2 給出了 Moku:Go 連接的原理示意圖。
圖 2: Moku:Go連接原理圖
圖 3: 風扇、聚碳酸酯管、紅外傳感器和乒乓球組成的裝置
本實驗設置的另一部分就是使乒乓球懸浮在空中的機械系統,由一個 5V 風扇、聚碳酸酯管、紅外傳感器和一個 乒乓球構成。用橡膠條將管子固定在風扇輸送風力的位置,并每隔 5 厘米放置一個標記以方便測量。需要注意 的是,我們在管子每隔 5 厘米高度的位置上開了 3 個 6 直徑 6 毫米左右的小孔,給系統提供“阻力”。這一步 對實驗設置來說非常重要,否則乒乓球在每次風扇打開時都會漂浮到管子的頂端,無論風扇的功率如何。紅外 傳感器安裝在管子的頂端,當乒乓球上升時,傳感器的電壓輸出就會升高。
PID 控制器模型
我們想要控制乒乓球的高度,并希望使用 PID 控制器來實現,這就意味著我們要找到比例(P)、積分(I)和 微分(D)增益,以優化我們希望系統完成的過程。然而,我們必須首先理解系統的數學原理,認識 PID 控制 器如何對系統產生影響,才能為 PID 增益代入數值。根據控制理論,我們知道 PID 控制器可以建模為如下圖 4 中所示的傳遞函數,其中 C(s)是控制器傳遞函數,G(s)是被控對象傳遞函數,R 是參考值,e 是誤差(e=R-Y), 而 Y 是系統的輸出。
圖 4: PID 控制器的方塊圖
根據控制理論的知識,我們知道
其中 KP 是比例增益,KI 是積分增益,而 KD 是微分增益。為優化系統的上升時間、穩定時間、過沖距離和穩態 誤差,我們必須找到這些增益。下方的表格顯示出增加每個 PID 增益會為系統特性帶來哪些變化。降低增益會 產生與表格中所示相反的效果。
表格 1 PID調整參數
在找到增益準備微調 PID 控制器時,或者使用“試錯”方法設計控制器時,該表格都非常有用。然而,還有另 一種方法可以僅通過分析系統的開環階躍響應,就得到比較好的 PID 增益值。這就是控制系統課程中普遍教授 的齊格勒-尼克爾斯方法,可用于快速找到起始的 PID 增益值,再根據表 1 對控制器進行微調。以下介紹了一種快速且無縫的方法,使用 Moku:Go 的 PID 控制器和示波器來實現齊格勒-尼克爾斯方法,并隨后用 Moku:Go 桌面應用程序對控制器進行實時微調。
齊格勒-尼克爾斯方法
齊格勒-尼克爾斯調整方法使用開環系統的瞬態階躍響應來確定 PID 控制器初始的 PID 參數。這些數值并不能 很好地適配每個系統,控制器也需要后續進行驗證和調整。但是,它為大多數控制系統提供了一個可靠的起點。這個方法只能用于開環階躍響應類似于 S 形曲線的系統,如下方圖 5 所示,這意味著它沒有共軛復數極點。
圖 5: 齊格勒-尼克爾斯反應曲線
乒乓球系統類似于一個一階平移質量型系統,其傳遞函數通常為
其中 m 是乒乓球的質量,而
是由管子上的小孔模擬的摩擦系數。如果沒有這些小孔,就沒有相反的力,從而導致乒乓球在每次打開風扇時 都會直接被射到頂部,無論風扇的功率是多少。
使用 Moku:Go 應用程序(Windows/MacOS)中的示波器功能,我們可以捕捉到紅外傳感器在乒乓球因階躍 輸入而上升時的輸出信號。階躍輸入被用于放大器的同相輸入,并與 Moku:Go 的輸出 1 端口相連。這個階躍 輸入要被轉化為驅動風扇電機的 PWM 信號,所以我們必須為乒乓球將被微調到的理想高度找到合適的階躍輸 入電壓。在本次實驗中,我將階躍輸入設置為 1.950V,相當于 50%空閑度,球高 40cm。由于選取的組件和乒 乓球重量存在差異,這個數值在不同系統中也可能有所不同。
圖6: 開環階躍輸入響應
關于圖 6 有一些注意事項:我們預計會出現 960.7 mV 來自紅外傳感器的偏移,其數值根據管子的長度而異。在本次應用中,管子長 60cm,所以偏移量是紅外傳感器數據表中物體在 60cm 之外時的輸出電壓(假定紅外 傳感器位于管子的頂端)。屏幕底端彈出的信息是示波器內置的波形發生器,使用戶可以同時使用示波器和波 形發生器功能。由于我們可以迅速改變階躍輸入(1.950 V 的直流信號),并在同一屏幕上測量階躍輸入,所 以能輕松地反饋階躍輸入響應的特征。最后,屏幕右側的彈窗會顯示 24 個獨特的測量參數,包括上升時間、過 沖距離、下沖距離等。
我們可以通過內置的測量選項并使用齊格勒-尼克爾斯方法來快速確定階躍輸入響應的特征。應用程序使用過程 中無法在圖像的拐點處添加切線,但通過高水平和低水平測量,再配合一些電壓和時間光標,我們就能近似得 出時間延遲 L 和時間常數 T。時間延遲 L 是從應用階躍輸入到系統對其作出反應的時間,在本次實驗中為 2.645 秒。時間常數 T 是發生相應所需的時間,在本次實驗中為 0.58 秒。時間常數應該與右側顯示的上升時間非常接近。
找到這些常數的方法是用一個長直的物體(如尺子),將它直接拿到屏幕的拐點處,然后將兩個時間光標分別 拖到它與高電壓和低電壓光標相交的地方。添加光標最簡單的方式就是直接從左下角的光標圖表處拖入。點擊 并向上拖動添加時間光標,向右拖動添加電壓光標。最后一步是在施加階躍輸入時添加一個參考時間光標,在 本實驗中為-2.831 秒。參考光標為負值是因為我們將觸發設置為單一采集模式,所以當紅外傳感器的輸出電壓 超過觸發閾值時,信號會在示波器屏幕上被放到中心的 0s。
使用光標來計算時間延遲L和時間常數T后,我們就能通過下方表2來計算PID控制器的增益。
在將這些數值輸入 PID 控制器之前,最后一步是要將它們轉換為分貝,可使用以下公式:
其中 KdB 是以分貝為單位的增益,而 Kn 則是根據上方表 2 計算的增益。
這時,我們便可以點擊兩個信號鏈之一的控制器按鈕,將 PID 增益輸入 Moku:Go 的 PID 控制器中,如下圖 7 所示。
圖 7: Moku:Go PID控制器
這會打開控制器的參數設置,讓您輸入剛剛計算得到的增益。用戶可以選擇在頻域或時域中輸入增益。默認設定是頻域,但您可以點擊控制器彈窗右下角的“高級模式”,輕松切換到時域設定。這個模式還可以實現控制器的分段運行,分別標識為A部分和B部分。我們這里只會用到A部分,但您仍需啟動B部分,并禁用除G(整體增益)以外的所有參數即可,G可設置為0 dB。請記住點擊右側的P、I和D按鈕來啟動A部分的正確參數。
圖 8: PID控制器參數設置
Moku:Go的PID控制器還可以用于實時調整控制器增益并優化系統相應。PID控制器具有嵌入式示波器,可在控制器波特圖旁邊顯示信號。通過在波特圖中用拖放方式手動改變增益值,學生可以更好地理解改變特定增益參數如何對系統產生實際影響。拖放方式只能在頻域設置中使用,因此能夠在時域和頻域之間轉換PID增益是非常必要的。
要在嵌入式示波器中查看這些信號,一種簡單的方法是點擊其中一個“探測點”,以黑色圓圈包圍的藍色小圓圈表示。它們剛好位于最方便的位置,比如在輸入1之后、PID控制器的輸出之后,以及其它有用的地方。要查看紅外傳感器的輸出,我們要在輸出2后面防止一個探測點,以圖9中那樣的紅色粗體A標記。
圖表 9: PID控制器探測點
為確認PID控制器確實提高了我們系統的響應,現在要關閉系統的回路。首先將輸入1與設定點電位器的輸出節點相連,然后將紅外感應器的輸出饋送到輸入2,并在控制矩陣中將其從輸出1中減去。這個過程模擬了圖4方塊圖中的求和塊。為本實驗設置閉環反饋的一個重要步驟就是要消除紅外感應器由于乒乓球距離而產生的輸出偏差。這會改進PID控制器的響應,可通過將乒乓球靜止時的紅外傳感器偏移量添加到PID信號通路的輸入偏移量(在本實驗中為961.4 mV)來實現。接下來,通過使用與開環部分相同的階躍輸入,我們就可以在內嵌式示波器上捕捉到系統的閉環階躍輸入響應,并用自動測量對其進行表征。在下方圖10中,我們可以看到由PID控制器的內嵌式示波器捕捉到的系統閉環階躍響應。這使我們能夠運行PID控制器并只捕捉顯示階躍響應的幀。重要的是,這里要使用“正常”觸發模式,以便正確捕捉和顯示信號。
圖 10: 閉環階躍響應
將這些參數與初始的開環階躍輸入響應相比,我們就能判斷 PID 控制器是否改進了系統的性能。從內嵌式示波 器的自動測量結果來看,啟動 PID 控制器后,我們的時間延遲、上升時間和過沖距離都得到了改進。然而,這 些初始增益還使我們的過沖誤差顯著增大。這是使用齊格勒-尼克爾斯方法時的正常現象,可以通過表 1 的試探法對階躍響應進行微調,從而輕松消除。
下方圖 11 中顯示出用表 1 進行調整后的系統閉環階躍響應。
圖 11: 微調后閉環階躍響應
我們可以看到,從開環響應(圖 6)到閉環響應(圖 10)后,上升時間、穩定時間、過沖距離和下沖距離都得 到明顯改進。至此,我們成功展示了使用普通組件和 Moku:Go 進行直觀 PID 控制器實驗的方法。這個實驗共使用了 Moku:Go 的 4 種儀器功能,包括示波器、波形發生器、PID 控制器和 3 個可編程電源(16 V 和兩個 5 V)。
圖 12: PID 控制器實驗設置
Moku:Go的優勢
針對教育工作者和實驗室操作人員
- 有效利用實驗室空間和時間
- 輕松實現統一的儀器配置
- 專注于電子設備而非儀器設置
- 實現實驗室助教時間最大化
- 個人實驗室與個人學習
- 通過屏幕截圖簡化評估評分
針對學生
- 配合學生個人進度的個性化實驗室,以加強理解和記憶
- 便攜設備,在家中或校園隨時隨地打造實驗環境,甚至遠程協作
- 熟悉的Windows或macOS筆記本電腦環境,匹配專業級實驗儀器
Moku:Go演示模式
如需下載適用于macOS和Windows系統的Moku:Go應用程序,請聯系昊量光電。演示模式無需任何硬件即可運行,向您全方位展示Moku:Go的基本功能。
更多詳情請聯系昊量光電/歡迎直接聯系昊量光電
關于昊量光電:
上海昊量光電設備有限公司是國內知名光電產品專業代理商,代理品牌均處于相關領域的發展前沿;
產品包括各類激光器、光電調制器、光學測量設備、精密光學元件等,涉及應用領域涵蓋了材料加工、光通訊、生物醫療、科學研究、國防及更細分的前沿市場如量子光學、生物顯微、物聯傳感、精密加工、先進激光制造等;可為客戶提供完整的設備安裝,培訓,硬件開發,軟件開發,系統集成等優質服務。
審核編輯:湯梓紅
評論
查看更多