matlab做比例積分微分控制,收放卷卷徑計算+閉環擺桿控制參數自適應PID控制算法(變比例變積分變微分)介紹...

項目簡介

最近在一個客戶現場搞熔邊機項目,涉及到收放卷工藝的卷徑計算,同時張力控制使用的是擺桿,然后通過PID控制輸出輔助轉速補償收卷伺服速度。單一的PID參數不能自動適應卷徑變化,如在小卷徑200mm下調試整定出的一組PID參數,當收卷卷徑大于300mm的時候該組參數就不能穩定,系統會發散。于是想出了本篇文章將要為大家介紹的變比例變積分變微分自適應PID控制器。

硬件介紹

0ccba445aaf8165712632f0d78526318.png

上圖1為位置傳感器,圖中2部分為擺桿。擺桿運動的時候達到左右限位輸出的值范圍是0到500,中間位置為250.擺桿是通過氣缸控制的,氣缸輸出一定的力。收卷使用的是伺服速度模式,收卷軸卷徑變化范圍為100mm-1000mm,系統卷徑變化較大。系統最大運行速度為220m/min。速度可以通過HMI進行輸入。

收卷軸的速度是根據牽引主軸速度確定的,這里只用牽引主軸的速度是不能保證擺桿在中間位置的,所以還要在此速度基礎上 根據擺桿的位置反饋計算出PID補償的輔助速度。????我為了實現系統優化,本套系統采用了兩層變比例變積分變微分分段自適應PID控制器算法。具體的介紹如下:

變比例變積分變微分自適應PID控制器原理介紹

收卷的主速度是根據牽引主軸的給定速度計算出來的,輔速度是根據擺桿的位置通過位置式PID控制器算出的輔助速度。收卷軸的真正速度 = 主速度+輔助速度。

這里收卷軸,卷徑是可以通過線長相等計算而來的。計算思路:要保證張力恒定的話,就是牽引走過的線長和收卷軸轉過的線長應該是相等的。牽引走過的距離與收卷轉過的距離是相等的,這里再通過一定的方法算出走過的這段距離中收卷轉動的圈數,然后就能算出實時卷徑了。

我們可以觀察到一個現象,同樣的牽引速度下,卷徑小的時候收卷計算出的主轉速n是比較快的,卷徑增大的過程中同樣的線速度下其收卷轉速是減小的。具體的數學關系如下:

V = w*r = 2πnr 所以:n = v/2πr,也就是說主速度和(v/r)呈正比例關系。這里收卷伺服給定的轉速n給定 = n主 + n輔,因為n主是和(v/r)呈正比例關系的,所以這里的PID計算出來的n輔也應該和(v/r)呈正比例關系。所以可以推得 PID參數也應該和(v/r)呈正比例關系。

上面介紹的是第一層變比例變積分變微分PID算法(實際上可以理解為跟隨速度和卷徑自適應的PID參數),實際上我在應用中,還使用了第二層變比例變積分變微分分段PID控制器,第二層分段PID控制參數實際上是根據偏差進行自動調整計算的。這里偏差是作為第二層分段PID的分段指標的,如下圖:

0833c421896e9cc796f375a0867dffa3.png

當前自適應PID算法實現方法與參數整定介紹

第一層自適應PID參數整定方法

首先PID參數不乘以(v/r)這個時變系數,使用二倍二分法輔助看目標值和反饋值曲線調試PID參數。先確定一組在速度固定為200,卷徑固定在100到200mm范圍內的一組PID參數。把這組PID參數確定好之后,再乘以(v/r)系數。這個算出來的PID參數作為第二層根據偏差的分段PID的小偏差范圍內的kp1 ki1 kd1(上圖中),然后這里為了方便,再將kp1 ki1 kd1乘以一個系數,我們就能得到kp2 ki2 kd2參數了。

這里PID控制器參數的整定采用的是控制變量法,每次只調一組參數,然后看波形。

#為了系統更穩定,這里采用多重濾波處理:

反饋濾波以及轉速濾波,濾波后效果波形如下所示

采用一階低通 濾波后的數據 = (1-s)上次濾波數據 + s此次實時反饋數據

反饋濾波系數0.9和0.1

轉速濾波系數 0.9和0.1

轉速:紅色為濾波后轉速 D470藍色 D1208為主+輔算出的轉速n

反饋:D66實時反饋采樣 D572反饋濾波后曲線

8ae12f05fac9ee02ea3cf670f571c06e.png

反饋濾波系數0.95和0.05

轉速濾波系數0.95和0.05

192c4e65ec78a0911daacd323160b3ea.png

反饋濾波系數0.99和0.01

轉速濾波系數0.99和0.01(滯后非常嚴重)

c03ce7811dd82f029bf9a1774178677d.png

反饋濾波系數0.96和0.04

轉速濾波系數0.96和0.04

9973be65d6672f41291c1e6972c82e33.png

最終確定卷徑200mm v = 200m/min左右 的PID參數

Kp = 1400

Ki = 500

Kd = 70

最終確定卷徑100mm v = 200m/min左右 的PID參數

Kp = 1600

Ki = 600

Kd = 180

然后根據上面說到的控制原理,推算出相應的系數,得到自適應PID控制器的自動調整參數。

具體參數整定過程如下:

目標位置是250,實際位置曲線如黃線所示

Kp = 100

Ki = 0

Kd = 0

R = 247

9b1078640afb0743bbcebdcea685a0c4.png

Kp = 200

Ki = 0

Kd = 0

R = 251

914e81edbe372d3a5054bd05f0bbf2fe.png

Kp = 400

Ki = 0

Kd = 0

R = 262

0604d17c17e223f66cccc5003291c2e0.png

Kp = 800

Ki = 0

Kd = 0

R = 262

ad17876c3d451e758a6ea29af4a6caa4.png

Kp = 1600

Ki = 0

Kd = 0

R = 268

b86af013afba1248f3bf765e14236862.png

Kp = 3200

Ki = 0

Kd = 0

R = 275

1530c5d6600bc4506d127fe6d9892cf9.png

Kp = 2000

Ki = 0

Kd = 0

R = 278

d8ba0f2a547426d7965a9177c04135af.png

Kp = 1400

Ki = 0

Kd = 0

R = 278

98f73be66f8559855f13c9c1810d6761.png

Kp = 1200

Ki = 0

Kd = 0

R = 278

c7f900a01376fc4878fa66f368ea53c1.png

Kp = 1200

Ki = 0

Kd = 100

R = 203

e62d91e9bdf262047b80aaa86b8dbeea.png

Kp = 1200

Ki = 0

Kd = 50

R = 311

6150497eb675f02eed2f0b3bfff1f550.png

Kp = 1200

Ki = 0

Kd = 60

R = 311

bb88e7e64e712b8f0491fd97053e16a8.png

Kp = 1200

Ki = 0

Kd = 200

R = 203

95addc3ecd4c346151ecd9b0a197c978.png

Kp = 1200

Ki = 0

Kd = 25

R = 321

5132fb7ad2d4afb6fc4e4c3aa776ea23.png

Kp = 1200

Ki =0

Kd = 35

R = 322

6117288d3cc36fffbeeefc15fffdb167.png

Kp = 1200

Ki =0

Kd = 40

R = 322

9829e7335d69008b700d5d8c8cd93d7b.png

Kp = 1200

Ki = 400

Kd = 50

R = 324

68275bf9af6c2046a59e429132e9d635.png

Kp = 1200

Ki = 800

Kd = 50

R = 331

6363389587613c2b0905fdabfe51c409.png

Kp = 1200

Ki = 800

Kd = 70

R = 338

efb9716041cb3cf366e30b6245ff02be.png

Kp = 1200

Ki = 800

Kd = 80

R = 338

18ff7b77f5b89c03b70726bdedde6f9b.png

Kp = 1200

Ki = 800

Kd = 80

R = 338

86626af1783c2350de6480c540f2cbeb.png

Kp = 1200

Ki =100

Kd = 0

R = 285

86571bdb8b82420ec9e4d90a47813f86.png

Kp = 1200

Ki = 200

Kd = 0

R = 292

2e0d17a952f3e7a1442a617dc947666c.png

Kp = 1200

Ki = 400

Kd = 0

R = 302

f267a68df8f2ecd9289292ba94b2b197.png

關注本站微信公眾號,可以更方便的獲得更多資源資料

燕駿工控博客[環宇工控博客]–www.yanjuntech.cn 專注于工業自動化領域,分享工控相關經驗與教程,分享收集的百度云盤工控資料資源,記錄個人生活讀書感悟。期待與您相遇~~

cba9019686716b70fc546f3c201058d7.png

贊賞作者

喜歡 (11)or分享 (0)

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

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

相關文章

如何檢測支付寶接口中notify_url.php有沒有返回,支付寶中的手機網站支付接口,php版 notify_url.php 異步通知頁面未成功執行...

require_once("alipay.config.php");require_once("lib/alipay_notify.class.php");$alipayNotify new AlipayNotify($alipay_config);$verify_result $alipayNotify->verifyNotify();if($verify_result) {//驗證成功$notify_data $alipayNotify->…

openfire學習4---android客戶端聊天開發之聊天功能開發

前面我們已經把服務器搭建完成,并且在客戶端實現了登錄了。 和我們使用的QQ一樣,想一想,登錄成功之后呢?肯定是要有一個好友列表,通過這個列表,我們可以選擇我們需要聊天的好友。 這里我們先研究下 xmpp的數…

運用runtime與AOP實現oc中的kvo

前言: oc中實現的kvo觀察者模式比較呆板,不支持block,運用runtime機制將其進行實現。 詳細實現步驟: 一:給NSObject添加分類(添加相應的添加觀察者,刪除觀察者的方法),這樣凡是繼承NSObject的類生成的對象都會擁有這兩個方法。 二:在添加觀察者的方法中,檢查本類是否…

CentOS下IPTABLES配置詳解

iptables是與Linux內核集成的IP信息包過濾系統,其自帶防火墻功能,我們在配置完服務器的角色功能后,需要修改iptables的配置。配置CentOS和Ubuntu等linux服務器時需要對服務器的iptables進行配置,以下是iptables常見的幾種配置方法…

mysql教程詳解之多表聯合查詢,MYSQL教程mysql多表聯合查詢返回一張表的內容實現代碼...

搜索熱詞《MysqL教程MysqL多表聯合查詢返回一張表的內容實現代碼》要點:本文介紹了MysqL教程MysqL多表聯合查詢返回一張表的內容實現代碼,希望對您有用。如果有疑問,可以聯系我們。今天在使用MysqL語句的時候老是報錯,語句如下:sq…

C#實現冒泡排序

一、算法原理 1、比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。 2、對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對。在這一點,最后的元素應該會是最大的數。 3、針對所有的元素重復以上的步驟,除了最后一…

PHP - 使用 Pear 進行安裝和卸載包

安裝: 首先運行到php根目錄: 輸入要安裝的包文件名: 使用語法: pear install 要安裝包的名稱 回車確認: 如果沒有其他意外,顯示安裝成功。查看安裝的包的信息: 語句: pear info 包的…

CYQ.Data 輕量數據層之路 V2.0 震撼驚世 支持多數據庫/內置Aop(二十五)

所有文章索引:CYQ.Data 輕量數據層之路 框架開源系列 索引 前言: 從V1.5發布到現在時隔20天了,終于發布2.0版本了,2.0系列版本由于引入多數據庫支持,內部結構改動較大。 但是外面調用方式仍保持一致向下兼容&#xff0…

matlab 捕食者和獵物,MATLAB - 追求曲線(捕食者/獵物)

在我的工程課上,我們編寫了一個“非平凡的”捕食者/獵物追捕問題。以下是情況的要點:有一個獵物試圖逃脫捕食者。每個都可以建模為可以在MATLAB中制作動畫的粒子(我們必須使用這種編碼語言)。獵物:可以比捕食者更容易操縱(轉彎)捕食者&#x…

SQL Server 2012安裝圖解

方法/步驟 在資源管理器中雙擊SQL Server 2012的安裝光盤,此時會出現一個安裝窗口,在左側的界面中點擊“安裝”選項卡,如圖所示。然后點擊右邊的第一項“全新SQL Server 獨立安裝...”選項。 點擊“下一步”按鈕繼續下一步安裝。耐心等待片刻…

C#中讀寫INI文件

INI文件就是擴展名為“ini”的文件。在Windows系統中,INI文件是很多,最重要的就是“System.ini”、“System32.ini”和“Win.ini”。該文件主要存放用戶所做的選擇以及系統的各種參數。用戶可以通過修改INI文件,來改變應用程序和系統的很多配…

html5響應式設置meta

1 <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <!--放大頁面到設備合適的分辨率--> 若不支持&#xff0c;請使用兼容ie的js 1 <!--[if lt IE 9]> 2 <script src"http://css3-mediaqueries-js.goo…

jmap在ubuntu上DebuggerException: Can't attach to the process

解決&#xff1a; 臨時&#xff1a; 1.echo 0 >/proc/sys/kernel/yama/ptrace_scope 永久&#xff1a; 2.修改 /etc/sysctl.d/10-ptrace.conf&#xff0c;設置kernel.yama.ptrace_scope0 參考&#xff1a;http://bugs.java.com/bugdatabase/view_bug.do?bug_id7050524轉載于…

C/C++中對鏈表操作的理解實例分析

鏈表概述   鏈表是一種常見的重要的數據結構。它是動態地進行存儲分配的一種結構。它可以根據需要開辟內存單元。鏈表有一個“頭指針”變量&#xff0c;以head表示&#xff0c;它存放一個地址。該地址指向一個元素。鏈表中每一個元素稱為“結點”&#xff0c;每個結點都應包括…

idea寫java spark程序,Spark : 在IDEA中用scala編寫Spark的WordCount程序并提交運行

使用IDEA新建maven工程&#xff0c;添加相關依賴&#xff1a;1.81.82.11.112.3.02.7.7utf-8org.scala-langscala-library${scala.version}org.apache.sparkspark-core_2.11${spark.version}org.apache.hadoophadoop-client2.7.7給項目添加scala支持&#xff0c;新建Scala Objec…

Contest - 2014 SWJTU ACM 手速測試賽(2014.10.31)

題目列表&#xff1a; 2146 Problem A【手速】闊綽的Dim2147 Problem B【手速】頹廢的Dim2148 Problem C【手速】我的滑板鞋2149 Problem D【手速】潦倒的Dim2150 Problem E【手速】被NTR的Dim2146 Problem A&#xff1a; 簡單的最長回文串統計算法&#xff0c;這里沒有過高要求…

利用Vagrant and VirtualBox搭建core os環境

利用Vagrant and VirtualBox搭建core os環境 系統環境 ubuntu 14.04 x64vagrant 1.7.4virtualbox 4.3.10git 1.9.1# 安裝 virtualbox, git sudo apt-get install virtualbox, git# 軟件中心的vagrant版本太低,因此去官網獲取最新的軟件包地址 wget https://releases.hashicorp.…

php關注 取消關注事件,微信公眾平臺開發關注/取消關注事件例子

用戶在關注與取消關注公眾號時&#xff0c;微信會把這個事件推送到開發者填寫的URL。方便開發者給用戶下發歡迎消息或者做帳號的解綁下面是一個微信公眾平臺關注和取消關注的實例:responseMsg();} else {$wechatObj->valid();}class wechatCallbackapiTest {public function…

DFS應用——遍歷有向圖+判斷有向圖是否有圈

【0】README 0.1&#xff09; 本文總結于 數據結構與算法分析&#xff0c; 源代碼均為原創&#xff0c; 旨在 理解 “DFS應用——遍歷有向圖判斷有向圖是否有圈” 的idea 并用源代碼加以實現 &#xff1b;0.2&#xff09; 判斷有向圖是否有圈的rule—— 一個有向圖是無圈圖當且…

AbleCloud智能行業解決方案助力體重秤企業向“中國智造”轉變

近年來&#xff0c;體重秤消費群體的年齡層次與需求逐漸向多元化發展&#xff0c;品牌眾多、競爭激烈的傳統體重秤行業迎來了前所未有的挑戰——智能體重秤成為行業發展的大趨勢&#xff0c;功能單一、同質化嚴重已經成為阻礙傳統體重秤企業成長的桎梏&#xff0c;打造出具備“…