版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 課程設計說明書</b></p><p> 課程名稱 單片機課程設計 </p><p> 教 學 部 工學一部 </p><p> 專 業(yè) 計算機科學與技術 </p><p> 班 級 </p><p>
2、;<b> 課程設計任務書</b></p><p> 教 學 部 工學一部 專 業(yè) 計算機科學與技術 </p><p> 課程設計題目 三步進電機聯(lián)動控制的設計與實現(xiàn) </p><p> 課程設計的內容及要求:</p><p><
3、b> 主要內容</b></p><p> 將三臺試驗箱的串口用導線連接并實現(xiàn)通信,編寫步進電機正反轉、調速程序,完成根據開關選擇情況兩個步進電機或正或反、或快或慢同時或者獨立轉動。</p><p><b> ?。ǘ┗疽?lt;/b></p><p> 必須用實驗室有的儀器完成;</p><p>
4、 調試后通過老師當場驗收;</p><p> 交出完整的課程設計報告。</p><p><b> (三)主要參考書</b></p><p> 1.李剛民,曹巧媛,陳忠平編 《單片機原理及實用技術》高等教育出版社2005</p><p> 2.劉和平 《單片機原理及應用》重慶大學出版社2002</p>
5、<p> 3. 雷思孝等 《單片機原理及實用技術》西安電子科技大學出版社2004 </p><p> 4.陳忠平等 《單片機原理及接口》 清華大學出版社2005</p><p><b> ?。ㄋ模┰u語</b></p><p><b> (五)成績</b></p><p> 指導教
6、師 年 月 日</p><p> 負責教師 年 月 日</p><p><b> 目錄</b></p><p><b> 摘 要1</b>&l
7、t;/p><p><b> 1.1功能需求1</b></p><p><b> 2硬件設計2</b></p><p><b> 2.1電路設計2</b></p><p> 2.2 步進電機圖3</p><p> 3 系統(tǒng)工作原理3<
8、/p><p> 3.1步進電機工作原理3</p><p> 3.2 基于AT89C2051的步進電機驅動器系統(tǒng)電路原理4</p><p> 3.3 四項八拍正向勵磁順序5</p><p> 3.4 四項八拍反向勵磁順序6</p><p><b> 4 線路連接6</b></p
9、><p><b> 5 軟件設計7</b></p><p> 5.1 軟件設計思路7</p><p> 5.2 主程序流程圖7</p><p> 5.3 延遲模塊流程圖8</p><p><b> 6 調試分析9</b></p><p>
10、;<b> 7結論9</b></p><p><b> 8結束語9</b></p><p><b> 參考文獻10</b></p><p><b> 附錄一11</b></p><p><b> 摘 要</b>&l
11、t;/p><p> 步進電機是一種感應電機,它的工作原理是利用電子電路,將直流電變成分時供電的,多相時序控制電流,用這種電流為步進電機供電,步進電機才能正常工作,驅動器就是為步進電機分時供電的,多相時序控制器。雖然步進電機已被廣泛地應用,但步進電機并不能像普通的直流電機,交流電機在常規(guī)下使用。它必須由雙環(huán)形脈沖信號、功率驅動電路等組成控制系統(tǒng)方可使用。因此用好步進電機卻非易事,它涉及到機械、電機、電子及計算機等許多
12、專業(yè)知識。步進電機作為執(zhí)行元件,是機電一體化的關鍵產品之一, 廣泛應用在各種自動化控制系統(tǒng)中。隨著微電子和計算機技術的發(fā)展,步進電機的需求量與日俱增,在各個國民經濟領域都有應用。步進電機是一種將電脈沖轉化為角位移的執(zhí)行機構。通俗一點講:當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(即步進角)。您可以通過控制脈沖個數來控制角位移量,從而達到準確定位的目的;同時您可以通過控制脈沖頻率來控制電機轉動的速度和加
13、速度,從而達到調速的目的。</p><p> 關鍵詞:步進電機,51單片機,脈沖信號</p><p><b> 緒論</b></p><p> 通常電機的轉子為永磁體,當電流流過定子繞組時,定子繞組產生一矢量磁場。該磁場會帶動轉子旋轉一角度,使得轉子的一對磁場方向與定子的磁場方向一致。當定子的矢量磁場旋轉一個角度。轉子也隨著該磁場轉一個角
14、度。每輸入一個電脈沖,電動機轉動一個角度前進一步。它輸出的角位移與輸入的脈沖數成正比、轉速與脈沖頻率成正比。改變繞組通電的順序,電機就會反轉。所以可用控制脈沖數量、頻率及電動機各相繞組的通電順序來控制步進電機的轉動。步進電機必須加驅動才可以運轉, 驅動信號必須為脈沖信號,沒有脈沖的時候, 步進電機靜止, 如果加入適當的脈沖信號, 就會以一定的角度(稱為步角)轉動。轉動的速度和脈沖的頻率成正比。2 騰龍版步進電機的步進角度為7.5 度,一
15、圈360 度, 需要48 個脈沖完成。3 步進電機具有瞬間啟動和急速停止的優(yōu)越特性。4 改變脈沖的順序, 可以方便的改變轉動的方向。因此,目前打印機,繪圖儀,機器人,等等設備都以步進電機為動力核心。</p><p><b> 1.1功能需求</b></p><p> 編寫步進電機正反轉、調速程序,完成根據開關選擇情況兩個步進電機或正或反、或快或慢同時轉動。<
16、/p><p><b> 2硬件設計</b></p><p><b> 2.1電路設計</b></p><p> 此程序為3個步進電機分別調速,分別調方向的控制程序。P1.0-P1.2步進電機1的速度開關,P1.3步進電機2的轉向開關,P1.4-P1.7接步進電機1的A-D;P2.0-P2.2步進電機1的速度開關,P2.3
17、步進電機2的轉向開關,P2.4-P2.7接步進電機2的A-D;P3.0-P3.2步進電機1的速度開關,P3.3步進電機2的轉向開關,P3.4-P3.7接步進電機3的A-D。</p><p><b> 圖1 電路設計圖</b></p><p><b> 2.2 步進電機圖</b></p><p> 圖 2 步進電機實物
18、圖</p><p> 圖3 步進電機原理圖</p><p><b> 3 系統(tǒng)工作原理</b></p><p> 3.1步進電機工作原理</p><p> 步進電機為一四相步進電機,采用單極性直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機步進轉動。圖3是該四相反應式步進電機工作原理示意圖。
19、</p><p> 開始時,開關SB接通電源,SA、SC、SD斷開,B相磁極和轉子0、3號齒對齊,同時,轉子的1、4號齒就和C、D相繞組磁極產生錯齒,2、5號齒就和D、A相繞組磁極產生錯齒。</p><p> 當開關SC接通電源,SB、SA、SD斷開時,由于C相繞組的磁力線和1、4號齒之間磁力線的作用,使轉子轉動,1、4號齒和C相繞組的磁極對齊。而0、3號齒和A、B相繞組產生錯齒,2、
20、5號齒就和A、D相繞組磁極產生錯齒。依次類推,A、B、C、D四相繞組輪流供電,則轉子會沿著A、B、C、D方向轉動。</p><p> 四相步進電機按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉動力矩又可以提高控制精度。</p><p> 單四拍
21、、雙四拍與八拍工作方式的電源通電時序與波形分別如圖6.a、b、c所示:</p><p> a. 單四拍 b. 雙四拍 c八拍</p><p> 圖6.步進電機工作時序波形圖</p><p> 3.2 基于AT89C2051的步進電機驅動器系統(tǒng)電路原理</p><p> 步進電機驅動器
22、系統(tǒng)電路原理如圖8:</p><p> 圖8 步進電機驅動器系統(tǒng)電路原理圖</p><p> AT89C2051將控制脈沖從P1口的P1.4-P1.7輸出,經74LS14反相后進入9014,經9014放大后控制光電開關,光電隔離后,由功率管TIP122將脈沖信號進行電壓和電流放大,驅動步進電機的各相繞組。使步進電機隨著不同的脈沖信號分別作正轉、反轉、加速、減速和停止等動作。圖中L1為步
23、進電機的一相繞組。AT89C2051選用頻率22MHz的晶振,選用較高晶振的目的是為了在方式2下盡量減小AT89C2051對上位機脈沖信號周期的影響。</p><p> 圖8中的RL1-RL4為繞組內阻,50Ω電阻是一外接電阻,起限流作用,也是一個改善回路時間常數的元件。D1-D4為續(xù)流二極管,使電機繞組產生的反電動勢通過續(xù)流二極管(D1-D4)而衰減掉,從而保護了功率管TIP122不受損壞。</p>
24、;<p> 在50Ω外接電阻上并聯(lián)一個200μF電容,可以改善注入步進電機繞組的電流脈沖前沿,提高了步進電機的高頻性能。與續(xù)流二極管串聯(lián)的200Ω電阻可減小回路的放電時間常數,使繞組中電流脈沖的后沿變陡,電流下降時間變小,也起到提高高頻工作性能的作用。</p><p> 3.3 四項八拍正向勵磁順序</p><p> A→AB→B→BC→C→CD→D→DA</p&
25、gt;<p> 3.4 四項八拍反向勵磁順序</p><p> A→DA→D→CD→C→BC→B→AB</p><p><b> 4 線路連接</b></p><p> 此程序為3個步進電機分別調速,分別調方向的控制程序。P1.0-P1.2步進電機1的速度開關,P1.3步進電機2的轉向開關,P1.4-P1.7接步進電機1的
26、A-D;P2.0-P2.2步進電機1的速度開關,P2.3步進電機2的轉向開關,P2.4-P2.7接步進電機2的A-D;P3.0-P3.2步進電機1的速度開關,P3.3步進電機2的轉向開關,P3.4-P3.7接步進電機3的A-D。</p><p><b> 圖9 電路設計圖</b></p><p><b> 5 軟件設計</b></p&g
27、t;<p> 5.1 軟件設計思路</p><p> 此程序為3個步進電機分別調速,分別調方向的控制程序。P1.0-P1.2步進電機1的速度開關,P1.3步進電機2的轉向開關,P1.4-P1.7接步進電機1的A-D;P2.0-P2.2步進電機1的速度開關,P2.3步進電機2的轉向開關,P2.4-P2.7接步進電機2的A-D;P3.0-P3.2步進電機1的速度開關,P3.3步進電機2的轉向開關,P
28、3.4-P3.7接步進電機3的A-D。</p><p> 5.2 主程序流程圖</p><p> 圖10 主程序流程圖</p><p> 5.3 中斷服務模塊流程圖</p><p> 圖11 中斷服務模塊流程圖</p><p><b> 6 調試分析</b></p>&
29、lt;p> 在課程設計中,遇到了不少問題。開始時兩臺機器沒有接地,導致從電機不能穩(wěn)定工作。還有程序的設計上也出現(xiàn)了點問題,就是旋轉方向的判斷,剛開始是送一個脈沖判斷一次,結果不行,于是改為送完一個周期的脈沖后在判斷兩個電機的旋轉方向。單片機指令書寫格式也錯了很多,比如JNZ RET,只有一個操作數,還有CJNE 第一個操作數只能是Rn或A,發(fā)現(xiàn)這些錯誤后一個一個改正過來啦。</p><p><b&g
30、t; 7結論 </b></p><p> 本次課程設計難點重重,不但要運用到實驗儀器所鮮有的P2口,還要在程序中引入中斷服務子程序及定時器技術。在周期性運轉實現(xiàn)過程中,測試結果連帶很多疑問。需要經過多次嘗試來判斷問題指向。例如變速的獨立性和轉向變換獨立性等。</p><p><b> 8結束語</b></p><p> 本次
31、課設是我自己獨立設計開發(fā),購件,組裝,焊接電路,最后測試而成的</p><p> 在參考程序基礎上,將參考程序實現(xiàn)的雙電動機聯(lián)動同事控速升級為三電動機聯(lián)動獨立控速。其中引入中斷服務程序及內部定時器等技術,較雙電動機聯(lián)動更為復雜。為期兩周的課程設計讓我鍛煉了獨立設計能力,以及解決問題,難題的能力。從要求出發(fā),從根本出發(fā),將問題細分,運用之前學習掌握的知識,將理論與實踐結合,開發(fā)出課程設計所需的完美作品。</
32、p><p><b> 參考文獻</b></p><p> [1]汪道輝. 單片機系統(tǒng)設計與實踐.電子工業(yè)出版社,2006年</p><p> [2] 何宏.單片機原理與接口技術.國防工業(yè)出版社,2006年</p><p> [3] 李鴻.單片機原理與應用.湖南大學出版社,2005年</p><p&
33、gt; [4]李恩林,陳斌生.微機接口技術300例.機械工業(yè)出版社,2003年</p><p> 附錄一 程序代碼清單</p><p> SPD1EQU30H</p><p> SPD2EQU31H</p><p> SPD3EQU32H</p><p> TIM1EQU33H&l
34、t;/p><p> TIM2EQU34H</p><p> TIM3EQU35H</p><p> FX1EQU20H.0</p><p> FX2EQU21H.1</p><p> FX3EQU22H.2</p><p> T0TIMLEQU0B0H
35、;T0方式1,100ms中斷的數據=3CB0H(6M晶振)</p><p> T0TIMHEQU3CH</p><p><b> ORG0000H</b></p><p> LJMPSTART</p><p> ORG000BH;T0中斷向量</p><p> L
36、JMPTCL0;T0中斷</p><p><b> ORG0100H</b></p><p> START: MOVA,#50H</p><p> MOVSP,A;50H定義為堆堆棧區(qū)</p><p> LCALLT0_INIT;初始化T0,為T0中斷做準備</p>&l
37、t;p><b> MOVA,#00</b></p><p> MOVR0,A;電機1指針清零</p><p> MOVR1,A;電機2指針清零</p><p> MOVR2,A;電機3指針清零</p><p> LOOP:LCALLDJ1SUB</p><
38、;p> ;LCALLDJ2SUB</p><p> ;LCALLDJ2SUB</p><p><b> LJMPLOOP</b></p><p> ;=========================================================</p><p> DJ1S
39、UB:NOP</p><p> MOVA,P1;讀電機1的速度開關</p><p> ANLA,#07H;保留低3位</p><p> JZEND_1;速度=0時,為停止,不輸出,直接返回.</p><p><b> CLRC</b></p><p> CJN
40、EA,TIM1,TEST1;比較中斷計時是否已到</p><p> TEST1:JCEND_1;當TIM1小于設定速度時說明時間未到,不輸出.</p><p> ;當TIM1大于等于設定速度時說明時間到,</p><p> ;進入輸出流程,接著輸出</p><p> MOVA,R0;讀指針1</p>
41、;<p> JNZNEXT1;R0<>0 說明一圈未完,應繼續(xù)</p><p> MOVA,P1;R0=0 說明一圈的開始,應測方向,</p><p> ;只是當R0=0時才重讀方向</p><p> JBACC.3,SETB_D1Z;P1.3=1去建立電機1的正轉標志.</p><p>
42、 CLRFX1;ACC.3=0為反轉,建立反轉標志</p><p> LJMPNEXT1</p><p> SETB_D1Z:SETBFX1</p><p> ; 以上是當R0=0時建立的方向標志</p><p> ; 根據方向來取數據,正轉取TAB1,反轉取TAB2.
43、</p><p> NEXT1:NOP</p><p> JBFX1,ZZ_1;標志1=1=正轉,去讀正轉數據。</p><p> MOVDPTR,#TAB2;指向反轉表 </p><p> LJMPOUT1;去輸出</p><p> ZZ_1:MOVDPTR,#TAB1
44、;指向正轉表 </p><p> OUT1:MOVA,R0;R0=讀表的指針</p><p> MOVCA,@A+DPTR</p><p> MOVP1,A;向電機1輸出信號</p><p><b> INCR0</b></p><p> CJNER0,#8
45、,NEXT1;R0<>8未到一圈,應繼續(xù)</p><p> MOVR0,#0;R0=8 說明一圈結束,指針清零</p><p> END_1:RET</p><p> ;=========================================================</p><p>
46、 DJ2SUB:NOP</p><p> MOVA,P2;讀電機2的速度開關</p><p> ANLA,#07H;保留低3位</p><p> JZEND_2;速度=0時,為停止,不輸出,直接返回.</p><p><b> CLRC</b></p><p>
47、 CJNEA,TIM2,TEST2;比較中斷計時是否已到</p><p> TEST2:JCEND_2;當TIM2小于設定速度時說明時間未到,不輸出.</p><p> ;當TIM2大于等于設定速度時說明時間到,</p><p> ;進入輸出流程,接著輸出</p><p> MOVA,R1;讀指針2<
48、/p><p> JNZNEXT2;R1<>0 說明一圈未完,應繼續(xù)</p><p> MOVA,P2;R1=0 說明一圈的開始,應測方向,</p><p> ;只是當R1=0時才重讀方向</p><p> JBACC.3,SETB_D2Z;P2.3=1去建立電機2的正轉標志.</p><
49、p> CLRFX2;ACC.3=0為反轉,建立反轉標志</p><p> LJMPNEXT2</p><p> SETB_D2Z:SETBFX2</p><p> ;以上是當R1=0時建立的方向標志</p><p> ;根據方向來取數據,正轉取TAB1,反轉取TAB2.</p><p>
50、 NEXT2:NOP</p><p> JBFX2,ZZ_2;標志2=1=正轉,去讀正轉數據。</p><p> MOVDPTR,#TAB2;指向反轉表 </p><p> LJMPOUT2;去輸出</p><p> ZZ_2:MOVDPTR,#TAB1;指向正轉表 </p>
51、<p> OUT2:MOVA,R1;R1=讀表的指針</p><p> MOVCA,@A+DPTR</p><p> MOVP2,A;向電機2輸出信號</p><p><b> INCR1</b></p><p> CJNER1,#8,NEXT2;R1<>8
52、未到一圈,應繼續(xù)</p><p> MOVR1,#0;R1=8 說明一圈結束,指針清零</p><p> END_2:RET</p><p> ;=========================================================</p><p> DJ3SUB:NOP</p>
53、;<p> MOVA,P3;讀電機3的速度開關</p><p> ANLA,#07H;保留低3位</p><p> JZEND_3;速度=0時,為停止,不輸出,直接返回.</p><p><b> CLRC</b></p><p> CJNEA,TIM3,TE
54、ST3;比較中斷計時是否已到</p><p> TEST3:JCEND_3;當TIM3小于設定速度時說明時間未到,不輸出.</p><p> ;當TIM3大于等于設定速度時說明時間到,</p><p> ;進入輸出流程,接著輸出</p><p> MOVA,R2;讀指針3</p><p> J
55、NZNEXT3;R2<>0 說明一圈未完,應繼續(xù)</p><p> MOVA,P3;R2=0 說明一圈的開始,應測方向,</p><p> ;只是當R2=0時才重讀方向</p><p> JBACC.3,SETB_D3Z;P3.3=1去建立電機3的正轉標志.</p><p> CLRFX3;ACC.3
56、=0為反轉,建立反轉標志</p><p> LJMPNEXT3</p><p> SETB_D3Z:SETBFX3</p><p> ; 以上是當R2=0時建立的方向標志</p><p> ; 根據方向來取數據,正轉取TAB1,反轉取TAB2.</p><p> NEXT3:NOP</p>
57、;<p> JBFX3,ZZ_3;標志3=1=正轉,去讀正轉數據。</p><p> MOVDPTR,#TAB2;指向反轉表 </p><p> LJMPOUT3;去輸出</p><p> ZZ_3:MOVDPTR,#TAB1;指向正轉表 </p><p> OUT3:MOVA,
58、R2;R2=讀表的指針</p><p> MOVCA,@A+DPTR</p><p> MOVP3,A;向電機3輸出信號</p><p><b> INCR2</b></p><p> CJNER2,#8,NEXT3;R2<>8未到一圈,應繼續(xù)</p><
59、p> MOVR2,#0;R2=8 說明一圈結束,指針清零</p><p> END_3:RET</p><p> ;=========================================================</p><p> T0_INIT:MOV TMOD,#21H ;T1=方式2 T0=方式1<
60、/p><p> MOV TL0,T0TIML ;定時器0 低字節(jié)</p><p> MOV TH0,T0TIMH ;定時器0 高字節(jié)</p><p> SETBTR0;允許T0計數</p><p> SETBEA;開中斷</p><p> ;==================
61、=======T0中斷服務程序====================</p><p> TCL0:MOV TL0,T0TIML</p><p> MOV TH0,T0TIMH</p><p> PUSH PSW;保存狀態(tài)字</p><p><b> INCTIM1</b></p>
62、;<p><b> INCTIM2</b></p><p><b> INCTIM3</b></p><p> POP PSW;恢復狀態(tài)字</p><p><b> RETI</b></p><p> ;================
63、=========================================</p><p> TAB1:DB 1FH,3FH,2FH,6FH,4FH,0CFH,8FH,9FH,00;正正</p><p> TAB2:DB 1FH,9FH,8FH,0CFH,4FH,6FH,2FH,3FH,00;反反</p><p><b>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機步進電機課程設計--單片機控制步進電機的設計
- 單片機課程設計報告——單片機控制步進電機
- 單片機課程設計報告--步進電機控制設計
- 單片機課程設計--單片機控制步進電機
- 單片機課程設計-單片機控制步進電機
- 單片機-控制步進電機課程設計
- 單片機課程設計步進電機控制設計
- 單片機課程設計--步進電機控制
- 單片機課程設計---步進電機控制
- 單片機課程設計-步進電機的控制
- 單片機課程設計-步進電機的控制
- 單片機課程設計——單片機控制步進電機控制系統(tǒng)設計
- 單片機課程設計--基于單片機的步進電機控制
- 單片機課程設計--步進電機角度控制
- 單片機課程設計---步進電機控制 (2)
- 單片機課程設計--步進電機
- 單片機課程設計---步進電機
- 單片機課程設計-步進電機
- 三相步進電機的單片機控制單片機課程設計
- 基于單片機的步進電機控制單片機課程設計
評論
0/150
提交評論