《計(jì)算機(jī)控制技術(shù)》課程設(shè)計(jì)說明書二相步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
《《計(jì)算機(jī)控制技術(shù)》課程設(shè)計(jì)說明書二相步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)》由會員分享,可在線閱讀,更多相關(guān)《《計(jì)算機(jī)控制技術(shù)》課程設(shè)計(jì)說明書二相步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)(23頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、 武漢理工大學(xué)《計(jì)算機(jī)控制技術(shù)》課程設(shè)計(jì)說明書 二相步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì) 1步進(jìn)電機(jī)介紹 1.1步進(jìn)電機(jī)特點(diǎn) 步進(jìn)電機(jī)(stepping motor)是將電脈沖信號轉(zhuǎn)換成相應(yīng)的角位移或線位移的一種特殊電機(jī)。電動機(jī)每輸入一次電脈沖信號,電動機(jī)就轉(zhuǎn)動一個(gè)角度,從而形成不僅是的運(yùn)動,所以稱為步進(jìn)電動機(jī);另外由于輸入的是脈沖電流,故也稱脈沖電動機(jī)。 隨著科學(xué)技術(shù)的發(fā)展,步進(jìn)電動機(jī)獲得了廣泛的應(yīng)用。步進(jìn)具有很多優(yōu)點(diǎn)也有不少缺點(diǎn),步進(jìn)電機(jī)的特點(diǎn)主要由下面幾點(diǎn):
2、 1 步進(jìn)電機(jī)的輸出腳與輸入脈沖的個(gè)數(shù)成正比,控制輸入的脈沖數(shù)就能控制位移量。 2 步進(jìn)電機(jī)的轉(zhuǎn)速與輸入的脈沖頻率成正比,改變通電相序即可改變電動機(jī)轉(zhuǎn)向。 步進(jìn)電機(jī)啟動、停止迅速,當(dāng)停止脈沖輸入時(shí),若維持繞組內(nèi)電流不變,電動機(jī)轉(zhuǎn)子會保持在停止時(shí)的位置上。 3 一般步進(jìn)電機(jī)的精度為步進(jìn)角的3-5%,且誤差不會累積。 4 步進(jìn)電機(jī)外表允許的溫度高。步進(jìn)電機(jī)溫度過高首先會使電機(jī)的磁性材料退磁,從而導(dǎo)致力矩下降乃至于失步,因此電機(jī)外表允許的最高溫度應(yīng)取決于不同電機(jī)磁性材料的退磁點(diǎn);一般來講,磁性材料的退磁點(diǎn)都在攝氏130度以上,有的甚至高達(dá)攝氏200度以上,所以步進(jìn)電機(jī)外表溫
3、度在攝氏80-90度完全正常。 5 步進(jìn)電機(jī)的力矩會隨轉(zhuǎn)速的升高而下降。當(dāng)步進(jìn)電機(jī)轉(zhuǎn)動時(shí),電機(jī)各相繞組的電感將形成一個(gè)反向電動勢;頻率越高,反向電動勢越大。在它的作用下,電機(jī)隨頻率(或速度)的增大而相電流減小,從而導(dǎo)致力矩下降。 6 步進(jìn)電機(jī)低速時(shí)可以正常運(yùn)轉(zhuǎn),但若高于一定速度就無法啟動,并伴有嘯叫聲。步進(jìn)電機(jī)有一個(gè)技術(shù)參數(shù):空載啟動頻率,即步進(jìn)電機(jī)在空載情況下能夠正常啟動的脈沖頻率,如果脈沖頻率高于該值,電機(jī)不能正常啟動,可能發(fā)生丟步或堵轉(zhuǎn)。在有負(fù)載的情況下,啟動頻率應(yīng)更低。如果要使電機(jī)達(dá)到高速轉(zhuǎn)動,脈沖頻率應(yīng)該有加速過程,即啟動頻率較低,然后按一定加速度升到所希望的高頻(電機(jī)轉(zhuǎn)
4、速從低速升到高速)。 7 步進(jìn)電機(jī)的確定是效率地,帶負(fù)載能力低,調(diào)速范圍小,最高輸入脈沖頻率一般不超過18KHZ,并且需要專用電源給電脈沖信號,在運(yùn)行中會出現(xiàn)共振和震蕩問題。 1.2步進(jìn)電機(jī)工作原理 步進(jìn)電機(jī)是一種用電脈沖進(jìn)行控制 ,將電脈沖信號轉(zhuǎn)換成相位移的電機(jī) ,其機(jī)械位移和轉(zhuǎn)速分別與輸入電機(jī)繞組的脈沖個(gè)數(shù)和脈沖頻率成正比 ,每一個(gè)脈沖信號可使步進(jìn)電機(jī)旋轉(zhuǎn)一個(gè)固定的角度.脈沖的數(shù)量決定了旋轉(zhuǎn)的總角度 ,脈沖的頻率決定了電機(jī)運(yùn)轉(zhuǎn)的速度.當(dāng)步進(jìn)驅(qū)動器接收到一個(gè)脈沖信號,它就驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動一個(gè)固定的角度(稱為“步距角”),它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的。可以通
5、過控制脈沖個(gè)數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。 對于反應(yīng)式步進(jìn)電機(jī)轉(zhuǎn)速與脈沖頻率的關(guān)系為: 式中:為脈沖頻率,單位是HZ。N為電機(jī)運(yùn)行拍數(shù)、z為轉(zhuǎn)子齒數(shù)。 對于反應(yīng)式步進(jìn)電機(jī)的步距角為: 式中:N為步進(jìn)電機(jī)運(yùn)行拍數(shù),z為轉(zhuǎn)子齒數(shù)。對于二四相電機(jī)齒數(shù)一般為50。 1.3 二相步進(jìn)電機(jī) 根據(jù)設(shè)計(jì)要求本設(shè)計(jì)設(shè)計(jì)對象是二相步進(jìn)電機(jī),有兩組帶中心抽頭的線圈,因?yàn)樵O(shè)計(jì)要求采用雙極性控制即H橋控制,繞組的中心抽頭不接,使用四線工作。二相六線制步進(jìn)電機(jī)如圖: 圖1 二相六線制步進(jìn)電機(jī)
6、結(jié)構(gòu)示意圖 圖中、為繞組的中心抽頭,、、、為四個(gè)繞組出線端。對各繞組施加通電脈沖,轉(zhuǎn)子會在電磁力的作用下向磁導(dǎo)率最大即趨于對齒的狀態(tài)轉(zhuǎn)動,由于各相是有選擇性的通電且通電時(shí)間是有限的,對各繞組在各拍下按某種既定的通電順序通電即可以使電機(jī)轉(zhuǎn)動,調(diào)整對各繞組施加的脈沖頻率可以調(diào)整電機(jī)轉(zhuǎn)速大小,改變各繞組通電順序即可以調(diào)整其轉(zhuǎn)動方向。通過改變繞組通電順序組合可以改變電機(jī)運(yùn)行拍數(shù)。 二相步進(jìn)電機(jī)運(yùn)行狀態(tài)有二相四拍與二相八拍兩種運(yùn)行狀態(tài),其中四拍又分為單四拍與雙四拍。本設(shè)計(jì)中四拍選擇雙四拍方式。 二相四拍正轉(zhuǎn)各繞組通電順序?yàn)椋? 單四拍: 雙四拍:。 二相四拍反轉(zhuǎn)各繞組通
7、電順序?yàn)椋? 單四拍: 雙四拍: 二相八拍各繞組通電順序?yàn)椋? 正轉(zhuǎn): 反轉(zhuǎn): 步進(jìn)電機(jī)運(yùn)行有半步與整步兩種,對于二相步進(jìn)電機(jī)四拍運(yùn)行時(shí)為半步,步距角為1.8度,八拍運(yùn)行時(shí)為半步運(yùn)行方式,步距角為0.9度。步距角越小控制精度越高。 2 題意分析與方案論證 2.1 題意分析 設(shè)計(jì)題目要求采用雙極性控制設(shè)計(jì)一個(gè)二相步進(jìn)電機(jī)控制系統(tǒng),要求具有對電機(jī)開關(guān)、正反向控制、拍數(shù)控制以及速度控制,并且系統(tǒng)能夠?qū)崟r(shí)顯示電機(jī)運(yùn)行步數(shù)以及用發(fā)光二極管表征電機(jī)運(yùn)行狀態(tài):正轉(zhuǎn)、反轉(zhuǎn)和停止??梢栽O(shè)計(jì)一個(gè)以單片機(jī)為核心的微型計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)設(shè)計(jì)。通過按鍵輸入用戶對電機(jī)的控制要求,單片
8、機(jī)讀取按鍵信息并進(jìn)過處理調(diào)用相應(yīng)的模塊輸出到驅(qū)動芯片完成對電機(jī)的控制,同時(shí)調(diào)用單片機(jī)內(nèi)相應(yīng)程序采用動態(tài)掃描的方式將運(yùn)行步數(shù)通過四位數(shù)碼管實(shí)時(shí)顯示。單片機(jī)輸出相應(yīng)的量實(shí)現(xiàn)對發(fā)光二極管的控制,顯示電機(jī)運(yùn)行狀態(tài)。 2.2 設(shè)計(jì)方案的確定 2.2.1 控制部分 步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)換成響應(yīng)的角位移或者線位移的數(shù)字控制電機(jī),按照輸入脈沖指令旋轉(zhuǎn),脈沖數(shù)決定旋轉(zhuǎn)位移的大小,脈沖頻率決定旋轉(zhuǎn)速度,并能在很寬的范圍內(nèi)調(diào)速。其控制可以用硬件電路和以微型計(jì)算機(jī)為核心的控制系統(tǒng)兩種方式實(shí)現(xiàn)。由于步進(jìn)電機(jī)可以將輸入的數(shù)字脈沖信號轉(zhuǎn)換成相應(yīng)的角位移,所以很適合采用計(jì)算機(jī)控制。而且硬件方式每種電路實(shí)現(xiàn)的
9、控制功能較為單一,這會導(dǎo)致改變控制功能時(shí)還要重新設(shè)計(jì)硬件電路,靈活性較差,應(yīng)用起來比較麻煩并且會增加成本。而微型計(jì)算機(jī)控制系統(tǒng)怎么屬于軟硬件結(jié)合的控制方式,少量的硬件連接和軟件實(shí)現(xiàn)控制完成主要控制功能,靈活性很大,性價(jià)比高。所以本電路采用AT89C51單片機(jī)來實(shí)現(xiàn)電機(jī)的控制。 單片機(jī)通過數(shù)據(jù)線進(jìn)行與驅(qū)動電路的數(shù)據(jù)傳送,硬件連線只需連接信號傳輸線路即可,對電機(jī)的運(yùn)行狀態(tài)等各項(xiàng)控制要求通過軟件實(shí)現(xiàn)。單片機(jī)通過按鍵接受用戶對電機(jī)的運(yùn)行要求,后通過自身程序調(diào)用對驅(qū)動電路進(jìn)行控制,使驅(qū)動電路進(jìn)行相應(yīng)的繞組通電操作以完成各種用戶要求。 步進(jìn)電機(jī)的控制是由單片機(jī)產(chǎn)生的脈沖頻率實(shí)現(xiàn)的,可以調(diào)整單
10、片機(jī)向發(fā)出的時(shí)鐘脈沖來實(shí)現(xiàn)調(diào)速。根據(jù)這個(gè)原理可以采用延時(shí)和定時(shí)兩種方法改變響應(yīng)脈沖的方波,一到達(dá)調(diào)速的目的。不過由于延時(shí)方法一般通過軟件實(shí)現(xiàn)占用CPU時(shí)間長,同時(shí)不能再在運(yùn)行時(shí)處理其他工作,一般適合較簡單的控制過程。所以一般采用定時(shí)方式產(chǎn)生脈沖,定時(shí)方式采用中斷方式,只有特定時(shí)才占用CPU,可以明顯提高系統(tǒng)響應(yīng)速度。同樣利用軟件可以實(shí)現(xiàn)設(shè)計(jì)要求的功能。 2.2.2 驅(qū)動電路部分 用于步進(jìn)電機(jī)的驅(qū)動一般有兩種方法,一種是通過CPU直接來驅(qū)動,這種方法一般不宜采用,因?yàn)镃PU的輸出電流脈沖是特別小的它不能足以讓步進(jìn)電機(jī)的轉(zhuǎn)動;別一種是通過CPU來間接驅(qū)動,就是把從CPU輸出的信號進(jìn)行放大
11、,然后直接驅(qū)動或是再通過光電隔離間接來驅(qū)動步進(jìn)電機(jī),這種方法比較安全可靠。固本次設(shè)計(jì)應(yīng)采用CPU間接驅(qū)動步進(jìn)電機(jī)。 任務(wù)要求驅(qū)動采用雙極性(H橋)控制(不適用電機(jī)繞組中心抽頭),本設(shè)計(jì)采用芯片L298來控制電動機(jī)的驅(qū)動系統(tǒng)。L298是雙H橋驅(qū)動器,此驅(qū)動系統(tǒng)需要的時(shí)間很少,降低裝配成本。關(guān)于脈沖分配以及對步進(jìn)電機(jī)的各種控制操作由軟件控制完成,實(shí)現(xiàn)了對步進(jìn)電機(jī)靈活均衡的控制。 2.2.3 數(shù)碼管部分 電路采用四位數(shù)碼管顯示步進(jìn)電機(jī)實(shí)時(shí)運(yùn)行步數(shù),電路采用共陰極四位數(shù)碼管,數(shù)碼管驅(qū)動采用CD4511驅(qū)動芯片,CD4511是專門驅(qū)動共陰極數(shù)碼管的芯片,它接受BCD碼的形式控制輸入,輸出驅(qū)
12、動七段數(shù)碼管。 系統(tǒng)原理框圖如下: 圖2 系統(tǒng)原理框圖 3 硬件電路設(shè)計(jì) 3.1 控制部分 3.1.1 芯片介紹 本次設(shè)計(jì)以CPU選用89C5l作為步進(jìn)電機(jī)的控制芯片.89C51的結(jié)構(gòu)簡單并可以在編程器上實(shí)現(xiàn)閃爍式的電擦寫達(dá)幾萬次以上.使用方便等優(yōu)點(diǎn),而且完全兼容MCS5l系列單片機(jī)的所有功能。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—FAlsh ProgrAmmABle And ErAsABle ReAd Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)
13、標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 下圖為AT89C51管腳圖: 圖3 AT89C51管腳圖 單片機(jī)基本組成:8位中央處理器CPU,進(jìn)行運(yùn)算和邏輯控制;共256個(gè)內(nèi)部RAM單元,用于存放可讀寫數(shù)據(jù);4K掩膜ROM,用于存放程序、原始數(shù)據(jù)和表格;兩個(gè)16位定時(shí)/計(jì)數(shù)器,實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能;4個(gè)8位的I/O口P0、P1、P2、P3;含有2個(gè)外部中斷、2個(gè)定時(shí)器中斷和一個(gè)串行中斷的中斷控制系統(tǒng);可產(chǎn)生時(shí)鐘脈沖序列,允許晶振
14、頻率6MHZ和12MHZ的時(shí)鐘電路 引腳簡介:XTAL1、XTAL2:晶振輸入端。 RST: 復(fù)位引腳。 并行口:P0、P1、P2、P3。 :為1時(shí),訪問內(nèi)部程序存儲器。為0時(shí),值訪問外部程序存儲器。 ALE:地址鎖存控制信號。 :外部ROM選通信號。 3.1.2 原理分析 本設(shè)計(jì)以AT89C51為核心組成控制系統(tǒng),單片機(jī)通過XTAL1、XTAL2外接12MHZ的晶振構(gòu)成單片機(jī)的工作頻率,由于系統(tǒng)不需外部ROM擴(kuò)展,進(jìn)行軟件操作時(shí)只需要用到內(nèi)部程序存儲器,所以管腳接直流電源。復(fù)位鍵不使用通過電容接地。外部ROM讀選
15、通信號引腳和地址鎖存控制信號引腳用不到,懸空不接。五個(gè)引腳通過上拉電阻接按鍵開關(guān),完成對用戶控制要求的輸入,與芯片L298的輸入分別相接,完成單片機(jī)對步進(jìn)電機(jī)各種控制的要求的實(shí)現(xiàn)。輸出到四位數(shù)碼管的位選引腳,完成對數(shù)碼管位選的控制,輸出到CD4511數(shù)碼管驅(qū)動器的輸入端,完成對數(shù)碼管數(shù)字顯示的控制。各并行口的輸出與鍵位開關(guān)狀態(tài)有關(guān)。AT89C51連線示意圖如下: 圖4 AT89C51接線示意圖 按鍵K0控制電機(jī)運(yùn)行雙四拍方式,按鍵K1控制電機(jī)運(yùn)行為八拍方式,按鍵K2控制電機(jī)的啟動與停止,按鍵K3控制電機(jī)的正反轉(zhuǎn),按鍵K4控制電機(jī)運(yùn)行速度的快慢。單片機(jī)通過不斷的檢測口的電位判斷按鍵
16、是否被按下,檢測值為1表示按鍵沒有被按下,檢測值為0怎么表示按鍵被按下。當(dāng)K2未按下前其他按鍵無效,K2按下后,其他幾個(gè)鍵輸入有效,若無K0和K1鍵按下,單片機(jī)輸出低電平至P0.4,P0.5,綠燈亮表示此時(shí)電動機(jī)為不轉(zhuǎn)狀態(tài)。K0鍵被按下時(shí),單片機(jī)調(diào)用單四拍工作程序,從輸出對電機(jī)進(jìn)行控制,K1按下時(shí),單片機(jī)調(diào)用八拍工作程序,將控制字輸出到。設(shè)定默認(rèn)K3沒有按下時(shí)電機(jī)運(yùn)行正轉(zhuǎn),按下后反轉(zhuǎn);默認(rèn)K4沒有按下時(shí)表示電機(jī)運(yùn)行速度慢,按下后電機(jī)轉(zhuǎn)速變快。當(dāng)K2按下并且K0或K1按下后,檢測到K3按下,則P0.5輸出高電平,觸發(fā)三極管黃燈亮,表示電機(jī)反轉(zhuǎn),并調(diào)用反轉(zhuǎn)子程序;若沒有檢測到K3被按下則P0.4輸
17、出高電平,觸發(fā)三極管紅燈亮,表示電機(jī)正轉(zhuǎn);若檢測到K4鍵被按下則調(diào)用高速運(yùn)行程序,若沒有檢測到按鍵按下則不作操作。電動機(jī)運(yùn)行過程中都要實(shí)時(shí)檢測電機(jī)運(yùn)行步數(shù),并通過數(shù)碼管顯示出來。 3.2 電機(jī)驅(qū)動部分 3.2.1 L298芯片 L298為SGS-THOMSON Microelectronics 所出產(chǎn)的雙全橋步進(jìn)電機(jī)專用驅(qū)動芯片( Dual Full-Bridge Driver ) ,內(nèi)部包含4信道邏輯驅(qū)動電路,是一種二相 和四相步進(jìn)電機(jī)的專用驅(qū)動器,可同時(shí)驅(qū)動2個(gè)二相或1個(gè)四相步進(jìn)電機(jī),內(nèi)含二個(gè)H-Bridge 的高電壓、大電流雙全橋式驅(qū)動器,接收標(biāo)準(zhǔn) TTL邏輯準(zhǔn)位信號,
18、可驅(qū)動46V、2A以下的步進(jìn)電機(jī),且可以直接透過電源來調(diào)節(jié)輸出電壓;此芯片可直接由單片機(jī)的IO端口來提供模擬時(shí)序信號。L298管腳圖如圖3。 管腳說明:VCC:邏輯電源電壓,此引腳與地必須接100nF電容器。 VS:功率電源電壓,此引腳與地必須就100nF電容器。 IN1、IN2、IN3、IN4:輸入端,TTL電平兼容。 OUT1、OUT2、OUT3、OUT4:輸出端,TTL電平兼容。 ENA:使能端,ENA控制OUT1、OUT2,低電平禁止輸出。 ENB:使能端,ENB控制
19、OUT3、OUT4,低電平禁止輸出。 SENA、SENB:電流檢測端,不用時(shí)可以直接接地。 圖5 L298管腳圖 3.2.2原理分析 電機(jī)驅(qū)動部分連接線路圖為: 圖6 驅(qū)動部分連線圖 檢測管腳不用直接接地,對于電機(jī)的停止啟動使用軟件編程實(shí)現(xiàn),所以使能端ENA、ENB直接接高電平。VCC為邏輯供電電源,選擇+5V的直流電源,VS為功率電壓源,按照步進(jìn)電機(jī)的型號具體選擇。接單片機(jī)的,接受單片發(fā)來的控制脈沖。分別接二相步進(jìn)電機(jī)的四個(gè)繞組端子引線。L298接受來自單片機(jī)的脈沖,通過自身內(nèi)部邏輯電路實(shí)現(xiàn)對電機(jī)繞組通斷電選擇的控制。二相步進(jìn)電機(jī)的兩隊(duì)繞組通過與
20、L298的端子相連接入L298內(nèi)部的H橋中,實(shí)現(xiàn)了對二相步進(jìn)電機(jī)的雙極性控制即H橋控制。 3.3數(shù)碼管部分 3.3.1 硬件介紹 3.3.1.1 CD4511芯片 LED使用4511驅(qū)動,CD4511是一個(gè)用于驅(qū)動共陰極 LED(數(shù)碼管)顯示器的 BCD碼—七段碼譯碼器。具有BCD轉(zhuǎn)換、消隱和鎖存控制、七段譯碼及驅(qū)動功能的CMOS電路能提供較大的拉電流。可直接驅(qū)動LED顯示器。CD4511 是一片 CMOS BCD—鎖存/7 段譯碼/驅(qū)動器,引腳排列如圖5 所示。其中A、B、C、D為 BCD 碼輸入,A為最低位。LT為燈測試端,加高電平時(shí),顯示器正常顯示,加低電平時(shí),顯示器一直顯示
21、數(shù)碼“8”,各筆段都被點(diǎn)亮,以檢查顯示器是否有故障。BI為消隱功能端,低電平時(shí)使所有筆段均消隱,正常顯示時(shí), B1端應(yīng)加高電平。另外 CD4511有拒絕偽碼的特點(diǎn),當(dāng)輸入數(shù)據(jù)越過十進(jìn)制數(shù)9(1001)時(shí),顯示字形也自行消隱。LE是鎖存控制端,高電平時(shí)鎖存,低電平時(shí)傳輸數(shù)據(jù)。a~g是 7 段輸出,可驅(qū)動共陰LED數(shù)碼管。另外,CD4511顯示數(shù)“6”時(shí),a段消隱;顯示數(shù)“9”時(shí),d段消隱,所以顯示6、9這兩個(gè)數(shù)時(shí),字形不太美觀 。 圖7 CD4511管腳圖 3.3.1.2 共陰極數(shù)碼管 所謂共陰LED數(shù)碼管是指7段LED的陰極是連在一起的,在應(yīng)用中應(yīng)接地。限流電阻要根據(jù)電源電壓來選
22、取,電源電壓5V時(shí)可使用300Ω的限流電阻。 一位共陰極數(shù)碼管如圖6,四位共陰極數(shù)碼管如圖7所示,內(nèi)部機(jī)構(gòu)是將四個(gè)一位數(shù)碼管的段碼還有小數(shù)點(diǎn)位并起來,引出8跟線,四個(gè)數(shù)碼管的陰極分別引出,共4跟線。 圖8 一位共陰極數(shù)碼管接線示意圖 圖9 四位數(shù)碼管管腳圖 表1 共陰極數(shù)碼管段位通電狀態(tài)與顯示字符關(guān)系 顯示 管腳 dp g f e d c b a 16進(jìn)制數(shù) 0 0 0 1 1 1 1 1 1 3FH 1 0 0 0 0 0 1 1 0 06H 2 0 1 0 1 1 0 1 1
23、 5BH 3 0 1 0 0 1 1 1 1 4FH 4 0 1 1 0 0 1 1 0 66H 5 0 1 1 0 1 1 0 1 6DH 6 0 1 1 1 1 1 0 1 7DH 7 0 0 0 0 0 1 1 1 07H 8 0 1 1 1 1 1 1 1 7FH 9 0 1 1 0 1 1 1 1 6FH 3.3.2 原理分析 數(shù)碼管顯示部分接線圖: 圖10 數(shù)碼管部分線路圖 CD4511的分別接單片機(jī)的,
24、單片機(jī)通過片內(nèi)程序?qū)崟r(shí)檢測步數(shù),并通過相應(yīng)的處理得出要顯示的各位數(shù),并同時(shí)給出四位數(shù)碼管的選擇信號。單片機(jī)將得到要顯示的BCD數(shù)發(fā)送給CD4511,然后CD4511將BCD數(shù)轉(zhuǎn)化成七段數(shù)碼管管腳的七個(gè)電平的高低,同時(shí)單片機(jī)與四位數(shù)碼管的位選連接,給出相應(yīng)的位選信號,采用動態(tài)掃描的方式顯示出當(dāng)前運(yùn)行步數(shù)。 4 軟件設(shè)計(jì) 4.1 設(shè)計(jì)思路 設(shè)計(jì)要求對步進(jìn)電機(jī)的正反轉(zhuǎn)、啟動停止、運(yùn)行拍數(shù)和運(yùn)行速度進(jìn)行控制。這些控制主要通過軟件進(jìn)行實(shí)現(xiàn)。由按鍵輸入控制信號,單片機(jī)收到系統(tǒng)信號后調(diào)用相關(guān)的模塊實(shí)現(xiàn)按鍵對應(yīng)的操作。對于運(yùn)行拍數(shù)以
25、及正反轉(zhuǎn)的控制可以調(diào)用子程序模塊實(shí)現(xiàn)這部分功能,實(shí)現(xiàn)這兩個(gè)的控制操作只需要編寫雙四拍正轉(zhuǎn)子程序,雙四拍反轉(zhuǎn)子程序,八拍正轉(zhuǎn)子程序,八拍反轉(zhuǎn)子程序。對于速度的控制通過改變脈沖頻率即改變定時(shí)器初值實(shí)現(xiàn)。 對于數(shù)碼管部分采用動態(tài)掃描的方式顯示實(shí)時(shí)運(yùn)行步數(shù),需要設(shè)計(jì)數(shù)碼管顯示子程序。再次,本設(shè)計(jì)還使用定時(shí)器對步進(jìn)電機(jī)的走步進(jìn)行精確地時(shí)間設(shè)設(shè)定,因此還需要編寫一個(gè)定時(shí)器中斷子程序。 整個(gè)程序由主程序和若干子程序組成,具體程序詳見附錄。 4.2 各子程序流程圖 數(shù)碼管顯示流程圖: 圖11 數(shù)碼管顯示步數(shù)流程圖 步進(jìn)電機(jī)四拍模塊流程圖: 圖12 步進(jìn)電機(jī)四拍模塊流
26、程圖 步進(jìn)電機(jī)八拍正轉(zhuǎn)模塊流程圖: 圖13 步進(jìn)電機(jī)八拍正轉(zhuǎn)流程圖 系統(tǒng)總流程圖: 圖14 系統(tǒng)總流程圖 設(shè)計(jì)心得 我的任務(wù)是設(shè)計(jì)二相步進(jìn)電機(jī)的控制系統(tǒng),之前對于步進(jìn)電機(jī)了解很少,通過這次的集中式學(xué)習(xí),讓我對步進(jìn)電機(jī)有了基本的了解和簡單的應(yīng)用能力。同時(shí)本次課程設(shè)計(jì)是對這個(gè)學(xué)期學(xué)習(xí)的微機(jī)控制技術(shù)基礎(chǔ)知識的進(jìn)一步了解與鞏固,通過課程設(shè)計(jì)把所學(xué)的知識應(yīng)用到實(shí)際。在這段時(shí)間里面我不僅鞏固了微控的相關(guān)知識也對步進(jìn)電機(jī)特別是二相步進(jìn)
27、電機(jī)有了較深的掌握,此外又進(jìn)一步熟練了對PROTEUS的應(yīng)用。特別是利用PROTUES進(jìn)行單片機(jī)程序的仿真,這是之前較少接觸的。PROTUES可以幫助我們解決很多繁復(fù)的問題,讓設(shè)計(jì)、仿真更加簡便。在做此設(shè)計(jì)時(shí),我深深體會到做事與觀看是完全不同的,沒有付出努力,就什么也學(xué)不到,有時(shí)候我們聽老師講一些知識好像是懂了,在真正實(shí)踐的時(shí)候才會明白,要想把知識融會貫通必須付諸于行動,否則一切都是枉然。可是,我們要是有一定的過程,一定的付出 ,自然就會受到一定的成效。 在學(xué)習(xí)過程中,我也發(fā)現(xiàn)自己去學(xué)習(xí)一門新的知識也是一個(gè)很重要的能力,因?yàn)槿丝偸且M(jìn)步,不能總是拿著現(xiàn)有的資本固步自封,這就要求我們要好
28、好的培養(yǎng)和鍛煉自學(xué)能力,這種能力一定會在今后的工作中起到舉足輕重的作用。我們應(yīng)該全面發(fā)展,應(yīng)該拓展自己的知識面,把所學(xué)的知識應(yīng)用到實(shí)際,這將對我們的生活學(xué)習(xí)起到很好的幫助作用。對自己所學(xué)習(xí)的知識應(yīng)該不斷加深理解,將知識融會貫通,這樣才能真正學(xué)習(xí)到知識,在今后的學(xué)習(xí)生活當(dāng)中應(yīng)該更注重實(shí)踐能力。 參考文獻(xiàn) [1] 于海生等編著 .《計(jì)算機(jī)控制技術(shù)》. 北京:機(jī)械工業(yè)出版社 . 2007. [2] 陳立周.《單片機(jī)原理及其應(yīng)用》.北京:機(jī)械工業(yè)出版社,2007. [3] 劉寶廷.《步進(jìn)電動機(jī)及其控制驅(qū)動系統(tǒng)》.哈爾濱工業(yè)大
29、學(xué)出版社,2006.
[4] 張義和、王敏男等編著.《例說51單片機(jī)(C語言版)》. 北京:人民郵電出版社. 2008.
[5] 王彤編著.《C語言在測量與控制中的應(yīng)用》. 北京:機(jī)械工業(yè)出版社. 2009.
附錄一:二相步進(jìn)電機(jī)控制系統(tǒng)總電路圖
附錄二:程序清單
#include
30、 sbit led1=P2^0; sbit led2=P2^1; sbit led3=P2^2; sbit led4=P2^3; char table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67}; //數(shù)碼管編碼 b1[]={0xf3,0xf6,0xfc,0xf9}; //雙四拍正轉(zhuǎn) b2[]={0xf9,0xfc,0xf6,0xf3}; //雙四拍反轉(zhuǎn) c1[9]={0xf9,0xf1,0xf3,0xf2,0xf6,
31、0xf4,0xfc,0xf8}; //八拍正轉(zhuǎn) c2[]={0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1,0xf9}; //八拍反轉(zhuǎn) unsigned char aa; int i=0,j,qian,bai,shi,ge,temp,key,si_ba=1,qt=1,fx=0; void chaxun(void); void delay(int x); void shumaguan(temp); void sspzheng(void); void sspfan(void); void bpfan(void) ; void bpzhen
32、g(void); void main(void) //主程序 { i=0,j=0; temp=0; TMOD=0x11; //設(shè)置定時(shí)器工作方式 TH0=(65536-50000)/256; //送初值 TL0=(65536-50000)%256; ET0=1; //開定時(shí)/計(jì)數(shù)器0中斷 TR0=1; //定時(shí)/計(jì)數(shù)器開始工作 TH1
33、=(65536-500)/256; //送初值 TL1=(65536-500)%256; ET1=1; //開定時(shí)/計(jì)數(shù)器0中斷 TR1=1; //定時(shí)/計(jì)數(shù)器開始工作 EA=1; //開總中斷 temp=0; aa=0; while(1) { chaxun(); if(aa>=1) { if(qt) { if((si_ba==0)&&(fx==0)) {sspzheng();P2
34、=0x60;} if((si_ba==0)&&(fx==1)) {sspfan(); P2=0x30; } if((si_ba==1)&&(fx==0)) {bpzheng();P2=0x60; } if((si_ba==1)&&(fx==1)) {bpfan(); P2=0x30; } } else { P2=0x50; }//kongzhideng aa=0; } } } void timer0() interrupt 1 //定時(shí)/計(jì)數(shù)器中斷程序 { TH0=(65536-500)/256; TL0=
35、(65536-500)%256; aa++; } void timer1() interrupt 3 //定時(shí)/計(jì)數(shù)器中斷程序 { shumaguan(temp); TH0=(65536-200)/256; TL0=(65536-200)%256; } void chaxun(void) { key=P1&0x0f; switch(key) { case 0x0e:si_ba=0;break; //四拍 case 0x0d:si_ba=1;break;
36、 //八拍
case 0x0b: if(qt==0) qt=1;else qt=0; break; //啟動、停止
case 0x07: if(fx==0) fx=1;else fx=0;break; //正反
}
while((P1&0x0f)!=0x0f);
}
void delay(int x) //延時(shí)子程序延時(shí)約0.5Xms
{
int i,j;
for(i=0;i 37、 //數(shù)碼管動態(tài)顯示子程序
{
led1=1;
led2=1;
led3=1;
led4=1;
qian=temp/1000; //取千位
bai=temp%1000/100; //取百位
shi=temp%100/10; //取十位
ge=temp%10; //取個(gè)位
led4=0; //個(gè)位數(shù)碼管亮
led=table[ge] 38、;
delay(40);
led4=1;
led3=0; //十位數(shù)碼管亮
led=table[shi];
delay(100);
led3=1;
led2=0; //百位數(shù)碼管亮
led=table[bai];
delay(40);
led2=1;
led1=0; //千位數(shù)碼管亮
led=table[qian];
delay(40);
led1=1;
}
void sspzheng(voi 39、d) //雙四拍正轉(zhuǎn)子程序
{ temp++;
motor=(b2[i]<<4)+0x0f;
i++;
if(i==4)
{i=0;}
}
void sspfan(void) //雙四拍反轉(zhuǎn)子程序
{ temp++;
motor=(b1[i]<<4)+0x0f;
i++;
if(i==4)
{i=0;}
}
void bpzheng(void) //八拍正轉(zhuǎn)子程序
{
temp++;
motor=(c2[i]<<4)+0 40、x0f;
i++;
if(i==8)
{i=0;}
}
void bpfan(void) //八拍反轉(zhuǎn)子程序
{ temp++;
motor=(c1[i]<<4)+0x0f;
i++;
if(i==8)
{i=0;}
}
ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIV 41、R97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRi 42、c5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2Hj 43、QKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15 44、Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8 45、l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20F 46、bmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ
23
- 溫馨提示:
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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 噪聲危害和控制
- 英美短篇小 說Unit 4 A New Dress
- 10資本主義時(shí)代的曙光教學(xué)課件
- 葡萄溝PPT模版教學(xué)課件
- 第四章+厭氧生物處理課件
- 遼寧省燈塔市第二初級中學(xué)八年級語文下冊 20俗世奇人好嘴楊巴課件 新人教版
- 胖乎乎的小手--課件正式版
- 六年級科學(xué)上冊33《精彩紛呈__展示篇》-優(yōu)選課件1大象版
- 六年級數(shù)學(xué)上冊41比的意義課件2新人教版
- 人教版美術(shù)三上第8課《星空的聯(lián)想》課件
- 第三章-商事登記與商業(yè)賬簿課件
- 人教版小學(xué)數(shù)學(xué)一年級下冊《找規(guī)律》整理143508課件
- 人教版小學(xué)二年級數(shù)學(xué)下冊第三單元《平移與旋轉(zhuǎn)》課件6
- 西師版三上數(shù)學(xué)第3課時(shí)-一位數(shù)乘兩位數(shù)的筆算(不進(jìn)位)課件
- (部編)人教版小學(xué)語文三年級上冊《18富饒的西沙群島》名師教學(xué)ppt課件