版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 《計算機(jī)控制技術(shù)》</b></p><p><b> 課程設(shè)計報告</b></p><p> 題 目: 基于單片機(jī)的直流伺服電機(jī)速度控制系統(tǒng) </p><p> 姓 名:
2、 </p><p> 學(xué) 號: </p><p> 專 業(yè): 自動化 </p><p> 年 級:
3、 </p><p> 指導(dǎo)教師: </p><p> 2012年 12月 7日</p><p><b> 目錄 </b></p><p
4、> 任務(wù)書………………………………………………………………………………………..….2</p><p> 參考資料…………………………………………………………………………………..……3</p><p> 設(shè)計步驟與內(nèi)容………………………………………………………………………………7</p><p> 設(shè)計總結(jié)…………………………………………………………
5、………………………..…...12</p><p><b> 任務(wù)書</b></p><p><b> 一、設(shè)計題目</b></p><p> 基于單片機(jī)的直流伺服電機(jī)速度控制系統(tǒng)</p><p><b> 二、設(shè)計目的</b></p><p>
6、 1.加深理解和掌握計算機(jī)控制系統(tǒng)的組成結(jié)構(gòu)和原理。</p><p> 2.學(xué)習(xí)并掌握基于狀態(tài)空間的狀態(tài)控制器的原理和設(shè)計方法。</p><p> 3.學(xué)習(xí)并掌握數(shù)字控制器的仿真和實驗研究方法。</p><p><b> 三、設(shè)計任務(wù)</b></p><p><b> 1.設(shè)計任務(wù):</b>
7、;</p><p> 基于單片機(jī)設(shè)計一個直流伺服電機(jī)閉環(huán)調(diào)速系統(tǒng),利用電機(jī)上光電編碼器所提供的轉(zhuǎn)速脈沖信號,通過選擇合適的數(shù)字控制算法,實現(xiàn)對給定的直流伺服電機(jī)的速度調(diào)節(jié),要求在選定的目標(biāo)轉(zhuǎn)速范圍(60—1800RPM)內(nèi),調(diào)速系統(tǒng)都具有較為快速、平穩(wěn)和準(zhǔn)確的響應(yīng)性能。提交一份課程設(shè)計報告,其中包含的主要內(nèi)容:總體設(shè)計思路,測速算法的設(shè)計,控制算法的選擇,系統(tǒng)工作流程,實驗測試結(jié)果,分析討論,程序源代碼。<
8、;/p><p><b> 2.實驗設(shè)備:</b></p><p><b> 參考資料</b></p><p> Copal直流伺服電機(jī):</p><p> L298N直流電機(jī)\步進(jìn)電機(jī)兩用驅(qū)動模塊:</p><p> 具體設(shè)計內(nèi)容步驟與程序等:</p>&
9、lt;p><b> 步驟:</b></p><p><b> 程序:</b></p><p> #include "main.h"</p><p> #define Kp 0.05</p><p> #define Ki 0.05</p><p
10、> #define Kd 0.03</p><p> #define Kt 0</p><p> uchar code table[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};</p><p> uchar code LED_W[8] = {0,1,2,3,4,5,6,7};<
11、;/p><p> uchar code smd[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xff};</p><p> uchar code number[]={0,1,2,3,4,5,6,7,8,9};</p><p> uchar code smgm[]={0x01,0x02,0x04,0x08
12、,0x10,0x20,0x40,0x80};</p><p> uchar code smgw[]={0,0,1,2,3,4,5,6,7};</p><p> uint pulse,jj;</p><p> float pre_err=0,last_err=0;</p><p> float Up=0,Ui=0,Ud=0,Uout=0
13、;</p><p> uchar P2state,control_out;</p><p> float speed_set=500,speed_measure;</p><p> uint value1,value2,value3,value4;</p><p> void Delay1(uint i)</p><
14、;p><b> {</b></p><p> uchar x,j;</p><p> for(j=0;j<i;j++)</p><p> for(x=0;x<=20;x++);</p><p><b> }</b></p><p> void
15、delay2()</p><p><b> {</b></p><p><b> uint i;</b></p><p> for(i=0;i<400;i++) //控制延遲時間可以消影</p><p><b> {</b></p><p>
16、;<b> }</b></p><p><b> }</b></p><p> void xianshi()</p><p><b> {</b></p><p> P0=~smgm[smgw[8]]; //第8位顯示(左起為第1位) </p>&l
17、t;p> P2=smd[number[jj%10]]; //顯示個位數(shù)字</p><p><b> delay2();</b></p><p> P0=~smgm[smgw[7]]; //第7位顯示(左起為第1位)</p><p> P2=smd[number[jj%1000%100/10]]; //顯示個位數(shù)字<
18、/p><p><b> delay2();</b></p><p> P0=~smgm[smgw[6]]; //第6位顯示(左起為第1位)</p><p> P2=smd[number[jj%1000/100]]; //顯示個位數(shù)字</p><p><b> delay2();</b><
19、;/p><p> P0=~smgm[smgw[5]]; //第5位顯示(左起為第1位)</p><p> P2=smd[number[jj/1000]]; //顯示個位數(shù)字</p><p><b> delay2();</b></p><p><b> }</b></p>&l
20、t;p> void pid()</p><p><b> {</b></p><p> pre_err=speed_set-speed_measure;</p><p> Up=Kp*pre_err;</p><p> Ui+=Ki*pre_err;</p><p> Ud=Kd
21、*(pre_err-last_err);</p><p> last_err=pre_err;</p><p> Uout=Up+Ui+Ud;</p><p> if(Uout>=255)Uout=255;</p><p> if(Uout<=0)Uout=0;</p><p> control_
22、out=(uchar)(Uout);</p><p> value3=(uint)(control_out);</p><p><b> }</b></p><p> void delay(uint i)</p><p><b> {</b></p><p><
23、b> uint j,k;</b></p><p> for(j=i;j>0;j--)</p><p> {for(k=255;k>0;k--)PWM_out(control_out);}</p><p><b> }</b></p><p> /*void keyscan()<
24、;/p><p><b> {</b></p><p> P2state=P2;</p><p> if((P2state&0x01)==0)</p><p> {delay(250);P2state=P2;if((P2state&0x01)==0){speed_set+=10;}}</p>
25、<p> if((P2state&0x02)==0)</p><p> {delay(250);P2state=P2;if((P2state&0x02)==0){speed_set+=50;}}</p><p> if((P2state&0x04)==0)</p><p> {delay(250);P2state=P2;
26、if((P2state&0x04)==0){speed_set+=100;}}</p><p> if((P2state&0x08)==0)</p><p> {delay(250);P2state=P2;if((P2state&0x08)==0){speed_set+=500;}}</p><p> if((P2state&0
27、x10)==0)</p><p> {delay(250);P2state=P2;if((P2state&0x10)==0){speed_set-=10;}}</p><p> if((P2state&0x20)==0)</p><p> {delay(250);P2state=P2;if((P2state&0x20)==0){spee
28、d_set-=50;}}</p><p> if((P2state&0x40)==0)</p><p> {delay(250);P2state=P2;if((P2state&0x40)==0){speed_set-=100;}}</p><p> if((P2state&0x80)==0)</p><p>
29、{delay(250);P2state=P2;if((P2state&0x80)==0){speed_set-=500;}}</p><p><b> }*/</b></p><p> void main()</p><p><b> {</b></p><p> ECT_init(
30、);</p><p> PWM_init();</p><p> SCI_init();</p><p> motor_H=1;</p><p> motor_L=0;</p><p><b> while(1)</b></p><p><b> {&
31、lt;/b></p><p> //keyscan();</p><p> value1=(uint)(speed_set);</p><p> PWM_out(control_out);</p><p> //send_scope(value1,value2,value3,value4);</p><p
32、> //P0=0X00;</p><p> xianshi();</p><p><b> }</b></p><p><b> }</b></p><p> void int0() interrupt 0</p><p><b> {</b
33、></p><p><b> pulse++;</b></p><p><b> }</b></p><p> void time0() interrupt 1</p><p><b> {</b></p><p> TH0=(65536
34、-50000)/256;</p><p> TL0=(65536-50000)%256;</p><p> speed_measure=pulse*15/2;//pulse/160/0.01*60</p><p> jj=speed_measure;</p><p> value2=(uint)(speed_measure);<
35、/p><p> pid();</p><p> pulse=0;</p><p><b> }</b></p><p><b> 設(shè)計總結(jié):</b></p><p> 這是一次關(guān)于xxx同學(xué)跟xxx同學(xué)一起合作的計控課程設(shè)計,我們是這樣分工的:xxx主要是負(fù)
36、責(zé)硬件調(diào)試這一塊,xxx主要是負(fù)責(zé)軟件與程序這一塊,經(jīng)過我們的通力合作,終于完成了這次課設(shè),但是其中也遇到種種挫折,比如xxx同學(xué)的程序有些小問題,但是經(jīng)過與同學(xué)們的對比跟互相討論,我們也得到了修正,又比如xxx同學(xué)在調(diào)試過程中遇到電機(jī)在旋轉(zhuǎn),但是數(shù)碼管顯示的是亂碼等情況,經(jīng)驗證程序跟接線都無問題,我們猜測是實驗室提供的數(shù)碼管有問題,于是我們找人換了個板,最終在規(guī)定時間內(nèi)完成了這次課設(shè)。</p><p> 經(jīng)過
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機(jī)控制系統(tǒng)課程設(shè)計--直流伺服電機(jī)控制系統(tǒng)
- 計算機(jī)控制課程設(shè)計---基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)
- 計算機(jī)控制課程設(shè)計---單片機(jī)的爐溫控制設(shè)計
- 計算機(jī)控制系統(tǒng)課程設(shè)計報告
- 計算機(jī)控制系統(tǒng)課程設(shè)計報告
- 計算機(jī)控制課程設(shè)計——直流電機(jī)pwm調(diào)速系統(tǒng)的計算機(jī)控制
- 計算機(jī)控制課程設(shè)計---水位控制系統(tǒng)
- 計算機(jī)控制課程設(shè)計---達(dá)林算法計算機(jī)控制系統(tǒng)設(shè)計
- 計算機(jī)控制技術(shù)課程設(shè)計---基于單片機(jī)的交通燈控制
- 單片機(jī)課程設(shè)計——單片機(jī)控制步進(jìn)電機(jī)控制系統(tǒng)設(shè)計
- 計算機(jī)控制技術(shù)課程設(shè)計---基于單片機(jī)的糧倉溫度控制系設(shè)計
- 單片機(jī)外文文獻(xiàn)翻譯---微型計算機(jī)控制系統(tǒng)(單片機(jī)控制系統(tǒng))
- 計算機(jī)控制技術(shù)課程設(shè)計-計算機(jī)控制技術(shù)及工程應(yīng)用步進(jìn)電機(jī)控制系統(tǒng)
- 計算機(jī)控制課程設(shè)計報告---數(shù)字pid控制系統(tǒng)設(shè)計
- 微機(jī)控制技術(shù)(計算機(jī)控制技術(shù))課程設(shè)計——步進(jìn)電機(jī)控制系統(tǒng)設(shè)計
- 計算機(jī)控制系統(tǒng)最小拍控制課程設(shè)計
- 溫度控制系統(tǒng)計算機(jī)控制課程設(shè)計
- 計算機(jī)控制系統(tǒng)、過程控制系統(tǒng)課程設(shè)計
- 計算機(jī)控制系統(tǒng)課程設(shè)計--最小拍控制設(shè)計
- 計算機(jī)控制系統(tǒng)課程設(shè)計--- 最少拍控制系統(tǒng)設(shè)計
評論
0/150
提交評論