基于單片機(jī)的步進(jìn)電機(jī)控制(畢業(yè)設(shè)計論文)_第1頁
基于單片機(jī)的步進(jìn)電機(jī)控制(畢業(yè)設(shè)計論文)_第2頁
基于單片機(jī)的步進(jìn)電機(jī)控制(畢業(yè)設(shè)計論文)_第3頁
基于單片機(jī)的步進(jìn)電機(jī)控制(畢業(yè)設(shè)計論文)_第4頁
基于單片機(jī)的步進(jìn)電機(jī)控制(畢業(yè)設(shè)計論文)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、(2013屆)本科畢業(yè)設(shè)計(論文)資料題 目 名 稱:基于單片的步進(jìn)電機(jī)控制的設(shè)計 學(xué) 院(部): 電氣與信息工程學(xué)院 專 業(yè): 電氣工程及其自動化 學(xué) 生 姓 名: 班 級: 學(xué)號 指導(dǎo)教師姓名: 職稱 最終評定成績: 湖南工業(yè)大學(xué)教務(wù)處 2013屆本科畢業(yè)設(shè)計(論文)資料 第一部分 畢業(yè)論文 (2013屆)本科畢業(yè)設(shè)計(論文)學(xué) 院(部): 電氣與信息工程學(xué)院 專 業(yè): 電氣工程及其自動化 學(xué) 生 姓 名: 班 級: 學(xué)號 指導(dǎo)教師姓名: 職稱 最終評定成績 2013年6月 湖南工業(yè)大學(xué)本科畢業(yè)設(shè)計(論文)摘 要步進(jìn)電機(jī)從誕生以來發(fā)展迅速,它廣泛應(yīng)用于醫(yī)療設(shè)備、檢測儀器、數(shù)碼產(chǎn)品等人類社會

2、的各個方面。本文設(shè)計的步進(jìn)電機(jī)是基于單片機(jī)AT89C52控制,四相單四拍運行。單片機(jī)采用軟件的方式發(fā)送脈沖,經(jīng)過驅(qū)動器74LS245將信號放大后送給步進(jìn)電機(jī)。采用兩個按鍵分別控制電機(jī)的正反轉(zhuǎn),兩個按鍵分別控制電機(jī)的加減速,兩個數(shù)碼管分別顯示電機(jī)的轉(zhuǎn)向和速度檔位。通過改變相鄰兩相脈沖發(fā)送的時間間隔,即調(diào)節(jié)脈沖的寬度,來改變電機(jī)的速度。 控制正反轉(zhuǎn)的按鍵采用查詢方式??刂萍訙p速的按鍵采用中斷服務(wù)控制方式,一旦有加速或者減速鍵按下就會產(chǎn)生中斷,單片機(jī)就會立即進(jìn)入中斷程序,進(jìn)行相應(yīng)的操作。這樣可以很方便的控制電機(jī)的加減速。另外,數(shù)碼管實時顯示電機(jī)的速度和方向,讓用戶使用起來更加直觀和安全。基于脈沖的控

3、制,使步進(jìn)電機(jī)相比其它電機(jī)而言控制更加平穩(wěn)和精確。相信步進(jìn)電機(jī)的發(fā)展會越來越快,技術(shù)也會越來越成熟,步進(jìn)電機(jī)將更好的造福于人類。關(guān)鍵詞:步進(jìn)電機(jī),單片機(jī),中斷服務(wù),脈沖ABSTRACTStepper motor has been developing rapidly since its birth, it is widely used in medical equipment, testing instruments, digital products and other various aspects of human society. Stepper motor of this desig

4、n is based on single chip microcomputer AT89C52, and it is running by four phase four. It send pulses with the method of software, the message will be sended to stepper motor through the amplification by 74 ls245. We Use two muttons controing the motor forwarding and reversing, two buttons controlli

5、ng the motor accelerating and decelerating,two digital tube display ing the direction and the gears of speed of the motor. By changing the interval between the pulses of two phase of neighbouring, namely, by adjusting the width of pulse, we change the speed of the motor.We control the two buttons of

6、 forwarding and reversing by the way of querying. We use the way of Interrupt service controlling the buttons of accelerating and decelerating. once the acceleration or deceleration keys has been pressed the single chip microcomputer will generate interrupts, and it will enter the interrupting progr

7、am immediately, and do the corresponding operation.In this way,we will control the motor accelerating and decelerating conveniently.besides,digital tube can display the speed and direction of the motor immediately,which woud make the user intuitive and safer.The stepper moror which based on the cont

8、rolling of pulse are more steady and correct compared with others.I belive that the diveloping of stepper motor will be faster,and the technology will be moer mature.In a word,the stepper motor will service people better in the future. Keywords: Stepper motor,single chip microcomputer,interrupting s

9、ervice,pulse 目 錄摘 要IABSTRACTII第1章 緒 論11.1課題背景11.2本文研究的內(nèi)容1第2章 步進(jìn)電機(jī)的結(jié)構(gòu)和工作原理22.1步進(jìn)電機(jī)的特點22.2步進(jìn)電機(jī)的構(gòu)造22.3步進(jìn)電機(jī)的工作原理32.4步進(jìn)電機(jī)的主要參數(shù)42.5步進(jìn)電機(jī)的選型5第3章 步進(jìn)電機(jī)的硬件設(shè)計63.1單片機(jī)簡介63.2硬件設(shè)計總體思路103.3步進(jìn)電機(jī)的脈沖分配113.3.1硬件分配法113.3.2軟件分配法123.4步進(jìn)電機(jī)的驅(qū)動123.5電機(jī)運行電路設(shè)計143.5.1正反轉(zhuǎn)電路設(shè)計143.5.2加減速電路設(shè)計143.6顯示電路的設(shè)計15第4章 步進(jìn)電機(jī)的程序設(shè)計164.1主程序設(shè)計164.2

10、外部中斷0程序184.3外部中斷1程序194.4正轉(zhuǎn)脈沖程序194.5反轉(zhuǎn)脈沖程序214.6速度顯示程序214.7延時程序22第5章 步進(jìn)電機(jī)的仿真235.1硬件仿真圖235.2速度與方向顯示仿真245.3脈沖信號的生成25結(jié) 論28參考文獻(xiàn)29致 謝30附 錄31III第1章 緒 論 1.1課題背景步進(jìn)電機(jī)我們又稱為脈沖電動機(jī)或階躍電動機(jī),它基于電磁感應(yīng)原理,將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移。步進(jìn)電機(jī)廣泛應(yīng)用于工業(yè)自動控制、數(shù)控機(jī)床、機(jī)器人、計算機(jī)外圍設(shè)備、照相機(jī)、衛(wèi)星天線定位系統(tǒng)等。隨著經(jīng)濟(jì)的發(fā)展與科技的進(jìn)步,步進(jìn)電機(jī)的應(yīng)用領(lǐng)域?qū)⒏訌V闊,更好的服務(wù)于人類。步進(jìn)電機(jī)起源于1830年至186

11、0年,1870年前后把這種電機(jī)應(yīng)用在氬弧燈的電極輸送機(jī)構(gòu)中,這被認(rèn)為是最早的步進(jìn)電機(jī)1歐偉明,何靜,凌云,劉劍.單片機(jī)原理與應(yīng)用. 電子工業(yè)出版社,2009.。1973年德國百格拉公司發(fā)明了五相混合式步進(jìn)電機(jī)及其驅(qū)動器,1993年又推出了性能更加優(yōu)越的三相混合式步進(jìn)電機(jī)2張迎新.單片機(jī)原理及應(yīng)用(第二版).電子工業(yè)出版社,2009.。我國在80年代以前,以反應(yīng)式步進(jìn)電機(jī)為主,80年代后混合式步進(jìn)電機(jī)開始發(fā)展。圖1.1步進(jìn)電機(jī)的圖片1.2本文研究的內(nèi)容本文研究試圖基于單片機(jī)采用軟件的方式發(fā)出脈沖信號,經(jīng)過功率放大器送給電機(jī)。設(shè)計四個按鍵分別控制步進(jìn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、加速和減速,實現(xiàn)方便的正反轉(zhuǎn)和

12、加減速。設(shè)計兩個數(shù)碼管顯示電機(jī)的運行速度等級和方向,達(dá)到實時監(jiān)測步進(jìn)電機(jī)的運行狀態(tài),既方便安全又經(jīng)濟(jì)實惠。第2章 步進(jìn)電機(jī)的結(jié)構(gòu)和工作原理2.1步進(jìn)電機(jī)的特點1步進(jìn)電機(jī)的角位移與輸入脈沖數(shù)嚴(yán)格成正比,沒有累計誤差,具有控制精確和良好的跟隨性3宋文緒,楊帆.自動檢測技術(shù)(第三版).高等教育出版社,2008.。2由步進(jìn)電機(jī)與單片機(jī)、驅(qū)動電路組成的開環(huán)系統(tǒng),既方便廉價又可靠安全。如果加上角度反饋就會成為高性能的閉環(huán)控制系統(tǒng)4陳士進(jìn),朱學(xué)忠.步進(jìn)電機(jī)系統(tǒng)驅(qū)動與控制策略綜述J.電機(jī)技術(shù),2007年06期.。3速度可以在比較寬的范圍內(nèi)調(diào)節(jié),低速運行時仍具有較大轉(zhuǎn)矩,因此可以不需要減速器而直接驅(qū)動負(fù)載。4步

13、進(jìn)電機(jī)動態(tài)響應(yīng)快,可以方便快速的實現(xiàn)正反轉(zhuǎn)和加減速控制。5步進(jìn)電機(jī)只能通過專門的脈沖電源供電,不能由一般的交流電或直流電供電,這由它的工作原理決定的。6步進(jìn)電機(jī)的噪聲和振動較大,帶慣性負(fù)載的能力不強(qiáng)。7步進(jìn)電機(jī)的力矩隨轉(zhuǎn)速的升高而下降。8步進(jìn)電機(jī)外表不允許較高的溫度,外表溫度一般不超過80-90攝氏度。2.2步進(jìn)電機(jī)的構(gòu)造步進(jìn)電機(jī)由轉(zhuǎn)子和定子組成,如圖1.2所示,分別介紹如下:1. 定子:由硅鋼片疊成,在定子上有6大磁極,每2個相對的磁極組成一對,一共有3對。定子齒有三個勵磁繞阻,其幾何軸線依次分別與轉(zhuǎn)子齒軸線錯開 0、1/3、2/3,(為相鄰兩轉(zhuǎn)子的齒距)4。2. 轉(zhuǎn)子:由軟磁材料制成,其外

14、表面均勻分布著小齒,它們大小相同,間距相同4。圖1.2步進(jìn)電機(jī)結(jié)構(gòu)圖電機(jī)的A1、B1、C1接電源,分別有三個開關(guān)控制,A2、B2、C2分別接地。2.3步進(jìn)電機(jī)的工作原理如上圖所示給處于錯齒狀態(tài)的三相通電,則轉(zhuǎn)子在電磁力的作用下,將向磁導(dǎo)率最大(即磁阻最?。┑奈恢棉D(zhuǎn)動,也就是趨于對齒的狀態(tài)轉(zhuǎn)動5王宗培,史敬灼.二相混合式步進(jìn)電機(jī)仿真模型分析J.微特電機(jī),1998年06期.。步進(jìn)電機(jī)是一種感應(yīng)電機(jī),它的工作原理是給電機(jī)的三相按一定的相序分時通直流電,即形成一系列的脈沖信號,步進(jìn)電機(jī)就會連續(xù)的轉(zhuǎn)動。以四相步進(jìn)電機(jī)為例說明6韓軒.五相混合式步進(jìn)電機(jī)驅(qū)動系統(tǒng)的設(shè)計與仿真D.大連交通大學(xué),2010年.:(

15、1)方向控制通電換向的過程稱為脈沖分配。四相單四拍的通電順序為:A-B-C-D-A;四相雙四拍的通電順序為:AB-BC-CD-DA-AB。通電控制脈沖信號必須嚴(yán)格按照這一順序控制四相的通斷,才能保證步進(jìn)電機(jī)的正常運行。電機(jī)如要反轉(zhuǎn),則通電順序剛好相反。反轉(zhuǎn)時,四相單四拍通電順序為:A-D-C-B-A;四相雙四拍為:BA-AD-DC-CB-BA。四相步進(jìn)電機(jī)工作時序波形圖如下: a.單四拍 b.雙四拍圖1.3步進(jìn)電機(jī)工作時序波形圖脈沖分配如下表所示:表1.1四相單四拍脈沖分配表 ABCDN1000N+10100N+20010N+30001表1.2四相雙四拍脈沖分配表ABCDN1100N+1011

16、0N+20011N+31001(2)速度控制兩個相鄰脈沖通電時間間隔越短,步進(jìn)電機(jī)速度就越快。因此可以通過控制這一時間間隔來控制電機(jī)的轉(zhuǎn)速。2.4步進(jìn)電機(jī)的主要參數(shù)1. 步進(jìn)電機(jī)的相數(shù):指電機(jī)內(nèi)部的線圈數(shù),常用的有兩相、三相、五相的步進(jìn)電機(jī)。2拍數(shù):完成一個磁場周期性變化所需脈沖數(shù),或電機(jī)轉(zhuǎn)過一個齒距角所需脈沖數(shù),用m表示。3. 齒距角:相鄰兩齒中心線間的夾角,通常定子和轉(zhuǎn)子具有相同的齒距角。其計算公式為:z=2/Z(Z 是轉(zhuǎn)子的齒數(shù))6韓軒.五相混合式步進(jìn)電機(jī)驅(qū)動系統(tǒng)的設(shè)計與仿真D.大連交通大學(xué),2010年.。4. 步距角:指每給一個電脈沖信號電動機(jī)轉(zhuǎn)子所應(yīng)轉(zhuǎn)過的角度的理論值。b=z/NZ

17、= 2/NZ(N是工作拍數(shù),Z是轉(zhuǎn)子的齒數(shù))。5保持轉(zhuǎn)矩:指步進(jìn)電機(jī)通電但沒有轉(zhuǎn)動時,定子鎖住轉(zhuǎn)子的力矩。6定位轉(zhuǎn)矩:電機(jī)在沒有通電狀態(tài)下,電機(jī)轉(zhuǎn)子自身的鎖定力矩。7. 失調(diào)角:轉(zhuǎn)子齒軸線偏移定子齒軸線的角度,電機(jī)轉(zhuǎn)動必然存在失調(diào)角,由失調(diào)角而產(chǎn)生的誤差,采用細(xì)分驅(qū)動是不能解決的。8失步:電機(jī)運轉(zhuǎn)時的步數(shù)不等于理論上的步數(shù)。9運行矩頻特性:電機(jī)在某一測試條件下測得運行中的輸出力矩與頻率關(guān)系的曲線。 2.5步進(jìn)電機(jī)的選型步進(jìn)電機(jī)的選型包括三個方面:電機(jī)最大速度、電機(jī)定位精度和電機(jī)力矩選擇,下面分別介紹:(1)電機(jī)最大速度選擇步進(jìn)電機(jī)最大速度一般在600-1200 r/min。交流伺服電機(jī)的額定速

18、度一般為3000 r/m,最大速度為5000 r/m。機(jī)械傳動系統(tǒng)要根據(jù)此參數(shù)設(shè)計。(2)電機(jī)定位精度選擇機(jī)械傳動比確定以后,可根據(jù)控制系統(tǒng)的定位精度選擇步進(jìn)電機(jī)的步距角和驅(qū)動器的細(xì)分等級。一般選一個步距角對應(yīng)系統(tǒng)定位精度的1/2或者更小。(3)電機(jī)力矩選擇步進(jìn)電機(jī)的動態(tài)力矩一般情況下不容易確定。通常先確定電機(jī)的靜力矩,靜力矩的選擇依賴于電機(jī)工作的負(fù)載。負(fù)載一般分為慣性負(fù)載和摩擦負(fù)載。直接起動(一般低速起動)時兩種負(fù)載都要考慮,加速起動時主要考慮慣性負(fù)載,恒速運行時只考慮摩擦負(fù)載就可以了。一般地,靜力矩為摩擦負(fù)載的2-3倍,靜力矩確定好了,電機(jī)的幾何尺寸就確定了7李穎,五相混合式步進(jìn)電機(jī)控制技

19、術(shù)研究D.西北工業(yè)大學(xué),2007年.。第3章 步進(jìn)電機(jī)的硬件設(shè)計步進(jìn)電機(jī)的硬件設(shè)計包括單片機(jī)最小系統(tǒng)、脈沖分配、驅(qū)動模塊、運行控制模塊、顯示模塊。下面分別予以介紹。3.1單片機(jī)簡介單片機(jī)誕生于20世紀(jì)70年代,美國Intel公司1996年宣布1997年推出MCS-48單片機(jī),隨后單片機(jī)技術(shù)飛速發(fā)展,至今有30多年歷史8陳忠平,曹巧媛,曹琳琳,劉瓊,申曉龍.單片機(jī)原理及接口.清華大學(xué)出版社,2007.。我國從20世紀(jì)70年代末80年代初開始進(jìn)行單片機(jī)的應(yīng)用與研發(fā)。單片機(jī)從8位發(fā)展到16位和32位,這不得不說是一個驚人的進(jìn)步。單片機(jī)是單片微型計算機(jī)的簡稱。單片機(jī)是將中央處理器CPU,程序存儲器RO

20、M或EPROM,數(shù)據(jù)存儲器RAM,定時器/計數(shù)器,并行及串行口等電路集成在一塊芯片上做成的微型計算機(jī)9W Q Yang. D M Spink, et. An image-reconstuction algorithm based on Landwebers iteration method for electrical-capacitance tomography. Meas.Sci. Technol. 1999,10: 1065-1069.。單片機(jī)的典型結(jié)構(gòu)如下圖3.1所示。定時計數(shù)器時鐘CPU串行口并行口RAMROM圖3.1單片機(jī)的典型結(jié)構(gòu)單片機(jī)與一般的微型機(jī)相比,具有以下特點:1控制功能

21、強(qiáng)。為滿足工業(yè)控制的要求,在單片機(jī)的指令系統(tǒng)中有非常系統(tǒng)的數(shù)據(jù)傳送指令、算術(shù)運算指令、邏輯運算及移位指令、控制轉(zhuǎn)移指令和位操作指令。這些指令讓單片機(jī)更加靈活。2集成度高、體積小、可靠性強(qiáng)。3低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品。4具有很高的性價比,功能強(qiáng)大而且成本較低,可應(yīng)用于生活各領(lǐng)域。5采用串行接口,可以大大減少器件的引腳,簡化系統(tǒng)結(jié)構(gòu)。另外串行傳輸速度也在不斷提高。6在程序存儲器發(fā)面,F(xiàn)lash ROM單片機(jī)問世,讓程序存儲器的編寫可以擦除,單片機(jī)的使用更加便捷10曲家駭,王季,伺服控制系統(tǒng)中的傳感器M.機(jī)械工業(yè)出版社.1998.。 下面以ATMEL公司AT89C52單片機(jī)為例進(jìn)行介紹,如

22、圖3.2所示:圖3.2單片機(jī)引腳圖(1)引腳功能說明1Vcc給單片機(jī)提供電源電壓,GND接地 。2P0口:P0口是一組8位漏極開路型雙向I/O口。當(dāng)其擴(kuò)展外部存儲器及I/O接口時,P0口作為低8為地址總線/數(shù)據(jù)總線的分時復(fù)用。P0口也可作為通用的I/O口使用,但要加上拉電阻,這時為準(zhǔn)雙向口。這在仿真和做電路板時一定要注意。 3P1口:P1口是一個帶內(nèi)部上拉電阻的8位雙向I/O口。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作為輸入口。另外,P1.0和P1.1還可分別作為定時/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),參見表3.1。Flash編程和程序校

23、驗期間,P1接收低8位地址11張友德,趙志英,涂時亮,單片機(jī)微機(jī)原理,應(yīng)用與實驗M.上海:復(fù)旦大學(xué)出版社,2003:122-136.。表3.1 P1.0和P1.1的第二功能引腳號功能特性P1.0 T2(定時/計數(shù)器2外部計數(shù)脈沖輸入),時鐘輸出P1.1 T2EX(定時/計數(shù)2捕獲/重裝載觸發(fā)和方向控制)4P2口:P2是一個內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口。對P2端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。在CPU從外部程序存儲器取指令和訪問外部數(shù)據(jù)存儲器時,P2口輸出16位地址中的高8位地址。5P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出可驅(qū)動4個

24、TTL邏輯門電路。對P3口寫入“1”時,引腳被內(nèi)部上拉電阻拉高并可作為輸入口。P3口如表3.2所示,除了作為一般的I/O口外,更重要的用途是其具有第二功能,特別是五個中斷源,它在本設(shè)計中發(fā)揮了非常大的作用。表3.2 P3口的第二功能端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外中斷0)P3.3INT1(外中斷1)P3.4T0(定時/計數(shù)器0)P3.5T1(定時/計數(shù)器1)P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器讀選通)6RST:復(fù)位輸入。當(dāng)單片機(jī)工作時,RST引腳出現(xiàn)兩個機(jī)器周期以上高電平將使單片機(jī)復(fù)位。單片機(jī)在復(fù)位時,各種

25、參數(shù)恢復(fù)到初始設(shè)置。7ALE/PROG:當(dāng)CPU訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。通常情況下ALE以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘頻率或用于定時需要。對Flash存儲器編程時,該引腳還用于輸入編程脈沖(PROG)。另外可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,禁止ALE操作。該位置位以后,只有MOVX和MOVC指令才能將ALE激活。應(yīng)該注意的是,單片機(jī)執(zhí)行外部程序時,應(yīng)設(shè)置ALE禁止位無效12Ateml AT89S51 Data sheets.website:.。8PSEN:程序儲存允許(

26、PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)CPU由外部程序存儲器取指令時,每個機(jī)器周期PSEN兩次有效,即輸出兩個脈沖。在此期間,在訪問外部數(shù)據(jù)存儲器時將跳過兩次RSEN信號。 9EA/VPP:EA為片外程序存儲器訪問允許控制信號輸入端。當(dāng)EA為高電平時,單片機(jī)讀片內(nèi)程序存儲器,當(dāng)程序計數(shù)器PC值超過0FFH時,將自動轉(zhuǎn)向片外存儲器。當(dāng)EA為低電平時,只讀片外程序存儲器。Flash存儲器編程時,該引腳要加上+12V的編程使能電壓。10XTAL1:振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。11XTAL2:振蕩器反相放大器的輸出端。(2)單片機(jī)的最小系統(tǒng)單片機(jī)的最小系統(tǒng)包括單片機(jī)、晶振電路、復(fù)

27、位電路和電源。本設(shè)計的最小系統(tǒng)如下圖3.3所示,因為在PROTUES軟件里單片機(jī)自動帶電源,所以就沒有特定的電源引腳了。圖3.3單片機(jī)的最小系統(tǒng)晶振電路:它控制著單片機(jī)的工作節(jié)奏。89C52單片機(jī)的時鐘信號有兩種產(chǎn)生方式,一種是內(nèi)部方式,一種是外部方式。如圖3.3下面分別對其予以介紹。1內(nèi)部時鐘方式利用芯片內(nèi)部的振蕩電路實現(xiàn)。在單片機(jī)的外部引腳XTAL1、XTAL2兩端接晶振和電容,構(gòu)成了穩(wěn)定的自激振蕩器,產(chǎn)生的脈沖信號送入內(nèi)部時鐘電路。外接晶振時,C1、C2一般選擇30pf,C1、C2對時鐘有微調(diào)作用,晶振的頻率范圍可在3-33MHZ之間選擇。為減小寄生電容和保證振蕩器更穩(wěn)定的工作,晶振和電

28、容安裝時應(yīng)盡量與XTAL1、XTAL2靠近。本設(shè)計采用內(nèi)部時鐘方式。2外部時鐘方式使用現(xiàn)成的外部振蕩器產(chǎn)生的脈沖信號,外部時鐘信號接XTAL1端,XTAL2端懸空。這種方式用的比較少。復(fù)位電路:在時鐘電路工作之后,只要在RST引腳上出現(xiàn)兩個機(jī)器周期以上的高電平,單片機(jī)就可以復(fù)位。當(dāng)RST引腳變?yōu)榈碗娖絼t退出復(fù)位,進(jìn)入單片機(jī)的初始工作狀態(tài)。本設(shè)計采用手動復(fù)位,按下復(fù)位鍵電容放電,電容迅速放電,RST變?yōu)楦唠娖剑?dāng)復(fù)位鍵彈起后,電源VCC對電容重新充電,使RST引腳出現(xiàn)正脈沖而復(fù)位。電容一般為22uf,R1為1K,R2為200。3.2硬件設(shè)計總體思路如下圖3.4所示,通過P1口發(fā)送脈沖信號。信號經(jīng)

29、過74LS245功率放大器放大后送給步進(jìn)電機(jī)。P3.4和P3.5接兩個按鍵分別控制電機(jī)的正轉(zhuǎn)與反轉(zhuǎn)。P3.2和P3.3對應(yīng)外部中斷0和外部中斷1,分別控制電機(jī)的加速和減速。P0口和P2口接兩個共陽極的數(shù)碼管分別顯示步進(jìn)電機(jī)的轉(zhuǎn)向和速度等級。本設(shè)計步進(jìn)電機(jī)采用四相單四拍,轉(zhuǎn)子齒為50齒,根據(jù)步距角計算公式:b= 2/NZ=360/50/4=1.8度(N是工作拍數(shù),Z是轉(zhuǎn)子的齒數(shù))。即給步進(jìn)電機(jī)發(fā)送一個脈沖,電機(jī)轉(zhuǎn)動1.8度。圖3.4步進(jìn)電機(jī)的總體硬件圖3.3步進(jìn)電機(jī)的脈沖分配脈沖分配通常有兩種方法:硬件分配和軟件分配,各有其特點,硬件法比價穩(wěn)定,但參數(shù)比較固定;軟件法采用編寫程序,不需要額外的硬

30、件,成本低,而且控制靈活。故本設(shè)計采用軟件分配法。下面分別介紹。3.3.1硬件分配法以CT74LS194為例來說明其工作原理。圖3.5環(huán)形脈沖分配器如圖電路圖3.5所示,環(huán)形脈沖分配器是使一個矩形脈沖按一定的順序在輸出端Q0-Q3之間,輪流分配反復(fù)輸出的電路13謝自美. 電子線路設(shè)計.實驗.測試M.武漢:華中科技大學(xué)出版社,2000:212-230.。工作原理介紹如下:把輸出端Q3反饋接至右移輸入端Dsr,使Dsr= Q3,CR=1。初始時,M1M0=11,寄存器處于并行輸入方式。D0D1D2D3=1000,輸入CP脈沖,在脈沖上升沿到來時輸出端Q0Q1Q2Q3=1000。工作時,M1M0=0

31、1,讓芯片處于右移方式。Dsr=Q3=0,當(dāng)?shù)谝粋€CP脈沖上升沿到來時,右移一位變?yōu)镼0Q1Q2Q3=0100,Dsr=0。同理第二個CP脈沖上升沿到來時,Q0Q1Q2Q3=0010,Dsr=0。第三個上升沿脈沖到來時,Q0Q1Q2Q3=0001,Dsr=1。第四個上升沿脈沖到來時Q0Q1Q2Q3=1000,回到初始狀態(tài)。若不斷輸入脈沖則寄存器重復(fù)以上的過程。環(huán)形脈沖的狀態(tài)表如下表3.3所示。表3.3環(huán)形脈沖分配器狀態(tài)表CPM1M0DsrQ0Q1Q2Q301101000101001002010001030110001401010003.3.2軟件分配法軟件法是單片機(jī)P1口的P1.0-P1.3四

32、個引腳通過寫“1”或者“0”的方法獲得脈沖,每個脈沖的時間通過延時程序控制。P1.0-P1.3的脈沖分配表如下表3.4所示。表3.4 P1.0-P1.3的脈沖分配表P1.3P1.2P1.1P1.0N0001N+10010N+20100N+31000P1口的脈沖經(jīng)過驅(qū)動器74LS245送給步進(jìn)電機(jī)。74LS245驅(qū)動器將在下面內(nèi)容介紹。3.4步進(jìn)電機(jī)的驅(qū)動步進(jìn)電機(jī)的驅(qū)動有7輸入7輸出的ULN2001、ULN2002、ULN2003、ULN2004和8輸入8輸出的ULN2823和ULN2824,但這些芯片的輸出都取反。本設(shè)計的輸入與輸出電位相同故采用74LS245。74LS245是我們常用的芯片,

33、用來驅(qū)動LED管或者其他設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器14李廣第,單片機(jī)基礎(chǔ).北京航空航天大學(xué)出版社,2001.。74LS245還具有雙向三態(tài)功能,既可以輸出數(shù)據(jù),也可以輸入數(shù)據(jù)。一般情況下,當(dāng)單片機(jī)的I/O口總線負(fù)載達(dá)到或超過其最大負(fù)載能力時,必須接入74LS245等總線驅(qū)動器,才能帶動負(fù)載。如圖3.7所示,當(dāng)片選端CE低電平有效時,DIR=“0”,信號由 B 傳輸給 A,即接收數(shù)據(jù)15求是科技編著,單片機(jī)典型模塊設(shè)計實例導(dǎo)航.北京:人民郵電出版社,2004.。DIR=“1”,信號由 A傳輸給 B,即發(fā)送數(shù)據(jù)。當(dāng)CE為高電平時,A、B均為高阻態(tài)。P2口與驅(qū)動器輸入線對應(yīng)相連。圖3.6

34、74LS245引腳圖如圖3.7所示,在本設(shè)計中74LS245接單片機(jī)的P1口, P1.0-P1.3分別接74LS245的A0-A3,輸出端B0-B3接步進(jìn)電機(jī)的A、B、C、D四相輸入端。E端接地,AB/BA 端接5V電源。數(shù)據(jù)從A傳輸給B。 圖3.7驅(qū)動模塊電路圖3.5電機(jī)運行電路設(shè)計步進(jìn)電機(jī)的運行控制包括電機(jī)正反轉(zhuǎn)控制和加減速控制。3.5.1正反轉(zhuǎn)電路設(shè)計圖3.8正反轉(zhuǎn)電路設(shè)計如圖3.8所示,P3.4接S1,控制電機(jī)的正轉(zhuǎn),P3.5接S2控制電機(jī)的反轉(zhuǎn)。其原理為:P3口自帶上拉電阻,默認(rèn)輸出高電平。將兩個引腳通過開關(guān)接地,當(dāng)有鍵按下并且常閉時,該引腳被拉為低電平。編程時采用查詢方式檢測到P3

35、.4有低電平,P1口發(fā)送正轉(zhuǎn)脈沖;檢測到P3.5有低電平時,P1口發(fā)送反轉(zhuǎn)指令。在沒有按下加減速按鍵,即沒有產(chǎn)生外部中斷的情況下,單片機(jī)一直在檢測兩個按鍵是否按下。若有鍵按下則進(jìn)行相應(yīng)的操作。 3.5.2加減速電路設(shè)計圖3.9加減速電路設(shè)計如圖3.9 按鍵S3接外部中斷0,按鍵S4接外部中斷1。設(shè)置外部中斷0和外部中斷1均為下降沿觸發(fā)方式。設(shè)為下降沿觸發(fā),外部中斷信號即下降沿的撤除是自動完成的。加速原理:點動S3則瞬間P3.2被拉為低電平,隨后又立即回復(fù)高電平,這樣的下降沿信號能使外部中斷0產(chǎn)生中斷請求。單片機(jī)進(jìn)入中斷后,確定速度檔位是多少,根據(jù)速度檔位發(fā)送相應(yīng)頻率的脈沖給步進(jìn)電機(jī),得到不同的

36、速度。同時根據(jù)速度檔位顯示當(dāng)前的速度。減速時點動S4通過P3.3的外部中斷1產(chǎn)生中斷,減速原理與加速原理相同。3.6顯示電路的設(shè)計顯示電路包括電機(jī)轉(zhuǎn)動速度顯示和方向顯示。如圖3.10所示P0口接一個共陽極數(shù)碼管用來顯示電機(jī)的轉(zhuǎn)向,正轉(zhuǎn)時顯示“1”,反轉(zhuǎn)時顯示“2”。P2口接一個共陽極數(shù)碼管顯示電機(jī)的速度檔位,可顯示1-5五個檔位。兩個數(shù)碼管的七段引腳分別接P0口與P2口的7個引腳,兩個COM端接5V電源。圖3.10顯示電路第4章 步進(jìn)電機(jī)的程序設(shè)計本設(shè)計的程序設(shè)計包括一個主程序和五個主要子程序。這五個子程序分別為正脈沖發(fā)送程序、反脈沖發(fā)送程序、加速程序、減速程序、速度顯示程序。延時程序在正脈沖

37、發(fā)送程序和反脈沖發(fā)送程序中被調(diào)用,用來控制相鄰兩個脈沖的間隔時間??刂七@個時間就可以達(dá)到調(diào)速的目的了。下面分別對主程序和子程序進(jìn)行介紹。 YY Y4.1主程序設(shè)計開始系統(tǒng)初始化NS1閉合? 調(diào)用正轉(zhuǎn)脈沖和速度顯示程序S2閉合? N調(diào)用反轉(zhuǎn)脈沖和速度顯示程序圖4.1主程序流程圖如上圖4.1,系統(tǒng)初始化程序:MOV R2,#01H MOV R4,#1 MOV R5,#8 SETB IT0SETB IT1SETB EAETB EX0SETB EX1 在初始化程序中,R2記速度的檔位,初值為1即起動速度為一檔,滿足電機(jī)低速起動要求。R4初值為正轉(zhuǎn)起始脈沖序列0001,R5初值為反轉(zhuǎn)起始脈沖序列1000

38、。外部中斷0和外部中斷1均設(shè)為下降沿觸發(fā)。最后三條指令打開總中斷允許、打開外部中斷0以及外部中斷1允許。中斷請求標(biāo)志由TCON控制,TCON寄存器如表4.1。表4.1 TCON寄存器TCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88HIT0為外部中斷0的中斷觸發(fā)方式控制位。當(dāng)IT0=0,為電平觸發(fā)方式,即INT0輸入低電平信號時形成有效的中斷請求16劉守義,王靜霞.單片機(jī)應(yīng)用技術(shù).西安電子科技大學(xué)出版社,2002.。當(dāng)IT0=1,為下降沿觸發(fā)方式,即INT1輸入負(fù)跳變信號時形成有效的中斷請求17于海生,微型計算機(jī)控制技術(shù).北京:清華大學(xué)

39、出版社,1999-6.。同理IT1的觸發(fā)方式相同,本設(shè)計INT0 和INT1均采用下降沿觸發(fā),這樣可以自動撤除外部中斷信號。按鍵檢測原理為:如果S1閉合,則調(diào)用正轉(zhuǎn)脈沖程序和和速度顯示程序,另外方向直接顯示“1”即可。調(diào)用了子程序之后又反過來繼續(xù)檢測檢測S1是否按下。如果S1沒有按下則檢測S2是否按下,S2按下則調(diào)用反轉(zhuǎn)脈沖程序和速度顯示程序,方向直接顯示“2”。若S2沒有按下則繼續(xù)檢測S1是否被按下。總之,產(chǎn)生了中斷就進(jìn)入中斷服務(wù)程序,沒有中斷則一直檢測按鍵。 Y4.2外部中斷0程序入口 R2+1R2=6?NYR2=5返回圖4.2外部中斷0程序流程圖如圖4.2寄存器R2儲存速度檔位值,當(dāng)外部

40、中斷0產(chǎn)生中斷時,即有加速信號輸入,R2自加1,在R2的值等于6時,R2恢復(fù)為5返回,小于6時直接返回R2值,這樣保證速度在五檔以后不能加速了。速度顯示程序根據(jù)R2的值顯示出速度。4.3外部中斷1程序 YYR2=0?返回R2=1R2-1入口 N圖4.3外部中斷1程序流程圖當(dāng)外部中斷1產(chǎn)生中斷時,即有減速信號輸入,R2自減1,在R2的值等于0時,R2恢復(fù)為1返回,大于0時直接返回R2值,這樣保證速度到一檔時不再減速。速度顯示程序根據(jù)R2的值顯示出速度檔位。4.4正轉(zhuǎn)脈沖程序正轉(zhuǎn)脈沖程序是步進(jìn)電機(jī)設(shè)計中最核心的部分。不同寬度的脈沖決定著電機(jī)的不速度。其流程圖如下圖4.4: 入口返回根據(jù)R2的值調(diào)用

41、延時程序送R4的值給P1口將R4的值乘以2NR4=16?YR4=1 圖4.4正轉(zhuǎn)脈沖程序流程圖正轉(zhuǎn)脈沖程序的作用是完成正轉(zhuǎn)脈沖的發(fā)送。設(shè)R4的值為正轉(zhuǎn)脈沖序列,進(jìn)入正轉(zhuǎn)脈沖程序先將R4的值送給P1口,由P1口送給步進(jìn)電機(jī)。TAB2建立了一個脈沖寬度表,根據(jù)R2的值即速度檔位調(diào)用相應(yīng)的延時程序就得到了對應(yīng)的脈沖寬度。延時之后將R4的值乘以2,也就是將脈沖序列左移1位。然后檢測R4的值是否等于16,若等于16說明一個周期的最后一個序列1000已經(jīng)延時完畢,這時將R4的值恢復(fù)1返回。若R4的值不等于16直接返回。TAB2表的數(shù)據(jù)如下:TAB2: DB 00H,3CH,28H,1EH,14H,05H這

42、五個數(shù)據(jù)分別對應(yīng)0檔至5檔的延時程序里的R1的值,通過改變R1的值來達(dá)到不同延時時間的目的。對應(yīng)五個速度的延時時間分別為:60ms、40ms、30ms、20ms、10ms。4.5反轉(zhuǎn)脈沖程序入口R5=0?將R5的值除以2送R5的值給P1口根據(jù)R2的值調(diào)用延時NYR5=8返回圖4.5反轉(zhuǎn)脈沖程序流程圖反轉(zhuǎn)脈沖程序完成反轉(zhuǎn)脈沖的發(fā)送。設(shè)R5的值為反轉(zhuǎn)脈沖序列,入口時先將R5的值送給P1口,經(jīng)P1口送給步進(jìn)電機(jī),驅(qū)動電機(jī)運行。TAB2建立了一個脈沖寬度表,根據(jù)R2的值即速度檔位調(diào)用相應(yīng)的延時程序就得到了對應(yīng)的脈沖寬度。延時時間用R1的值來控制。延時之后將R2的值除以2,也就是將脈沖序列右移1位。然后

43、檢測R5的值是否等于0,若等于0說明一個周期內(nèi)的最后一個序列0001已經(jīng)延時完畢,這時將R5的值恢復(fù)8即1000返回。若R5的值不等于0則直接返回。4.6速度顯示程序MOV A,R2 MOV DPTR,#TAB1MOVC A,A+DPTRMOV P2,ARET TAB1: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H設(shè)R2為速度檔位,用數(shù)據(jù)表查詢的方式調(diào)用要顯示的數(shù)字代碼,數(shù)字代碼送給P2口,由接在P2口的數(shù)碼管顯示對應(yīng)的數(shù)字。TAB1中的10個代碼分別對應(yīng)七段共陽極數(shù)碼管數(shù)字0到9的代碼。共陽極數(shù)碼管的工作原理是給某一段寫0即送低電平,

44、該段就點亮。4.7延時程序DELAY: MOV R1,ADL2: MOV R3,#25 /延時1MSDL1: MOV R0,#255 DJNZ R0,$ DJNZ R3,DL1 DJNZ R1,DL2 RET本延時程序有三個嵌套,單片機(jī)的晶振采用12MHZ,其周期為1/12us。里面兩層嵌套的時間為:(2552+2)251/12us=1067us=1.067ms。這樣第三層的R1的值就決定了延時時間??梢越瓶闯蒖1是多少就延時多少毫秒。第5章 步進(jìn)電機(jī)的仿真步進(jìn)電機(jī)的仿真基于Protues仿真系統(tǒng),它是一款功能強(qiáng)大的單片機(jī)仿真軟件。可以在做實物電路板之前檢測硬件和軟件設(shè)計是否合理。Protu

45、es軟件可以像Protel軟件一樣,完成單片機(jī)電路原理圖的繪制、PCB的設(shè)計。更為重要的是,可與Keil uVision4等軟件結(jié)合進(jìn)行編輯、編譯和仿真調(diào)試。下面從硬件電路圖、速度與方向顯示、脈沖序列的生成和電機(jī)轉(zhuǎn)動四個方面來介紹步進(jìn)電機(jī)的仿真情況。5.1硬件仿真圖圖5.1步進(jìn)電機(jī)仿真硬件電路圖硬件電路如圖5.1,它的設(shè)計和工作原理在前面章節(jié)已有介紹。仿真系統(tǒng)開始運行,沒有任何按鍵按下,兩個數(shù)碼管均顯示“0”。5.2速度與方向顯示仿真 圖5.2速度與方向顯示(a) 圖5.3速度與方向顯示(b) 圖5.2所示,S1按下,電機(jī)正轉(zhuǎn),左邊數(shù)碼管顯示“1”表示正轉(zhuǎn),右邊數(shù)碼管顯示“1”表示速度一檔。同

46、理圖5.3顯示正轉(zhuǎn)三檔速度。 圖5.4速度與方向顯示(c) 圖5.5速度與方向顯示(d)圖5.4和圖5.5 均為S2按下,電機(jī)反轉(zhuǎn),左邊數(shù)碼管均顯示“2”。圖5.4顯示速度二檔,圖5.5顯示速度五檔即最高檔。當(dāng)速度達(dá)到最高檔時,按加速按鍵不會起作用;當(dāng)速度達(dá)到最低檔時按減速鍵也不起作用。這樣設(shè)計可以防止誤操作。5.3脈沖信號的生成圖5.6正脈沖信號圖5.7反脈沖信號圖5.8反脈沖五檔信號如圖5.6所示,為步進(jìn)電機(jī)運行時的正轉(zhuǎn)脈沖,從上至下依次為A相、B相、C相、D相的脈沖,他們分別對應(yīng)P1.0、P1.1、P1.2、P1.3??梢郧宄目吹矫}沖的變化過程如表5.1。但由于步進(jìn)電機(jī)的干擾,方波信號

47、不平滑,可見示波器的仿真效果是不錯的。表5.1正脈沖信號DCBAN0001N+10010N+20100N+31000如圖5.7為反脈沖信號,四相的順序與正轉(zhuǎn)相同。容易得出反脈沖信號的變化過程如表5.2。表5.2反脈沖信號DCBAN1000N+10100N+20010N+30001圖5.8為反轉(zhuǎn)五檔速度的脈沖,這是最高速度,很直觀地看到,脈沖速度比較快,脈沖寬度比較小。通過仿真測試,可以直觀的檢測我們的設(shè)計,也讓我們更好的了解步進(jìn)電機(jī)的各項特性。結(jié) 論經(jīng)歷幾個月的努力,基于單片機(jī)的步進(jìn)電機(jī)控制的設(shè)計順利完成了。在設(shè)計過程中,也遇到了不少麻煩,硬件的設(shè)計經(jīng)過幾次修改,主要是關(guān)于選擇驅(qū)動器方面,最終

48、比較選擇了74LS245。編寫軟件程序與仿真調(diào)試是最麻煩的事了。我的設(shè)計思路是這樣的:一、先查閱相關(guān)的資料熟悉步進(jìn)電機(jī)的控制原理。二、設(shè)計好初步的硬件電路,并用PROTUES軟件畫出硬件電路圖。三、開始寫步進(jìn)電機(jī)的測試程序,比如數(shù)碼管的靜態(tài)顯示,按鍵的查詢和固定寬度的脈沖發(fā)送,并將這些程序一一調(diào)試通過。四、構(gòu)思整個程序的框架,寫出主程序和主要子程序的流程圖。五、根據(jù)流程圖寫出所有程序,并在PROTUES調(diào)試通過。事實證明按照這樣的思路可以達(dá)到事半功倍的效果,從剛開始的遙遙無期,到碰到問題時的各種糾結(jié),到最終將步進(jìn)電機(jī)的波形調(diào)出來這一刻讓我激動不已。這一過程記載了我的奮斗歷程。 通過本次設(shè)計讓我對步進(jìn)電機(jī)有了進(jìn)一步的了解,同時也算是一次產(chǎn)品設(shè)計的嘗試。硬件部分采用的器件應(yīng)用廣泛,且價格低廉,如AT89C52單片機(jī)、驅(qū)動器74LS245等。這就意味著所有的器件功能比較強(qiáng)大和穩(wěn)定。本設(shè)計的亮

溫馨提示

  • 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

提交評論