步進(jìn)電機(jī)控制系統(tǒng)_第1頁(yè)
步進(jìn)電機(jī)控制系統(tǒng)_第2頁(yè)
步進(jìn)電機(jī)控制系統(tǒng)_第3頁(yè)
步進(jìn)電機(jī)控制系統(tǒng)_第4頁(yè)
步進(jìn)電機(jī)控制系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、河北地質(zhì)大學(xué)信息工程學(xué)院電子信息工程專業(yè)單片機(jī)課程設(shè)計(jì)報(bào)告題目步進(jìn)電機(jī)控制系統(tǒng)姓名學(xué)號(hào)班級(jí)指導(dǎo)教師2016年 7 月 1 日課程設(shè)計(jì)任務(wù)書(shū)班級(jí)姓名學(xué)號(hào)課程設(shè)計(jì)題目步進(jìn)電機(jī)控制系統(tǒng)課程設(shè)計(jì)起止日期至實(shí)習(xí)地點(diǎn)課程設(shè)計(jì)內(nèi)容與要求(包括:設(shè)計(jì)任務(wù)及要求、設(shè)計(jì)原理、所需儀器設(shè)備、驗(yàn)收標(biāo)準(zhǔn))一、基本功能:1、加速運(yùn)轉(zhuǎn) 100 步,勻速運(yùn)轉(zhuǎn) 100 步,減速運(yùn)轉(zhuǎn) 100 步,反方向加速 100 步,反方向勻速;100 步,反方向減速 100 步;2、電機(jī)的啟動(dòng)、停止、加減速、正反向等均可由按鍵控制。二、擴(kuò)展功能:1、一段時(shí)間內(nèi) (ss)將轉(zhuǎn)速加到 100 轉(zhuǎn)/ 分鐘,勻速運(yùn)轉(zhuǎn)一段時(shí)間(ss)后停止,正反方向

2、均可控制;2、通過(guò)鍵盤設(shè)置電機(jī)轉(zhuǎn)動(dòng)的角度: 步進(jìn)方式 : 即每按一次鍵,電機(jī)轉(zhuǎn)過(guò)一定的角度(如360);設(shè)定方式 : 由鍵盤直接輸入一個(gè)電機(jī)要旋轉(zhuǎn)的角度,如輸入210 再按“確定”后,電機(jī)旋轉(zhuǎn)210度,正反方向均可控制;3、其他自行增加的功能。指導(dǎo)教師 2016年 7 月 1 日課程設(shè)計(jì)報(bào)告注:此表可加附頁(yè)一、設(shè)計(jì)原理與技術(shù)方法:( 包括:電路工作原理分析與原理圖、元器件選擇、電路調(diào)試方法與結(jié)果說(shuō)明;軟件設(shè)計(jì)說(shuō)明書(shū)與流程圖、軟件源程序代碼、軟件調(diào)試方法與運(yùn)行結(jié)果說(shuō)明。) 1. 電路工作原理分析1.1 系統(tǒng)工作原理系統(tǒng)是以 stc90c51 單片機(jī)為核心(如圖4) 。該系統(tǒng)通過(guò)對(duì)stc90c51

3、 單片機(jī) p1的賦值,以 tc1117為驅(qū)動(dòng)芯片(如圖3) ,并通過(guò)單片機(jī)程序控制和處理,從而實(shí)現(xiàn)了步進(jìn)電機(jī)的狀態(tài)控制。通過(guò)獨(dú)立鍵盤的命令輸入,經(jīng)stc90c51 單片機(jī)處理后,可以實(shí)現(xiàn)步進(jìn)電機(jī)開(kāi)始和停止,正轉(zhuǎn)和反轉(zhuǎn),加速和減速等狀態(tài)的變換。由于步進(jìn)電機(jī)是一種將電脈沖信號(hào)轉(zhuǎn)換成直線或角位移的執(zhí)行元件,它不能直接接到交直流電源上, 而必須使用專業(yè)設(shè)備 -步進(jìn)電機(jī)控制驅(qū)動(dòng)器。 所以該系統(tǒng)使用tc1117為驅(qū)動(dòng)芯片:控制器可以發(fā)出脈沖頻率從幾赫茲到幾千赫茲可以連續(xù)變化的脈沖信號(hào),它為環(huán)形分配器提供脈沖序列, 環(huán)形分配器的主要功能是把來(lái)自控制環(huán)節(jié)的脈沖序列按一定的規(guī)律分配后,以驅(qū)動(dòng)步進(jìn)電機(jī)的轉(zhuǎn)動(dòng), 環(huán)

4、形分配器是在該系統(tǒng)中是用計(jì)算機(jī)軟件設(shè)計(jì)的方法實(shí)現(xiàn)環(huán)形分配器要求的功能。系統(tǒng)步進(jìn)電機(jī)的勵(lì)磁方式為兩相單四拍,即 - +- 。圖 1 步進(jìn)電機(jī)原理圖. . 步進(jìn)電機(jī)的換向控制如果給定工作方式正序通電,步進(jìn)電機(jī)正轉(zhuǎn),即- +- ;如果按反序通電,即 -+-,則電機(jī)就反轉(zhuǎn)。在某一高速下的正、反向切換實(shí)質(zhì)包含了降速換向加速3 個(gè)過(guò)程。.步進(jìn)電機(jī)的速度控制如果給步進(jìn)電機(jī)發(fā)一個(gè)控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個(gè)脈沖,它會(huì)再轉(zhuǎn)一步。兩個(gè)脈沖的間隔越短,步進(jìn)電機(jī)就轉(zhuǎn)得越快。所以通過(guò)改變單步延時(shí)時(shí)間的長(zhǎng)短,就可以對(duì)步進(jìn)電機(jī)實(shí)現(xiàn)加速,勻速和減速。.步進(jìn)電機(jī)的起??刂撇竭M(jìn)電機(jī)由于其電氣特性,運(yùn)轉(zhuǎn)時(shí)會(huì)有步進(jìn)感。還因?yàn)閼T性作

5、用,所以在啟動(dòng)時(shí),必須有加速過(guò)程,在停止時(shí)必須有減速過(guò)程。. 元器件選擇. . 步進(jìn)電機(jī)步進(jìn)電機(jī)是數(shù)字控制電機(jī),它將脈沖信號(hào)轉(zhuǎn)變成角位移,即給一個(gè)脈沖信號(hào),步進(jìn)電機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度,因此適合用單片機(jī)控制。步進(jìn)電機(jī)區(qū)別于其他控制電機(jī)的最大特點(diǎn)是:它是通過(guò)輸入脈沖信號(hào)來(lái)進(jìn)行控制的,即電機(jī)的總轉(zhuǎn)動(dòng)角度由輸入脈沖數(shù)決定。步進(jìn)電機(jī)分三種:永磁式(pm ) ,反應(yīng)式( vr )和混合式 (hb),步進(jìn)電機(jī)又稱為脈沖電機(jī),是工業(yè)過(guò)程控制和儀表中一種能夠快速啟動(dòng),反轉(zhuǎn)和制動(dòng)的執(zhí)行元件。每個(gè)一個(gè)脈沖,步進(jìn)電機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度(不距角)或前進(jìn)、倒退一步。步進(jìn)電機(jī)旋轉(zhuǎn)的角度由輸入的電脈沖數(shù)確定,所以,也有人稱步進(jìn)電機(jī)為

6、數(shù)字/ 角度轉(zhuǎn)換器。該系統(tǒng)步進(jìn)電機(jī)工作方式是兩相單四拍, 電機(jī)工作的賦值如圖2, 分別為 0 xf7,0 xfb,0 xfd,0 xfe, 當(dāng)連續(xù)不斷給他賦值時(shí),步進(jìn)電機(jī)就能夠轉(zhuǎn)起來(lái)。關(guān)于步進(jìn)電機(jī)的旋轉(zhuǎn)角度和和拍數(shù)賦值我單獨(dú)寫(xiě)了個(gè)小程序進(jìn)行了驗(yàn)證,其結(jié)果是:每次給步進(jìn)電機(jī)端口賦一組值(即一拍) ,步進(jìn)電機(jī)轉(zhuǎn)動(dòng)一次,每拍轉(zhuǎn)過(guò)的角度是18 度。所以單四拍一輪賦值轉(zhuǎn)過(guò)的是32 度。具體步驟如下:用單四拍的工作方式給電機(jī)賦值,用按鍵控制,即每按下一次按鍵,給步進(jìn)電機(jī)賦一輪值(四拍) 。在步進(jìn)電機(jī)上做個(gè)標(biāo)記,每按一次,觀察一次,最終按了 5 次電機(jī)轉(zhuǎn)了約 360 度。即每拍步數(shù)的角度 =360/(4*5

7、)=18 度。驗(yàn)證小程序在附件 1。步進(jìn)電機(jī)的 a-,a+,b-,b+口分別接入驅(qū)動(dòng)芯片的outa ,outb ,outc 和 outd 口。圖 3 步進(jìn)電機(jī)驅(qū)動(dòng)圖1.2.2 stc90c51 單片機(jī)atmel 公司生產(chǎn)的 stc90c51 單片機(jī)是一種低功耗 / 低電壓、高性能的 8 位單片機(jī),它采用 cmos 和高密度非易失性存儲(chǔ)技術(shù),而且其輸出引腳和指令系統(tǒng)都與mcs-51兼容;片內(nèi)的 flash rom 允許在系統(tǒng)內(nèi)改編程序或用常規(guī)的非易失性編程器來(lái)編程,內(nèi)部除 cpu 外,還包括 256字節(jié) ram ,4 個(gè) 8 位并行 i/o 口,個(gè)中斷源, 2 個(gè)中斷優(yōu)先級(jí),2 個(gè) 16 位可編

8、程定時(shí)計(jì)數(shù)器, stc90c51 單片機(jī)是一種功能強(qiáng)、靈活性高且價(jià)格合a- a+ b- b+ 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 圖 2 步進(jìn)電機(jī)控制口賦值表理的單片機(jī),它適合該系統(tǒng)的編程。p1.0-p1.4 口接驅(qū)動(dòng)芯片的ina-ind。圖 4 stc90c51單片機(jī)原理圖. 系統(tǒng)設(shè)計(jì)框圖stc90c51 單片機(jī)獨(dú) 立 鍵 盤控制電路tc1117啟 動(dòng) 電路雙 極 性兩 相 步進(jìn)電機(jī)電源電路圖 5 總體設(shè)計(jì)方框圖2. 軟件設(shè)計(jì). 原理和流程圖整個(gè)系統(tǒng)由按鍵和電機(jī)驅(qū)動(dòng)兩部分。 按鍵主要功能是判斷是否有鍵按鍵下且按鍵按下后是否彈起來(lái),只有當(dāng)這兩個(gè)過(guò)程都執(zhí)行才認(rèn)為是一次

9、按鍵。而電機(jī)驅(qū)動(dòng)程序(即主程序)的功能是判斷是哪個(gè)鍵按下,并執(zhí)行相應(yīng)的功能。2.1.1 按鍵部分它包擴(kuò)一個(gè)延時(shí)子函數(shù)和按鍵判斷子函數(shù)。按鍵是低有效,所以當(dāng)gpio_key 的值為 0 xff 時(shí),處于無(wú)按鍵狀態(tài),只有當(dāng)gpio_key 非 1 時(shí)且延時(shí)一段時(shí)間后還是該狀態(tài)才判斷有效。當(dāng)按鍵彈起時(shí),才認(rèn)為完成了一次按鍵,并把它的值返回。延時(shí)子函數(shù)主要用 for 進(jìn)行空循環(huán)和 while 循環(huán)完成。2.1.2 電機(jī)驅(qū)動(dòng)部分該部分主要用 if和 for 語(yǔ)句完成, if語(yǔ)句分別寫(xiě)出正轉(zhuǎn)加速, 正轉(zhuǎn)勻速, 正轉(zhuǎn)減速和反轉(zhuǎn)加速,反轉(zhuǎn)勻速,反轉(zhuǎn)減速及停止七種工作狀態(tài)子模塊。當(dāng)每種工作狀態(tài)按鍵有效時(shí),就會(huì)執(zhí)

10、行相應(yīng)的子模塊,電機(jī)就會(huì)進(jìn)入對(duì)應(yīng)的工作狀態(tài)。而每個(gè)工作狀態(tài)的工作的時(shí)間是 for 循環(huán)來(lái)完成的,并用break 跳出 if循環(huán),防止在單個(gè)狀態(tài)中出現(xiàn)死循環(huán)。鍵盤掃描按鍵?執(zhí)行結(jié)束開(kāi)始是否圖 6 按鍵流程圖2.2 源程序/* * 標(biāo)題 : 步進(jìn)電機(jī)一 (單步四拍 ) * 單步四拍工作方式:* 正轉(zhuǎn): a/ b/ a b * 反轉(zhuǎn): b a b/ a/ 開(kāi)始鍵盤掃描k1? 開(kāi)始k2? 停止k3? 正轉(zhuǎn)加速k4? 正轉(zhuǎn)勻速是是是是否否否k5? 正轉(zhuǎn)減速k6? 反轉(zhuǎn)加速k7? 反轉(zhuǎn)勻速k8? 反轉(zhuǎn)減速是是是否否否否否圖 7 主程序流程圖j14短路冒需斷開(kāi)*/ #include reg52.h #inc

11、lude #define uint unsigned int #define uchar unsigned char uchar step; /定義要使用的io 口#define gpio_key p2 /獨(dú)立鍵盤用p2 口/聲明全局函數(shù)unsigned char key_scan(); /延時(shí)函數(shù)void delay(unsigned int t) unsigned int k; while(t-) for(k=0;k0;step-) if(gpio_key !=0 xff) break; else p1=0 xfb; delay(b); p1=0 xfd; delay(b); p1=0 x

12、f7; delay(b); p1=0 xfe; delay(b); break; if(value=3)/ 反轉(zhuǎn)加速 uchar c=100; for(c=100;c2;c=c-4) if(gpio_key !=0 xff) break; else p1=0 xfb; delay(c); p1=0 xfd; delay(c); p1=0 xf7; delay(c); p1=0 xfe; delay(c); break; if(value=5)/ 反轉(zhuǎn)減速 uchar d=3; for(d=3;d2;e=e-4) if(gpio_key !=0 xff) break; else p1=0 xfe

13、; delay(e); p1=0 xf7; delay(e); p1=0 xfd; delay(e); p1=0 xfb; delay(e);/1 次 break; if(value=7) /正轉(zhuǎn)勻速 for(step=100;step0;step-) if(gpio_key !=0 xff) break; else p1=0 xfe; delay(100); p1=0 xf7; delay(100); p1=0 xfd; delay(100); p1=0 xfb; delay(100); break; if(value=8) /正轉(zhuǎn)減速 uchar f=3; for(f=3;f100;f=f

14、+4) if(gpio_key !=0 xff) break; else p1=0 xfe; delay(f); p1=0 xf7; delay(f); p1=0 xfd; delay(f); p1=0 xfb; delay(f);/1 次 break; if(value=2)/ 停止 p1=0 xff; / 每個(gè)按鍵要按下去久一點(diǎn)才會(huì)有效/* * 函 數(shù) 名: key_scan() * 函數(shù)功能: 掃描鍵盤* 輸入: 無(wú)* 輸出: 讀取到的鍵值*/ unsigned char key_scan() unsigned char keyvalue = 0 , i; / 保存鍵值/-檢測(cè)按鍵1-/

15、 if (gpio_key != 0 xff) /檢測(cè)按鍵k1 是否按下 delay(1); /消除抖動(dòng)if (gpio_key != 0 xff) /再次檢測(cè)按鍵是否按下 keyvalue = gpio_key; i = 0; while (i50) & (gpio_key != 0 xff) /檢測(cè)按鍵是否松開(kāi) delay(1); i+; return keyvalue; /將讀取到鍵值的值返回 2.3 調(diào)試方法和結(jié)果按電路圖連接, 用 keil 軟件編寫(xiě)程序, 用普中自動(dòng)下載程序到單片機(jī)上,分別按按鍵順序操作,分別是開(kāi)始,停止,正轉(zhuǎn)加速,正轉(zhuǎn)勻速,正轉(zhuǎn)減速,反轉(zhuǎn)加速,反轉(zhuǎn)勻速,反

16、轉(zhuǎn)減速等功能。程序編譯正確,能實(shí)現(xiàn)開(kāi)始,停止,正轉(zhuǎn)加速,正轉(zhuǎn)勻速,正轉(zhuǎn)減速,反轉(zhuǎn)加速,反轉(zhuǎn)勻速,反轉(zhuǎn)減速等功能。并且各功能能自由切換。3. 實(shí)物展示二、課程設(shè)計(jì)工作記錄:1. 設(shè)計(jì)步驟與時(shí)間安排6 月 13 日 拿到課程設(shè)計(jì)題目,把所有要求都看了一遍,并進(jìn)行排序。6 月 14 日-6 月 15 日 在網(wǎng)上和圖書(shū)館查找相關(guān)資料。6 月 16 日 確定設(shè)計(jì)所需要的器件并準(zhǔn)備好。6 月 17 日-6 月 18 日 了解步進(jìn)電機(jī)和 stc90c51 單片機(jī)的工作原理。6 月 19 日 編寫(xiě)步進(jìn)電機(jī)勻速工作程序。6 月 20 日-6 月 23 日 編寫(xiě)按鍵控制程序。6 月 24 日 編寫(xiě)步進(jìn)電機(jī)正反轉(zhuǎn)程

17、序。6 月 25 日-6 月 26 日 編寫(xiě)步進(jìn)電機(jī)加減速和步數(shù)控制程序。6 月 27 日 對(duì)整個(gè)系統(tǒng)程序綜合運(yùn)用。6 月 28 日 課程設(shè)計(jì)演示。6 月 29 日-6 月 30 日 寫(xiě)課程設(shè)計(jì)報(bào)告7 月 1 日 提交報(bào)告。2. 調(diào)試步驟與時(shí)間安排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. 課題完成結(jié)果說(shuō)明本課題完成了設(shè)計(jì)的基本功能,能按鍵控制步進(jìn)電機(jī)的啟動(dòng)、停止、正轉(zhuǎn)、反轉(zhuǎn)、加速和減速等狀

18、態(tài),并可以在各個(gè)狀態(tài)中自由切換。同時(shí)步進(jìn)電機(jī)達(dá)到要求所轉(zhuǎn)的步數(shù)后可以自動(dòng)跳出工作狀態(tài)。但設(shè)計(jì)不足的是個(gè)別按鍵靈敏度較低,需要按鍵時(shí)間長(zhǎng)些或多次按鍵才有效。其次是擴(kuò)展也沒(méi)有完成。同時(shí), 也還可以擴(kuò)展led或 lcd顯示步進(jìn)電機(jī)的步數(shù),轉(zhuǎn)速等。4. 課題總結(jié)在這次課程設(shè)計(jì)中我掌握了stc90c51 單片機(jī)的基本運(yùn)用過(guò)程,對(duì)課上的知識(shí)有了更深入的理解。在編程上,基本掌握了c 語(yǔ)言在單片機(jī)上的運(yùn)用。在硬件上,了解了步進(jìn)電機(jī)的工作原理,也懂了一些單片機(jī)設(shè)計(jì)應(yīng)用實(shí)驗(yàn)在實(shí)際操作過(guò)程中應(yīng)注意的問(wèn)題。從理論知識(shí)到實(shí)際動(dòng)手,我感覺(jué)到了實(shí)踐的重要,它是所學(xué)知識(shí)的實(shí)際應(yīng)用。在這次課程設(shè)計(jì)中,我發(fā)現(xiàn)了自己的不足,如 c

19、 語(yǔ)言基礎(chǔ)差,分析程序能力較低等。在空余時(shí)間里,我會(huì)繼續(xù)深入學(xué)習(xí),努力掌握單片機(jī)的相關(guān)知識(shí),為畢業(yè)設(shè)計(jì)做準(zhǔn)備。附件 1:/* * 標(biāo)題 : 步進(jìn)電機(jī)拍數(shù)和旋轉(zhuǎn)角度驗(yàn)證( 單步四拍 ) * * * * 單步四拍工作方式: * * 正轉(zhuǎn): a/ b/ a b * * 反轉(zhuǎn): b a b/ a/ * j14短路冒需斷開(kāi) * */ #include reg52.h #include /-定義要使用的io 口-/ #define gpio_key p2 /獨(dú)立鍵盤用p2口/ 聲明全局函數(shù)unsigned char key_scan(); / 延時(shí)函數(shù)void delay(unsigned int t) unsigned int k; while(t-) for(k=0;k60;k+) /用 for 的空循環(huán)延長(zhǎng)程序的執(zhí)行時(shí)間 /* * 函 數(shù) 名 : main * 函數(shù)功能 : 主函數(shù)* 輸入 : 無(wú)* 輸出 : 無(wú)*/ void main(void) unsigned char value, keynum; value=2; while (1) keynum = k

溫馨提示

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

評(píng)論

0/150

提交評(píng)論