华北电力大学计算机控制课设,华北电力大学过程计算机控制课设ddc串级回路pid闭环...
1、課程設計報告課程設計報告名稱:過程計算機控制題目: DDC 串級回路 PID 閉環控制系統的設計及實時仿真院系:控計班級: 學號: 學生姓名: 同組人: 指導教師:李明揚設計周數:一周一、設計目的一、設計目的 1.學習并了解用高級語言(C 語言)實現數字 PID 控制算法模塊程序的方法; 2.比較驗證理想微分 PID 和實際微分 PID 控制算法階躍響應,加深對上述兩種算法各自特點的認 識; 3.學習了解用模擬計算機使用方法; 4.學習掌握 A/D、D/A 轉換接口板的使用方法; 5.了解一種微機中斷定時的方法; 6.學習掌握通過 A/D、D/A 轉換用計算機獲取被控對象動態特性的方法; 7 通過實時仿真實驗掌握 DDC 單回路控制程序編制及調試方法。二、實驗儀器二、實驗儀器(1)微型計算機一臺,系統軟件 Windows 98 或 DOS (不能使用無直接 I/O 能力的 NT 或 XP 系統), 內裝 Turbo C 2.0/3.0 集成開發環境軟件; (2)模擬計算機一臺(XMN-1 型); (3)通用數據采集控制板一塊(PCL-812PG 型) 。三、三、PIDPID 的離散化的。
2、離散化理想微分 PID 算法的傳遞函數形式為: sTsTKsGd ip11)(采用向后差分法對上式進行離散,得出其差分方程形式為:uk=uk-1+q0*e2+q1*e1+q2*e0;其中各項系數為:q0=kp*(1+T/Ti+Td/T);q1=-kp*(1+2*Td/T);q2=kp*Td/T;實際微分 PID 算法的傳遞函數形式為: sTsTsTKsGd ifp111)(采用向后差分法對上式進行離散化,寫成差分方程的形式為:uk=c0*(uk-1)+c1*ek+c2*ek-1+c3*ek-2+uk-1;其中各項系數為:c0=Tf/(T+Tf);c1=kp*T/(T+Tf)*(1+T/Ti+Td/T);c2=-kp*T/(T+Tf)*(1+2*Td/T);c3=kp*Td/(T+Tf);四、硬件二階慣性環節搭建四、硬件二階慣性環節搭建利用模擬計算機中的電容電阻及運算放大器,搭接二階慣性環節,仿真一個被控對象。其傳遞函數為,硬件電路如下:2) 1()(TsKsG圖中各元件參數如下:R3=R2=510K;R1=R4=R5=R6=R7=1M ;C1=C2=C=4.7uF;則可得:K=(R5/。
3、R1)*(R6/R4)=1T1=T2=R5*C1=R6*C2=1000000*0.0000047=4.7s所以 G(s)=1/(4.7s+1)*(4.7s+1)搭建好硬件電路后,將 PLCD-780 插入 IPC 機箱插槽,用導線將 PLCD-780 中的 A/D、D/A、電源的接線端子與所搭二階慣性環節的輸出、輸入端口及機箱上的電源連接,組成一個完整的 PID 閉環控制系統,為通信做好準備。五、實驗結果五、實驗結果(1)理想和實際想和實際 PID 階躍響應曲線階躍響應曲線(2)被控對象(實物搭建二階慣性環節)階躍響應曲線)被控對象(實物搭建二階慣性環節)階躍響應曲線上圖通過 D/A 輸出一個 1 伏左右的信號輸入模擬的被控對象(慣性環節) ,A/D 采集對象的輸入信號及其響應,再使 D/A 輸出一個幅度為 2 伏左右的階躍信號,同時采集輸入輸出信號。然后,D/A 再反向在輸出一個幅度為 2 伏左右負的階躍信號,同時采集輸入輸出信號,得出仿真對象飛升特性曲線。程序中,通過按鍵實現模擬對象輸入信號的加減。當按下 H 按鍵時,且按下 U 鍵時,D/A 輸出一個 1 伏階躍信號,再次按下按鍵。
4、時階躍信號累加。每次按下 D 鍵時,D/A 輸出的階躍信號遞減 1。(3)根據對象單位階躍)根據對象單位階躍響應曲線求增益和慣性時間:響應曲線求增益和慣性時間: 利用切線法求對象的增益和用一階等效的慣性時間:如上圖所示做拐點切線,得對象增益和一階等效慣性時間分別為: 13(4)手自動切換:)手自動切換:(5)設定值)設定值 r、控制量、控制量 u 和被控對象輸出的階躍響應曲線:和被控對象輸出的階躍響應曲線:1)0()(ccK程序清單 /*-頭文件定義-*/ #include #include #include #include /*-定義繪圖坐標-*/ #define ox 8 /*-原點橫坐標-*/ #define oy 440 /*-原點縱坐標-*/ #define xx 620 /*-x 軸頂點橫坐標-*/ #define xy 440 /*-x 軸頂點縱坐標-*/ #define lenx 580 #define leny 400 #define yx 8 /*-y 軸頂點橫坐標-*/ #define yy 15 /*-y 軸頂點縱坐標-*/*-定義繪圖區域-*/ #defin。
5、e left 20 #define top 20 #define right 620 #define bottom 460 /*-坐標軸注釋-*/ #define xtext1x 450 #define xtext1y 450 #define ytext1x 10 #define ytext1y 60 #define xtext2x 610 #define xtext2y 450 #define ytext2x 10 #define ytext2y 20/*-理想 PID 運算式-*/float lxpid(float kp,float td,float ti,float e3,float u1) int t=1; float u; float q0=kp*(1+t/ti+td/t); float q1=-kp*(1+2*td/t); float q2=kp*td/t; u=q0*e0+q1*e1+q2*e2+u1; return u; /*-實際 PID 運算式-*/float sjpid(float kp,float tf,float td,float ti,float e3,fl。
6、oat du1,float u1) int t=1; float u2; float c1=tf/(t+tf); float c2=kp*t*(1+t/ti+td/t)/(t+tf); float c3=-kp*t*(1+2*td/t)/(t+tf); float c4=kp*td/(t+tf); u2=c1*du1+c2*e0+c3*e1+c4*e2+u1; return u2; /*-繪圖初始化-*/ void Initial_Sys(void) int GraphDriver; int GraphMode; detectgraph( initgraph( cleardevice(); /*-繪制坐標系-*/void DrawAxis(void) int i; setbkcolor(15); setcolor(5); line(ox,oy,xx,xy); /*x_axis*/ line(xx-5,xy-5,xx,xy); line(xx,xy,xx-5,xy+5); line(ox,oy,yx,yy); /*y_axis*/ line(yx-5,yy+10,yx,yy);line(。
7、yx+5,yy+10,yx,yy); for(i=0;i0) printf(“Parallal,Mode:%c,sp=%.1f,pv=%2.1f,u=%.1f,error=%.1f,Kp=%.1f,Ti=%.1f,Td=%.1ftr“,A_H,sp,pv,u,e,Kp,Ti,Td); else printf(“ttTf got a wrong value! Please exit and restart this program.r“);cj_counter+; while(cj_counter5) /* make the output real */ pv1=5; else if (pv10) pv1=0; temp=(int)(4095*pv1/5.0); hb=temp8; lb=temp-(hb8);outportb(BASE,1); /*啟動 DA 轉換*/for(i=0;i10000;i+);outportb(BASE+4,lb); /* low 8 */ for(i=0;i10000;i+);outportb(BASE+5,hb); /* high 4 */*00-中斷子。
8、程序-*/void interrupt INT_1C(void) time_counter+; outportb(0x20,0x20); /*鍵盤控制*/int scankey(void) int key0; /*掃描鍵盤,判斷是否有建按下*/key0=bioskey(1); /*1:無鍵按下則返回 0 */if(key0!=0) key0=bioskey(0); /*0:返回按下的鍵*/ return key0; /*DelayAction*/ /*tao=(int)(18.2*2) Delay action=2 seconds*/ float DelayAction(float y0) /*軟件延遲*/ float y_out;static float y_old36=0; /*將 ad 延遲 2s 作為 PV,T=0.2s,于是延遲 36 步*/int cyc; y_out=y_old36-1; for(cyc=1;cyc36;cyc+) y_old36-cyc=y_old36-cyc-1; y_old0=y0; return y_out; /*PID 主程序*/void PIDset(void) /*PI。
《華北電力大學過程計算機控制課設ddc串級回路pid閉環》由會員第***分享,可在線閱讀,更多相關《華北電力大學過程計算機控制課設ddc串級回路pid閉環》請在金鋤頭文庫上搜索。
總結
以上是生活随笔為你收集整理的华北电力大学计算机控制课设,华北电力大学过程计算机控制课设ddc串级回路pid闭环...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux开源镜像地址下载
- 下一篇: 第二个虫,可连续下载连续文件