PID控制課程設計_第1頁
PID控制課程設計_第2頁
PID控制課程設計_第3頁
PID控制課程設計_第4頁
PID控制課程設計_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上大 連 海 事 大 學課 程 設 計課 程 控制工程軟件課程設計 題 目 離散系統(tǒng)的數(shù)字PID控制仿真 院 系 信息科學技術(shù)學院 專業(yè)班級 自動化一班 學生姓名 張亞婷 學生學號 指導教師 徐慧樸 2016年 1月 13日大連海事大學課程設計任務書課程 控制工程軟件課程設計 題目 離散系統(tǒng)的數(shù)字PID控制仿真 專業(yè) 自動化一班 姓名 張亞婷 學號 主要內(nèi)容: 控制對象為采樣時間為1ms,針對離散系統(tǒng)的階躍信號、正弦信號和方波信號的位置響應,設計離散的位置式PID控制器。其中S為信號選擇變量,并對控制器的輸出進行進行限幅:-10,-10?;疽螅海?) 設計可視化窗口

2、實現(xiàn); (2)系統(tǒng)輸入信號可選擇,完成對PID參數(shù),系統(tǒng)階次的調(diào)節(jié);(3)顯示誤差大小;(4)完成全系統(tǒng)的詳細分析設計報告。參考資料: 1 鄭阿奇,曹戈.MATLAB實用教程(第三版)M.北京:電子工業(yè)出版社 2 網(wǎng)上查找離散系統(tǒng)的PID參數(shù)調(diào)節(jié)相關資料完成時間 2016.1.32016.1.13 學生 (簽名) 指導教師 (簽名)專業(yè)負責人 (簽名)2016年1月 13 日目錄3677810127 131415專心-專注-專業(yè)1設計要求控制對象為采樣時間為1ms,針對離散系統(tǒng)的階躍信號、正弦信號和方波信號的位置響應,設計離散的位置式PID控制器。其中S為信號選擇變量,S=1時為階躍跟蹤,S=

3、2時為方波跟蹤,S=3為正弦跟蹤。對控制器的輸出進行限幅:-10,10。要求:(1)系統(tǒng)的階次和系數(shù)可調(diào);(2)PID參數(shù)可調(diào);(3)用兩種方式顯示離散系統(tǒng)的數(shù)字PID控制仿真,并顯示誤差; (4)用MATLAB編寫成為可視化窗口實現(xiàn)上述功能;2方案設計2.1設計思路(1) 根據(jù)設計要求,理解PID控制的原理,確定控制仿真的方式為位置式和增量式兩種典型形式。(2) 建立可視化窗口界面,設計顯示界面,產(chǎn)生對應的腳本,編輯回調(diào)函數(shù),首先獲得可變的PID參數(shù),再獲得可變的分子分母系數(shù)。(3) 最后編輯顯示誤差值。優(yōu)化顯示界面,并調(diào)節(jié)擬合程度最好的PID參數(shù)。2.2總體方案方框圖比例yout(k)被控

4、對象ran(k) Y(k)ff積分 微分圖1 基本原理框圖2.3基本原理總體基本原理框圖如圖1所示。PID控制器是一種線性控制器,它根據(jù)給定值rin(t)與實際的輸出值yout(t)構(gòu)成偏差 PID的控制規(guī)律為 或?qū)懗蓚鬟f函數(shù)的形式為式中,比例系數(shù);積分時間常數(shù);微分時間常數(shù)。PID控制器各個校正環(huán)節(jié)的作用如下:(1) 比例環(huán)節(jié):成比例的反應控制系統(tǒng)的偏差信號。偏差一旦產(chǎn)生,控制器立即產(chǎn)生控制作用,以減少偏差。(2) 積分環(huán)節(jié):主要用于消除靜差,提高系統(tǒng)的無差度。積分作用的強弱主要取決于積分時間常數(shù),越大,積分作用越弱,反之則越強。(3) 微分環(huán)節(jié):反應偏差信號的變化趨勢(變化速率),并能在偏

5、差信號變得太大之前,在系統(tǒng)中引入一個有效的早期修正信號。從而加快系統(tǒng)的動作速率,減少調(diào)節(jié)時間。3 位置式PID控制算法及其仿真3.1位置式PID算法原理yuer受控對象PID位置算法 + 位置式PID控制算法的簡化示意圖 d dteu上圖傳遞函數(shù)為: 在時域的傳遞函數(shù)表達式 對上式中的微分和積分進行近似: 式中n是離散點的個數(shù)于是傳遞函數(shù)可以簡化為: 其中 u(n)第k個采樣時刻的控制:比例放大系數(shù);積分放大系數(shù);微分放大系數(shù);T 采樣周期。如果采樣周期足夠小,則近似計算可以得到足夠精確的結(jié)果,離散控制結(jié)果和連續(xù)系統(tǒng)十分接近。它表示的控制算法直接按所給的PID控制規(guī)律定義進行計算的,所以它給出

6、了全部控制量的大小,因此被稱為位置式PID控制算法。控制對象為 采樣時間為1ms,采用z變換進行離散化,經(jīng)過z變換后的離散化對象為 控制算法程序框圖可如下所示:開始 參數(shù)初始化 采入rin(k)和yout(k) 計算偏差值 計算控制器輸出 參數(shù)更新 返回程序及其批注見附錄所示。3.2不同輸入下的仿真界面結(jié)果顯示S=1時輸入為階躍的結(jié)果S=2時輸入為方波的結(jié)果S=3時輸入為正弦的結(jié)果4增量式PID算法及其仿真4.1增量式PID算法原理當我們把離散系統(tǒng)看做相等的增量值時間增加時,可以用增量式PID控制算法根據(jù)遞推原理可得 增量式PID控制算法 我們可以看出,如果我們采用恒定的采樣周期T,只要只用前

7、后三次測量的偏差,就可以得到控制量。PID算法的流程圖如下所示 開始讀取給定值r(k) 計算偏差e(k)=r(k)-y(k)計算 存以備輸出參數(shù)傳遞 返回程序以及注釋見附錄4.2不同輸入下的界面仿真顯示S=1時階躍輸入S=2方波輸入時S=3正弦輸入時5. 調(diào)節(jié)PID控制器參數(shù)得到最優(yōu)解比例控制:就是對偏差進行控制,偏差一旦產(chǎn)生,控制器立即就發(fā)生作用即調(diào)節(jié)控制輸出,使被控量朝著減小偏差的方向變化,偏差減小的速度取決于比例系數(shù)Kp, Kp越大偏差減小的越快,但是很容易引起振蕩,尤其是在遲滯環(huán)節(jié)比較大的情況下,Kp減小,發(fā)生振蕩的可能性減小但是調(diào)節(jié)速度變慢。但單純的比例控制存在靜差不能消除的缺點。這

8、里就需要積分控制。積分控制:實質(zhì)上就是對偏差累積進行控制,直至偏差為零。積分控制作用始終施加指向給定值的作用力,有利于消除靜差,其效果不僅與偏差大小有關,而且還與偏差持續(xù)的時間有關。簡單來說就是把偏差積累起來,一起來運算。 微分控制:它能敏感出誤差的變化趨勢,可在誤差信號出現(xiàn)之前就起到修正誤差的作用,有利于提高輸出響應的快速性,減小被控量的超調(diào)和增加系統(tǒng)的穩(wěn)定性。但微分作用很容易放大高頻噪聲,降低系統(tǒng)的信噪比,從而使系統(tǒng)抑制干擾的能力下降。因此,在實際應用中,應慎用微分控制。 調(diào)節(jié)的過程中首先使得積分和微分系數(shù)為0,首先調(diào)節(jié)比例系數(shù),得到臨界震蕩的Kp,再調(diào)節(jié)Ki由大到小調(diào)節(jié),消除靜差,最后調(diào)

9、節(jié)Kd,減小調(diào)節(jié)時間,最后得到最優(yōu)的控制器參數(shù),其誤差不一定最小。以下為階躍輸入下調(diào)節(jié)的最優(yōu)參數(shù)位置式增量式6. 位置式PID和增量式PID的比較整體圖形用戶界面如下所示:位置式PID控制算法的缺點:當前采樣時刻的輸出與過去的各個狀態(tài)有關,計算時要對e(k)即誤差進行累加,運算量大;而且控制器的輸出u(k)對應的是執(zhí)行機構(gòu)的實際位置,如果計算機出現(xiàn)故 障,u(k)的大幅度變化會引起執(zhí)行機構(gòu)位置的大幅度變化。增量式PID是數(shù)字控制器的輸出只是控制量的增量u(k)。采用增量式算法時,計算機輸出的控制量u(k)對應的是本次執(zhí)行機構(gòu)位置的增量,而不是對應執(zhí)行機構(gòu)的實際位置,因此要求執(zhí)行機構(gòu)必須具有對控

10、制量增量的累積功能,才能完成對被控對象的控制操作。 增量式算法優(yōu)點:算式中不需要累加??刂圃隽縰(k)的確定僅與最近3次的采樣值有關,容易通過加權(quán)處理獲得比較好的控制效果;計算機每次只輸出控制增量,即對應執(zhí)行機構(gòu)位置的變化量,故機器發(fā)生故障時影響范圍小、不會嚴重影響生產(chǎn)過程;手動自動切換時沖擊小。當控制從手動向自動切換時,可以作到無擾動切換。7 總結(jié)1. 就實現(xiàn)要求的用戶圖形界面來說,設計整體布局,以及實現(xiàn)需要的功能需要的圖形對象面板工具常用控件的選擇,雖然選擇是比較自由的,方式也是多樣的,第一次做位置式時我選擇了一組按鈕,來切換輸入信號。在做第二種增量式時,希望得到更多的方式或者學到不同常用

11、控件的實用方法,我選擇了設定一組單選按鈕,用了兩種語句來實現(xiàn),一種是ifelse語句,一種是switch語句,兩種方法都可以實現(xiàn)單選按鈕的功能。2. 就PID控制系統(tǒng)而言,除了自動控制原理課堂上的,通過這次課程設計對于PID有了更加深刻的認識,對于其在矯正系統(tǒng)功能方面有了更加系統(tǒng)的認知,也進一步揭開了其常被應用的面紗。3. 離散系統(tǒng)的分析源自于連續(xù)系統(tǒng)的離散,首先進行離散化z變換,知道了位置式和增量式的區(qū)別最重要的在于位置式的變化和之前的每一個時刻都有關系,而增量式的只和最近三次的增量有關系。4. 這個課程設計鍛煉了我的思考和查閱資料的能力。 參考文獻1 鄭阿奇,曹戈.MATLAB實用教程(第

12、三版)M.北京:電子工業(yè)出版社 附錄主程序:function varargout = PID(varargin)gui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, PID_OpeningFcn, . gui_OutputFcn, PID_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callbac

13、k = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);endfunction PID_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);function varargout = PID_OutputFcn(hObject, eventdat

14、a, handles) varargout1 = handles.output;function jieyue_Callback(hObject, eventdata, handles)kp=str2double(get(handles.Kp,String);ki=str2double(get(handles.Ki,String);kd=str2double(get(handles.Kd,String);axes(handles.tu1); %選坐標軸1作圖nums=str2num(get(handles.num,String);dens=str2num(get(handles.den,Str

15、ing);out=PIDcontrol(1,kp,ki,kd,nums,dens);set(handles.error,String,num2str(out);function fangbo_Callback(hObject, eventdata, handles)kp=str2double(get(handles.Kp,String); ki=str2double(get(handles.Ki,String);kd=str2double(get(handles.Kd,String);axes(handles.tu1);%選坐標軸1作圖nums=str2num(get(handles.num,

16、String);dens=str2num(get(handles.den,String);out=PIDcontrol(2,kp,ki,kd,nums,dens);set(handles.error,String,num2str(out);function zhengxian_Callback(hObject, eventdata, handles)kp=str2double(get(handles.Kp,String);ki=str2double(get(handles.Ki,String);kd=str2double(get(handles.Kd,String);axes(handles.

17、tu1);%選坐標軸1作圖nums=str2num(get(handles.num,String);dens=str2num(get(handles.den,String);out=PIDcontrol(3,kp,ki,kd,nums,dens);set(handles.error,String,num2str(out);function Kp_Callback(hObject, eventdata, handles)function Kp_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObject,Backgroun

18、dColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);endfunction Ki_Callback(hObject, eventdata, handles)function Ki_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,

19、white);endfunction Kd_Callback(hObject, eventdata, handles)function Kd_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);endfunction error_Callback(hObject, eventdata, handles)function error

20、_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);endfunction den_Callback(hObject, eventdata, handles)function den_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObject,Backg

21、roundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);endfunction num_Callback(hObject, eventdata, handles)function num_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,Background

22、Color,white);endfunction tuichu_Callback(hObject, eventdata, handles)ss=questdlg(你真的要退出嗎?,退出窗口,不,我還想看看!,是的,我要退出!,是的,我要退出!);switch sscase 是的,我要退出!delete(handles.figure1);endfunction Kp1_Callback(hObject, eventdata, handles)function Kp1_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObje

23、ct,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);endfunction Ki1_Callback(hObject, eventdata, handles)function Ki1_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,Ba

24、ckgroundColor,white);endfunction Kd1_Callback(hObject, eventdata, handles)function Kd1_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);endfunction error1_Callback(hObject, eventdata, handl

25、es)function error1_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);endfunction jieyue1_Callback(hObject, eventdata, handles)function fangbo1_Callback(hObject, eventdata, handles)function z

26、hengxian1_Callback(hObject, eventdata, handles)function uibuttongroup2_SelectionChangedFcn(hObject, eventdata, handles)kp1=str2double(get(handles.Kp1,String);ki1=str2double(get(handles.Ki1,String);kd1=str2double(get(handles.Kd1,String);nums=str2num(get(handles.num,String);dens=str2num(get(handles.de

27、n,String);S_3=get(handles.zhengxian1,Value);S_2=get(handles.fangbo1,Value);S_1=get(handles.jieyue1,Value);axes(handles.tu2); %選坐標軸2作圖if S_3=1 out1=PIDcontrol1(3,kp1,ki1,kd1,nums,dens);elseif S_2=1 out1=PIDcontrol1(2,kp1,ki1,kd1,nums,dens);elseif S_1=1 out1=PIDcontrol1(1,kp1,ki1,kd1,nums,dens);end se

28、t(handles.error1,String,num2str(out1);% axes(handles.tu2); %選坐標軸2作圖% kp1=str2double(get(handles.Kp1,String);% ki1=str2double(get(handles.Ki1,String);% kd1=str2double(get(handles.Kd1,String);% nums=str2num(get(handles.num,String);% dens=str2num(get(handles.den,String);% n = get(handles,Tag);% switch

29、n% case jieyue1% out1=PIDcontrol1(1,kp1,ki1,kd1,nums,dens);% case fangbo1% out1=PIDcontrol1(2,kp1,ki1,kd1,nums,dens);% case zhengxian1% out1=PIDcontrol1(3,kp1,ki1,kd1,nums,dens);% end% set(handles.error1,String,num2str(out1);位置式調(diào)用程序:function out=PIDcontrol(S,kp,ki,kd,nums,dens)ts=0.001; %采樣時間sys=tf(nums,dens);dsys=c2d(sys,ts,z); %將系統(tǒng)離散化num,den=tfdata(dsys,v); %獲取離散后的分子分母系數(shù)n=length(den);for i=1:(n-1) u_(i)=0;y_(i)=0;endx=0,0,0;error_1=0; %初始偏差設置為0out=0; %初始誤差和為0for k=1:1000; time(k)=k*ts; %采樣時刻 if S=1 %階躍信號 rin(k)=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論