版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì) </b></p><p> 題目:?jiǎn)纹瑱C(jī)控制步進(jìn)電機(jī)的設(shè)計(jì)</p><p> 姓名: </p><p> 專業(yè): </p><p> 學(xué)號(hào):
2、 </p><p> 2011年10月22日</p><p> 單片機(jī)控制步進(jìn)電機(jī)的設(shè)計(jì)</p><p><b> 一、設(shè)計(jì)題目的背景</b></p><p><b> 1、步進(jìn)電機(jī)的原理</b></p><p>
3、 步進(jìn)電動(dòng)機(jī)又稱為脈沖電動(dòng)機(jī),是數(shù)字控制系統(tǒng)的一種執(zhí)行元件,其功用是將脈沖信號(hào)變換為相應(yīng)的角位移或直線位移,既給一個(gè)脈沖電信號(hào),電動(dòng)機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度或前進(jìn)一步,根據(jù)結(jié)構(gòu)和工作原理,步進(jìn)電動(dòng)機(jī)分為:永磁式、混合式、反應(yīng)式。單片機(jī)在應(yīng)用系統(tǒng)中應(yīng)用較多是反應(yīng)式步進(jìn)電動(dòng)機(jī),反應(yīng)式步進(jìn)電動(dòng)機(jī)具有步進(jìn)頻率高、頻率 相應(yīng)快等優(yōu)點(diǎn)。</p><p> 步進(jìn)電動(dòng)機(jī)的控制原理是通過(guò)它每相線圈的電流的順序切換來(lái)使電機(jī)作步進(jìn)式旋轉(zhuǎn),驅(qū)
4、動(dòng)電路由脈沖控制,所以調(diào)節(jié)脈沖的頻率便可改 變步進(jìn)電機(jī)的轉(zhuǎn)速,微控制器最適合控制步進(jìn)電機(jī)。</p><p> 此次設(shè)計(jì)步進(jìn)電機(jī)共有四個(gè)相位(A、B、C、D),按轉(zhuǎn)動(dòng)步驟分為單四拍(A 、 B 、 C 、 D 、 A)</p><p> 四相雙四拍:電機(jī)正轉(zhuǎn) ( AB 、 BC 、 CD 、 DA 、AB)</p><p> 電機(jī)反轉(zhuǎn)
5、 ( DA、AB 、 BC 、 CD、 DA)</p><p> 單雙8拍(A、 AB、 B、 BC、 C、CD 、 D、DA、 A)</p><p><b> 2、應(yīng)用領(lǐng)域</b></p><p> 目前,我國(guó)以較多地將步進(jìn)電動(dòng)機(jī)用于機(jī)械加工的數(shù)字程序控制機(jī)床中,在繪圖機(jī)、軋鋼機(jī)的自動(dòng)控制,自動(dòng)記錄儀表和數(shù)模變換等方面也得到很多應(yīng)用。
6、</p><p><b> 二、設(shè)計(jì)原理</b></p><p><b> 1、設(shè)計(jì)目的</b></p><p> ?。?)了解步進(jìn)電機(jī)的基本原理,掌握步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)編程方法 </p><p> ?。?)了解影響電機(jī)轉(zhuǎn)速的因素有哪些</p><p><b>
7、三、電路設(shè)計(jì)</b></p><p><b> 1、單片機(jī)的選型</b></p><p> 現(xiàn)在普遍的用的是80C31和80C51,80C51的EA加上高低電平,決定單片機(jī)訪問(wèn)內(nèi)部或外部的程序存儲(chǔ)器,EA高電平時(shí),訪問(wèn)內(nèi)部程序存儲(chǔ)器,但當(dāng)程序計(jì)數(shù)器(PC)值超過(guò)0FFH時(shí)單片機(jī)自動(dòng)轉(zhuǎn)向外部程序存儲(chǔ)器。當(dāng)EA為低電平時(shí),不管單片機(jī)有無(wú)內(nèi)部存儲(chǔ)器,只訪問(wèn)外
8、部存儲(chǔ)器。80C31沒(méi)有內(nèi)部存儲(chǔ)器,所以EA必須接地,這樣單片機(jī)只能選擇外部程序存儲(chǔ)器。所以80C51性能比較好。</p><p><b> 2、硬件電路圖</b></p><p><b> 四 軟件設(shè)計(jì)</b></p><p><b> 1、程序框圖</b></p><
9、;p><b> 2、完整的程序</b></p><p> ;EXTRNCODE(INIT8279,SCAN_KEY,Display8)</p><p> MAIN_CODESEGMENTCODE</p><p> MAIN_BITSEGMENTBIT</p><p> MAIN_DATA
10、SEGMENTDATA</p><p> STACKSEGMENTIDATA</p><p> ;PUBLICINIT8279,SCAN_KEY,Display8</p><p> CMD_8279XDATA0bF01H</p><p> DATA_8279XDATA0bF00H</p>
11、<p> RSEGMAIN_DATA</p><p> StepControl:DS1</p><p> buffer:DS8</p><p> SpeedNo: DS1</p><p> StepDelay:DS1</p><p> StartSte
12、pDelay:DS1</p><p> StartStepDelay1:DS1</p><p> RSEGMAIN_BIT</p><p> bFirst:DBIT1</p><p> bClockwise:DBIT1</p><p> bNeedDisplay: DBIT
13、1</p><p> RSEGSTACK</p><p><b> DS20H</b></p><p> CSEGAT0000H</p><p> LJMPSTAR</p><p> CSEGAT000BH</p><p> LJMP
14、TIMER0</p><p> RSEGMAIN_CODE</p><p> STAR:MOVSP,#STACK-1</p><p> ACALL INIT8279</p><p> SETBbFirst</p><p> SETB bClockwis
15、e</p><p> MOVStepControl,#33H</p><p> MOV SpeedNo,#5</p><p> MOVTMOD,#02H</p><p> MOVTH0,#55</p><p> MOVTL0,#55</p><p&g
16、t; MOVIE,#82H</p><p> MOVBuffer+7,#0</p><p> MOVbuffer+6,#0</p><p> MOVbuffer+5,#0</p><p> MOVbuffer+4,#0</p><p> MOVbuffer+3,#10H</p&
17、gt;<p> MOVbuffer+2,SpeedNo</p><p> MOVbuffer+1,#10H</p><p> MOVbuffer,#0</p><p> STAR2:MOVR0,#buffer</p><p> ACALLDisplay8</p><p>
18、 STAR3:ACALLScan_Key</p><p><b> JCSTAR5</b></p><p> JNBbNeedDisplay,STAR3</p><p> CLRbNeedDisplay</p><p> ACALLStep_SUB_1</p><p&
19、gt; SJMPSTAR2</p><p> STAR5:CLRTR0</p><p> CJNEA,#10,$+3</p><p> JNCSTAR1</p><p> MOVbuffer+4,buffer+5</p><p> MOVbuffer+5,buffer+6<
20、/p><p> MOVbuffer+6,buffer+7</p><p> MOVBuffer+7,A</p><p> SJMPSTAR2</p><p> STAR1:CJNEA,#14,$+3</p><p> JNCSTAR3</p><p> MOV
21、DPTR,#DriverTab</p><p><b> CLRC</b></p><p> SUBBA,#10</p><p><b> RLA</b></p><p> JMP@A+DPTR</p><p> DriverTab:SJMPD
22、irection</p><p> SJMPSpeed_up</p><p> SJMPSpeed_Down</p><p> SJMPExec</p><p> Direction:CPLbClockwise</p><p> JBbClockwise,Clockwise</p&
23、gt;<p> MOVbuffer,#1</p><p> AntiClockwise:JNBbFirst,AntiClockwise1</p><p> MOVStepControl,#91H</p><p> SJMPDirection1</p><p> AntiClockwise1:MOVA
24、,StepControl</p><p><b> RRA</b></p><p><b> RRA</b></p><p> MOVStepControl,A</p><p> SJMPDirection1</p><p> Clockwise:
25、MOVbuffer,#0</p><p> JNBbFirst,Clockwise1</p><p> MOVStepControl,#33H</p><p> SJMPDirection1</p><p> Clockwise1:MOVA,StepControl</p><p><
26、b> RLA</b></p><p><b> RLA</b></p><p> MOVStepControl,A</p><p> Direction1: SJMP STAR2</p><p> Speed_up: MOV A
27、,SpeedNo</p><p> CJNEA,#11,Speed_up1</p><p> SJMPspeed_up2</p><p> Speed_up1:INCSpeedNo</p><p> MOVbuffer+2,SpeedNo</p><p> Speed_up2:SJMP
28、STAR2</p><p> Speed_Down:MOVA,SpeedNo</p><p> JZSpeed_Down1</p><p> DECSpeedNo</p><p> MOVbuffer+2,SpeedNo</p><p> Speed_Down1:SJMPSTAR
29、2</p><p> Exec:CLRbFirst</p><p> ACALLTakeStepCount</p><p> MOVDPTR,#StepDelayTab</p><p> MOVA,SpeedNo</p><p> MOVCA,@A+DPTR</p>&
30、lt;p> MOVStepDelay,A</p><p> CJNEA,#50,$+3</p><p> JNCExec1</p><p> MOVA,#50</p><p> Exec1:MOVStartStepDelay,A</p><p> MOVStartStep
31、Delay1,A</p><p><b> SETBTR0</b></p><p> AJMPSTAR2</p><p> StepDelayTab:DB250,125,83,62,50,42,36,32,28,25,22,21</p><p> TIMER0:PUSHACC</p
32、><p> DJNZStartStepDelay,TIMER0_1</p><p> MOVA,StartStepDelay1</p><p> CJNEA,StepDelay,TIMER0_5</p><p> SJMPTIMER0_2</p><p> TIMER0_5:DECA<
33、;/p><p> MOVStartStepDelay1,A</p><p> TIMER0_2:MOVStartStepDelay,A</p><p> MOVA,StepControl</p><p><b> CPLA</b></p><p><b> MO
34、VP1,A</b></p><p><b> CPLA</b></p><p> JBbClockwise,TIMER0_3</p><p><b> RRA</b></p><p> SJMPTIMER0_4</p><p> TI
35、MER0_3:RLA</p><p> TIMER0_4:MOVStepControl,A</p><p><b> MOVA,R6</b></p><p><b> ORLA,R7</b></p><p> JZTIMER0_1</p><p
36、> SETBbNeedDisplay</p><p> DJNZR7,TIMER0_1</p><p> DJNZR6,TIMER0_1</p><p><b> CLRTR0</b></p><p> TIMER0_1:POPACC</p><p><
37、;b> RETI</b></p><p> Step_SUB_1:MOVR5,#4</p><p> MOVR0,#buffer+7</p><p> Step_SUB_1_1:MOVA,@R0</p><p><b> DEC@R0</b></p><
38、;p> JNZStep_SUB_1_2</p><p> MOV@R0,#9</p><p><b> DECR0</b></p><p> DJNZR5,Step_SUB_1_1</p><p> Step_SUB_1_2:RET</p><p> TakeS
39、tepCount:MOVA,buffer+4</p><p> MOVB,#10</p><p><b> MULAB</b></p><p> ADDA,buffer+5</p><p> MOVB,#10</p><p><b> MULAB<
40、;/b></p><p> ADDA,buffer+6</p><p><b> MOVR7,A</b></p><p><b> MOVA,B</b></p><p> ADDCA,#0</p><p> MOVB,#10</p&g
41、t;<p><b> MULAB</b></p><p><b> XCHA,R7</b></p><p> MOVB,#10</p><p><b> MULAB</b></p><p><b> XCHA,B</b
42、></p><p><b> ADDA,R7</b></p><p><b> XCHA,B</b></p><p> ADDA,buffer+7</p><p><b> MOVR7,A</b></p><p><b
43、> MOVA,B</b></p><p> ADDCA,#0</p><p><b> MOVR6,A</b></p><p> CJNER7,#0,TakeStepCount1</p><p><b> RET</b></p><p&
44、gt; TakeStepCount1:INCR6</p><p><b> RET</b></p><p> INIT8279: MOVA,#34H</p><p> MOVX@DPTR,A</p><p><b> CLRA</b></p>&
45、lt;p> MOVDPTR,#CMD_8279</p><p> MOVX@DPTR,A</p><p> INIT8279_1: CALLCLEAR</p><p> MOVA,#90H</p><p> MOVX@DPTR,A</p><p><b> RET
46、</b></p><p> CLEAR:MOVA,#0DEH</p><p> MOVDPTR,#CMD_8279</p><p> MOVX@DPTR,A</p><p> WAIT1: MOVXA,@DPTR</p><p> JBACC.7,WAIT1<
47、;/p><p><b> RET</b></p><p> SCAN_KEY: MOVDPTR,#CMD_8279</p><p> MOVXA,@DPTR</p><p> READ_FIFO: ANLA,#7</p><p> JZNO_KEY</p&g
48、t;<p> READ: MOVA,#40H</p><p> MOVX@DPTR,A</p><p> MOVDPTR,#DATA_8279</p><p> MOVXA,@DPTR</p><p> ACALLKEY_NUM</p><p><b>
49、SETBC</b></p><p> SCAN_KEY1: RET</p><p> NO_KEY: CLRC</p><p> SJMPSCAN_KEY1</p><p> KEY_NUM: ANLA,#3FH</p><p><b> RET</
50、b></p><p> WRITE_DATA:MOVDPTR,#DATA_8279</p><p> MOVX@DPTR,A</p><p><b> RET</b></p><p> LED_TAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H</p&g
51、t;<p> DB080H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH</p><p><b> RET</b></p><p> Display8:PUSH07H</p><p> MOVDPTR,#LED_TAB</p><p> MOVP2,#HIGH
52、(CMD_8279)</p><p> MOVR1,#LOW(CMD_8279)</p><p> MOVA,#90H</p><p> MOVX@R1,A;第一位開(kāi)始顯示</p><p> MOVR1,#LOW(DATA_8279)</p><p><b> MOVR7,#8<
53、/b></p><p> Display81:MOVA,@R0</p><p> MOVCA,@A+DPTR</p><p> MOVX@R1,A</p><p><b> INCR0</b></p><p> DJNZR7,Display81</p>&
54、lt;p><b> POP07H</b></p><p><b> RET</b></p><p><b> END</b></p><p><b> 五、結(jié)語(yǔ)</b></p><p> 利用G5區(qū)的鍵盤(pán)可以控制步進(jìn)電機(jī)的正反轉(zhuǎn),調(diào)節(jié)轉(zhuǎn)速
55、,連續(xù)轉(zhuǎn)動(dòng)或轉(zhuǎn)動(dòng)指定步數(shù);相應(yīng)的數(shù)據(jù)都會(huì)顯示在數(shù)碼管上。G5區(qū)的鍵盤(pán)A可以控制步進(jìn)電機(jī)的正反轉(zhuǎn),當(dāng)數(shù)碼管的最高位為0為正轉(zhuǎn),為1時(shí)是反轉(zhuǎn)。B、C可以調(diào)節(jié)轉(zhuǎn)速,C可將轉(zhuǎn)速往上調(diào),B可將轉(zhuǎn)速往下調(diào)。</p><p> 本設(shè)計(jì)系統(tǒng)各種芯片選型都是市場(chǎng)上常用的芯片,價(jià)格便宜,資源開(kāi)放。例如步進(jìn)電機(jī)驅(qū)動(dòng)電路由功率放大芯片ULN2003進(jìn)行電流電壓的放大,最高耐壓50V,輸出可以在高負(fù)載電流并行運(yùn)行;可以直接用單片機(jī)的IO
56、口提供信號(hào);而且電路簡(jiǎn)單,使用比較方便。</p><p> 此次設(shè)計(jì)從整體布局,系統(tǒng)設(shè)計(jì)直到最后完成,每個(gè)流程下來(lái),都帶給我很多新的東西,再次用到Protel99se,使我對(duì)此軟件又加深了運(yùn)用。我還學(xué)會(huì)了無(wú)底紋的截圖法,使截的圖更加的清晰。這次設(shè)計(jì)我從圖書(shū)館、上網(wǎng)查閱了相關(guān)的資料,使我對(duì)單片機(jī)有進(jìn)一步的了解,對(duì)步進(jìn)電機(jī)有一定的認(rèn)識(shí)。</p><p> 此次設(shè)計(jì)的不足之處是有的芯片找的不
57、太合適,畫(huà)得有點(diǎn)亂,鍵盤(pán)顯示的程序不好用,</p><p> 讓我在以后的設(shè)計(jì)更加謹(jǐn)慎,盡量做的盡善盡美。</p><p><b> 六、參考文獻(xiàn)</b></p><p> [1] 陳隆昌、 閻治安 、劉新正編著. 控制電機(jī)西安電子科技大學(xué)出版社,西安,2010 </p><p> [2] 楊居義. 單片
58、機(jī)課程設(shè)計(jì)指導(dǎo). 清華大學(xué)出版社,北.京,2009</p><p> 【3】 張小林、崔浩. 51系列單片機(jī)常用模塊設(shè)計(jì)查詢手冊(cè).清華大學(xué)出版社,北京,2010</p><p> 【4】 張文灼 .單片機(jī)應(yīng)用技術(shù). 機(jī)械工業(yè)出版社, 北京,2009</p><p> 【5】 林春泉. 單片機(jī)原理及應(yīng)用. 機(jī)械工業(yè)出版社,北京,2009</p>&
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)--單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)-單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)報(bào)告——單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)-控制步進(jìn)電機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--步進(jìn)電機(jī)控制
- 單片機(jī)課程設(shè)計(jì)--步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)---步進(jìn)電機(jī)控制
- 單片機(jī)課程設(shè)計(jì)---步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的步進(jìn)電機(jī)控制
- 單片機(jī)課程設(shè)計(jì)步進(jìn)電機(jī)控制設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)-步進(jìn)電機(jī)的控制
- 單片機(jī)課程設(shè)計(jì)——單片機(jī)控制步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-步進(jìn)電機(jī)的控制
- 基于單片機(jī)的步進(jìn)電機(jī)控制單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--步進(jìn)電機(jī)角度控制
- 單片機(jī)課程設(shè)計(jì)---步進(jìn)電機(jī)控制 (2)
- 單片機(jī)課程設(shè)計(jì)報(bào)告--步進(jìn)電機(jī)控制設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的四相步進(jìn)電機(jī)控制
- 單片機(jī)課程設(shè)計(jì)——基于單片機(jī)的步進(jìn)電機(jī)控制器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論