




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、河北地質(zhì)大學(xué)信息工程學(xué)院電子信息工程專業(yè)單片機(jī)課程設(shè)計報告題目步進(jìn)電機(jī)限制系統(tǒng)姓名學(xué)號班級指導(dǎo)教師課程設(shè)計任務(wù)書班級姓名學(xué)號課程設(shè)計題目步進(jìn)電機(jī)限制系統(tǒng)課程設(shè)計起止日期至實習(xí)地點課程設(shè)計內(nèi)容與要求包括:設(shè)計任務(wù)及要求、設(shè)計原理、所需儀器設(shè)備、驗收標(biāo)準(zhǔn)一、根本功能:1、加速運轉(zhuǎn)100步,勻速運轉(zhuǎn)100步,減速運轉(zhuǎn)100步,反方向加速100步,反方向勻速;100步,反方向減速100步;2、電機(jī)的啟動、停止、加減速、正反向等均可由按鍵限制.二、擴(kuò)展功能:1、一段時間內(nèi)SS將轉(zhuǎn)速加到100轉(zhuǎn)/分鐘,勻速運轉(zhuǎn)一段時間SS后停止,正反方向均可限制;2、通過鍵盤設(shè)置電機(jī)轉(zhuǎn)動的角度:步進(jìn)方式:即每按一次鍵,電
2、機(jī)轉(zhuǎn)過一定的角度如360;設(shè)定方式:由鍵盤直接輸入一個電機(jī)要旋轉(zhuǎn)的角度,如輸入210再按“確定后,電機(jī)旋轉(zhuǎn)210度,正反方向均可限制;3、其他自行增加的功能.指導(dǎo)教師課程設(shè)計報告一、設(shè)計原理與技術(shù)方法:包括:電路工作原理分析與原理圖、元器件選擇、電路調(diào)試方法與結(jié)果說明;軟件設(shè)計說明書與流程圖、軟件源程序代碼、軟件調(diào)試方法與運行結(jié)果說明.1 .電路工作原理分析1.1 系統(tǒng)工作原理系統(tǒng)是以STC90C51片機(jī)為核心如圖4.該系統(tǒng)通過對STC90C5#>t機(jī)P1的賦值,以TC1117為驅(qū)動芯片如圖3,并通過單片機(jī)程序限制和處理,從而實現(xiàn)了步進(jìn)電機(jī)的狀態(tài)限制.通過獨立鍵盤的命令輸入,經(jīng)STC90
3、C5WL片機(jī)處理后,可以實現(xiàn)步進(jìn)電機(jī)開始和停止,正轉(zhuǎn)和反轉(zhuǎn),加速和減速等狀態(tài)的變換.由于步進(jìn)電機(jī)是一種將電脈沖信號轉(zhuǎn)換成直線或角位移的執(zhí)行元件,它不能直接接到交直流電源上,而必須使用專業(yè)設(shè)備-步進(jìn)電機(jī)限制驅(qū)動器.所以該系統(tǒng)使用TC1117為驅(qū)動芯片:限制器可以發(fā)出脈沖頻率從幾赫茲到幾千赫茲可以連續(xù)變化的脈沖信號,它為環(huán)形分配器提供脈沖序列,環(huán)形分配器的主要功能是把來自限制環(huán)節(jié)的脈沖序列按一定的規(guī)律分配后,以驅(qū)動步進(jìn)電機(jī)的轉(zhuǎn)動,環(huán)形分配器是在該系統(tǒng)中是用計算機(jī)軟件設(shè)計的方法實現(xiàn)環(huán)形分配器要求的功能.系統(tǒng)步進(jìn)電機(jī)的勵磁方式為電機(jī)連接器針腳圖工tl腳圖也機(jī)信號1 A+2 A3 8+4 B-兩相單四拍
4、,即A-B+-A+-B-.A+廠、jMa5/r1¥¥B+兩相電機(jī)四弓I線圖1步進(jìn)電機(jī)原理圖注:此表可加附頁1.1.1 步進(jìn)電機(jī)的換向限制如果給定工作方式正序通電,步進(jìn)電機(jī)正轉(zhuǎn),即A-B+一A+-B-;如果按反序通電,即B-A+-B+-A-,那么電機(jī)就反轉(zhuǎn).在某一高速下的正、反向切換實質(zhì)包含了降速一換向一加速3個過程.1.1.2 步進(jìn)電機(jī)的速度限制如果給步進(jìn)電機(jī)發(fā)一個限制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖,它會再轉(zhuǎn)一步.兩個脈沖的間隔越短,步進(jìn)電機(jī)就轉(zhuǎn)得越快.所以通過改變單步延時時間的長短,就可以對步進(jìn)電機(jī)實現(xiàn)加速,勻速和減速.1.1.3 步進(jìn)電機(jī)的起停限制步進(jìn)電機(jī)由于其電氣特性
5、,運轉(zhuǎn)時會有步進(jìn)感.還由于慣性作用,所以在啟動時,必須有加速過程,在停止時必須有減速過程.1.1.4 .2元器件選擇1.2.1 步進(jìn)電機(jī)步進(jìn)電機(jī)是數(shù)字限制電機(jī),它將脈沖信號轉(zhuǎn)變成角位移,即給一個脈沖信號,步進(jìn)電機(jī)就轉(zhuǎn)動一個角度,因此適合用單片機(jī)限制.步進(jìn)電機(jī)區(qū)別于其他限制電機(jī)的最大特點是:它是通過輸入脈沖信號來進(jìn)行限制的,即電機(jī)的總轉(zhuǎn)動角度由輸入脈沖數(shù)決定.步進(jìn)電機(jī)分三種:永磁式PM,反響式VR和混合式HB,步進(jìn)電機(jī)又稱為脈沖電機(jī),是工業(yè)過程限制和儀表中一種能夠快速啟動,反轉(zhuǎn)和制動的執(zhí)行元件.每個一個脈沖,步進(jìn)電機(jī)就轉(zhuǎn)動一個角度不距角或前進(jìn)、倒退一步.步進(jìn)電機(jī)旋轉(zhuǎn)的角度由輸入的電脈沖數(shù)確定,所
6、以,也有人稱步進(jìn)電機(jī)為數(shù)字/角度轉(zhuǎn)換器.該系統(tǒng)步進(jìn)電機(jī)工作方式是兩相單四拍,電機(jī)工作的賦值如圖2,分別為0xf7,0xfb,0xfd,0xfe,當(dāng)連續(xù)不斷給他賦值時,步進(jìn)電機(jī)就能夠轉(zhuǎn)起來.關(guān)于步進(jìn)電機(jī)的旋轉(zhuǎn)角度和和拍數(shù)賦值我單獨寫了個小程序進(jìn)行了驗證,其結(jié)果是:每次給步進(jìn)電機(jī)端口賦一組值即一拍,步進(jìn)電機(jī)轉(zhuǎn)動一次,每拍轉(zhuǎn)過的角度是18度.所以單四拍一輪賦值轉(zhuǎn)過的是32度.具體步驟如下:用單四拍的工作方式給電機(jī)賦值,用按鍵限制,即每按下一次按鍵,給步進(jìn)電機(jī)賦一輪值四拍.在步進(jìn)電機(jī)上做個標(biāo)記,每按一次,觀察一次,最終按了5次電機(jī)轉(zhuǎn)了約360度.即每拍步數(shù)的角度=360/4*5=18度.驗證小程序在附
7、件1.A-A+B-B+0111101111011110圖2步進(jìn)電機(jī)限制口賦值表步進(jìn)電機(jī)的A-,A+,B-,B+口分別接入驅(qū)動芯片的OUTAOUTBOUT麗OUTDPGNDINB3vcc|-*1GNBw:6E<D7sONCOUTAINAPGNDINBAGNDVDDOLTBNCOOTCINCPGNDINDAGNDOCTOKiir161517n|>GNDOLTD圖3步進(jìn)電機(jī)驅(qū)動圖1.2.2 STC90C51單片機(jī)Atmel公司生產(chǎn)的STC90C5律片機(jī)是一種低功耗/低電壓、高性能的8位單片機(jī),它采用CMOS口高密度非易失性存儲技術(shù),而且其輸出引腳和指令系統(tǒng)都與MCS-51兼容;片內(nèi)的Fl
8、ashROM允許在系統(tǒng)內(nèi)改編程序或用常規(guī)的非易失性編程器來編程,內(nèi)部除CPV卜,還包括256字節(jié)RAM4個8位并行I/O口,2個中斷源,2個中斷優(yōu)先級,2個16位可編程定時計數(shù)器,STC90C5曲片機(jī)是一種功能強(qiáng)、靈活性高且價格合理的單片機(jī),它適合該系統(tǒng)的編程.P1.0-P1.4口接驅(qū)動芯片的INA-INDJPSCPU圖4STC90C51單片機(jī)原理圖1.3系統(tǒng)設(shè)計框圖圖5總體設(shè)計方框圖2.軟件設(shè)計2.1原理和流程圖整個系統(tǒng)由按鍵和電機(jī)驅(qū)動兩局部.按鍵主要功能是判斷是否有鍵按鍵下且按鍵按下后是否彈起來,只有當(dāng)這兩個過程都執(zhí)行才認(rèn)為是一次按鍵.而電機(jī)驅(qū)動程序即主程序的功能是判斷是哪個鍵按下,并執(zhí)行
9、相應(yīng)的功能.2.1.1 按鍵局部它包擴(kuò)一個延時子函數(shù)和按鍵判斷子函數(shù).按鍵是低有效,所以當(dāng)GPIO_KEY勺值為0xFF時,處于無按鍵狀態(tài),只有當(dāng)GPIO_KEY|E1時且延時一段時間后還是該狀態(tài)才判斷有效.當(dāng)按鍵彈起時,才認(rèn)為完成了一次按鍵,并把它的值返回.延時子函數(shù)主要用for進(jìn)行空循環(huán)和while循環(huán)完成.圖6按鍵流程圖2.1.2 電機(jī)驅(qū)動局部該局部主要用if和for語句完成,if語句分別寫出正轉(zhuǎn)加速,正轉(zhuǎn)勻速,正轉(zhuǎn)減速和反轉(zhuǎn)加速,反轉(zhuǎn)勻速,反轉(zhuǎn)減速及停止七種工作狀態(tài)子模塊.當(dāng)每種工作狀態(tài)按鍵有效時,就會執(zhí)行相應(yīng)的子模塊,電機(jī)就會進(jìn)入對應(yīng)的工作狀態(tài).而每個工作狀態(tài)的工作的時間是for循環(huán)
10、來完成的,并用break跳出if循環(huán),預(yù)防在單個狀態(tài)中出現(xiàn)死循環(huán).開始鍵盤掃描是K1?否是K2?否K3?否是K4?K5?否是K6?否是K7?否K8?2.2源程序/*開始停止正轉(zhuǎn)加速正轉(zhuǎn)勻速是正轉(zhuǎn)減速反轉(zhuǎn)加速反轉(zhuǎn)勻速反轉(zhuǎn)減速是圖7主程序流程圖*標(biāo)題:步進(jìn)電機(jī)一單步四柏單步四拍工作方式:正轉(zhuǎn):A/B/AB反轉(zhuǎn):BAB/A/J14短路冒需斷開*/#include"reg52.h"#include<intrins.h>#defineuintunsignedint* defineucharunsignedcharucharstep;定義要使用的IO口* defineGPI
11、O_KEYP2/獨立鍵盤用P2口/聲明全局函數(shù)unsignedcharKey_Scan();延時函數(shù)voiddelay(unsignedintt)unsignedintk;while(t-)for(k=0;k<60;k+)用for的空循環(huán)延長程序的執(zhí)行時間/* 函數(shù)名:main* 函數(shù)功能:主函數(shù)* 輸入:無* 輸出:無*/voidmain(void)unsignedcharvalue,keyNum;value=2;while(1)keyNum=Key_Scan();掃描鍵盤switch(keyNum)case(0xFE):返回按鍵K1的數(shù)據(jù)value=7;/開始,正轉(zhuǎn)勻速break;c
12、ase(0xFD):返回按鍵K2的數(shù)據(jù)value=2;/停止break;case(0xFB):返回按鍵K3的數(shù)據(jù)value=6;正轉(zhuǎn)加速break;case(0xF7):返回按鍵K4的數(shù)據(jù)value=7;正轉(zhuǎn)勻速break;case(0xEF):返回按鍵K5的數(shù)據(jù)value=8;正轉(zhuǎn)減速break;case(0xDF):返回按鍵K6的數(shù)據(jù)value=3;反轉(zhuǎn)加速break;case(0xBF):返回按鍵K7的數(shù)據(jù)value=1;反轉(zhuǎn)勻速break;case(0x7F):返回按鍵K8的數(shù)據(jù)value=5;break;/反轉(zhuǎn)減速default:break;if(value=1)反轉(zhuǎn)勻速ucharb
13、=100;for(step=100;step>0;step-)if(GPIO_KEY!=0xFF)break;elseP1=0xfb;delay(b);P1=0xfd;delay(b);P1=0xf7;delay(b);P1=0xfe;delay(b);break;if(value=3)/反轉(zhuǎn)加速ucharc=100;for(c=100;c>2;c=c-4)if(GPIO_KEY!=0xFF)break;else(P1=0xfb;delay(c);P1=0xfd;delay(c);P1=0xf7;delay(c);P1=0xfe;delay(c);break;if(value=5)
14、/反轉(zhuǎn)減速(uchard=3;for(d=3;d<100;d=d+4)(if(GPIO_KEY!=0xFF)break;else(P1=0xfb;delay(d);P1=0xfd;delay(d);P1=0xf7;delay(d);P1=0xfe;delay(d);/1次break;if(value=6)正轉(zhuǎn)加速(uchare=100;for(e=100;e>2;e=e-4)(if(GPIO_KEY!=0xFF)break;else(P1=0xfe;delay(e);P1=0xf7;delay(e);P1=0xfd;delay(e);P1=0xfb;delay(e);/1次)bre
15、ak;)if(value=7)正轉(zhuǎn)勻速(for(step=100;step>0;step-)(if(GPIO_KEY!=0xFF)break;else(P1=0xfe;delay(100);P1=0xf7;delay(100);P1=0xfd;delay(100);P1=0xfb;delay(100);)break;)if(value=8)正轉(zhuǎn)減速(ucharf=3;for(f=3;f<100;f=f+4)(if(GPIO_KEY!=0xFF)break;else(P1=0xfe;delay(f);P1=0xf7;delay(f);P1=0xfd;delay(f);P1=0xfb;
16、delay(f);/1次)break;)if(value=2)/停止(P1=0xff;)/每個按鍵要按下去久一點才會有效/* 函數(shù)名:Key_Scan()* 函數(shù)功能:掃描鍵盤* 輸入:無* 輸出:讀取到的鍵值*/unsignedcharKey_Scan()(unsignedcharkeyValue=0,i;/保存鍵值/-檢測按鍵1-/if(GPIO_KEY!=0xFF)/檢測按鍵K1是否按下(delay(1);/消除抖動if(GPIO_KEY!=0xFF)再次檢測按鍵是否按下(keyValue=GPIO_KEY;i=0;while(i<50)&&(GPIO_KEY!=0
17、xFF)檢測按鍵是否松開(delay(1);i+;returnkeyValue;將讀取到鍵值的值返回2.3調(diào)試方法和結(jié)果按電路圖連接,用keil軟件編寫程序,用普中自動下載程序到單片機(jī)上,分別按按鍵順序操作,分別是開始,停止,正轉(zhuǎn)加速,正轉(zhuǎn)勻速,正轉(zhuǎn)減速,反轉(zhuǎn)加速,反轉(zhuǎn)勻速,反轉(zhuǎn)減速等功能.程序編譯正確,能實現(xiàn)開始,停止,正轉(zhuǎn)加速,正轉(zhuǎn)勻速,正轉(zhuǎn)減速,反轉(zhuǎn)加速,反轉(zhuǎn)勻速,反轉(zhuǎn)減速等功能.并且各功能能自由切換.3.實物展示3“0w二、課程設(shè)計工作記錄:1.設(shè)計步驟與時間安排6月13日拿到課程設(shè)計題目,把所有要求都看了一遍,并進(jìn)行排序.6月14日-6月15日在網(wǎng)上和圖書館查找相關(guān)資料.6月16日確
18、定設(shè)計所需要的器件并準(zhǔn)備好.6月17日-6月18日了解步進(jìn)電機(jī)和STC90C51單片機(jī)的工作原理.6月19日編寫步進(jìn)電機(jī)勻速工作程序.6月20日-6月23日編寫按鍵限制程序.6月24日編寫步進(jìn)電機(jī)正反轉(zhuǎn)程序.6月25日-6月26日編寫步進(jìn)電機(jī)加減速和步數(shù)限制程序.6月27日對整個系統(tǒng)程序綜合運用.6月28日課程設(shè)計演示.6月29日-6月30日寫課程設(shè)計報告7月1日提交報告.2 .調(diào)試步驟與時間安排6月19日步進(jìn)電機(jī)勻速工作程序調(diào)試.6月20日-6月23日按鍵限制程序調(diào)試.6月24日步進(jìn)電機(jī)正反轉(zhuǎn)程序調(diào)試.6月25日-6月26日步進(jìn)電機(jī)加減速和步數(shù)限制程序調(diào)試.6月27日系統(tǒng)總程序調(diào)試.3 .課
19、題完成結(jié)果說明本課題完成了設(shè)計的根本功能,能按鍵限制步進(jìn)電機(jī)的啟動、停止、正轉(zhuǎn)、反轉(zhuǎn)、加速和減速等狀態(tài),并可以在各個狀態(tài)中自由切換.同時步進(jìn)電機(jī)到達(dá)要求所轉(zhuǎn)的步數(shù)后可以自動跳出工作狀態(tài).但設(shè)計缺乏的是個別按鍵靈敏度較低,需要按鍵時間長些或?qū)掖伟存I才有效.其次是擴(kuò)展也沒有完成.同時,也還可以擴(kuò)展LED或LCD顯示步進(jìn)電機(jī)的步數(shù),轉(zhuǎn)速等.4 .課題總結(jié)在這次課程設(shè)計中我掌握了STC90C51單片機(jī)的根本運用過程,對課上的知識有了更深入的理解.在編程上,根本掌握了C語言在單片機(jī)上的運用.在硬件上,了解了步進(jìn)電機(jī)的工作原理,也懂了一些單片機(jī)設(shè)計應(yīng)用實驗在實際操作過程中應(yīng)注意的問題.從理論知識到實際動手
20、,我感覺到了實踐的重要,它是所學(xué)知識的實際應(yīng)用.在這次課程設(shè)計中,我發(fā)現(xiàn)了自己的缺乏,如C語言根底差,分析程序水平較低等.在空余時間里,我會繼續(xù)深入學(xué)習(xí),努力掌握單片機(jī)的相關(guān)知識,為畢業(yè)設(shè)計做準(zhǔn)備.附件1:/*標(biāo)題:步進(jìn)電機(jī)拍數(shù)和旋轉(zhuǎn)角度驗證單步四拍單步四拍工作方式:正轉(zhuǎn):A/B/AB反轉(zhuǎn):BAB/A/J14短路冒需斷開*/#include"reg52.h"#include<intrins.h>/-定義要使用的ion-/#defineGPIO_KEYP2/獨立鍵盤用P2口/聲明全局函數(shù)unsignedcharKey_Scan();/延時函數(shù)voiddelay(unsignedintt)(unsignedintk;while(t-)(for(k=0;k<60;k+)()/用for的空循環(huán)
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)科學(xué)課程《認(rèn)識我自己》
- 公路epc合同樣本
- 農(nóng)村拆遷合同樣本
- 傳媒文化公司合同標(biāo)準(zhǔn)文本
- 公司車輛采購合同樣本
- 婦聯(lián)培訓(xùn)工作總結(jié)
- 冰箱保修服務(wù)合同標(biāo)準(zhǔn)文本
- 農(nóng)業(yè)項目工程合同范例
- 農(nóng)業(yè)養(yǎng)雞養(yǎng)殖合同樣本
- 買貨物合同樣本
- 醫(yī)院檢驗科簡介
- 成人手術(shù)后疼痛評估與護(hù)理團(tuán)體標(biāo)準(zhǔn)
- 連鎖藥店年度規(guī)劃
- 2024年10月自考07729倉儲技術(shù)與庫存理論試題及答案
- 血液透析頭痛的應(yīng)急預(yù)案
- 肝硬化肝性腦病指南
- 2018中國技能?賽全國選拔賽“3D數(shù)字游戲藝術(shù)”項?技能樣題
- 屈原簡介課件教學(xué)課件
- 抗菌藥物的合理應(yīng)用培訓(xùn)
- 《十二怒漢》電影賞析
- 高效能人士的七個習(xí)慣(課件)
評論
0/150
提交評論