




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、計算機控制系統實 驗 報 告實驗一 模擬式小功率隨動系統的實驗調試實驗二 A/D、D/A接口的使用和數據采集實驗三 中斷及采樣周期的調試實驗四 計算機控制系統的實驗調試 姓名: 陳啟航 學號: 13031144 同組人: 吳振環 陳秋鵬 李愷 指導教師: 袁少強 日期: 2016年6月16日 實驗一 二階系統的電子模擬及時域響應的動態測試一、實驗目的 1. 熟悉反饋控制系統的結構和工作原理,進一步了解位置隨動系統的特點。 2. 掌握判別閉環系統的反饋極性的方法。 3. 了解開環放大倍數對穩定性的影響及對系統動態特性的影響,對靜態誤差的影響。二、實驗內容 1. 連接元件構成位置隨動系統; 2.
2、利用計算機內的采樣及顯示程序,顯示并分析輸出的響應結果;3. 反復調試達到設計要求。三、實驗設備XSJ-3 小功率直流隨動系統學習機一臺、DH1718 雙路直流穩壓電源一臺、4 1/2 數字多用表一臺四、實驗原理模擬式小功率隨動系統如下圖所示:1. 實驗前需進行零位調整,反饋極性判斷,反饋極性判斷又包括速度反饋極性判斷和位置反饋極性判斷,須使反饋為負反饋。2. 動態閉環實驗系統調試。按下面電路圖連線,通過改變變阻器 大小來改變閉環系統放大倍數,通過一路A/D把輸出相應采入計算機進行繪圖,同時測量輸入電壓和反饋電位計輸入電壓,算出穩態誤差。五、實驗結果滑阻阻值(千歐)7.118.324.138.
3、3比例系數11.52.753.7給定角度(度)3060120輸出角度(度)3866129靜差角度(度)314靜態誤差(mv)-146.7-6.2-193.5過度過程曲線見下圖1. K=1時的過渡過程曲線2. K=1.5時的過渡過程曲線3. K=2.75時的過渡過程曲線4. K=3.7時的過渡過程曲線六、思考題及實驗感想1 如果速度反饋極性不對應如何處理?如果位置反饋極性不對應如何處理? 答:首先判斷測速機反饋極性。在一級運放處加一電壓,記住電機轉向,然后斷開輸入,用手旋轉電機按同一轉向轉動,測量測速機輸出電壓,如與前電機所加電壓極性相同,則可將該信號接入運放二的負端;否則應把測速機輸出極性倒置
4、,即把另一信號接入運放二的負相端。 其次判斷位置反饋極性。將回路接成開環狀態,給電機加入一正電壓,可使其轉動,然后使電機回零,順著電機剛才轉動的方向轉一小角度(不可轉到非線性區),同時用數字電壓表測電位計電刷的輸出電壓,倘若其值為負,則表明此時是負反饋,否則,需把電位計兩端±10V接線頭對調,以保證閉環系統是負反饋。2. 系統是幾階無靜差系統?產生靜差的原因。答:系統是二階無靜差系統。產生靜差的原因有以下幾點:第一,系統的非線性特性,由于電機有死區,故當誤差太小時,系統輸出給電機的電壓也比較小,未達到電機的啟動電壓,導致電機不能轉動,造成誤差。第二,電位計的測量有誤差,A/D采樣也會
5、造成誤差。3. 說出開環放大系數與靜差及穩定性的關系。答:增大開環放大倍數有助于減小靜差和增加系統的快速性,如過渡過程曲線1和2對比所示。但是開環放大倍數過大會導致超調增加和系統振蕩,甚至不穩定,如過渡過程曲線3和4所示。感想:通過這次實驗,深刻了解了對于速度反饋類型的調試,對靜態誤差的分析以及產生誤差的原因等,并且對開環放大系數對系統的影響也在實驗過程中得到驗證。對今后學習將有極大作用。實驗二 A/D、D/A接口的使用和數據采集一、實驗目的 1. 了解A/D接口的基本原理,硬件結構及編程方法等2. 掌握機器內部的數據轉換和儲存方式3. 學會定時器的原理及使用方法4. 測量A/D的輸入/輸出特
6、性,分析誤差產生原因5. 了解D/A接口基本原理,芯片結構;6. D/A與CPU的連接,地址設置及編程方法等二、實驗內容 1. 編制并調試帶定時器的A/D程序2. 編制并調試帶定時器的D/A程序3. 對編寫程序進行測試4. 分析誤差產生原因三、實驗設備IBM PC 系列微機一臺(586)、HD1219 12位A/D D/A接口板一塊、DH1718 雙路直流穩壓電源一臺、4 1/2 數字多用表一臺四、實驗步驟1. 編制A/D采樣程序,對不同電壓進行采樣測量,并轉換碼制。將所測的結果與真實結果進行對比。 2. 編制D/A程序,在計算機中輸入不同電壓對應的碼,進行輸出,并用電壓表測量電壓輸出值,將實
7、際值與理論值進行比較。五、程序流程圖1. A/D程序流程圖 2. D/A程序流程圖六、實驗數據1. A/D實驗數據電壓(V) -10-7.5-5-2.502.557.510偏移碼01f93f65f17f0a08c27e1afbf補碼 f800f9f9fbf6fdf1fff020842761a7bf浮點數 -1.00-0.753-0.505-0.257-0.0080.2540.5190.7630.9682. D/A實驗數據Code00002000400060008000A000C000E000FFFF輸入電壓-5-3.75-2.5-1.2501.252.53.755輸出電壓-4.9-3.7-2.
8、4-1.201.22.53.75誤差-0.1-0.05-0.1-0.0500.0500.050七、思考題1. 試分析采集誤差產生原因有哪些?答:A/D和D/A本身存在量化誤差;A/D和D/A有非線性特性;噪聲干擾,在測量過程中發現無論是A/D還是D/A,在實驗中都不是穩定不變的,一般尾數都在不斷的變化,這是由于電路中本身的噪聲,以及數據采集板在設計過程中沒有考慮到信號干擾所造成的。八、實驗感想通過這次實驗,接觸了計算機編程的語言邏輯,并且對計算機的A/D和D/A編程有了一定了解,通過實驗機上的仿真程序對實驗得到進一步的完善。實驗三 中斷及采樣周期的調試一、實驗目的 1. 學習中斷的原理及編程方
9、法 2. 掌握采樣周期的實現方法二、實驗內容 1. 編制并調試所編寫的程序2. 按線路圖搭接一個二階系統并觀察輸出特性3. 觀察采樣周期變化對系統的影響三、實驗設備IBM PC 系列微機一臺(586)、HD1219 12位A/D D/A接口板一塊、DH1718 雙路直流穩壓電源一臺、4 1/2 數字多用表一臺四、實驗步驟 1. 編寫并調試程序。參照照老師所給程序語句編寫面板程序,合理布局,使在面板上可以看到輸入的電壓波形,輸出的電壓波形,并為了方便實驗六里觀察隨動,所以又編寫了兩個表盤,便于更好的觀察輸入輸出的電壓變化。并編寫簡單的控制率,使可以通過改變程序中的參數改變控制率。 2. 按照下面
10、的電路圖連線,組成一個計算機控制系統,改變其采樣周期,觀察系統的特性。五、實驗數據中斷計時器的計數值,其中T以ms為單位。由于計時器為16位,n的最大值為0xFFFF,即65535,由此得出的最大值為。故實驗中只取了兩組數據,并對采樣周期對系統性能的影響作定性的觀察。由實驗現象得出結論:采樣周期對系統的性能影響較大,且越小,系統的穩定性越好,動態響應越理想。對于本實驗的系統,時系統近似等幅振蕩。R01-100Q0001-1Uda(理論)01-1-11Uda(實測)01.91-2.79-1.741.57實驗截圖如下:T=10msT=20msT=25msT=30msT=32ms六、思考題及實驗感想
11、1. 為什么T越小系統特性越好,T可以無限小嗎? 答:T小有利于改善系統的動態特性,因為采用較小的T,在同樣的采樣周期內就可以對系統進行更多次的采樣和控制,使系統響應往期望的方向發展。但是T過小會使系統極點向單位圓靠近,很小的量化誤差會對系統的穩定性造成很大的影響,可能會導致系統不穩定。因此T不能太大也不能過小,應根據實際情況選擇一個合適的值。實驗感想:通過這次實驗,對實驗中計算機的仿真編程有了進一步的了解,并且對于編程中的中斷程序有了認識,同時,對于采樣周期的不同對實驗結果產生的影響也有了進一步的深入了解。實驗四 計算機控制系統的實驗調試一、實驗目的 1. 掌握數控伺服系統靜態參數選取的一般
12、方法 2. 掌握利用極點配置方法進行離散系統全狀態反饋控制規律及降維觀測器的設計 3. 掌握控制算法編排實現及比例因子配置方法4. 學會數控伺服系統調試的方法與過程二、實驗內容 1. 選擇合適的采樣周期,對小功率隨動系統的模型進行離散化2. 利用極點配置方法進行離散系統全狀態反饋控制規律及降維觀測器的設計 3. 編輯實時控制程序,在計算機內實現控制律4. 進行閉環動態系統調試5. 討論靜態誤差及其消除方法三、實驗設備IBM PC 系列微機一臺(586)、HD1219 12位A/D D/A接口板一塊、DH1718 雙路直流穩壓電源一臺、4 1/2 數字多用表一臺四、實驗原理該數控伺服系統的結構圖
13、如下圖所示。該系統是一直流伺服系統,它由直流力矩電機、直流測速發電機、角位置測量電位計及直流放大器、80X86處理器計算機及A/D、D/A變換器組成。加入系統的指令輸入信號通過A/D、D/A變換器進入計算機,經過計算機控制算法的處理產生控制指令,由D/A變換器輸出,加到運算放大器輸入端,與測速機測得的角速度信號綜合比較,經過功率放大后驅動直流力矩電機轉動。負載的轉角由電位計測得,并通過A/D加入到計算機,通過控制指令的計算,形成一個完整的閉環控制系統。(1) 確定增益系數D/A輸出 120mv,電機啟動:,;D/A輸出 5v,電機轉速26rad/s閉環傳遞函數穩態增益為,;系統連續部分的傳遞函
14、數為;若取得狀態方程輸出方程由MATLAB可得,a=0 1;0 -54.49;b=0;283.4;F,G=c2d(a,b,0.01)F = 1.0000 0.0077 0 0.5799G = 0.01192.1849(2) 設計狀態反饋增益,使系統閉環極點0.9,n 20 rad/s系統在s平面的特征根根據要求取,得根據,離散系統的特征根為使用MATLAB計算狀態反饋增益F=1,0.0077;0,0.5799;G=0.0119;2.1849;P=0.7877 + 0.0674*i,0.7877 - 0.0674*i;k=acker(F,G,P)k = 2.2735 -0.0103(3) 設可測
15、,設計降維觀測器,觀測器衰減速率是系統閉環衰減速率的 4倍。 降維觀測器方程 L為觀測器增益,觀測器衰減速率是系統閉環衰減速率的 4倍,閉環極點為 觀測器極點為利用MATLAB可求得L = 24.5844;F22=0.5799;F12=0.0077;P=0.3906;l=acker(F22',F12',P)l = 24.5844降維觀測器方程觀測器誤差方程(4) 求離散控制律 D(z)加入觀測器和反饋增益系統的離散方程為:對上式進行z變換 ; (5) 將 D(z)進行實現,配置適當的比例因子。采用零極型編排結構實現配置比例因子控制器穩態增益為,高頻增益為 選擇比例因子為4不考慮
16、A/D,D/A的量程,結構圖如下:兩圖比較得:K1=-0.505 K2=1 K3=-0.4615 K4=-0.8121K5=0.21 K6=0.5 K7=2(6)編排實現按下圖編排實現:可得,k1=-0.45725,k2=1,k3=-0.09787,k4=0.233,k5=0.25,k6=0.125,k7=8上面為理論計算得到的控制器,實驗中使用的控制器參考了往屆同學的工作,進行了較大修正,得到的效果較好。以下為實驗實際所用的編排數據,程序見附錄:k1=-0.66,k2=1,k3=-0.456,k4=0.511,k5=0.74,k6=0.26,k7=2.7;五、實驗步驟1. 按上述原理圖接線。
17、2. 用C語言編制帶曲顯示的實時控制程序。實時控制程序參考流程圖 3. 運行帶曲顯示的實時控制程序,調節系統達到控制要求,打印輸出曲線六、實驗結果 實驗結果比較順利的完成了指定的任務。靜差和超調均在規定范圍之內。控制界面的截圖如下所示:階躍響應:七、思考題1. 若系統輸入和輸出有較大偏差,如何通過系數的調整解決?答:若輸出角度和輸入角度有較大偏差,可以通過改變K1的值,增大或減小反饋值,從而達到改變輸出電壓,即調整輸出角度的目的,不用重新設計狀態反饋。2. 系統引入速度反饋的作用是什么?答:速度反饋的目的是改善系統的動態特性,使系統能夠快速響應輸入。 3. 參數 K1 、K5 對系統靜特性的影
18、響? 答:K1和K5影響的主要是系統的開環增益,增加開環增益可以減少系統靜差,提高系統的快速性,同時太大的開環增益會是的系統振蕩性加強甚至不穩定。4. 參數 K3 、K4 對系統動特性的影響? 答:K3調整的是控制器的零點,可以調節系統的響應,但對穩定性影響不大;K4對應控制器的極點,對系統的動態響應及穩定性都起關鍵作用。八、實驗感想通過這四次實驗,對計算機控制系統的實驗有了進一步了解,從前三次實驗的分步了解認識到后來第四次綜合性的大實驗結合,對速度反饋系統有了深刻了解,并且學會了如果通過調節速度反饋中的系數大小來調節完善系統反饋的準確性,通過調節參數來減小系統靜差,并且接觸到了仿真程序的編寫
19、,以及如何控制這些仿真程序來改變仿真界面的類型等技巧,相信這些知識對我將來起到極大的作用。最后感謝老師的細心指導和每節課的耐心講解,在我們遇到線路上的問題時,都會幫我們來排查故障。謝謝老師。附(實驗代碼):#include <stdio.h>#include <iostream.h>#include <stdlib.h>#include <graphics.h>#include <conio.h>#include <dos.h>#include <math.h>#define pi 3.14159265/*-d
20、efine k1 to k7-*/float k1=-0.68,k2=1,k3=-0.459,k4=0.521,k5=0.85,k6=1.02,k7=0.8;/*-others-*/float k1=-0.505,k2=1,k3=-0.4615,k4=-0.8121,k5=0.21,k6=0.5,k7=2;/float k1=-0.6546,k2=1,k3=-0.4293,k4=0.5024,k5=0.75,k6=4,k7=2;float k1=-0.66,k2=1,k3=-0.456,k4=0.511,k5=0.74,k6=0.26,k7=2.7;/float k1=-0.6743,k2=0
21、.75,k3=-0.459,k4=0.521,k5=2,k6=2,k7=2;/float k1=-0.67,k2=1,k3=-0.459,k4=0.521,k5=0.75,k6=0.25,k7=2;/float k1=-0.6743,k2=0.75,k3=-0.459,k4=0.521,k5=4,k6=4,k7=2;/float k1=-0.333,k2=0.75,k3=0.0329,k4=0.1963,k5=4,k6=4,k7=2;/*-*/float t=0.1,x=0,x1,adpre=0,adpre1=0;float timer=0;int N1;void interrupt (*ol
22、dint)(.);void interrupt newint(.);float adc(int n);void dac(float da);void initialscreen();void main() initialscreen(); oldint=getvect(0xb); setvect(0xb,newint); disable(); int n,temp; N1=10/t; x1=50*t; n=2000000*t; temp=n; n=n*256; outportb(0x31b,0xb6); outportb(0x31a,n); outportb(0x31a,temp); outp
23、ortb(0x21,inportb(0x21)&0xf7); /setcolor(BLACK); enable(); getch(); closegraph(); outportb(0x21,inport(0x21)|0x08);/8259 INTERRUPT END MARK setvect(0xb,oldint); /RECOVER INTVECTvoid interrupt newint(.)while(timer>=N1)disable();outportb(0x20,0x20);goto a;timer=timer+0.3 ;float ad0,ad1,a1,da,d1
24、;ad0=adc(0);ad1=adc(1);/*-DRAW THE PICTURE-*/setcolor(BLUE);line(240+x1*timer,120-adpre1*90,240+x1*timer,120-ad0*90);adpre1=ad0;setcolor(RED);line(240+x1*(timer),350-adpre*90,240+x1*timer,350-ad1*90);adpre=ad1;/*-DRAW THE POINTER-*/setcolor(RED);setfillstyle(0,BLACK);fillellipse(120,120,77,77);setco
25、lor(RED);line(120,120,120+75*cos(ad0+0.5)*pi),120-75*sin(ad0+0.5)*pi);setcolor(RED);setfillstyle(0,RED);fillellipse(120,350,77,77);setcolor(YELLOW);line(120,350,120+75*cos(ad1+0.5)*pi),350-75*sin(ad1+0.5)*pi); /*a1=ad1*k1+x;d1=ad0*k5+a1*k2;if(d1>=1/k6) d1=1/k6;else if(d1<=-1/k6) d1=-1/k6;da=k7
26、*d1;dac(da); */ da=2*(ad0-ad1); dac(da); a: outportb(0x20,0x20);/*-D/A PROGRAM-*/void dac(float da)int y,lo,hi,newhi,newlo;y=(da+1)/2*0xfff0;lo=y&0x00ff;hi=(y&0xff00)/256;newhi=(hi&0x000f)*16+(hi&0x00f0)/16;outportb(0x314,newhi);newlo=(lo&0x00f0)/16;outportb(0x315,newlo);inportb(
27、0x315);/*-A/D PROGRAM-*/float adc(int n) float ad; int p,q; int i,r; outportb(0x31b,0x18); outportb(0x310,n); for(i=0;i<500;i+) outportb(0x311,0x0); for(i=0;i<500;i+) p=inportb(0x312)%16; q=inportb(0x313); /printf("%0x,%0xn",p,q); r=p*256+q; /printf("%0x",r); float r1=r; ad
28、=r1/0x800-1; /printf("%f",ad); /getch(); return ad; /*-FIGURE PLOT-*/void initialscreen() int gm, i,Radius,numy,width,startx,starty,height,blockHeight; char msg100; int point16; int gdriver = DETECT, gmode; initgraph(&gdriver, &gmode,"D:BORLANDCBGI"); cleardevice(); setbk
29、color(BLUE); setcolor(14); int x1=120,y1=120; int x2=120,y2=350;/ Radius=80; char k100; for(float t=0;t<360;t+) if(int)(t)%5!=0) line(x1+98*sin(t/180*pi),y1+98*cos(180-t)/180*pi),x1+100*sin(t/180*pi),y1+100*cos(180-t)/180*pi); line(x2+98*sin(t/180*pi),y2+98*cos(180-t)/180*pi),x2+100*sin(t/180*pi)
30、,y2+100*cos(180-t)/180*pi); else if(int)t%10=0) if(int)t%30=0) sprintf(k,"%2.0f",t);if(t>=360) sprintf(k,"%2.0f",t-360); outtextxy(x1+120*sin(t/180*pi),y1+120*cos(180-t)/180*pi),k); outtextxy(x2+120*sin(t/180*pi),y2+120*cos(180-t)/180*pi),k); else outtextxy(x1-10+111*sin(t/180
31、*pi),y1-3+111*cos(180-t)/180*pi),k); outtextxy(x2-10+111*sin(t/180*pi),y2-3+111*cos(180-t)/180*pi),k); setcolor(20); line(x1+85*sin(t/180*pi),y1+85*cos(180-t)/180*pi),x1+100*sin(t/180*pi),y1+100*cos(180-t)/180*pi); line(x2+85*sin(t/180*pi),y2+85*cos(180-t)/180*pi),x2+100*sin(t/180*pi),y2+100*cos(180
32、-t)/180*pi); setcolor(20);else line(x1+90*sin(t/180*pi),y1+90*cos(180-t)/180*pi),x1+100*sin(t/180*pi),y1+100*cos(180-t)/180*pi); line(x2+90*sin(t/180*pi),y2+90*cos(180-t)/180*pi),x2+100*sin(t/180*pi),y2+100*cos(180-t)/180*pi); else line(x1+94*sin(t/180*pi),y1+94*cos(180-t)/180*pi),x1+100*sin(t/180*p
33、i),y1+100*cos(180-t)/180*pi); line(x2+94*sin(t/180*pi),y2+94*cos(180-t)/180*pi),x2+100*sin(t/180*pi),y2+100*cos(180-t)/180*pi); char input,output; setcolor(14); sprintf(msg,"Input V:",input); outtextxy(373,15,msg); setcolor(14); sprintf(msg,"Output V:",output); outtextxy(373,235,
34、msg); setcolor(14); sprintf(msg,"Input Angle:",output); outtextxy(10,10,msg); setcolor(14); sprintf(msg,"Output Angle:",output); outtextxy(10,235,msg);height=180, width=380,startx=240,starty=30;int rp8;char a60;setfillstyle(1,WHITE);rp0 = rp2 = startx;rp1 = rp7 = starty;rp4 = rp6 = startx+width;rp3 = rp5 = starty+height;fillpoly(4,rp);settextstyle(0,0,0);setlinestyle(1,1,1);setcolor(DARKGRAY);height=180, width=380,startx=240,starty=260;int tp8;char b60;setfillstyle(1,WHITE);tp0 = t
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋼制車門面板的修理陳勇課件
- 模具試拆與調試試題及答案
- 如何應對模具設計師考試試題及答案
- 2024年農作物種子考試的社會影響力分析試題及答案
- 體育經紀人服務運動員的最佳實踐試題及答案
- 2024年模具設計師考試的多樣化備考方式與試題答案
- 2024年農業植保員考試高效復習試題與答案指導
- 模具設計中工業4.0的應用試題及答案
- 2024年籃球裁判員綜合能力測評試題及答案
- 2024年強化能力裁判員試題及答案
- 工業和信息化部產業發展促進中心招聘筆試真題2024
- 2025年醫保知識競賽題庫及答案:新政策調整下的醫保選擇
- 呼吸科知識解剖課件
- 幼兒園教育評估指南解讀
- 模擬雨的形成課件
- 多維數據循環嵌套分析-全面剖析
- 數學全等三角形教學設計 2024-2025學年北師大版數學七年級下冊
- 《旅游策劃實務》課件-《秦嶺北望 千古》長安西安五天四晚親子家庭定制游方案
- 事故隱患內部報告獎勵制度1
- 建設單位保證安全生產措施方案
- 2025年新音樂節明星藝人歌手演出場費報價單
評論
0/150
提交評論