單片機課程設計_第1頁
單片機課程設計_第2頁
單片機課程設計_第3頁
單片機課程設計_第4頁
單片機課程設計_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目 錄第1章 目的與要求11.1設計內容11.2設計要求11.3設計目的1第2章 步進電機的原理介紹22.1 步進電機的工作原理22.2 步進電機的基本術語32.2.1 相數(shù)32.2.2 拍數(shù)32.2.3 步距角32.2.4 信號分配3第3章 設計總體思路43.1 方案與思路43.2 總框圖4第4章 程序設計54.1 主程序54.2 顯示子程序64.3 鍵盤掃描子程序7第5章 硬件設計85.1 硬件的設計與選取85.1.1步進電機的特點85.1.2 步進電機的分類85.1.3步進電機的注意點85.2 單片機的選取95.3 四位LED數(shù)碼管的選取115.4 其他零件根據(jù)實際情況選取115.5 硬

2、件的焊接12第6章 調試與故障分析136.1 軟件部分136.2 硬件部分136.3 故障分析及解決17第7章 總 結18附 錄19系統(tǒng)原理圖19元器件清單20源程序清單20參考文獻26第1章 目的與要求 綜合運用所學的單片機原理與應用理論知識,通過實踐加強對所學知識的理解,具備設計單片機應用系統(tǒng)的能力,以單片機為核心設計一個步進電機控制系統(tǒng),要求能夠通過鍵盤設置步進電機的轉向和轉速,并在LED顯示器上顯示步進電機轉速或工作狀態(tài)。1.1設計內容 以單片機為核心設計一個步進電機控制系統(tǒng),要求能夠通過鍵盤設置步進電機的轉向和轉速,并在4位LED顯示器上顯示步進電機轉速或工作狀態(tài)。1.2設計要求1、

3、確定系統(tǒng)設計方案;2、進行系統(tǒng)的硬件設計;3、完成應用程序設計;4、硬件電路及應用程序的調試。1.3設計目的1、按下不同的鍵,分別使步進電機實現(xiàn)順時針和逆時針旋轉;2、步進電機可實現(xiàn)正、反轉,加速、減速等工作狀態(tài);3、通過LED數(shù)碼管顯示步進電機運行速度或工作狀態(tài);第2章 步進電機的原理介紹2.1 步進電機的工作原理 步進電機是純粹的數(shù)字控制電動機。它將電脈沖信號轉變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件,在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉過一個步距角。這一線性關系的存在,加上步進電機只有周期性的誤差而無累積誤

4、差等特點。使得在速度、位置等控制領域用步進電機來控制變的非常的簡單。如下圖所示,驅動方式為二相四拍方式各線圈通通電順序如下表: 相順序ABAB01100101102001131001表1-1電機正反轉控制和速度控制: 當電機繞組通電時序為AB-BA-AB-BA-AB時為正轉,通電時序為AB-BA-AB-BA-AB時為反轉。步進電機的驅動電路,微電腦向步進電機輸入端傳送1或0信息,則可實現(xiàn)上述操作。通過不同長度的延時來得到不同頻率的步進電機輸入脈沖,從而得到多種步進速度,也就是改變電機的轉動速度。2.2 步進電機的基本術語2.2.1 相數(shù)產生不同對極N、S磁場的激磁線圈對數(shù),常用m表示。2.2.

5、2 拍數(shù) 完成一個磁場周期性變化所需脈沖數(shù)或導電狀態(tài)用n表示,或指電機轉過一個齒距角所需脈沖數(shù),以兩相電機為例,有兩相四拍運行方式即AB-BA-AB-BA-AB,兩相八拍運行方式 AB-B-BA-A-AB-B-BA-A-AB。2.2.3 步距角 對應一個脈沖信號,電機轉子轉過的角位移用表示。=360度(轉子齒數(shù)J*運行拍數(shù)),以常規(guī)二相,轉子齒為50齒電機為例。四拍運行時步距角為=360度/(50*4)=1.8度(俗稱整步),八拍運行時步距角為=360度/(50*8)=0.9度(俗稱半步)。2.2.4 信號分配 二相步進電機,工作方式有二相四拍和二相八拍二種,具體分配如下:二相四拍為,步距角為

6、1.8度;二相八拍為,步距角為0.9度。兩相四拍為AB-BA-AB-BA-AB,步距角為1.8度;兩相八拍為AB-B-BA-A-AB-B-BA-A-AB,步距角為0.9度。這里選取四拍的的工作方式。第3章 設計總體思路3.1 方案與思路 因為步進電機的控制是通過脈沖信號來控制的,將電脈沖信號轉變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。所以怎樣產生這個脈沖信號和產生怎樣的信號是電機控制的關鍵。用單片機來產生這個脈沖信號,通過單片機的P1口輸出脈沖信號,因為所選電機是兩相的,所以只需要P1口的低四位P1.0P1.3分別接到電機的四根電線上。定時器定時來調整電機的轉速,通過鍵盤的按鈕,就可以改變定時初值從而

7、改變了電機的轉速,P0口接LED數(shù)碼管,可以顯示當前的電機轉速和按鈕狀態(tài),具體結構見3.2框圖3.2 總框圖 圖3-1第4章 程序設計4.1 主程序 進入主程序顯示初始化狀態(tài),主程序由鍵盤程序、顯示程序、步進電機驅動程序三部分組成,主程序首先初始化各變量,步進電機驅動的各引腳均輸出高電平,然后調用鍵盤程序,并作判斷,有鍵按下,則調用鍵盤程序,并顯示出狀態(tài)。開始顯示初始化狀態(tài)“00”按鍵檢測Flag=0Flag=1Flag=2以初始速度正向旋轉“010”以初始速度反向旋轉“110”加速減速減速加速是否為極限速度是否為極限速度保持速度顯示上限速度加/減顯示改變保持速度顯示上限速度加/減顯示改變結束

8、NYNYNYNY 圖4-14.2 顯示子程序 轉速的顯示是給用戶最直觀的概念,知道電機的轉的快慢,知道電機當前的轉速,而需要怎樣的速度,再對它進行加減速。而這個顯示是調用顯示子程序。具體流程圖如下: 顯示Flag=0?第一個數(shù)碼管顯示“0”(正轉)YFlag=2?N第一個數(shù)碼管顯示“1”(反轉)N復位顯示“00”Y第二位顯示“”第3、4位顯示轉速。第三位顯示轉速/10,第四位顯示轉速%10NEXT 圖4-24.3 鍵盤掃描子程序 鍵盤是我們唯一和電機溝通的橋梁,通過鍵盤的輸入從而改變電機的運行狀態(tài),這里所需要的鍵盤數(shù)量不多,可以根據(jù)學習板做成獨立式鍵盤,鍵盤的焊接是行線接單片機P3口的p3.0

9、p3.4,通過調用KEY掃描鍵盤,調用延時程序,再判斷是否有鍵按下,如果無鍵按下就返回繼續(xù)掃描,如果有鍵按下,則調用delay延時去抖動,再讀鍵值,等待鍵釋放,具體流程如下圖:鍵盤掃描復位是否按下正轉是否按下Flag=0轉速為10反轉是否按下Flag=1轉速為10減?為最高速度?速度加1保持20加?為最低速度?速度減1保持1返回Flag=2轉速=0NYYNNYYNNYYNYN圖4-3第5章 硬件設計5.1 硬件的設計與選取5.1.1步進電機的特點 感應子式步進電機與傳統(tǒng)的反應式步進電機相比,結構上轉子加有永磁體,以提供軟磁材料的工作點,而定子激磁只需提供變化的磁場而不必提供磁材料工作點的耗能,

10、因此該電機效率高,電流小,發(fā)熱低。因永磁體的存在,該電機具有較強的反電勢,其自身阻尼作用比較好,使其在運轉過程中比較平穩(wěn)、噪音低、低頻振動小。 感應子式步進電機某種程度上可以看作是低速同步電機。一個四相電機可以作四 相運行,也可以作二相運行。(必須采用雙極電壓驅動),而反應式電機則不能如此。5.1.2 步進電機的分類 感應子式步進電機以相數(shù)可分為:二相電機、三相電機、四相電機、五相電機等。以機座號(電機外徑)可分為:42BYG(BYG為感應子式步進電機代號)、57BYG、86BYG、110BYG、(國際標準),而像70BYG、90BYG、130BYG等均為國內標準。 5.1.3步進電機的注意點

11、 步進電機應用于低速場合-每分鐘轉速不超過1000轉,(0.9度時6666PPS),最好在1000-3000PPS(0.9度)間使用,可通過減速裝置使其在此間工作,此時電機工作效率高,噪音低。 這里規(guī)定電機轉速120轉每分鐘。步進電機最好不使用整步狀態(tài),整步狀態(tài)時振動大。這里要求不高,使用整步狀態(tài)。于歷史原因,只有標稱為12V電壓的電機使用12V外,其他電機的電壓值不是驅動電壓伏值,可根據(jù)驅動器選擇驅動電壓(建議:57BYG采用直流24V-36V,86BYG采用直流50V,110BYG采用高于直流80V),當然12V的電壓除12V恒壓驅動外也可以采用其他驅動電源,不過要考慮溫升。應遵循先選電機

12、后選驅動的原則。綜上所述,電機選取42BYG系列感應子式步進電機,兩相四拍整步狀態(tài)。選用后建立起模塊如下:圖5-15.2 單片機的選取MCS-51系列單片機是目前應用最為廣泛的單片機,MCS-51單片機的兩個子系列,下表是兩個子系列的比較:子系列ROM容量RAM容量尋址范圍I/O特性中斷源定時器并行口串行口51子系列4KB128B264KB216481552子系列8KB256B364KB3164816 表5-251子系列:有8031/8051/8751 和 80C31/80C51/87C5152子系列:有8032/8052/8752 和 80C32/80C52/87C52由于單片機的種類繁多,

13、又因為我們的要求不高,所以選取單片機是很快的,所以這里選用AT89C51單片機。根據(jù)設計方案的分析,可以選擇帶有EPROM的單片機,應用程序直接存儲在片內,不用在外部擴展程序存儲器,電路可以簡化。ATMEL公司生產的AT89CXX系列單片機,AT89CXX系列與MCS-51系列單片機相比,有兩大優(yōu)勢:第一,片內程序存儲器采用閃速存儲器,使程序的寫入更方便;第二,提供了更小尺寸的芯片,使整個硬件電路的體積更小。它以較小的體積、良好的性能價格比倍受青睞。本次課程設計采用89C52單片機。AT89C52單片機的接口圖如圖所示: 圖5-35.3 四位LED數(shù)碼管的選取數(shù)碼管選用7段共陽4位LED圖5-

14、4圖5-45.4 其他零件根據(jù)實際情況選取晶振選11.0592MHZ 普通按鈕 Button電阻 RES 1K 電機驅動芯片 ULN28035.5 硬件的焊接步進電機的四線接法P1.0A、P1.1B P1.2A、P1.3B 圖5-5 總電路圖第6章 調試與故障分析6.1 軟件部分將程序寫入keil程序編輯界面進行調試。調試步驟如下1、定義各個變量uchar maichong;uchar zhuansu;uchar flag;2、定義正反轉、加減速端口Sbit key_z=P31;sbit key_f=P32;sbit key_jia=P33;sbit key_jian=P34;3、調用顯示子程

15、序;4、調用鍵盤掃描子程序;5、執(zhí)行主程序。 6.2 硬件部分 根據(jù)原理圖將硬件焊接好,用Proteus軟件下載keil軟件生成的HEX文件到單片機中,再給單片機上電,程序就開始運行。顯示初始化如下: 圖6-1 初始狀態(tài)按下正轉按鈕從P1口輸出脈沖,步進電機正轉,顯示如下: 圖6-2 電機正轉按下反轉按鈕從P1口輸出脈沖,步進電機反轉,顯示如下:圖6-3 電機反轉電機正轉時,按下加速按鈕電機速度增加,顯示如下: 圖6-4 電機正轉加速電機反轉時,按下加速按鈕電機速度增加,顯示如下: 圖6-5 電機反轉加速電機正轉時,按下減速按鈕電機速度減小,顯示如下: 圖6-6 電機正轉減速 電機反轉時,按下

16、減速按鈕電機速度減小,顯示如下: 圖6-7 電機反轉減速6.3 故障分析及解決 剛開始在軟件上測試的時候,按鍵沒有作用,因為直接接地,所以無論怎么按數(shù)碼管都沒反應,后來在按鍵上接了上拉電阻就好了。 圖6-8 按鍵接線圖 由于步進電機的相序位置與單片機的P1口的4個輸出口連接不對電機轉動方向不正確,解決方法,首先先用四個發(fā)光二極管模擬電機四個相序通過觀察發(fā)光二極管閃亮的順序就可以判斷是否輸出正確,電機相序A、A、B、B與P1口低四位一一相對應接好,就可以使電機正常旋轉了。 第7章 總 結微機原理課程設計接近尾聲了,雖然只有短短的兩個星期,但是我從中學到了很多,通過這次的單片機課程設計,我更加深入

17、地了解到了單片機的巨大魅力,通過做步進電機這個課題,感覺自己又把單片機原理這門課學習了一遍,而這次學習不僅僅是加深了書本上的理論知識,而更多的是鍛煉了自己的實際動手能力和將理論運用到實踐中去的能力,這些都是我們在書本上學不到的東西;同時又了解到不同電機不同的工作狀態(tài),對其中的原理更加地的熟悉了解,并且對我以后的學習也有很大的幫助,雖然在做課程設計的過程中,我還有很多的東西是不知道的,但通過查閱資料和老師的細心指導,再加上自己的不斷努力 ,最終還是完成了自己的課程設計,在調試的過程中,依然會有不少的問題,在細心總結查閱下還是被我一個個的解決了,最終得到正確的結果,在看到正確結果的那一剎那,我的心

18、情非常激動,感覺心跳加快,真的很開心,我的努力沒有白費。 我們上課的時候都是學的都是單片機方面的理論知識,應用到實踐中去還比較少,僅僅做了幾次試驗,并沒有系統(tǒng)性的做過一次設計。真有幸老師能給我們這樣一次機會,讓我們全面的了解了單片機。而且學到了很多在書本上所沒有學到過的知識。在第一周僅僅去了解了步進電機的工作原理,上網(wǎng)找了一些相關資料,第二個星期開始編程序,在軟件上調試,調試出來后,在硬件上試的時候很遺憾硬件被我弄壞了,不過,后來找到了硬件的問題出在哪里,通過不斷努力,終于還是調試出來了。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐

19、相結合起來,從理論中得出結論,才能提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟是一次全面的設計,難免會遇到過各種各樣的問題。附 錄系統(tǒng)原理圖 附圖1-1元器件清單AT89C51單片機 1片11.0592MHZ的晶振 1片四位LED顯示器 1個電阻 11個ULN2803 1個步進電機 1個按鈕BUTTON 5個源程序清單#include #define uchar unsigned char#define uint unsigned intUnsigned char code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0

20、x82,0xf8,0x80,0x90,0x3f,0x83,0xc6,0xa1,0x86,0x8e;Unsigned char code table1=0x03,0x06,0x0c,0x09,0x09,0x0c,0x06,0x03;uchar table_ begin;uchar maichong;uchar zhuansu;uchar flag;sbit key_fuwei=P30;sbit key_z=P31;sbit key_f=P32;sbit key_jia=P33;sbit key_jian=P34;void delay(uchar x)uchar i,j;for(i=0;i0;j-

21、);void fuwei(void)flag=2;zhuansu=0;void display() uchar A1,A2,A3,A4; if(flag=0)A1=0;else A1=1;if(flag=2)A1=10; A2=0x3f; A3=zhuansu/10; A4=zhuansu%10;P0=tableA1;delay(5); P2=0x01;delay(5);P2=0x00;delay(5);P0=A2;delay(5); P2=0x02; delay(5);P2=0x00;delay(5);P0=tableA3; delay(5);P2=0x04;delay(5);P2=0x00

22、; delay(5);P0=tableA4; delay(5);P2=0x08; delay(5);P2=0x00;delay(5);void key()if(key_fuwei=0)delay(5);if(key_fuwei=0)fuwei();display();if(key_z=0)delay(5);if(key_z=0)flag=0;zhuansu=10;while(key_z=0);if(key_f=0)delay(5);if(key_f=0)flag=1;zhuansu=10;while(key_f=0);if(key_jia=0)delay(5);if(key_jia=0)zhu

23、ansu+;if(zhuansu=21)zhuansu=20;while(key_jia=0);if(key_jian=0)delay(5);if(key_jian=0)zhuansu-;if(zhuansu=1)zhuansu=2;while(key_jian=0); void dispose()switch(zhuansu)case 0:break;case 1:maichong=300;break;case 2:maichong=150;break;case 3:maichong=100;break;case 4:maichong=75;break;case 5:maichong=60;break;case 6:maichong=50;break;case 7:maichong=43;break;case 8:maichong=37;break;case 9:maichong=33;break;case 10:maichong=30;break;case 11:maichong=27;break;case 12:maichong=25;break;case 13:maichong=23;break;case 14:maichong=21;break;case 15:maichong=20;break;case 16:maichong=19;br

溫馨提示

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

評論

0/150

提交評論