基于單片機(jī)的步進(jìn)電機(jī)控制單片機(jī)課程設(shè)計(jì)_第1頁
基于單片機(jī)的步進(jìn)電機(jī)控制單片機(jī)課程設(shè)計(jì)_第2頁
基于單片機(jī)的步進(jìn)電機(jī)控制單片機(jī)課程設(shè)計(jì)_第3頁
基于單片機(jī)的步進(jìn)電機(jī)控制單片機(jī)課程設(shè)計(jì)_第4頁
基于單片機(jī)的步進(jìn)電機(jī)控制單片機(jī)課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)課程設(shè)計(jì)江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院課程設(shè)計(jì)報(bào)告課程名稱: 單片機(jī)原理及應(yīng)用 設(shè)計(jì)題目: 班 級: 姓 名: 學(xué) 號: 指導(dǎo)教師: 評 分: 年 月 日目錄一、設(shè)計(jì)要求目的2二、設(shè)計(jì)要求及任務(wù)2三、儀器設(shè)備2四、硬件線路圖及芯片說明21、總體設(shè)計(jì)框圖32、主要硬件線路圖33、ULN2003芯片說明5五、系統(tǒng)工作原理51、步進(jìn)電機(jī)工作原理52、采樣原理73、按鍵和顯示處理74 、中斷處理9六、程序框圖9七、程序清單10八、設(shè)計(jì)總結(jié)13一、 設(shè)計(jì)目的通過具體小型測試系統(tǒng)設(shè)計(jì),實(shí)踐單片機(jī)系統(tǒng)設(shè)計(jì)、上機(jī)調(diào)試及再設(shè)計(jì)的全過程,以加深對單片機(jī)內(nèi)部結(jié)構(gòu)、原理功能和指令系統(tǒng)的進(jìn)一步理解,并進(jìn)一步學(xué)習(xí)單片機(jī)開發(fā)

2、系統(tǒng)的原理與應(yīng)用以及一些外圍芯片的接口和編程調(diào)試方法與技巧,初步掌握單片機(jī)系統(tǒng)的硬、軟件設(shè)計(jì)技術(shù)及調(diào)試技巧。二、 設(shè)計(jì)要求及任務(wù)1. 電機(jī)轉(zhuǎn)速可以平穩(wěn)控制2. 通過鍵盤和顯示器可以設(shè)置電機(jī)的轉(zhuǎn)速3. 顯示電機(jī)的速度趨勢4. 具體任務(wù)(1) 編寫程序,通過單片機(jī)的P1 口控制步進(jìn)電機(jī)的控制端,使其按一定的控制方式進(jìn)行轉(zhuǎn)動。(2) 分別采用雙四拍(ABBCCDDAAB)方式、單四拍(ABCDA)方式和單雙八拍(AABBBCCCDDDAA)方式 編程,控制步進(jìn)電機(jī)的轉(zhuǎn)動方向和轉(zhuǎn)速。(3) 觀察不同控制方式下,步進(jìn)電機(jī)轉(zhuǎn)動時的振動情況和步進(jìn)角的大小,比較這幾種控制方式的優(yōu)缺點(diǎn)。三、 儀器設(shè)備(1)、P

3、C機(jī)一臺;(2)、51單片機(jī)開發(fā)系統(tǒng)一塊;(3)、步進(jìn)電機(jī)一個;(4)、Usb轉(zhuǎn)串口線、電源線。四、 硬件線路圖及主要芯片說明本系統(tǒng)主要由按鍵電路、撥碼開關(guān)、單片機(jī)最小系統(tǒng)、AT89c52單片機(jī)、步進(jìn)電機(jī)、驅(qū)動電路以及步進(jìn)電機(jī)等幾部分組成。本系統(tǒng)采用兩個獨(dú)立開關(guān)三個獨(dú)立按鈕,分別進(jìn)行啟動、停止、正反轉(zhuǎn)以及高低速的控制。驅(qū)動電路采用ULN2003實(shí)現(xiàn)步進(jìn)電機(jī)的驅(qū)動。步進(jìn)電機(jī)的供電采用獨(dú)立12V供電。.1. 總體設(shè)計(jì)框圖與傳統(tǒng)步進(jìn)控制器相比較有以下優(yōu)點(diǎn):1. 用微型機(jī)代替了步進(jìn)控制器把并行二進(jìn)制碼轉(zhuǎn)換成串行脈沖序列,并實(shí)現(xiàn)方向控制;2. 只要負(fù)載是在步進(jìn)電機(jī)允許的范圍之內(nèi),每個脈沖將使電機(jī)轉(zhuǎn)動一個

4、固定的步距角度。3. 根據(jù)步距角的大小及實(shí)際走的步數(shù),只要知道初始位置,便可知道步進(jìn)電機(jī)的最終位置。2.主要硬件線路圖(1)單片機(jī)最小系統(tǒng)的硬件原理接線圖:A、 接電源:VCC(PIN40)、GND(PIN20)。加接退耦電容0.1uFB、 接晶體:X1(PIN18)、X2(PIN19)。注意標(biāo)出晶體頻率(選用12MHz),還有輔助電容20pFC、 接復(fù)位:RES(PIN9)。接上電復(fù)位電路,以及手動復(fù)位電路,分析復(fù)位工作原理D、 接配置:EA(PIN31)。說明原因。(2)單片機(jī)內(nèi)部I/O部件A、 四個8位通用I/O端口,對應(yīng)引腳P0、P1、P2和P3; B、 兩個16位定時計(jì)數(shù)器;(TMO

5、D,TCON,TL0,TH0,TL1,TH1)C、 一個串行通信接口;(SCON,SBUF)D、 一個中斷控制器;(IE,IP)3. ULN2003芯片說明ULN2003 是高耐壓、大電流復(fù)合晶體管陣列,由七個硅NPN 復(fù)合晶體管組成。ULN2003是大電流驅(qū)動陣列,多用于單片機(jī)、智能儀表、PLC、數(shù)字量輸出卡等控制電路中??芍苯域?qū)動繼電器等負(fù)載。當(dāng)輸入5V TTL電平時,輸出可達(dá)500mA/50V。如果ULN2003的達(dá)林頓管輸入端輸入低電平使其截止,其驅(qū)動的元件是感性元件,則電流不能突變,此時會產(chǎn)生一個高壓;如果沒有二極管,達(dá)林頓管會被擊穿,所以這個二極管主要起保護(hù)作用。由于ULN2003

6、是集電極開路輸出,為了讓這個二極管起到續(xù)流作用,必須將COM引腳(pin9)接在負(fù)載的供電電源上,只有這樣才能夠形成續(xù)流回路。五、 系統(tǒng)工作原理1.步進(jìn)電機(jī)工作原理步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。通俗一點(diǎn)講:當(dāng)步進(jìn)驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動一個固定的角度(及步進(jìn)角)。可以通過控制脈沖個數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時您可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。四相步進(jìn)電機(jī)按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動力矩小。八拍工作方式的步距角是單四拍

7、與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動力矩又可以提高控制精度。單四拍、雙四拍與八拍工作方式的電源通電時序與波形分別如圖所示:(a) (b) (c)步進(jìn)電機(jī)的工作方式時序圖步進(jìn)電機(jī)的驅(qū)動電路根據(jù)控制信號工作,控制信號由單片機(jī)產(chǎn)生,其基本原理作用如下:(1)控制換相順序通電換相這一過程稱為脈沖分配。例如:四相步進(jìn)電機(jī)的八拍工作方式,其各相通電順序?yàn)锳ABBBCCCDDDA,通電控制脈沖必須嚴(yán)格按照這一順序分別控制A,AB,B,BC,C,CD,D,DA相的通斷。(2)控制步進(jìn)電機(jī)的轉(zhuǎn)向如果給定工作方式正序換相通電,步進(jìn)電機(jī)正轉(zhuǎn),如果按反序通電換相,則電機(jī)就反轉(zhuǎn)。(3)控制步進(jìn)電機(jī)的速

8、度如果給步進(jìn)電機(jī)發(fā)一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖,它會再轉(zhuǎn)一步。兩個脈沖的間隔越短,步進(jìn)電機(jī)就轉(zhuǎn)得越快。調(diào)整單片機(jī)發(fā)出的脈沖頻率,就可以對步進(jìn)電機(jī)進(jìn)行調(diào)速。2.采樣原理步進(jìn)電機(jī)根據(jù)單片機(jī)發(fā)出的脈沖序列來決定其工作方式為單四拍、雙四拍和八拍,并能將脈沖信號轉(zhuǎn)換成角位移。根據(jù)步進(jìn)電機(jī)接收到的脈沖序列的不同,決定其自身的通電相序。3.數(shù)據(jù)存放單元安排單片機(jī)將立即數(shù)存放到相應(yīng)的工作寄存器中,不同的延時子程序里,將不同的立即數(shù)存放到相應(yīng)的工作寄存器中,以實(shí)現(xiàn)不同長度的延時,進(jìn)而控制電機(jī)運(yùn)行速度,具體數(shù)據(jù)分配如下表:工作寄存器十進(jìn)制立即數(shù)十六進(jìn)制立即數(shù)R44028HR5(低速)250FAHR5(中

9、速)12078HR5(高速)5032H4.按鍵和顯示處理鍵盤在單片機(jī)應(yīng)用系統(tǒng)中能實(shí)現(xiàn)向單片機(jī)輸入數(shù)據(jù)、傳送命令等功能,是人工干預(yù)單片機(jī)的主要手段。鍵盤實(shí)質(zhì)是一組按鍵開關(guān)的集合。鍵盤所用開關(guān)為機(jī)械彈性開關(guān),利用了機(jī)械觸點(diǎn)的合、斷作用。一個電壓信號在機(jī)械觸點(diǎn)的斷開、閉合過程中,都會產(chǎn)生抖動,一般為510ms;兩次抖動之間為穩(wěn)定的閉合狀態(tài),時間由按鍵動作所決定;第一次抖動前和第二次抖動后為斷開狀態(tài)。系統(tǒng)采用4個撥碼開關(guān)用來控制步進(jìn)電機(jī)狀態(tài)轉(zhuǎn)換,分別是總開關(guān)、轉(zhuǎn)向控制、中速檔和高速檔,撥碼開關(guān)接通時,電源通過上拉電阻和開關(guān)到單片機(jī)I/O口形成通路,給單片機(jī)送入一個高電平,高電平即為有效電平。狀態(tài)指示采

10、用6個發(fā)光二極管分別表示步進(jìn)電機(jī)的啟動停止、正轉(zhuǎn)、反轉(zhuǎn)、低速運(yùn)行、中速運(yùn)行和高速運(yùn)行狀態(tài),發(fā)光二極管正極接電源,負(fù)極接單片機(jī)I/O口,同時,每個發(fā)光二極管需要接限流電阻起保護(hù)作用。為了確保單片機(jī)對一次按鍵動作只確認(rèn)一次按鍵,必須消除抖動的影響。消除按鍵抖動通常采用硬件、軟件兩種方法。由于硬件消抖電路設(shè)計(jì)復(fù)雜,本設(shè)計(jì)中沒有采用,在此不再詳細(xì)敘述;軟件消抖適合按鍵較多的情況,方便簡單。其原理是在第一次檢測到有鍵按下時,執(zhí)行一段延時10ms的子程序后在確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,如果保持閉合狀態(tài)電平則確認(rèn)為真正有鍵按下,從而消除了抖動的影響。其原理圖如圖所示:鍵盤控制模塊原理圖采用LED數(shù)碼

11、管動態(tài)顯示數(shù)據(jù)與個項(xiàng)參數(shù),方法簡單,容易控制,成本低。設(shè)計(jì)如下圖 P00P01P02P03P04P05P06P07P25P26P27AT89C51StcP24IN 1IN 2IN 3IN 4OUT 4OUT 3OUT 2OUT 1ULN2803abfcgdeLED1aabbcfdcegfdgeabfcgdeabfcgdehLED2LED3LED4hhhh5.中斷處理(定時器中斷0服務(wù)程序流程圖)當(dāng)CPU檢測到與撥碼開關(guān)相連引腳電平的變化時,停止當(dāng)前執(zhí)行的程序,轉(zhuǎn)而跳至標(biāo)號處去執(zhí)行中斷請求所對應(yīng)的程序,當(dāng)執(zhí)行完中斷程序后,CPU跳回先前所執(zhí)行的程序。開始設(shè)置T0時間參數(shù)判斷轉(zhuǎn)動方向控制位的值有控

12、制位查詢輸出脈沖退出改變方向控制變量值是六、 程序框圖七、 程序清單根據(jù)單片機(jī)外圍電路的設(shè)計(jì),單片機(jī)的P00、P01作為開關(guān)輸入,P02、P03、P04為按鍵輸入,主程序根據(jù)鍵盤掃描的結(jié)果進(jìn)行相應(yīng)的操作,并由定時器0產(chǎn)生定時中斷,輸出控制步進(jìn)電機(jī)的正反轉(zhuǎn)(利用給步進(jìn)電機(jī)送入與原來相反的脈沖即可)、步進(jìn)電機(jī)的高低速控制(修改T0的初值)。#include<reg52.h> /頭文件 程序定義及變量聲明#define uint unsigned int /宏定義#define uchar unsigned char /宏定義uchar code ZF8=0x01,0x03,0x02,0

13、x06,0x04,0x0c,0x08,0x09; /正轉(zhuǎn)編碼表uchar code FF8=0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01; /反轉(zhuǎn)編碼表uchar code SM10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /數(shù)碼表sbit k1=P32;/定義K1為啟動/停止按鍵sbit k2=P33;/定義K2為加速按鍵sbit k3=P34; /定義K3為減速按鍵sbit k4=P35; /定義K4為正/反轉(zhuǎn)按鍵uchar j=0;uint time=12000;/time /為每兩拍之間的間

14、隔時間uint temp2;uchar temp1,h,w,p,q,f; /1ms延時函數(shù)(12M晶振下)void delay(uchar z) /延時函數(shù) uchar s,v; for(s=0;s<z;s+)for(v=0;v<125;v+); /一個for循環(huán)8個機(jī)器周期(125*8*1us=1ms) void display(uchar a,uchar b,uchar c,uchar d) /顯示函數(shù)if(f%2)P2=0xfe; P0=0xbf;/f為奇數(shù)時代表反轉(zhuǎn),則第一個數(shù)碼管顯示“-”,否則不顯示delay(1); P0=0xff; /消隱P2=0xfd; P0=SM

15、a; /顯示十位delay(1); P0=0xff; /消隱P2=0xfb; P0=SMb&0x7f; /顯示個位(帶小數(shù)點(diǎn))delay(1); P0=0xff; /消隱P2=0xf7;P0=SMc; /顯示小數(shù)點(diǎn)后第一位小數(shù)delay(1); P0=0xff;/消隱P2=0xef;P0=SMd; /顯示小數(shù)點(diǎn)后第二位小數(shù)delay(1); P0=0xff; /消隱void dispose() /數(shù)值處理函數(shù) temp1=14648/time; h=temp1/10; /十位 w=temp1%10; /個位 temp2=14648%time; p=temp2/1000;/ 小數(shù)點(diǎn)后第一

16、位小數(shù) q=temp2%1000*10/1000;/小數(shù)點(diǎn)后第二位小數(shù)void main() /主函數(shù) uchar k; TMOD=0x01; /定義定時器0工作方式1 EA=1; / 開總中斷 ET0=1; /開定時器0中斷 TH0=(65536-time)/256; TL0=(65536-time)%256; /裝定時器初值 TR0=1; /開定時器0 while(1) if(k1=0)delay(5); /延時消抖 if(k1=0) TR0=TR0;k+;/啟動/停止 while(!k1); / 等待按鍵釋放 if(k2=0)delay(5); /延時消抖 if(k2=0) time=t

17、ime-150; / 加速 while(!k2); / 等待按鍵釋放 if(k3=0)delay(5); /延時消抖 if(k3=0)time=time+150; /減速 while(!k3); / 等待按鍵釋放 if(k4=0)delay(5); /延時消抖 if(k4=0)f+; / 正/反轉(zhuǎn) while(!k4); / 等待按鍵釋放 dispose(); if(k%2) display(0,0,0,0); /停止時顯示00.00 else display(h,w,p,q); /正常運(yùn)轉(zhuǎn)時調(diào)用顯示函數(shù) void timer0() interrupt 1 /定時器0中斷處理函數(shù) if(f%2

18、 )if(j=8) j=0;P1=FFj+; / f為奇數(shù)時代表反轉(zhuǎn),則送反轉(zhuǎn)編碼到P1口else if(j=8) j=0;P1=ZFj+; / 否則送正轉(zhuǎn)編碼到P1口 TH0=(65536-time)/256; TL0=(65536-time)%256; / 重新裝初值八、 設(shè)計(jì)體會這一學(xué)期我們學(xué)習(xí)了單片機(jī)原理及其應(yīng)用這門課程,作為一名自動化專業(yè)的大三學(xué)生,我覺得做單片機(jī)課程設(shè)計(jì)是十分有意義的,而且是十分必要的。 在課程設(shè)計(jì)環(huán)節(jié)中,我覺得最困難的是程序設(shè)計(jì),首先要理解原理,然后進(jìn)行流程設(shè)計(jì),轉(zhuǎn)化為程序,進(jìn)行調(diào)試,我們在調(diào)試的時候出現(xiàn)很多錯誤,改錯的過程是非常痛苦的,好在我們耐心的一一克服了,最后敲定了合理的程序。但問題并沒有因此結(jié)束,當(dāng)我們裝上步進(jìn)電機(jī)后,轉(zhuǎn)速等級之間的轉(zhuǎn)速差別,是否能夠帶動電機(jī),顯

溫馨提示

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

評論

0/150

提交評論