計算機控制技術課程設計 (2)_第1頁
已閱讀1頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  計算機控制技術</b></p><p><b>  課程設計</b></p><p>  姓 名: </p><p>  專 業(yè): 自動化0902 </p><p>  學 號:

2、 </p><p>  所在學院: 電氣學院 </p><p>  2013年1月13日</p><p><b>  目錄</b></p><p>  一、設計要求及內容3</p><p><b>  二、實驗原理3</b></p&

3、gt;<p>  三、功能模塊簡介3</p><p><b>  四、系統(tǒng)原理圖7</b></p><p>  五、控制算法設計及程序流程圖8</p><p>  六、調試結果與分析10</p><p><b>  七、程序清單10</b></p><p&

4、gt;<b>  八、心得體會10</b></p><p><b>  九、參考文獻16</b></p><p><b>  一、設計要求及內容</b></p><p>  1、了解霍爾器件的工作原理;</p><p>  2、掌握利用微機技術進行轉速測量與控制的基本原理和

5、方法。</p><p>  3、采用PID控制算法實現(xiàn)直流電機轉速的測控,并利用FD-ST8088A實驗軟件平臺動態(tài)顯示轉速大小等信息,轉速給定由鍵盤置入。電機轉速特性見表1。</p><p>  表 1:電機轉速控制特性參考表(5V/42mA)</p><p>  4、采用模塊化結構編制測控程序,定時中斷和測速利用8253 T0、T1編制相應的服務程序,顯示相關信

6、息調用INT14。</p><p>  5、 將調速系統(tǒng)按接線圖連接無誤后,再將編好的源程序匯編、鏈接,形成可執(zhí)行文件并下載到FD-SJ8088進行調試、運行,直到滿意為止。</p><p><b>  二、實驗原理</b></p><p>  本設計選用SPRAGUE300系列霍爾開關傳感器3013T,它是一種硅單片集成電路,內含穩(wěn)壓電路、霍

7、爾電勢發(fā)生器、放大器、史密特觸發(fā)器和集電極開路輸出電路,器件采用三端平塑封裝,引出端符號如下:</p><p>  根據(jù)霍爾效應原理,將一塊永久磁鋼固定在電機轉軸上的轉盤邊沿,轉盤隨被測軸旋轉,磁鋼也將跟著同步旋轉,在轉盤附近安裝一個霍爾器件3013T,轉盤隨軸旋轉時,受磁鋼所產生的磁場的影響,霍爾器件輸出脈沖信號,其頻率與轉速成正比,測出脈沖的周期或頻率即可計算出轉速。本實驗利用8253定時中斷的方法實現(xiàn)此目的

8、。</p><p>  直流電機的轉速與施加于電機兩端的電壓、電流大小有關。本實驗使用8253定時測速,通過控制DAC0832的模擬輸出信號來控制電機的轉速。</p><p><b>  三、功能模塊簡介</b></p><p><b>  1、DAC0832</b></p><p>  DAC08

9、32是8位并行、電流型D/A轉換集成芯片。這個芯片接口簡單、轉換控制容易。D/A轉換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉換電路及轉換控制電路構成。</p><p>  圖1:DAC0832</p><p>  DAC0832有如下3種工作方式:</p><p><b>  單緩沖方式。</b></p><p&g

10、t;<b>  雙緩沖方式。</b></p><p><b>  直通方式。</b></p><p>  本實驗采用單緩沖方式。</p><p><b>  2、8253</b></p><p>  8253有6種工作方式:</p><p>  方式0:

11、計數(shù)結束中斷</p><p>  方式1:可編程單穩(wěn)脈沖</p><p>  方式2:頻率發(fā)生器(分頻器)</p><p><b>  方式3:方波發(fā)生器</b></p><p>  方式4:軟件觸發(fā)選通信號</p><p>  方式5:硬件觸發(fā)選通信號</p><p> 

12、 本實驗采用方式2和4。</p><p><b>  3、8259A</b></p><p>  主要功能:在有多個中斷源的系統(tǒng)中,接受外部的中斷請求,并進行判斷,選中當前優(yōu)先級最高的中斷請求,再將此請求送到CPU的INTR端;當CPU響應中斷并進入中斷子程序的處理過程后,中斷控制器仍負責對外部中斷請求的管理。</p><p>  初始化命令字

13、1寄存器(ICW1)說明見圖2所示。</p><p>  圖2: 初始化命令字1寄存器</p><p>  初始化命令字2寄存器(ICW2)說明見圖3所示。</p><p>  圖3: 初始化命令字2寄存器</p><p>  初始化命令字4寄存器(ICW4)說明見圖4。</p><p>  圖4: 初始化命令字4

14、寄存器</p><p><b>  4、LM324</b></p><p>  圖 5:LM324引腳圖</p><p><b>  5、74LS138</b></p><p>  74LS138為3線-8線譯碼器,其工作原理如下:</p><p>  當一個選通端(E1)為

15、高電平,另兩個選通端((/E2))和/(E3))為低電平時,可將地址端(A0、A1、A2)的二進制編碼在Y0至Y7對應的輸出端以低電平譯出。</p><p>  圖 6:74LS138引腳圖</p><p>  6、三極管電極的判別</p><p>  己知三極管類型及電極,用指針式萬用表判別三極管好壞的方法如下:  ①測 NPN 三極管:將萬用表歐姆擋

16、置 "R × 100" 或 "R × lK" 處,把黑表筆接在基極上,將紅表筆先后接在其余兩個極上,如果兩次測得的電阻值都較小,再將紅表筆接在基極上,將黑表筆先后接在其余兩個極上,如果兩次測得的電阻值都很大,則說明三極管是好的。  ②測 PNP 三極管:將萬用表歐姆擋置 "R × 100" 或 "R × lK&quo

17、t; 處,把紅表筆接在基極上,將黑表筆先后接在其余兩個極上,如果兩次測得的電阻值都較小,再將黑表筆接在基極上,將紅表筆先后接在其余兩個極上,如果兩次測得的電阻值都很大,則說明三極管是好的。 `H/xQH+Yx0M中華維修論壇對于一只型號標示不清或無標志的三極管,要想分辨出它們的三個電極,也可用萬用表測試。先將萬用表量程開關撥在R×100或R×1k電阻擋上。紅表筆任意接觸三極管的一個電極,黑表筆依次接觸另外

18、兩個電極,分別測量它們之間的電阻值,若測出均為幾百歐低電阻時,則紅表筆接觸的電極為基極b,此管為PNP管。若測出均為幾十至上百千歐的高電阻時,則紅表筆接觸的電極也為基</p><p><b>  四、系統(tǒng)原理圖</b></p><p>  五、控制算法設計及程序流程圖</p><p>  PID控制是一種應用最廣泛的控制規(guī)律。數(shù)字PID控制算式

19、又分為位置型和增量型兩種,分別如下式所示:</p><p>  Δu(n)=u(n)-u(n-1)=Kc{[e(n)-e(n-1)]+T/Tie(n)+TD/T[e(n)-2e(n-1)+e(n-2)]}</p><p>  本實驗采用基本的位置式。</p><p>  圖 8:PID位置式控制原理圖</p><p>  圖 9:位置式PID

20、控制算法程序框圖</p><p><b>  主程序</b></p><p>  圖 10:程序流程圖</p><p><b>  六、調試結果與分析</b></p><p>  當程序完成后,由于waitt=5,所以轉速調節(jié)速度比較慢,當waitt改為3后,調節(jié)速度明顯加快,對于PID調節(jié)的參數(shù),

21、剛開始時,cons0=1,cons1=1,cons2=1,調節(jié)速度很快,但超調很大;于是又將參數(shù)改為cons0=2,cons1=5,cons2=5,微分調節(jié)比較小,將速度給定在25r/s,但是速度在25r/s左右波動很大,于是又將cons0=2,cons1=2,cons2=1,將速度給定在30r/s,速度先上升,上升到31r/s時繼續(xù)上升,到32r/s后速度下降,速度降至29r/s,然后又上升,最后穩(wěn)定在30r/s。</p>

22、<p><b>  七、程序清單</b></p><p>  ;MOTOR.ASM</p><p>  ;屏幕上顯示當前馬達的速度</p><p>  ;馬達速度設置由用戶設置在CX中,設置1-40間數(shù)值</p><p><b>  ;</b></p><p>

23、  ;MOTOR.ASM</p><p>  ;DC MOTOR </p><p>  ;CX=SPEED USER WANTED 0-40 R/S</p><p><b>  ;</b></p><p>  MAIN PROC FAR</p><p>  DATA SEGME

24、NT 'DATA'</p><p>  SPEED DB 20H ;存放給定轉速</p><p>  GETSP DB 00H ;存放反饋轉速</p><p>  CONS0 DB 2 ;存放系數(shù)a0=Kp(1+T/Ti+Td/T)</p&g

25、t;<p>  CONS1 DB 2 ;存放系數(shù)a1=Kp(1+2Td/T)</p><p>  CONS2 DB 1 ;存放系數(shù)a2=Kp*Td/T</p><p>  SUB0 DB 00H ;存放偏差值e(k)=speed-getsp</p><p

26、>  SUB1 DB 00H ;存放偏差值e(k-1)</p><p>  SUB2 DB 00H ;存放偏差值e(k-2)</p><p>  MID0 DW 00H ;存放乘積a0*e(k)</p><p>  MID1 DW 00H

27、 ;存放乘積a1*e(k-1)</p><p>  OUTP DB 40H ;存放U(k-1)</p><p>  WAITT DB 1 ;采樣時間</p><p>  COUNT DB 38 ;時鐘頻率為1/38</p><p>  D

28、ATA ENDS</p><p><b>  ;</b></p><p>  CODE SEGMENT 'CODE'</p><p>  ASSUME CS:CODE,DS:DATA,ES:DATA</p><p>  BEGIN: MOV AX,DATA ;將數(shù)據(jù)段段

29、值送DS、ES</p><p>  MOV DS,AX</p><p>  MOV ES,AX</p><p>  MOV SPEED,CL</p><p>  MOV AX,CS ;顯示MESS信息</p><p>  MOV ES,AX<

30、/p><p>  MOV BP,OFFSET MTMESS ;取MESS偏移地址給BP</p><p>  MOV AH,4 ;置中斷向量,利用內部中斷</p><p>  INT 14H</p><p>  PUSH DS ;置中斷處理程序</p&

31、gt;<p>  XOR AX,AX</p><p>  MOV DS,AX</p><p>  LEA AX,RING</p><p>  MOV DS:20H,AX ;中斷類型為08H,時鐘中斷</p><p>  MOV AX,CS</p>&l

32、t;p>  MOV DS:22H,AX</p><p>  MOV AL,13H ;8259初始化,置初始化命令字ICW1</p><p>  OUT 20H,AL</p><p>  MOV AL,08H ;置初始化命令字ICW2</p><p>  OUT

33、 21H,AL</p><p>  MOV AL,0DH ; ICW4,中斷正常結束方式</p><p>  OUT 21H,AL</p><p>  MOV AL,0FEH ;置操作命令字OCW1,僅IR0未被屏蔽</p><p>  OUT 21H,AL</p>

34、;<p>  MOV AL,20H ;置操作命令字OCW2,令EOI為1,結束中斷</p><p>  OUT 20H,AL</p><p>  POP DS</p><p>  CALL TIMER0 ;調用計數(shù)器0初始化程序</p><p>  CALL

35、 TIMER1</p><p><b>  STI</b></p><p>  MOV AL,0FFH ;因為電機爬速最低電壓為b極為1.25,c極為2.74,消除死區(qū)電壓</p><p>  OUT 09H,AL</p><p>  OUT 08H,AL</p>

36、;<p>  RUN: JMP RUN</p><p><b>  ;</b></p><p>  RING: CLI ;關中斷,中斷服務子程序</p><p>  PUSH DS ;保護現(xiàn)場</p><p>  PUSH

37、 AX</p><p>  PUSH BX</p><p>  PUSH CX</p><p>  PUSH DX</p><p>  MOV AX,DATA ;載入數(shù)據(jù)段</p><p>  MOV DS,AX</p><p>

38、  DEC COUNT ;中斷次數(shù)COUNT-1,判斷是否為0,為0,1秒到</p><p>  JNZ EXIT</p><p>  MOV COUNT,38 ;恢復初值</p><p>  CALL TIMER1 ;重置T1初值</p><p>  DEC W

39、AITT ;轉速采樣間隔WAITT-1,判斷是否為0,為0,1秒到</p><p>  JNZ EXIT</p><p>  MOV WAITT,1 ;恢復WAITT為1</p><p>  CALL ADJUST</p><p>  EXIT: POP DX ;恢復現(xiàn)

40、場</p><p>  POP CX</p><p>  POP BX</p><p>  POP AX</p><p>  POP DS</p><p>  MOV AL,20H ;8259操作命令字OCW2中EOI置1,結束中斷</p>

41、<p>  OUT 20H,AL</p><p>  STI ;中斷結束,返回</p><p><b>  IRET</b></p><p><b>  ;</b></p><p>  ADJUST: IN AL,41H ;

42、從T1采樣轉速值賦給GETSP,讀入值為99H-脈沖數(shù)</p><p>  MOV AH,AL</p><p>  MOV AL,99H</p><p>  SUB AL,AH ;最終為脈沖數(shù),分高8位,低8位</p><p>  DAS ;十進制調整,結果為十

43、進制數(shù)</p><p>  MOV GETSP,AL</p><p>  MOV AX,CS ;顯示SETMESS的字符串</p><p>  MOV ES,AX</p><p>  MOV BP,OFFSET SETMESS</p><p>  MOV

44、 AH,4 ;串行通信中斷調用,發(fā)送ES:BP開始的字符串</p><p>  INT 14H</p><p>  MOV AL,SPEED ; SPEED顯示十位</p><p>  MOV CL,4</p><p>  SAR AL,CL</p><

45、;p>  ADD AL,30H</p><p>  MOV AH,1</p><p>  INT 14H</p><p>  MOV AL,SPEED ;SPEED顯示個位</p><p>  AND AL,0FH</p><p>  ADD

46、 AL,30H</p><p>  MOV AH,1</p><p>  INT 14H</p><p>  MOV AX,CS ;顯示GETMESS的字符串</p><p>  MOV ES,AX</p><p>  MOV BP,OFFS

47、ET GETMESS</p><p>  MOV AH,4</p><p>  INT 14H</p><p>  MOV AL,GETSP ; GETSP十位數(shù)</p><p>  MOV CL,4</p><p>  SHR AL,CL</p&

48、gt;<p>  ADD AL,30H</p><p>  MOV AH,1</p><p>  INT 14H</p><p>  MOV AL,GETSP ; GETSP個位數(shù)</p><p>  AND AL,0FH</p><p>

49、  ADD AL,30H</p><p>  MOV AH,1</p><p>  INT 14H</p><p>  MOV AX,CS ;顯示RSMESS</p><p>  MOV ES,AX</p><p>  MOV BP,O

50、FFSET RSMESS</p><p>  MOV AH,4</p><p>  INT 14H</p><p>  MOV AL,SPEED ;碼制轉換</p><p>  MOV CL,4</p><p>  SHR AL,CL</p>

51、<p>  MOV DL,10</p><p>  IMUL DL</p><p>  MOV BL,AL</p><p>  MOV AL,SPEED</p><p>  AND AL,0FH</p><p>  ADD BL,AL&

52、lt;/p><p>  MOV BH,BL</p><p>  MOV AL,GETSP ;碼制轉換</p><p>  MOV CL,4</p><p>  SAR AL,CL</p><p>  MOV DL,10</p><p>

53、;  IMUL DL</p><p>  MOV BL,AL</p><p>  MOV AL,GETSP</p><p>  AND AL,0FH</p><p>  ADD BL,AL</p><p>  SUB BH,BL</p>

54、<p>  MOV SUB0,BH ;計算e(k)</p><p>  MOV AL,BH</p><p>  MOV DL,CONS0 ;取a0</p><p>  IMUL DL ;取a0*e(k)放入AX</p><p>  MOV

55、MID0,AX ;a0*e(k)暫存單元</p><p>  MOV AL,SUB1 ;取e(k-1)</p><p>  MOV DL,CONS1</p><p>  IMUL DL</p><p>  MOV MID1,AX ;a1*e(k-1)暫存單元</p&g

56、t;<p>  MOV AL,SUB2</p><p>  MOV DL,CONS2</p><p>  IMUL DL</p><p>  ADD AX,MID0</p><p>  SBB AX,MID1</p><p>  ADD

57、 AL,OUTP ;u(k-1)+a0*e(k)-a1*e(k-1)+a2*e(k-2)</p><p>  ADC AH,00H ;計算</p><p>  CMP AX,0FFH ;上限值比較</p><p>  JG ADJST0</p><p>  CMP A

58、X,40H ;下限值比較</p><p>  JL ADJST1</p><p>  JMP ADJST2</p><p>  ADJST0: MOV AL,0FFH</p><p>  JMP ADJST2</p><p>  ADJST1: MOV

59、 AL,40H</p><p>  ADJST2: OUT 09H,AL</p><p>  OUT 08H,AL</p><p>  MOV OUTP,AL</p><p>  MOV AL,SUB1</p><p>  MOV SUB2,AL

60、 ;e(k-1)->e(k-2)</p><p>  MOV AL,SUB0</p><p>  MOV SUB1,AL ;e(k)->e(k-1)</p><p><b>  retn</b></p><p><b>  ;</b></p>

61、;<p>  TIMER1: MOV AL,59H ;8253計數(shù)器1初始化(01選擇計數(shù)器1;01表示只寫入低8位;100方式4,軟件觸發(fā)選通,控制字寫入OUT為高;1表示十進制)</p><p>  OUT 43H,AL</p><p>  MOV AL,99H</p><p>  OUT

62、 41H,AL</p><p><b>  retn</b></p><p>  TIMER0: MOV AL,34H ;8253定時器0初始化(00選擇計數(shù)器0;11為16位計數(shù),先低8位,后高8位;010方式2,分頻工作方式,控制字寫入OUT為高;0為二進制計數(shù))</p><p>  OUT 43H,AL

63、</p><p>  MOV AL,79</p><p>  OUT 40H,AL</p><p>  MOV AL,245</p><p>  OUT 40H,AL</p><p><b>  retn</b></p><p&g

64、t;  MTMESS DB "********** DC MOTOR **********",0</p><p>  SETMESS DB " SETSPEED=",0</p><p>  GETMESS DB "R/S GETSPEED=",0</p&g

65、t;<p>  RSMESS DB "R/S ",0</p><p>  MAIN ENDP</p><p>  CODE ENDS</p><p>  END BEGIN</p><p><b>  八、心得體會</b></p>&l

66、t;p>  微型機算計控制是一門理論性和實踐性都很強的學科,它涉及我們所學的多門專業(yè)課的知識,比如模電、數(shù)電,自控,微機等等。短短一星期的課程設計,讓我在手忙腳亂中學會了不少東西,受益匪淺。</p><p>  第一二天我們把之前做實驗的和此次課程設計有關的程序看了個大概,之后便是程序的編寫,我們組查閱了以前的課本,復習了一些必須的知識。充分的知識準備為我們整個設計過程打下了堅實的基礎。</p>

67、<p>  第三四天便是按照原理圖連接實物圖,在這個過程中我們費了不少勁,由于實驗室里設備有一些陳舊造成我們整個設計過程的很多問題都出在了硬件上,在老師的幫助下,總算是解決了。 </p><p>  最后是導入程序調試運行,這里是最重要的一步,修改程序調節(jié)PID參數(shù)可費了我們一翻工夫,到最后電機運轉還算穩(wěn)定,但超調有點大。在老師的知道下,我們嘗試著修改了幾組PID參數(shù)后就大體可以了。</p&g

68、t;<p>  通過本門課程設計,我的以下能力得到了較大的提高:首先,我對所學的各學科有了整體的系統(tǒng)的回憶和聯(lián)系。比如模數(shù)電中測三極管方法和DAC0832的應用,74LS138譯碼器的使用,微機中8259的中斷和8253的定時計數(shù),計控中PID控制算法的編程。其次,鍛煉了我的實際動手能力,培養(yǎng)了我綜合應用相關知識來解決控制問題的基礎理論。再者,培養(yǎng)了我在實踐中研究問題,分析問題和解決問題的能力。最后,培養(yǎng)了我的編程思維,讓

69、我深深懂得構思和細心的重要性。</p><p>  總之,本次課程設計讓我對各門知識有了融會貫通的認識和掌握,使我將所學的理論知識運用于實際的能力得到了一定的提高,軟件編程、排錯調試能力也得到了較全面的鍛煉。</p><p><b>  九、參考文獻</b></p><p>  1.高國琴主編.《微型計算機控制技術》.機械工業(yè)出版社,2008.

溫馨提示

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

評論

0/150

提交評論