單片機(jī)步進(jìn)電機(jī)課程設(shè)計(jì)--單片機(jī)控制步進(jìn)電機(jī)的設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩12頁(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、<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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論