PID算法的數學實現和參數確定方法

目錄

概述

1 算法描述

1.1 PID算法模型

1.2 PID離散化的圖形描述

1.3?PID算法的特點

2 離散化的PID算法

2.1 位置式PID算法

2.2 增量式PID算法

2.3?位置式PID與增量式PID比較

3??控制器參數整定

3.1 PID參數確定方法

3.1.1 湊試法

3.1.2?臨界比例法

3.1.3??經驗法

3.2 采樣周期

3.3 經驗分享

?3.4 一個Demo


概述

PID算法是一種常用的反饋控制算法,全稱為Proportional-Integral-Derivative。它根據測量值與設定值的差距,經過比例、積分和微分的處理,得到控制器的輸出。本文主要介紹該算法的實現原理,離散PID算法實現方法以及參數確定方法等內容。

1 算法描述

1.1 PID算法模型

其用數學公式描述如下:

1)定義誤差:

2)模擬算法的數學描述:

3)離散PID算法的數學描述:

1.2 PID離散化的圖形描述

1)PID積分項的圖像描述

?數學解釋內容:

2)?PID微分項的圖像描述

?數學解釋內容:

1.3?PID算法的特點

1)PID是比例(Proportional)、積分(Integral)、微分(Differential)的縮寫

2)PID是一種閉環控制算法,它動態改變施加到被控對象的輸出值(Out),使得被控對象某一物理量的實際值(Actual),能夠快速、準確、穩定地跟蹤到指定的目標值(Target)

3)PID是一種基于誤差(Error)調控的算法,其中規定:誤差=目標值-實際值,PID的任務是使誤差始終為0

4)PID對被控對象模型要求低,無需建模,即使被控對象內部運作規律不明確,PID也能進行調控

2 離散化的PID算法

2.1 位置式PID算法

由于計算機控制是一種采樣控制, 它只能根據采樣時刻的偏差計算控制量,而不能像模擬控制 那樣連續輸出控制量量, 進行連續控制。 由于這一特點模擬式PID算法公式中的積分項和微分項不能直接使用,必須進行離散化處理。

離散化處理的方法為:以T 作為采樣周期, 作為采樣序號,則離散采 樣時間 對應著連續時間 , 用矩形法數值積分近似代替積分, 用一階后向差分近似代替微分, 可作如下近似變換:

公式-1:

2.2 增量式PID算法

?

所謂增量式 PID 是指數字控制器的輸出只是控制量的增量?uk 。 當執行機構需要的控制量是增量,而不是位置量的絕對數值時,可以使用增量式 PID 控制算法進行控制。

將k= k-1帶入到公式-1中,得到公式-2

使用公式-1減去公式-2得到公式-3

2.3?位置式PID與增量式PID比較

1)位置式PID由連續形式PID直接離散得到,每次計算得到的是全量的輸出值,可以直接給被控對象 ;增量式PID由位置式PID推導得到,每次計算得到的是輸出值的增量,如果直接給被控對象,則需要被控對象內部有積分功能

2)增量式PID也可在控制器內進行積分,然后輸出積分后的結果,此時增量式PID與位置式PID整體功能沒有區別 ;位置式PID和增量式PID計算時產生的中間變量不同,如果對這些變量加以調節,可以實現不同的特性。

3??控制器參數整定

控制器參數整定: 指決定調節器的比例系數 Kp 、 積分時間Ti 、 微分時間Td 和采樣周期Ts 的具體數值。

整定的實質是通過改變調節器的參數,使其特性和過程特性相匹配, 以改善系統的動態 和靜態指標,取得最佳的控制效果。 整定調節器參數的方法很多, 歸納起來可分為兩大類, 即理論計算整定法和工程整定法。

理?計算整定法有對數頻率特性法和根軌跡法等;

工程整定法有湊試法、 臨界比例法、經驗法、 衰減曲 線法和響應曲線法等。

工程整定法特點不需要事先知道過程的數學模型,直接在過程控制系統中進 行現場整定方法簡單、計算簡便、易于掌握。

3.1 PID參數確定方法

3.1.1 湊試法

按照先比例(P)、再積分(I)、最后微分(D)的順序。 置調節器積分時間Ti =∞, 微分時間Td =0, 在比例系數 按經驗設置的初值條件下, 將系統 投入運行,由小到大整定比例系數 。求得滿意的 1/4 衰減度過渡過程曲線。

Kp Kp 引入積分作用(此時應將上述比例系數 Kp 設置為 5/6 Kp )。將Ti 由大到小進行整定。 若需引入微分作用時,則將Td 按經驗值或按Td =(1/3~1/4) Ti 設置,并由小到大加入。

3.1.2?臨界比例法

在閉環控制系統里, 將調節器置于純比例作用下, 從小到大逐漸改變調節器的比例系數, 得到 等幅振蕩的過渡過程。 此時的比例系數稱為臨界比例系數 , 相鄰兩個波峰間的時間間隔, 稱為臨 界振蕩周期Tu 。

Ku 臨界比例度法步驟:

1、將調節器的積分時間 置于最大( Ti =∞),微分時間置零( Td =0),比例系數 適當, 平衡操作一段時間,把系統投入自動運行。 Ti Kp

2、 將比例系數 Kp 逐漸增大, 得到等幅振蕩過程, 記下臨界比例系數 Ku 和臨界振蕩周期Tu 值。

3、根據 Ku 和Tu 值,采用經驗公式,計算出調節器各個參數,即 Kp 、 Ti 和Td 的值。 按“先 P 再 I 最后 D”的操作程序將調節器整定參數調到計算值上。

若還不夠滿意,可再作進一 步調整。 臨界比例度法整定注意事項: 有的過程控制系統, 臨界比例系數很大, 使系統接近兩式控制, 調節閥不是全關就是全開, 對 工業生產不利。 有的過程控制系統, 當調節器比例系數 調到最大刻度值時, 系統仍不產生等幅振蕩, 對此, 就把最大刻度的比例度作為臨界比例度 進行調節器參數整定。

3.1.3??經驗法

用湊試法確定 PID 參數需要經過多次反復的實驗, 為了減少湊試次數, 提高工作效率, 可以借 鑒他人的經驗, 并根據一定的要求, 事先作少量的實驗, 以得到若干基準參數, 然后按照經驗公式, 用這些基準參數導出 PID 控制參數,這就是經驗法。 臨界比例法就是一種經驗法。 這種方法首先將控制器選為純比例控制器, 并形成閉環, 改變比 例系數,使系統對階躍輸入的響應達到臨界狀態,這時記下比例系數 Ku 、臨界振蕩周期為Tu ,根據 Z-N 提供的經驗公式,就可以由這兩個基準參數得到不同類型控制器的參數,如下表所示。

?這種臨界比例法使針對模擬 PID 控制器, 對于數字 PID 控制器, 只要采樣周期取的較小, 原則 上也同樣使用。在電動機的控制中,可以先采用臨界比例法,然后在采用臨界比例法求得結果的基 礎上,用湊試法進一步完善。 上表的控制參數, 實際上是按衰減度為 1/4 時得到的。 通常認為 1/4 的衰減度能兼顧到穩定 性和快速性。如果要求更大的衰減,則必須用湊試法對參數作進一步的調整。

3.2 采樣周期

香農(Shannon) 采樣定律 :為不失真地復現信號的變化, 采樣頻率至少應大于或等于連續 信號最高頻率分量的二倍。根據采樣定律可以確定采樣周期的上限值。實際采樣周期的選擇還要受 到多方面因素的影響,不同的系統采樣周期應根據具體情況來選擇。

采樣周期的選擇,通常按照過程特性與干擾大小適當來選取采樣周期:即對于響應快、(如流 量、壓力) 波動大、易受干擾的過程,應選取較短的采樣周期;反之,當過程響應慢(如溫度、 成 份)、滯后大時,可選取較長的采樣周期。

采樣周期的選取應與PID參數的整定進行綜合考慮, 采樣周期應遠小于過程的擾動信號的周期, 在執行器的響應速度比較慢時,過小的采樣周期將失去意義,因此可適當選大一點;在計算機運算 速度允許的條件下,采樣周期短, 則控制品質好;當過程的純滯后時間較長時, 一般選取采樣周期 為純滯后時間的 1/4~1/8。

3.3 經驗分享

人們通過對 PID 控制理論的認識和長期人工操作經驗的總結, 可知PID 參數應依據以下幾點來適應系統的動態過程。

1、 在偏差比較大時, 為使盡快消除偏差, 提高響應速度, 同時為了避免系統響應出現超調, Kp 取大值, 取零;在偏差比較小時,為繼續減小偏差,并防止超調過大、產生振蕩、穩定性變壞, 值要減小, 取小值; 在偏差很小時,為消除靜差,克服超調,使系統盡快穩定, 值繼續 減小, 值不變或稍取大。?


2、當偏差與偏差變化率同號時,被控量是朝偏離既定值方向變化。因此,當被控量接近定值 時,反號的比列作用阻礙積分作用,避免積分超調及隨之而來的振蕩,有利于控制;而當被控量遠 未接近各定值并向定值變化時,則由于這兩項反向,將會減慢控制過程。在偏差比較大時, 偏差變 化率與偏差異號時, Kp 值取零或負值,以加快控制的動態過程。


3、偏差變化率的大小表明偏差變化的速率, 越大, 取值越小, 取值越大,反 之亦然。同時,要結合偏差大小來考慮。


4、微分作用可改善系統的動態特性,阻止偏差的變化,有助于減小超調量,消除振蕩,縮短 調節時間 ,允許加大 ,使系統穩態誤差減小,提高控制精度,達到滿意的控制效果。所以, 在 比較大時, 取零,實際為 PI 控制;在 比較小時, 取一正值,實行 PID 控制。

?3.4 一個Demo

一個自校正 PID 控制器參數的配置案例:

對于一個特定的被控對象, 在純比例控制的作用下改變比例系數可以求出產生臨界振蕩的振蕩
周期Tu 和臨界比例系數 Ku 。

根據 Z-N 條件,有:


將這些參數帶入到增量PID的公式中,其中增量PID的表達式如下:

帶入參數之后:

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/67705.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/67705.shtml
英文地址,請注明出處:http://en.pswp.cn/web/67705.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《DeepSeek R1:大模型最簡安裝秘籍》

DeepSeek R1:AI 大模型界的新起之秀 在人工智能的璀璨星空中,大模型如繁星般閃耀,而 DeepSeek R1 無疑是其中一顆冉冉升起的新星,自問世以來便吸引了全球的目光,在人工智能領域占據了重要的一席之地。 從性能表現上看…

【論文閱讀】RAG-Reward: Optimizing RAG with Reward Modeling and RLHF

研究背景 研究問題:這篇文章要解決的問題是如何優化檢索增強生成(RAG)系統,特別是通過獎勵建模和人類反饋強化學習(RLHF)來提高大型語言模型(LLMs)在RAG任務中的效果。研究難點&…

【數據結構】(3)包裝類和泛型

一、包裝類 1、什么是包裝類 將基礎類型包裝成的類就是包裝類。由于基礎類型不是繼承 Object 類的類,所以在泛型不能直接支持基礎類型,為了解決這個問題,就需要把基礎類型轉換為對應的包裝類。 基礎類型對應的包裝類 基礎類型包裝類byteByte…

DBUtils中QueryRunner(空參,傳數據源)構造方法的區別及應用場景

關于學習Spring框架時重構DAO層時,遇到的QueryRunner構造方法的問題,回憶MySQL中DBUtils部分 1. 空參構造方法 new QueryRunner() 特點: 不綁定數據源:QueryRunner 實例內部沒有 DataSource,因此無法自動獲取連接。 …

C++11線程

C11提供了線程庫&#xff0c;下面我們來看一下如何使用。 線程的創建 頭文件 要創建一個線程需要包一個線程頭文件:#include <thread> 我們先來看看thread支持的構造方式。 支持默認構造&#xff0c;直接使用thread創建一個空的線程對象。 也支持帶參的構造&#x…

梯度提升用于高效的分類與回歸

人工智能例子匯總:AI常見的算法和例子-CSDN博客 使用 決策樹(Decision Tree) 實現 梯度提升(Gradient Boosting) 主要是模擬 GBDT(Gradient Boosting Decision Trees) 的原理,即: 第一棵樹擬合原始數據計算殘差(負梯度方向)用新的樹去擬合殘差累加所有樹的預測值重…

Golang 并發機制-3:通道(channels)機制詳解

并發編程是一種創建性能優化且響應迅速的軟件的強大方法。Golang&#xff08;也稱為 Go&#xff09;通過通道&#xff08;channels&#xff09;這一特性&#xff0c;能夠可靠且優雅地實現并發通信。本文將揭示通道的概念&#xff0c;解釋其在并發編程中的作用&#xff0c;并提供…

Unity開發游戲使用XLua的基礎

Unity使用Xlua的常用編碼方式&#xff0c;做一下記錄 1、C#調用lua 1、Lua解析器 private LuaEnv env new LuaEnv();//保持它的唯一性void Start(){env.DoString("print(你好lua)");//env.DoString("require(Main)"); 默認在resources文件夾下面//幫助…

筆記:使用ST-LINK燒錄STM32程序怎么樣最方便?

一般板子在插件上&#xff0c; 8腳 3.3V;9腳 CLK;10腳 DIO;4腳GND ST_Link 19腳 3.3V;9腳 CLK;7腳 DIO;20腳 GND 燒錄軟件&#xff1a;ST-LINK Utility&#xff0c;Keil_5; ST_Link 接口針腳定義&#xff1a; 按定義連接ST_Link與電路板&#xff1b; 打開STM32 ST-LINK Uti…

網絡測試工具

工具介紹&#xff1a; 這是一個功能完整的網絡測速工具&#xff0c;可以測試網絡的下載速度、上傳速度和延遲。 功能特點&#xff1a; 1. 速度測試 - 下載速度測試 - 上傳速度測試 - Ping延遲測試 - 自動選擇最佳服務器 2. 實時顯示 - 進度條顯示測試進度 - 實時顯示測試狀…

java每日精進1.31(SpringSecurity)

在所有的開發的系統中&#xff0c;都必須做認證(authentication)和授權(authorization)&#xff0c;以保證系統的安全性。 一、基礎使用 1.依賴 <dependencies><!-- 實現對 Spring MVC 的自動化配置 --><dependency><groupId>org.springframework.bo…

簡單的SQL語句的快速復習

語法的執行順序 select 4 字段列表 from 1 表名列表 where 2 條件列表 group by 3 分組前過濾 having 分組后過濾 order by 5 排序字段列表 limit 6 分頁參數 聚合函數 count 統計數量 max 最大值 min 最小值 avg 平均 sum 總和 分組查詢使…

《程序人生》工作2年感悟

一些雜七雜八的感悟&#xff1a; 1.把事做好比什么都重要&#xff0c; 先樹立量良好的形象&#xff0c;再橫向發展。 2.職場就是人情世故&#xff0c;但也不要被人情世故綁架。 3.要常懷感恩的心&#xff0c;要記住幫助過你的人&#xff0c;愿意和你分享的人&#xff0c;有能力…

17.2 圖形繪制8

版權聲明&#xff1a;本文為博主原創文章&#xff0c;轉載請在顯著位置標明本文出處以及作者網名&#xff0c;未經作者允許不得用于商業目的。 17.2.10 重繪 先看以下例子&#xff1a; 【例 17.28】【項目&#xff1a;code17-028】繪制填充矩形。 private void button1_Clic…

自定義數據集 使用pytorch框架實現邏輯回歸并保存模型,然后保存模型后再加載模型進行預測,對預測結果計算精確度和召回率及F1分數

import numpy as np import torch import torch.nn as nn import torch.optim as optim from sklearn.metrics import precision_score, recall_score, f1_score# 數據準備 class1_points np.array([[1.9, 1.2],[1.5, 2.1],[1.9, 0.5],[1.5, 0.9],[0.9, 1.2],[1.1, 1.7],[1.4,…

neo4j入門

文章目錄 neo4j版本說明部署安裝Mac部署docker部署 neo4j web工具使用數據結構圖數據庫VS關系數據庫 neo4j neo4j官網Neo4j是用ava實現的開源NoSQL圖數據庫。Neo4作為圖數據庫中的代表產品&#xff0c;已經在眾多的行業項目中進行了應用&#xff0c;如&#xff1a;網絡管理&am…

腳本運行禁止:npm 無法加載文件,因為在此系統上禁止運行腳本

問題與處理策略 1、問題描述 npm install -D tailwindcss執行上述指令&#xff0c;報如下錯誤 npm : 無法加載文件 D:\nodejs\npm.ps1&#xff0c;因為在此系統上禁止運行腳本。 有關詳細信息&#xff0c;請參閱 https:/go.microsoft.com/fwlink/?LinkID135170 中的 about_…

Java基礎——分層解耦——IOC和DI入門

目錄 三層架構 Controller Service Dao ?編輯 調用過程 面向接口編程 分層解耦 耦合 內聚 軟件設計原則 控制反轉 依賴注入 Bean對象 如何將類產生的對象交給IOC容器管理&#xff1f; 容器怎樣才能提供依賴的bean對象呢&#xff1f; 三層架構 Controller 控制…

智慧園區系統集成解決方案引領未來城市管理的智能化轉型

內容概要 在現代城市管理的背景下&#xff0c;“智慧園區系統集成解決方案”正扮演著越來越重要的角色。這種解決方案不僅僅是技術上的創新&#xff0c;更是一種全新的管理理念&#xff0c;它旨在通過高效的數據整合與分析&#xff0c;優化資源配置&#xff0c;提升運營效率。…

99.24 金融難點通俗解釋:MLF(中期借貸便利)vs LPR(貸款市場報價利率)

目錄 0. 承前1. 什么是MLF&#xff1f;1.1 專業解釋1.2 通俗解釋1.3 MLF的三個關鍵點&#xff1a; 2. 什么是LPR&#xff1f;2.1 專業解釋2.2 通俗解釋2.3 LPR的三個關鍵點&#xff1a; 3. MLF和LPR的關系4. 傳導機制4.1 第一步&#xff1a;央行調整MLF4.2 第二步&#xff1a;銀…