999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于單片機的PID控制算法實現

2017-07-09 08:11:29陳洪偉
現代職業教育·職業培訓 2017年10期
關鍵詞:單片機定義系統

陳洪偉

[摘 要] 我國提出了“中國制造2025”。目前企業工業自動化的水平已經成為現代化水平的一個主要衡量指標。PID控制器的特點是結構簡單、應用廣泛、完全擺脫了精確模型的限制,這樣就能解決在工業過程中需要精確建模的困難。那么,基于單片機的PID控制成本低廉,可以根據不同的應用環境進行開發,具有很大的應用優勢。

[關 鍵 詞] PID算法;C語言;單片機

[中圖分類號] F403.6 [文獻標志碼] A [文章編號] 2096-0603(2017)30-0220-01

不論在工業還是民用應用中PID及其衍生算法是應用較為廣泛的算法之一,也被大家稱為萬能算法,所以熟練掌握PID算法的設計和實現的過程,對研發人員來講,基本上是可以應對工作中遇到的一些基本問題了。其實PID的控制過程也是相當的簡單了,原理是通過誤差信號來控制被控的量,就控制器本身而言就是比例、積分、微分三個環節的加和。在這里我們規定(在t時刻):輸入的變量為rin(t),輸出的變量為rout(t),所以我們可以得出偏差量為err(t)=rin(t)-rout(t)。那么我們從參考文獻上可以查閱到PID的控制規律為U(x)=kp(err(t)+1/T*∫err(t)*dt+TD*derr(t)/dt)。接下面我們來舉例說明這個公式,首先來假設這個工作流程是用來直流電機調速的。在這里rin(t)為電機轉速預定值,rout(t)作為電機的實際轉速值。直流電機的調速方法為PWM脈寬調制。轉速的單位用轉/min表示。那么接下來我們要考慮的是系統中的U(t)是什么,而U(t)和PWM之間存在的關系是什么樣的。我們都知道實際應用中,每一個電壓對應的是一個轉速,但是大多數人把電壓和轉速的關系理解成線性的對應關系了。而在實際的應用中直流電機的特性不是線性的,或者只能說直流電機的特性是在局部上趨于線性的。所以這樣就引出來一個問題,直流電機在PID調速上是有范圍限制的。這樣就要求我們在進行PID調速之前,用開環系統來測試電壓和轉速之間的特性曲線,根據這個曲線再進行閉環參數的調整。

接下來我們再來說明一下反饋的原理,來看一下公式U(x)=kp(err(t)+1/T*∫err(t)*dt+TD*derr(t)/dt)。在這里,PID控制其實就是對偏差的控制過程。那么偏差如果為0則比例環節就不起作用了。當控制系統存在偏差時比例環節才發揮作用,這里的積分環節是用來消除靜差的,靜差在這里是系統穩定后輸出值和設定值之間的相差值,而積分環節就是偏差累計后的結果,把累計的誤差加到原有系統上用來抵消掉系統產生的靜差。而微分信號則是反映偏差信號的變化規律,它的作用是根據偏差信號的變化趨勢提前進行調節,這樣就增加了系統的快速性。了解了它的控制原理后,接下來我們將對PID進行連續系統離散化,這樣我們就能在單片機上通過C語言來實現。偏差err(K)=rin(K)-rout(K);積分環節用加和來表示,也就是err(K)+err(K+1)+……,而微分環節用斜率的形式來表示,[err(K)-err(K-1)]/T,這樣就形成了如下所列出的PID離散表示形式:U(k)=kp(err(k)+Ki∑err(j)+Kd(err(k-1)-err(k-2)),從這個公式可以看出,增量式的結果是和最近的一次偏差有關系,這樣就可以最大限度地提高系統的穩定性。但是需要注意的是最后的結果應該為u(K)+增量調節后的值,這就是PID的離散化過程,接下來要做的工作是將離散化的公式轉換成為C語言,從而實現在單片機上控制。實現過程C語言控制代碼如下:

首先我們來定義一個PID變量結構體struct_pid{ float SetSpeed;float ActualSpeed;float err;float err_last;float Kp,Ki,Kd;float voltage;float integral} pid,結構體中變量含義分別為定義一個設定的值,定義一個偏差值,定義上一個偏差值,定義比例系數、積分系數、微分系數,定義一個控制執行器電壓值的變量,定義一個積分值。把所要用到的參數定義在一個結構體中可以使程序更加模塊化。接下來我們要對三個比例系數賦初值,pid.Kp=0.2;pid.Ki=0.015;pid.Kd=0.2.在調試過程當中,對要求的控制效果,可以通過調節這三個量直接進行調節。float PID_realize(float speed){pid.SetSpeed=speed;pid.err=pid.SetSpeed-pid.ActualSpeed;pid.integral+=pid.err;pid.voltage=pid.Kp*pid.err+pid.Ki*pid.integral+pid.Kd*(pid.err-pid.err_last);pid.err_last=pid.err;pid.ActualSpeed=pid.voltage*1.0;returnpid.ActualSpeed;}那么到此PID的基本算法已經呈現出來了。但是在實際應用中這個算法沒有考慮上下限的問題,只是對公式的一種直接實現。如放在實際應用中應根據情況加以改進。

參考文獻:

[1]維斯.數據結構與算法分析[M].機械工業出版社,2004.

[2]譚浩強.C語言程序設計[M].清華大學出版社,2001,

猜你喜歡
單片機定義系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
Microchip推出兩個全新PIC單片機系列
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 91啪在线| 午夜老司机永久免费看片| 99视频有精品视频免费观看| a级毛片网| 久久伊人操| 国产aaaaa一级毛片| 激情网址在线观看| 亚洲AV无码乱码在线观看裸奔| 91成人免费观看| 国产啪在线91| 欧美性色综合网| 伊人色综合久久天天| 免费一极毛片| 免费Aⅴ片在线观看蜜芽Tⅴ | 免费一级大毛片a一观看不卡| 99re视频在线| 国产一级在线播放| 欧美国产在线看| 日韩高清成人| 特级精品毛片免费观看| 亚洲精品天堂自在久久77| 国产真实乱人视频| 四虎AV麻豆| 久久精品66| 国产成人综合在线观看| 国产美女91视频| 欧美性猛交xxxx乱大交极品| 天天综合天天综合| 久久久久免费看成人影片 | 国内毛片视频| 国产靠逼视频| 人妻丰满熟妇啪啪| 99热国产这里只有精品无卡顿" | a天堂视频| 国产资源站| 国产成人av大片在线播放| 国产XXXX做受性欧美88| 综合成人国产| 亚洲成人在线免费观看| 国产激情无码一区二区三区免费| 日韩精品无码免费专网站| 日本在线国产| www亚洲天堂| 91久久夜色精品国产网站| 亚洲日本中文字幕天堂网| 无码啪啪精品天堂浪潮av| 亚洲综合色婷婷| 91无码国产视频| 老司机精品久久| 天天综合网色中文字幕| 亚洲91在线精品| 熟妇人妻无乱码中文字幕真矢织江| 国产第一色| 国产成人免费| 2022国产91精品久久久久久| 欧美成人手机在线观看网址| 二级特黄绝大片免费视频大片| 亚洲国产欧美目韩成人综合| 久草国产在线观看| 久久青草精品一区二区三区| 在线另类稀缺国产呦| 国产精品开放后亚洲| 亚洲欧美国产高清va在线播放| 日韩免费无码人妻系列| 欧美色99| 欧洲免费精品视频在线| 亚洲嫩模喷白浆| 福利在线一区| 内射人妻无码色AV天堂| 亚洲精品无码在线播放网站| 九九久久精品免费观看| 久久久久免费精品国产| 午夜国产大片免费观看| 国产精品香蕉| 国产在线八区| 嫩草国产在线| 热久久这里是精品6免费观看| 丁香婷婷综合激情| 国产乱人伦AV在线A| 88国产经典欧美一区二区三区| 玖玖精品视频在线观看| 成人va亚洲va欧美天堂|