《計算機控制技術(shù)》課程設計說明書二相步進電機控制系統(tǒng)設計
《《計算機控制技術(shù)》課程設計說明書二相步進電機控制系統(tǒng)設計》由會員分享,可在線閱讀,更多相關《《計算機控制技術(shù)》課程設計說明書二相步進電機控制系統(tǒng)設計(23頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 武漢理工大學《計算機控制技術(shù)》課程設計說明書 二相步進電機控制系統(tǒng)設計 1步進電機介紹 1.1步進電機特點 步進電機(stepping motor)是將電脈沖信號轉(zhuǎn)換成相應的角位移或線位移的一種特殊電機。電動機每輸入一次電脈沖信號,電動機就轉(zhuǎn)動一個角度,從而形成不僅是的運動,所以稱為步進電動機;另外由于輸入的是脈沖電流,故也稱脈沖電動機。 隨著科學技術(shù)的發(fā)展,步進電動機獲得了廣泛的應用。步進具有很多優(yōu)點也有不少缺點,步進電機的特點主要由下面幾點:
2、 1 步進電機的輸出腳與輸入脈沖的個數(shù)成正比,控制輸入的脈沖數(shù)就能控制位移量。 2 步進電機的轉(zhuǎn)速與輸入的脈沖頻率成正比,改變通電相序即可改變電動機轉(zhuǎn)向。 步進電機啟動、停止迅速,當停止脈沖輸入時,若維持繞組內(nèi)電流不變,電動機轉(zhuǎn)子會保持在停止時的位置上。 3 一般步進電機的精度為步進角的3-5%,且誤差不會累積。 4 步進電機外表允許的溫度高。步進電機溫度過高首先會使電機的磁性材料退磁,從而導致力矩下降乃至于失步,因此電機外表允許的最高溫度應取決于不同電機磁性材料的退磁點;一般來講,磁性材料的退磁點都在攝氏130度以上,有的甚至高達攝氏200度以上,所以步進電機外表溫
3、度在攝氏80-90度完全正常。 5 步進電機的力矩會隨轉(zhuǎn)速的升高而下降。當步進電機轉(zhuǎn)動時,電機各相繞組的電感將形成一個反向電動勢;頻率越高,反向電動勢越大。在它的作用下,電機隨頻率(或速度)的增大而相電流減小,從而導致力矩下降。 6 步進電機低速時可以正常運轉(zhuǎn),但若高于一定速度就無法啟動,并伴有嘯叫聲。步進電機有一個技術(shù)參數(shù):空載啟動頻率,即步進電機在空載情況下能夠正常啟動的脈沖頻率,如果脈沖頻率高于該值,電機不能正常啟動,可能發(fā)生丟步或堵轉(zhuǎn)。在有負載的情況下,啟動頻率應更低。如果要使電機達到高速轉(zhuǎn)動,脈沖頻率應該有加速過程,即啟動頻率較低,然后按一定加速度升到所希望的高頻(電機轉(zhuǎn)
4、速從低速升到高速)。 7 步進電機的確定是效率地,帶負載能力低,調(diào)速范圍小,最高輸入脈沖頻率一般不超過18KHZ,并且需要專用電源給電脈沖信號,在運行中會出現(xiàn)共振和震蕩問題。 1.2步進電機工作原理 步進電機是一種用電脈沖進行控制 ,將電脈沖信號轉(zhuǎn)換成相位移的電機 ,其機械位移和轉(zhuǎn)速分別與輸入電機繞組的脈沖個數(shù)和脈沖頻率成正比 ,每一個脈沖信號可使步進電機旋轉(zhuǎn)一個固定的角度.脈沖的數(shù)量決定了旋轉(zhuǎn)的總角度 ,脈沖的頻率決定了電機運轉(zhuǎn)的速度.當步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設定的方向轉(zhuǎn)動一個固定的角度(稱為“步距角”),它的旋轉(zhuǎn)是以固定的角度一步一步運行的。可以通
5、過控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。 對于反應式步進電機轉(zhuǎn)速與脈沖頻率的關系為: 式中:為脈沖頻率,單位是HZ。N為電機運行拍數(shù)、z為轉(zhuǎn)子齒數(shù)。 對于反應式步進電機的步距角為: 式中:N為步進電機運行拍數(shù),z為轉(zhuǎn)子齒數(shù)。對于二四相電機齒數(shù)一般為50。 1.3 二相步進電機 根據(jù)設計要求本設計設計對象是二相步進電機,有兩組帶中心抽頭的線圈,因為設計要求采用雙極性控制即H橋控制,繞組的中心抽頭不接,使用四線工作。二相六線制步進電機如圖: 圖1 二相六線制步進電機
6、結(jié)構(gòu)示意圖 圖中、為繞組的中心抽頭,、、、為四個繞組出線端。對各繞組施加通電脈沖,轉(zhuǎn)子會在電磁力的作用下向磁導率最大即趨于對齒的狀態(tài)轉(zhuǎn)動,由于各相是有選擇性的通電且通電時間是有限的,對各繞組在各拍下按某種既定的通電順序通電即可以使電機轉(zhuǎn)動,調(diào)整對各繞組施加的脈沖頻率可以調(diào)整電機轉(zhuǎn)速大小,改變各繞組通電順序即可以調(diào)整其轉(zhuǎn)動方向。通過改變繞組通電順序組合可以改變電機運行拍數(shù)。 二相步進電機運行狀態(tài)有二相四拍與二相八拍兩種運行狀態(tài),其中四拍又分為單四拍與雙四拍。本設計中四拍選擇雙四拍方式。 二相四拍正轉(zhuǎn)各繞組通電順序為: 單四拍: 雙四拍:。 二相四拍反轉(zhuǎn)各繞組通
7、電順序為: 單四拍: 雙四拍: 二相八拍各繞組通電順序為: 正轉(zhuǎn): 反轉(zhuǎn): 步進電機運行有半步與整步兩種,對于二相步進電機四拍運行時為半步,步距角為1.8度,八拍運行時為半步運行方式,步距角為0.9度。步距角越小控制精度越高。 2 題意分析與方案論證 2.1 題意分析 設計題目要求采用雙極性控制設計一個二相步進電機控制系統(tǒng),要求具有對電機開關、正反向控制、拍數(shù)控制以及速度控制,并且系統(tǒng)能夠?qū)崟r顯示電機運行步數(shù)以及用發(fā)光二極管表征電機運行狀態(tài):正轉(zhuǎn)、反轉(zhuǎn)和停止??梢栽O計一個以單片機為核心的微型計算機系統(tǒng)實現(xiàn)設計。通過按鍵輸入用戶對電機的控制要求,單片
8、機讀取按鍵信息并進過處理調(diào)用相應的模塊輸出到驅(qū)動芯片完成對電機的控制,同時調(diào)用單片機內(nèi)相應程序采用動態(tài)掃描的方式將運行步數(shù)通過四位數(shù)碼管實時顯示。單片機輸出相應的量實現(xiàn)對發(fā)光二極管的控制,顯示電機運行狀態(tài)。 2.2 設計方案的確定 2.2.1 控制部分 步進電機是將電脈沖信號轉(zhuǎn)換成響應的角位移或者線位移的數(shù)字控制電機,按照輸入脈沖指令旋轉(zhuǎn),脈沖數(shù)決定旋轉(zhuǎn)位移的大小,脈沖頻率決定旋轉(zhuǎn)速度,并能在很寬的范圍內(nèi)調(diào)速。其控制可以用硬件電路和以微型計算機為核心的控制系統(tǒng)兩種方式實現(xiàn)。由于步進電機可以將輸入的數(shù)字脈沖信號轉(zhuǎn)換成相應的角位移,所以很適合采用計算機控制。而且硬件方式每種電路實現(xiàn)的
9、控制功能較為單一,這會導致改變控制功能時還要重新設計硬件電路,靈活性較差,應用起來比較麻煩并且會增加成本。而微型計算機控制系統(tǒng)怎么屬于軟硬件結(jié)合的控制方式,少量的硬件連接和軟件實現(xiàn)控制完成主要控制功能,靈活性很大,性價比高。所以本電路采用AT89C51單片機來實現(xiàn)電機的控制。 單片機通過數(shù)據(jù)線進行與驅(qū)動電路的數(shù)據(jù)傳送,硬件連線只需連接信號傳輸線路即可,對電機的運行狀態(tài)等各項控制要求通過軟件實現(xiàn)。單片機通過按鍵接受用戶對電機的運行要求,后通過自身程序調(diào)用對驅(qū)動電路進行控制,使驅(qū)動電路進行相應的繞組通電操作以完成各種用戶要求。 步進電機的控制是由單片機產(chǎn)生的脈沖頻率實現(xiàn)的,可以調(diào)整單
10、片機向發(fā)出的時鐘脈沖來實現(xiàn)調(diào)速。根據(jù)這個原理可以采用延時和定時兩種方法改變響應脈沖的方波,一到達調(diào)速的目的。不過由于延時方法一般通過軟件實現(xiàn)占用CPU時間長,同時不能再在運行時處理其他工作,一般適合較簡單的控制過程。所以一般采用定時方式產(chǎn)生脈沖,定時方式采用中斷方式,只有特定時才占用CPU,可以明顯提高系統(tǒng)響應速度。同樣利用軟件可以實現(xiàn)設計要求的功能。 2.2.2 驅(qū)動電路部分 用于步進電機的驅(qū)動一般有兩種方法,一種是通過CPU直接來驅(qū)動,這種方法一般不宜采用,因為CPU的輸出電流脈沖是特別小的它不能足以讓步進電機的轉(zhuǎn)動;別一種是通過CPU來間接驅(qū)動,就是把從CPU輸出的信號進行放大
11、,然后直接驅(qū)動或是再通過光電隔離間接來驅(qū)動步進電機,這種方法比較安全可靠。固本次設計應采用CPU間接驅(qū)動步進電機。 任務要求驅(qū)動采用雙極性(H橋)控制(不適用電機繞組中心抽頭),本設計采用芯片L298來控制電動機的驅(qū)動系統(tǒng)。L298是雙H橋驅(qū)動器,此驅(qū)動系統(tǒng)需要的時間很少,降低裝配成本。關于脈沖分配以及對步進電機的各種控制操作由軟件控制完成,實現(xiàn)了對步進電機靈活均衡的控制。 2.2.3 數(shù)碼管部分 電路采用四位數(shù)碼管顯示步進電機實時運行步數(shù),電路采用共陰極四位數(shù)碼管,數(shù)碼管驅(qū)動采用CD4511驅(qū)動芯片,CD4511是專門驅(qū)動共陰極數(shù)碼管的芯片,它接受BCD碼的形式控制輸入,輸出驅(qū)
12、動七段數(shù)碼管。 系統(tǒng)原理框圖如下: 圖2 系統(tǒng)原理框圖 3 硬件電路設計 3.1 控制部分 3.1.1 芯片介紹 本次設計以CPU選用89C5l作為步進電機的控制芯片.89C51的結(jié)構(gòu)簡單并可以在編程器上實現(xiàn)閃爍式的電擦寫達幾萬次以上.使用方便等優(yōu)點,而且完全兼容MCS5l系列單片機的所有功能。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—FAlsh ProgrAmmABle And ErAsABle ReAd Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)
13、標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 下圖為AT89C51管腳圖: 圖3 AT89C51管腳圖 單片機基本組成:8位中央處理器CPU,進行運算和邏輯控制;共256個內(nèi)部RAM單元,用于存放可讀寫數(shù)據(jù);4K掩膜ROM,用于存放程序、原始數(shù)據(jù)和表格;兩個16位定時/計數(shù)器,實現(xiàn)定時或計數(shù)功能;4個8位的I/O口P0、P1、P2、P3;含有2個外部中斷、2個定時器中斷和一個串行中斷的中斷控制系統(tǒng);可產(chǎn)生時鐘脈沖序列,允許晶振
14、頻率6MHZ和12MHZ的時鐘電路 引腳簡介:XTAL1、XTAL2:晶振輸入端。 RST: 復位引腳。 并行口:P0、P1、P2、P3。 :為1時,訪問內(nèi)部程序存儲器。為0時,值訪問外部程序存儲器。 ALE:地址鎖存控制信號。 :外部ROM選通信號。 3.1.2 原理分析 本設計以AT89C51為核心組成控制系統(tǒng),單片機通過XTAL1、XTAL2外接12MHZ的晶振構(gòu)成單片機的工作頻率,由于系統(tǒng)不需外部ROM擴展,進行軟件操作時只需要用到內(nèi)部程序存儲器,所以管腳接直流電源。復位鍵不使用通過電容接地。外部ROM讀選
15、通信號引腳和地址鎖存控制信號引腳用不到,懸空不接。五個引腳通過上拉電阻接按鍵開關,完成對用戶控制要求的輸入,與芯片L298的輸入分別相接,完成單片機對步進電機各種控制的要求的實現(xiàn)。輸出到四位數(shù)碼管的位選引腳,完成對數(shù)碼管位選的控制,輸出到CD4511數(shù)碼管驅(qū)動器的輸入端,完成對數(shù)碼管數(shù)字顯示的控制。各并行口的輸出與鍵位開關狀態(tài)有關。AT89C51連線示意圖如下: 圖4 AT89C51接線示意圖 按鍵K0控制電機運行雙四拍方式,按鍵K1控制電機運行為八拍方式,按鍵K2控制電機的啟動與停止,按鍵K3控制電機的正反轉(zhuǎn),按鍵K4控制電機運行速度的快慢。單片機通過不斷的檢測口的電位判斷按鍵
16、是否被按下,檢測值為1表示按鍵沒有被按下,檢測值為0怎么表示按鍵被按下。當K2未按下前其他按鍵無效,K2按下后,其他幾個鍵輸入有效,若無K0和K1鍵按下,單片機輸出低電平至P0.4,P0.5,綠燈亮表示此時電動機為不轉(zhuǎn)狀態(tài)。K0鍵被按下時,單片機調(diào)用單四拍工作程序,從輸出對電機進行控制,K1按下時,單片機調(diào)用八拍工作程序,將控制字輸出到。設定默認K3沒有按下時電機運行正轉(zhuǎn),按下后反轉(zhuǎn);默認K4沒有按下時表示電機運行速度慢,按下后電機轉(zhuǎn)速變快。當K2按下并且K0或K1按下后,檢測到K3按下,則P0.5輸出高電平,觸發(fā)三極管黃燈亮,表示電機反轉(zhuǎn),并調(diào)用反轉(zhuǎn)子程序;若沒有檢測到K3被按下則P0.4輸
17、出高電平,觸發(fā)三極管紅燈亮,表示電機正轉(zhuǎn);若檢測到K4鍵被按下則調(diào)用高速運行程序,若沒有檢測到按鍵按下則不作操作。電動機運行過程中都要實時檢測電機運行步數(shù),并通過數(shù)碼管顯示出來。 3.2 電機驅(qū)動部分 3.2.1 L298芯片 L298為SGS-THOMSON Microelectronics 所出產(chǎn)的雙全橋步進電機專用驅(qū)動芯片( Dual Full-Bridge Driver ) ,內(nèi)部包含4信道邏輯驅(qū)動電路,是一種二相 和四相步進電機的專用驅(qū)動器,可同時驅(qū)動2個二相或1個四相步進電機,內(nèi)含二個H-Bridge 的高電壓、大電流雙全橋式驅(qū)動器,接收標準 TTL邏輯準位信號,
18、可驅(qū)動46V、2A以下的步進電機,且可以直接透過電源來調(diào)節(jié)輸出電壓;此芯片可直接由單片機的IO端口來提供模擬時序信號。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:電流檢測端,不用時可以直接接地。 圖5 L298管腳圖 3.2.2原理分析 電機驅(qū)動部分連接線路圖為: 圖6 驅(qū)動部分連線圖 檢測管腳不用直接接地,對于電機的停止啟動使用軟件編程實現(xiàn),所以使能端ENA、ENB直接接高電平。VCC為邏輯供電電源,選擇+5V的直流電源,VS為功率電壓源,按照步進電機的型號具體選擇。接單片機的,接受單片發(fā)來的控制脈沖。分別接二相步進電機的四個繞組端子引線。L298接受來自單片機的脈沖,通過自身內(nèi)部邏輯電路實現(xiàn)對電機繞組通斷電選擇的控制。二相步進電機的兩隊繞組通過與
20、L298的端子相連接入L298內(nèi)部的H橋中,實現(xiàn)了對二相步進電機的雙極性控制即H橋控制。 3.3數(shù)碼管部分 3.3.1 硬件介紹 3.3.1.1 CD4511芯片 LED使用4511驅(qū)動,CD4511是一個用于驅(qū)動共陰極 LED(數(shù)碼管)顯示器的 BCD碼—七段碼譯碼器。具有BCD轉(zhuǎn)換、消隱和鎖存控制、七段譯碼及驅(qū)動功能的CMOS電路能提供較大的拉電流。可直接驅(qū)動LED顯示器。CD4511 是一片 CMOS BCD—鎖存/7 段譯碼/驅(qū)動器,引腳排列如圖5 所示。其中A、B、C、D為 BCD 碼輸入,A為最低位。LT為燈測試端,加高電平時,顯示器正常顯示,加低電平時,顯示器一直顯示
21、數(shù)碼“8”,各筆段都被點亮,以檢查顯示器是否有故障。BI為消隱功能端,低電平時使所有筆段均消隱,正常顯示時, B1端應加高電平。另外 CD4511有拒絕偽碼的特點,當輸入數(shù)據(jù)越過十進制數(shù)9(1001)時,顯示字形也自行消隱。LE是鎖存控制端,高電平時鎖存,低電平時傳輸數(shù)據(jù)。a~g是 7 段輸出,可驅(qū)動共陰LED數(shù)碼管。另外,CD4511顯示數(shù)“6”時,a段消隱;顯示數(shù)“9”時,d段消隱,所以顯示6、9這兩個數(shù)時,字形不太美觀 。 圖7 CD4511管腳圖 3.3.1.2 共陰極數(shù)碼管 所謂共陰LED數(shù)碼管是指7段LED的陰極是連在一起的,在應用中應接地。限流電阻要根據(jù)電源電壓來選
22、取,電源電壓5V時可使用300Ω的限流電阻。 一位共陰極數(shù)碼管如圖6,四位共陰極數(shù)碼管如圖7所示,內(nèi)部機構(gòu)是將四個一位數(shù)碼管的段碼還有小數(shù)點位并起來,引出8跟線,四個數(shù)碼管的陰極分別引出,共4跟線。 圖8 一位共陰極數(shù)碼管接線示意圖 圖9 四位數(shù)碼管管腳圖 表1 共陰極數(shù)碼管段位通電狀態(tài)與顯示字符關系 顯示 管腳 dp g f e d c b a 16進制數(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的分別接單片機的,
24、單片機通過片內(nèi)程序?qū)崟r檢測步數(shù),并通過相應的處理得出要顯示的各位數(shù),并同時給出四位數(shù)碼管的選擇信號。單片機將得到要顯示的BCD數(shù)發(fā)送給CD4511,然后CD4511將BCD數(shù)轉(zhuǎn)化成七段數(shù)碼管管腳的七個電平的高低,同時單片機與四位數(shù)碼管的位選連接,給出相應的位選信號,采用動態(tài)掃描的方式顯示出當前運行步數(shù)。 4 軟件設計 4.1 設計思路 設計要求對步進電機的正反轉(zhuǎn)、啟動停止、運行拍數(shù)和運行速度進行控制。這些控制主要通過軟件進行實現(xiàn)。由按鍵輸入控制信號,單片機收到系統(tǒng)信號后調(diào)用相關的模塊實現(xiàn)按鍵對應的操作。對于運行拍數(shù)以
25、及正反轉(zhuǎn)的控制可以調(diào)用子程序模塊實現(xiàn)這部分功能,實現(xiàn)這兩個的控制操作只需要編寫雙四拍正轉(zhuǎn)子程序,雙四拍反轉(zhuǎn)子程序,八拍正轉(zhuǎn)子程序,八拍反轉(zhuǎn)子程序。對于速度的控制通過改變脈沖頻率即改變定時器初值實現(xiàn)。 對于數(shù)碼管部分采用動態(tài)掃描的方式顯示實時運行步數(shù),需要設計數(shù)碼管顯示子程序。再次,本設計還使用定時器對步進電機的走步進行精確地時間設設定,因此還需要編寫一個定時器中斷子程序。 整個程序由主程序和若干子程序組成,具體程序詳見附錄。 4.2 各子程序流程圖 數(shù)碼管顯示流程圖: 圖11 數(shù)碼管顯示步數(shù)流程圖 步進電機四拍模塊流程圖: 圖12 步進電機四拍模塊流
26、程圖 步進電機八拍正轉(zhuǎn)模塊流程圖: 圖13 步進電機八拍正轉(zhuǎn)流程圖 系統(tǒng)總流程圖: 圖14 系統(tǒng)總流程圖 設計心得 我的任務是設計二相步進電機的控制系統(tǒng),之前對于步進電機了解很少,通過這次的集中式學習,讓我對步進電機有了基本的了解和簡單的應用能力。同時本次課程設計是對這個學期學習的微機控制技術(shù)基礎知識的進一步了解與鞏固,通過課程設計把所學的知識應用到實際。在這段時間里面我不僅鞏固了微控的相關知識也對步進電機特別是二相步進
27、電機有了較深的掌握,此外又進一步熟練了對PROTEUS的應用。特別是利用PROTUES進行單片機程序的仿真,這是之前較少接觸的。PROTUES可以幫助我們解決很多繁復的問題,讓設計、仿真更加簡便。在做此設計時,我深深體會到做事與觀看是完全不同的,沒有付出努力,就什么也學不到,有時候我們聽老師講一些知識好像是懂了,在真正實踐的時候才會明白,要想把知識融會貫通必須付諸于行動,否則一切都是枉然??墒?,我們要是有一定的過程,一定的付出 ,自然就會受到一定的成效。 在學習過程中,我也發(fā)現(xiàn)自己去學習一門新的知識也是一個很重要的能力,因為人總是要進步,不能總是拿著現(xiàn)有的資本固步自封,這就要求我們要好
28、好的培養(yǎng)和鍛煉自學能力,這種能力一定會在今后的工作中起到舉足輕重的作用。我們應該全面發(fā)展,應該拓展自己的知識面,把所學的知識應用到實際,這將對我們的生活學習起到很好的幫助作用。對自己所學習的知識應該不斷加深理解,將知識融會貫通,這樣才能真正學習到知識,在今后的學習生活當中應該更注重實踐能力。 參考文獻 [1] 于海生等編著 .《計算機控制技術(shù)》. 北京:機械工業(yè)出版社 . 2007. [2] 陳立周.《單片機原理及其應用》.北京:機械工業(yè)出版社,2007. [3] 劉寶廷.《步進電動機及其控制驅(qū)動系統(tǒng)》.哈爾濱工業(yè)大
29、學出版社,2006.
[4] 張義和、王敏男等編著.《例說51單片機(C語言版)》. 北京:人民郵電出版社. 2008.
[5] 王彤編著.《C語言在測量與控制中的應用》. 北京:機械工業(yè)出版社. 2009.
附錄一:二相步進電機控制系統(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; //設置定時器工作方式 TH0=(65536-50000)/256; //送初值 TL0=(65536-50000)%256; ET0=1; //開定時/計數(shù)器0中斷 TR0=1; //定時/計數(shù)器開始工作 TH1
33、=(65536-500)/256; //送初值 TL1=(65536-500)%256; ET1=1; //開定時/計數(shù)器0中斷 TR1=1; //定時/計數(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ù)器中斷程序 { TH0=(65536-500)/256; TL0=
35、(65536-500)%256; aa++; } void timer1() interrupt 3 //定時/計數(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) //延時子程序延時約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; //取個位
led4=0; //個位數(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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應急救援安全知識競賽試題
- 1 礦井泵工考試練習題含答案
- 2煤礦爆破工考試復習題含答案
- 1 各種煤礦安全考試試題含答案