步進電機控制
步進電機控制,步進,電機,機電,控制,節(jié)制
浙江師范大學數(shù)理與信息工程學院課程設(shè)計——用8051單片機實現(xiàn)步進電機控制
數(shù)理與信息工程學院
課 程 設(shè) 計
題 目: 用8051單片機實現(xiàn)步進電機控制
專 業(yè): 計算機科學與技術(shù)(專升本)
班 級: 056 班
姓 名: 葉億龍 學號: 05191142
學 院: 數(shù)理與信息工程學院
指導(dǎo)老師: 余水寶
成 績:
( 2006.6 )
目 錄
第1節(jié) 引 言 ……………………………………………………………………(2)
1.1 設(shè)計概述 ………………………………………………………………(2)
1.2 設(shè)計主要功能 …………………………………………………………(2)
第2節(jié) 系統(tǒng)的硬件設(shè)計 …………………………………………………………(3)
2.1 80C51單片計算機的組成原理…………………………………………(3)
2.1.1 組成框圖及內(nèi)部總體結(jié)構(gòu)……………………………………………(3)
2.1.2 寄存器和存儲器………………………………………………………(4)
2.1.3 單片機各口及其負載能力、接口要求 ………………………………(5)
2.1.4 MCS—51單片機的引腳功能…………………………………………(8)
2.2 步進電機 ………………………………………………………………………(11)
2.2.1 步進電機的控制原理 ………………………………………………(11)
2.2.2 分類 …………………………………………………………………(11)
2.2.2.1 反應(yīng)式步進電機 ………………………………………………(11)
2.2.2.2 感應(yīng)子式步進電機 ……………………………………………(12)
2.2.3 步進電機的控制方式 ………………………………………………(12)
2.2.4 步進電機的驅(qū)動方式 ………………………………………………(13)
2.2.5 步進電機的單片機控制 ……………………………………………(14)
第3節(jié) 系統(tǒng)的軟件設(shè)計…………………………………………………………(15)
3.1 雙相三拍控制程序 ……………………………………………………………(16)
3.2 三相六拍控制程序 ……………………………………………………………(17)
第4節(jié) 結(jié)束 ……………………………………………………………………(18)
參考文獻……………………………………………………………………………(19)
第1節(jié) 引 言
步進電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)。通俗一點講:當步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度(及步進角)。您可以通過控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的;同時您可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。由實驗中進行過步進電機的控制實驗。經(jīng)過一個學期的學習對8051單片機有了一定的了解,對實驗思考題進行思考和多方資料的參考做了有8051單片機來實現(xiàn)步進電機轉(zhuǎn)數(shù)控制。
1.1 設(shè)計概述
結(jié)合對步進電機的了解,然后對步進電機的控制原理包括步進電機的控制方式和驅(qū)動方式作了系統(tǒng)的說明,采用8051單片機來控制步進電機,并給出了步進電機的雙相三拍控制單片機控制和三相六拍的單片機控制的具體實現(xiàn)方法,用匯編程序進行控制運行。
1.2 設(shè)計主要功能
使用單片機以軟件方式驅(qū)動步進電機,通過編程方法,對步進電機的轉(zhuǎn)速、往返轉(zhuǎn)動的角度以及轉(zhuǎn)動次數(shù)等進行控制使其在一定范圍下運行,還可以方便靈活地控制步進電機的運行狀態(tài),以滿足不同用戶的要求。
圖1 步進電機
第2節(jié) 系統(tǒng)的硬件設(shè)計
2.1 80C51單片計算機的組成原理
2.1.1 組成框圖及內(nèi)部總體結(jié)構(gòu)
80C5l內(nèi)部組成方框圖如圖2所示,內(nèi)部總體結(jié)構(gòu)框圖如圖3所示。
圖2 80C51單片機組成方框圖
80C51主要包括算術(shù)/邏輯部件ALU、累加器A(有時也稱ACC)、只讀存儲器ROM、隨機存儲器RAM、指令寄存器IR、程序計數(shù)據(jù)PC、定時器/計數(shù)據(jù)、 I/O接口電路、程序狀態(tài)寄存器PSW、寄存器組,此外,還有堆棧寄存器SP、數(shù)據(jù)指針寄存器DPTR等部件。這些部件集成在一塊芯片上,通過內(nèi)部總線連接,構(gòu)成完整的微型計算機。下面按其部件功能分類予以介紹。
圖3 80C51總體結(jié)構(gòu)框圖
2.1.2 寄存器和存儲器
微處理器中的寄存器是學習指令系統(tǒng)和程序設(shè)計中常會接觸到的、寄存器是由觸發(fā)器組成的,8位寄存器由8個觸發(fā)器組成,16位寄存器由16個觸發(fā)器組成。MCS—51中的寄存器較多,大體可分為通用寄存器和專用寄存器兩類。
圖4 微處理器存儲器結(jié)構(gòu)
MCS—51存儲器配置:微型計算機必須配置一定數(shù)量的存儲器,但不同的微型計算機存儲器的配置不同。一種是程序與數(shù)據(jù)共用一個存儲器,如圖3(a)所示。一般的通用計算機都采用此種形式。另一種是將程序與數(shù)據(jù)分別放在兩個存儲器內(nèi),一個稱程序存儲器,另一個稱數(shù)據(jù)存儲器,如圖3(b)所示。MCS—5l單片機屬于此類。這是由單片機的應(yīng)用特點所決定的,因為單片機往往是為某個特定對象服務(wù)的,這是與通用計算機不同的一個顯著特點。它的程序設(shè)計調(diào)試成功后,一般是固定不變的,因而程序(包括常數(shù)表)可以而且也應(yīng)該一次性地永久放到單片機內(nèi)。這樣不僅省去了每次開機后臺程序重新裝入步驟,還可以有效地防止圍掉電和其它干擾而引起的程序丟失的錯誤。MCS—51片內(nèi)集成有一定容量的程序存儲器(8031/80c31/8032除外)和數(shù)據(jù)存儲器并具有較大的外部存儲器擴展能力。物理上,MCS—51有4個存儲器空間:片內(nèi)程序存儲器、片外程序存儲器,片內(nèi)數(shù)據(jù)存儲器、片外數(shù)據(jù)存儲器。
圖5給出了訪問程序存儲器時,程序取指所涉及到的信號和時序。如果程序存儲器是外部的,則程序存儲器讀選PSEN一般是每個機器周期兩次有效,如圖5(a)所示,如果是訪問外部數(shù)據(jù)存儲器,如圖5(b)所示,則要跳過兩個PSEN,因為地址和數(shù)據(jù)總線正在用于訪問數(shù)據(jù)存儲器。應(yīng)該注意的是,數(shù)據(jù)存儲器總線周期為程序存儲器總線周期的2倍,圖5給出了端口0和端口2所發(fā)送的地址ALE和PSEN的相對時序。ALE用于將P0的低位地址字節(jié)鎖存到地址鎖存器中。
圖5 MCS-51 執(zhí)引外部程序存儲器中指令碼時的總線周期
2.1.3 單片機各口及其負載能力、接口要求
MCS—51單片機有4個口,共32根I/O線。所有4個端口都是雙向口,每口都包含一個鎖存器,即專用寄存器P0--P3,一個輸出驅(qū)動器和輸入緩沖器。為了方便起見,我們把4個端口和其中的鎖存器(即專用寄存器)都籠統(tǒng)地表示為P0—P3。
MCS-51在訪問外部存儲器時,地址由P0、P2口送出,數(shù)據(jù)則通過P1口傳送,這時P0口是分時多路轉(zhuǎn)換的雙向總線。無外部存儲器的系統(tǒng)中,所有4個端口都可以作為準雙向口使用。
P0口是8位雙向三態(tài)輸入/輸出接口,如圖6(a)所示。P0口既可作地址/數(shù)據(jù)總
線使用.又可作通用I/O口用。連接外部存儲器時,P0口一方面作為8位數(shù)據(jù)輸入/輸出
口,另一方面用來輸出外部存儲器的低8位地址。作輸出口時,輸出漏極開路,驅(qū)動NMOS電路時應(yīng)外接上拉電阻;作輸人口之前,應(yīng)先向鎖存器寫1,使輸出的兩個場效應(yīng)管均關(guān)斷,引腳處于“浮空”狀態(tài),這樣才能做到高阻輸入,以保證輸人數(shù)據(jù)的正確。正是由于該端口用作I/O口,輸入時應(yīng)先寫l,故稱為準雙向口。當P0口作地址/數(shù)據(jù)總線使用時,就不能再把它當通用I/O口使用。
P1口是8位準雙向口,作通用輸入/輸出口使用,如圖6(b)所示。在輸出驅(qū)動器部分,Pl口有別于P0口,它接有內(nèi)部上拉電阻。P1口的每以一位可以獨立地定義為輸人或者輸出,因此,P1口既可作為8位并行輸入/輸出口,又可作為8位輸入/輸出端。CPU既可以對P1口進行字節(jié)操作,又可以進行位操作。當作輸入方式時,該位的鎖存器必須頂寫1。
P2口是8位準雙向輸入/輸出接口,如圖6(c)所示。P2口可作通用I/0口使用與P1口相同。當外接程序存儲據(jù)時,P2口給出地址的高8位,此時不能用作通用,I/O口。當外按數(shù)據(jù)存儲器時,若RAM小于256KB,用R0、R1作間址寄存器,只需要P0口送出地址低8位,P2口可以用作通用I/O ;若RAM大于256KB,必須用16位寄存器DPTR作間址寄存器.則P2口只能在一定限度內(nèi)作一股I/O 口使用。
P3口也是一個8位的準雙向輸入/輸出接口,如圖6(d)所示。它具有多種功能。一方面與P1口一樣作為一般準雙向輸入/輸出接口,具有字節(jié)操作和位操作二種工作方式;另一方面8條閑人/輸出線可以獨立地作為串行輸入/輸出口和其它控制信號線。
圖6 I/O一位鎖存器和緩沖器結(jié)構(gòu)
P0—P3端口的負載能力及接口要求
P0口的輸出級與P1-P3口的輸出級在結(jié)構(gòu)上是不同的,因此它們的負載能力和接口要求也各不相同。P0口的每一位輸出可驅(qū)動8個LSTTL輸入,但把它當通用口使用時,輸出級是開漏電路,故用它驅(qū)動NM0S輸入時需外接上拉電阻;把它當?shù)刂罚瘮?shù)據(jù)總線時,則需接外部上拉電阻。P1—P3口的輸出級接有內(nèi)部上拉電阻,它們的每一位輸出可驅(qū)動4個LSTTL輸入。CHMOS端口只能提供幾毫安的輸出電流,故當作為輸出口去驅(qū)動一個普通晶體管的基極時,應(yīng)在端口與晶體管基極間串聯(lián)一個電阻,以限制高電平輸出時的電流。
I/O口的讀一修改一寫特性由圖6可見,每個I/O端口均有兩種讀人方法,讀鎖存器和讀引腳,并有相應(yīng)的指令,那么如何區(qū)分讀端口的指令是讀鎖存器還是讀引腳呢?讀鎖存器指令是從鎖存器中讀取數(shù)據(jù),進行處理,并把處理以后的數(shù)據(jù)重新寫入鎖存器中這類指令稱為“讀一修改一寫”指令。當目的操作數(shù)是一個I/O端口或I/O端口的某一位時,這些指令是讀鎖存器而不是讀引腳,即為“讀一修改一寫”指令,下面是一些“讀一修改一寫”指令。
ANL (邏輯與,例如 ANL P1,A)
ORL (邏輯或,例如 ORL P2,A)
XRL (邏輯異或,例如 XRL P3,A)
JBC (若位=1,則轉(zhuǎn)移并清零,例如 JBC P1.1,LABEL)
CPL (取反位,例如CPL,P3.0)
INC (遞增,例如INC P2)
DEC (遞減,例如DEC P2)
DJNZ (遞減,若不等于0則轉(zhuǎn)移,例如DJNZ P3,LABEL)
MOV P1.7 C(進位位送到端口P1的位7)
CLR P1.4 (清零端口P1的位4)
SETB P1.2 (置位端口P1的位2)
讀引腳指令一般都是以I/O端口為原操作數(shù)的指令,執(zhí)行讀引腳指令時,打開三態(tài)門,輸人口狀態(tài)。例如,讀P1口的輸入狀態(tài)時,讀引用指令為;MOV A,P1。"讀一修改一寫"指令指向鎖存器而不是引腳,其理由是為了避免可能誤解引腳上的電平。例如,端口位可能用于驅(qū)動晶體管的基極,在寫1至該位時,晶體管導(dǎo)通,若CPU隨后在引腳處而不是在鎖存器處讀端口位,則它將讀回晶體管的基極電壓,將其解釋為邏輯0。讀該鎖存器而不是引腳將返回正確值邏輯1。
2.1.4 MCS—51單片機的引腳功能
MSC-51單片機采用40引腳的雙列直插封裝(DIP)方式。圖7為其引腳及邏輯符號圖。
在40條引腳中,有2條專用于主電源的引腳,2條外接晶體的引腳,4條控制引腳,3I/O引腳。下面分別敘述各引腳的功能。
1、主電源引腳Vss和Vcc
Vss(20):接地;Vcc(40):正常操作時接十5V電源
2 、外接晶體引腳XTAL1和XTAL2
當外接晶體振蕩器時,XTAL1和XTAL2分別接在外接晶體兩端,當采用外部時鐘方式時,XTAL1接地,XTAL2接外來振蕩信號。
圖7 MCS—51單片機引腳圖及邏輯符號圖
3、控制引腳
RST/Vpp(9):當振蕩器正常運行時,在此引腳上出現(xiàn)二個機器周期以上的高電平使單片機復(fù)位。Vcc掉電期間,此引腳可接備用電源,以保持內(nèi)部RAM的數(shù)據(jù)。當Vcc下降掉到低于規(guī)定的水平,而VPD在其規(guī)定的電壓范圍內(nèi),VPD就向內(nèi)部RAM提供備用電源。
ALE(30):當訪問外部存儲器時,由單片機的P2口送出地址的高8位,P0口送出地址的低8位,數(shù)據(jù)也是通過P0口傳送。作為P0口某時選出的信息到底是低8位地址還是傳送的數(shù)據(jù),需要有一信號同步地進行分別。當ALE信號(允許地址鎖存)為高電平(有效).P0口送出低8位地址,通過ALE信號鎖存低8位地址。即使不訪問外部存儲器,ALE端仍以不變的頻率周期性地出現(xiàn)正脈沖信號,此頻率為振蕩器頻率的1/6,因此可用作對外輸出的時鐘。但需注意:當訪問外部數(shù)據(jù)存儲器(執(zhí)行MOVX指令)時,將跳過一個ALE脈沖。ALE端可驅(qū)動8個LSTTL輸入。
PSEN(29):程序存儲器讀選通信號,低電平有效。
MCS—51單片機可以外接程序存儲器及數(shù)據(jù)存儲器,它們的地址可以是重合的。MCS—5l單片機是通過相應(yīng)的控制信號來區(qū)別到底P2口和P0口送出的是程序存儲器還是數(shù)據(jù)存儲器地址。從外部程序存儲器取指令(或常數(shù))期間,每個機器周期兩次 有效,此時地址總線上送出地址為程序存儲器地址;如果訪問外部數(shù)據(jù)存儲器,這兩次有效的P5EN信號將不出現(xiàn)。外部數(shù)據(jù)存儲器是靠 (讀)及 (寫)信號控制的。同樣可以驅(qū)動8個LSTTL輸入。
EA/Vpp(31):當EA保持高電平時,訪問內(nèi)部程序存儲器(4K8),但當PC(程序計數(shù)器)值超過OFFFH時,將自動轉(zhuǎn)向執(zhí)行外部程序存儲器內(nèi)的程序當EA保持低電平時,則只訪問外部程序存儲器(從0000H地址開始),不管單片機內(nèi)部是否有程序存儲器。
對于EPROM型單片機,在EPROM編程期間,此引腳用于施加21V的編程電源(Vpp)。
輸入輸出引腳 P0.0—P0.7(39—32):P0口是一個漏極開路型準雙向I/O口。在訪問外部存儲器時,它是分時多路轉(zhuǎn)換的地址(低8位)和數(shù)據(jù)總線,在訪問期間激活了內(nèi)部的上拉電阻。在E—
PROM編程時,它接收指令字節(jié),而在驗證程序時,則輸出指令字節(jié)。驗證時,要求外接上拉電阻。
P1.0—P1.7(1—8):P1口是帶內(nèi)部上拉電阻的8位雙向I/O口。在EPROM編程和程序驗證時,它接收低8位地址。
P2.0—P2.7(21—28):P2口是一個帶內(nèi)部上拉電阻的8位雙向I/O口。在訪問外部存儲器時,它送出高8位地址。在對EPROM編程和程序驗證期間,它接收高8位地址。
P 3.0—P3.7(10—17):P3口是一個帶內(nèi)部上拉電阻的8位雙向I/O口。在MCS—5l中,這8個引腳還兼有專用功能,這些功能見表1。
表1 P3 各口線與專用功能
這些專用功能的口線,在與外部設(shè)備接口、外接數(shù)據(jù)存儲器等方面具有非常重要的作用。
2.2 步進電機
2.2.1 步進電機的控制原理
步進電機是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉(zhuǎn)過一個步距角。這一線性關(guān)系的存在,加上步進電機只有周期性的誤差而無累積誤差等特點。使得在速度、位置等控制領(lǐng)域用步進電機來控制變的非常的簡單。雖然步進電機已被廣泛地應(yīng)用,但步進電機并不能像普通的直流電機,交流電機在常規(guī)下使用。它必須由雙環(huán)形脈沖信號、功率驅(qū)動電路等組成控制系統(tǒng)方可使用。
2.2.2 分類
感應(yīng)子式步進電機以相數(shù)可分為:二相電機、三相電機、四相電機、五相電機等。
2.2.2.1 反應(yīng)式步進電機
下面先敘述三相反應(yīng)式步進電機原理。
1、結(jié)構(gòu)
電機轉(zhuǎn)子均勻分布著很多小齒,定子齒有三個勵磁繞阻,其幾何軸線依次分別與轉(zhuǎn)子齒軸線錯開0、1/3て、2/3て,(相鄰兩軸子齒軸線間的距離為齒距以て表示),即A與齒1相對齊,B與齒2向右錯開1/3て,C與齒3向右錯開2/3て,A'與齒5相對齊,(A'就是A,齒5就是齒1)定轉(zhuǎn)子的展開圖如圖8
圖8 定轉(zhuǎn)子的展開圖
2、旋轉(zhuǎn)
如A相通電,B,C相不通電時,由于磁場作用,齒1與A對齊,(轉(zhuǎn)子不受任何力以下均同)。 如B相通電,A,C相不通電時,齒2應(yīng)與B對齊,此時轉(zhuǎn)子向右移過1/3て,此時齒3與C偏移為1/3て,齒4與A偏移(て-1/3て)=2/3て。 如C相通電,A,B相不通電,齒3應(yīng)與C對齊,此時轉(zhuǎn)子又向右移過1/3て,此時齒4與A偏移為1/3て對齊。 如A相通電,B,C相不通電,齒4與A對齊,轉(zhuǎn)子又向右移過1/3て這樣經(jīng)過A、B、C、A分別通電狀態(tài),齒4(即齒1前一齒)移到A相,電機轉(zhuǎn)子向右轉(zhuǎn)過一個齒距,如果不斷低按A,B,C,A……通電,電機就每步(每脈沖)1/3て,向右旋轉(zhuǎn)。如按A,C,B,A……通電,電機就反轉(zhuǎn)。
由此可見:電機的位置和速度由導(dǎo)電次數(shù)(脈沖數(shù))和頻率成一一對應(yīng)關(guān)系。而方向由導(dǎo)電順序決定。不過,出于對力矩、平穩(wěn)、噪音及減少角度等方面考慮。往往采用A-AB-B-BC-C-CA-A這種導(dǎo)電狀態(tài),這樣將原來每步1/3て改變?yōu)?/6て。甚至于通過二相電流不同的組合,使其1/3て變?yōu)?/12て,1/24て,這就是電機細分驅(qū)動的基本理論依據(jù)。
不難推出:電機定子上有m相勵磁繞阻,其軸線分別與轉(zhuǎn)子齒軸線偏移1/m,2/m……(m-1)/m,1。并且導(dǎo)電按一定的相序電機就能正反轉(zhuǎn)被控制——這是步進電機旋轉(zhuǎn)的物理條件。
3、力矩
電機一旦通電,在定轉(zhuǎn)子間將產(chǎn)生磁場(磁通量Ф)當轉(zhuǎn)子與定子錯開一定角度產(chǎn)生力F與(dФ/dθ)成正比 : 其磁通量Ф=Br*S ,Br為磁密,S為導(dǎo)磁面積 。 F與L*D*Br成正比:L為鐵芯有效長度,D為轉(zhuǎn)子直徑,Br=N·I/R, N·I為勵磁繞阻安匝數(shù)(電流乘匝數(shù))R為磁阻。力矩=力*半徑。 力矩與電機有效體積*安匝數(shù)*磁密 成正比(只考慮線性狀態(tài))。 因此,電機有效體積越大,勵磁安匝數(shù)越大,定轉(zhuǎn)子間氣隙越小,電機力矩越大,反之亦然。
2.2.2.2 感應(yīng)子式步進電機
1、特點
感應(yīng)子式步進電機與傳統(tǒng)的反應(yīng)式步進電機相比,結(jié)構(gòu)上轉(zhuǎn)子加有永磁體,以提供軟磁材料的工作點,而定子激磁只需提供變化的磁場而不必提供磁材料工作點的耗能,因此該電機效率高,電流小,發(fā)熱低。因永磁體的存在,該電機具有較強的反電勢,其自身阻尼作用比較好,使其在運轉(zhuǎn)過程中比較平穩(wěn)、噪音低、低頻振動小。
感應(yīng)子式步進電機某種程度上可以看作是低速同步電機。一個四相電機可以作四相運行,也可以作二相運行。(必須采用雙極電壓驅(qū)動),而反應(yīng)式電機則不能如此。
一個二相電機的內(nèi)部繞組與四相電機完全一致,小功率電機一般直接接為二相,而功率大一點的電機,為了方便使用,靈活改變電機的動態(tài)特點,往往將其外部接線為八根引線(四相),這樣使用時,既可以作四相電機使用,可以作二相電機繞組串聯(lián)或并聯(lián)使用。
2.2.3 步進電機的控制方式
如果通過單片機按順序給繞組施加有序的脈沖電流,就可以控制電機的轉(zhuǎn)動,從而實現(xiàn)數(shù)字一角度的轉(zhuǎn)換。轉(zhuǎn)動的角度大小與施加的脈沖數(shù)成正比,轉(zhuǎn)動的速度與脈沖頻率成正比,而轉(zhuǎn)動方向則與脈沖的順序有關(guān)。以三相步進電機為例,電流脈沖的施加共有3種方式。(1)單相三拍方式(按單相繞組施加電流脈沖):一A— B—C一正轉(zhuǎn);一A—C— B一反轉(zhuǎn)。(2)雙相三拍方式(按雙相繞組施加電流脈沖):一AB—BC—CA一正轉(zhuǎn);一AC—CB— AB一反轉(zhuǎn)。(3)三相六拍方式(單相繞組和雙相繞組交替施加電流脈沖):一A—AB— B— BC—C—CA一正轉(zhuǎn);一A—AC— C— CB— B— BA一反轉(zhuǎn)。單相三拍方式的每一拍步進角為3°,三相六拍的步進角則為1.5°,因此,在三相六拍下,步進電機的運行反轉(zhuǎn)平穩(wěn)柔和,但在同樣的運行角度與速度下,三相六拍驅(qū)動脈沖的頻率需提高1倍,對驅(qū)動開關(guān)管的開關(guān)特性要求較高。
2.2.4 步進電機的驅(qū)動方式
步進電機常用的驅(qū)動方式是全電壓驅(qū)動,即在電機移步與鎖步時都加載額定電壓。為了防止電機過流及改善驅(qū)動特性,需加限流電阻。由于步進電機鎖步時,限流電阻要消耗掉大量的功率,故限流電阻要有較大的功率容量,并且開關(guān)管也要有較高的負載能力。步進電機的另一種驅(qū)動方式是高低壓驅(qū)動,即在電機移步時,加額定或超過額定值的電壓,以便在較大的電流驅(qū)動下,使電機快速移步;而在鎖步時,則加低于額定值的電壓,只讓電機繞組流過鎖步所需的電流值。這樣,既可以減少限流電阻的功率消耗,又可以提高電機的運行速度,但這種驅(qū)動方式的電路要復(fù)雜一些。驅(qū)動脈沖的分配可以使用硬件方法,即用脈沖分配器實現(xiàn)?,F(xiàn)在,脈沖分配器已經(jīng)標準化、芯片化,市場上可以買到。但硬件方法結(jié)構(gòu)復(fù)雜,成本也較高。步進電機控制(包括控制脈沖的產(chǎn)生和分配)也可以使用軟件方法,即用單片機實現(xiàn),下面給出具體的使用單片機以軟件方式驅(qū)動步進電機的實現(xiàn)方法。
圖9 驅(qū)動電源與單片機及電機接線圖
說明:
CP 接CPU脈沖信號(負信號,低電平有效)
OPTO 接CPU+5V
FREE 脫機,與CPU地線相接,驅(qū)動電源不工作
DIR 方向控制,與CPU地線相接,電機反轉(zhuǎn)
VCC 直流電源正端
GND 直流電源負端
A 接電機引出線紅線
A 接電機引出線綠線
B 接電機引出線黃線
B 接電機引出線藍線
步進電機轉(zhuǎn)速越高,力距越大則要求電機的電流越大,驅(qū)動電源的電壓越高。電壓對力矩影響如圖10:
圖10 電壓對力矩影響
2.2.5 步進電機的單片機控制
步進電機控制的最大特點是開環(huán)控制,不需要反饋信號。因為步進電機的運動不產(chǎn)生旋轉(zhuǎn)量的誤差累積。由單片機實現(xiàn)的步進電機控制系統(tǒng)如圖8所示。
驅(qū)動電路
單片機系統(tǒng)
負載
步進電機
圖11 單片機控制步進電機
第3節(jié) 系統(tǒng)的軟件設(shè)計
3.1 雙相三拍控制程序
脈沖信號
信號分配
功率放大
步進電機
負
載
圖12 控制系統(tǒng)方框圖
步序
P1口輸出狀態(tài)
繞組
控制字
1
00000011
AB
03H
2
00000110
BC
06H
2
00000101
CA
05 H
表2 雙相三拍控制模型
假定有如下工作單元和工作位定義:
R0為步進數(shù)寄存器;
PSW 中,F(xiàn)0為方向標志位,F(xiàn)0=0正轉(zhuǎn),F(xiàn)0<>0反轉(zhuǎn)。
參考程序如下:
BEGIN: JB F0, ;判正反轉(zhuǎn)
L0OP2
LOOP1: MOV A,#03H ;第1拍控制碼
MOV Pl,A ;
LCALL DELAY ;延時
DJNZ R0,DONE ;
MOV A,#06H ;第2拍控制碼
MOV P1,A ;
LCALL DELA Y ;
DJNZ ,DONE ;
MOV A,#05H ;第3拍控制碼
MOV Pl,A ;
LCALL DELA Y ;
DJNZ R0,DONE ;
AJMP LOOP ;循環(huán)
LOOP2: MOV A,#03H ;反轉(zhuǎn)
M0V Pl,A ;
LCALL DELAY ;
DJNZ Ro,DONE ;
MOV A, #05H ;
M0V Pl,A ;
LCALL DELAY ;
DJNZ Ro,DONE ;
MOV A.#06H ;
M0V Pl,A ;
LCALL DELAY ;
DJNZ Ro,DONE ;
AJMP LOOP2 ;循環(huán)
DONE: RET ;返回
3.2 三相六拍控制程序
在雙相三拍程序中,P1口輸出的控制字是在程序中給定的。而在三相六拍的控制中,由于控制字較多,故可以把這些控制字以表的形式預(yù)先存放在內(nèi)部RAM單元中,運行程序時以查表的方式逐個取出并輸出。
假定正反轉(zhuǎn)控制字依次存放在以POINT為首地址的內(nèi)部RAM中,表的內(nèi)容如下:
POINT:DB 01H ;正轉(zhuǎn)A
DB 03H ;AB
DB 02H ;B
DB 06H ;BC
DB 04H ;C
DB 05H ;CA
DB 00H ;循環(huán)標志
DB 01H ;反轉(zhuǎn)A
DB 05H ;AC
DB 04H ;C
DB 06H ;CB
DB 02H ;B
DB 03H ;BA
DB 00H ;循環(huán)標志
參考程序如下:
BEGIN:JB F0,LOOP2 ;判正反轉(zhuǎn)
MOV R1,#POINT ;建立正轉(zhuǎn)數(shù)據(jù)指針
LOOP1:MOV A,@R1 ;讀控制字
JZ LOOP3 ;結(jié)束符轉(zhuǎn)
MOV Pl,A ;
ACALL DELAY ;延時
INC R1 ;數(shù)據(jù)指針加1
AJMP LOOP1 ;循環(huán)
LOOP2:MOV A,@POINT ;建立反轉(zhuǎn)數(shù)據(jù)指針
ADD A,#06H ;
MOV R1,A ;
AJMP LOOP1 ;
LOOP3:DJNZ R1,BEGIN ;判步數(shù)到否
RET ;
結(jié) 束 語
使用單片機以軟件方式驅(qū)動步進電機,不但可以通過編程方法,在一定范圍內(nèi)自由設(shè)定步進電機的轉(zhuǎn)速、往返轉(zhuǎn)動的角度以及轉(zhuǎn)動次數(shù)等,而且還可以方便靈活地控制步進電機的運行狀態(tài),以滿足不同用戶的要求。因此,常把單片機步進電機控制電路稱之為可編程步進電機控制驅(qū)動器。步進電機控制(包括控制脈沖的產(chǎn)生和分配)使用軟件方法,即用單片機實現(xiàn),這樣既簡化了電路,也降低了成本。
在這次單片機設(shè)計中使我對步進機有了更深的了解,對單片機也有了更高成次的了解,單片機的種類多,而型號雜,也是我們學習中的困難,所以就MCS—51系列的產(chǎn)品來說,就是一個典型的學習方法。單片機編程是用匯編語言進行編程,也就需要我們對電路的分析,然后總結(jié),查閱相關(guān)資料才能變成好的程序,編程講究的是多動手寫,自己寫,用自己的思路,不怕寫錯,寫錯再改,懂得有新的思想這樣才能提高。
在這次單片機應(yīng)用系統(tǒng)設(shè)計中遇到到很大的困難,主要原因是平時的知識掌握的不夠,通過查閱很多資料和類似的論文,才做成的。以前都沒有做過單片機設(shè)計,一開始都不知道如何下手,在余水寶老師對幾個實例的講解,讓我有了一定的了解。在設(shè)計過程中,余老師所傳授給我們的設(shè)計理念和思想起了很重要的作用。由于時間的倉促,經(jīng)驗的少,知識的局限,設(shè)計有一定的不足。
單片機對于我計算機專業(yè)的學生電子電路基礎(chǔ)比較差,在設(shè)計中表現(xiàn)出來了,但是也表明了我要加倍的努力去學習電子電路方面的基礎(chǔ)知識。光靠這次的設(shè)計對能力提高不了多少,而是要記住這次設(shè)計經(jīng)驗,來更好地做好下次的設(shè)計,也就是說積累經(jīng)驗,這對將來走上社會有很重要的作用。
參考文獻:
[1] 張鑫 華臻 陳書謙 《單片機原理及應(yīng)用》 電子工業(yè)出版社 2005.8
[2] 梅麗鳳 王艷秋 張軍 《單片機原理及接口技術(shù)》 清華大學出版社2004.6
[3] 李廣第 朱月秀 王秀山 《單片機基礎(chǔ)》 北京航空航天大學出版社 2001.2
[4] 王鴻鈺 《步進電機控制技術(shù)入門》同濟大學出版社出版 1992.6
21
數(shù)理與信息工程學院
課 程 設(shè) 計
題 目: 用8051單片機實現(xiàn)步進電機控制
專 業(yè): 計算機科學與技術(shù)(專升本)
班 級: 056 班
姓 名: 葉億龍 學號: 05191142
學 院: 數(shù)理與信息工程學院
指導(dǎo)老師: 余水寶
成 績:
( 2006.6 )
收藏
編號:3310029
類型:共享資源
大?。?span id="m2gqiqu" class="font-tahoma">18.18MB
格式:ZIP
上傳時間:2019-12-11
38
積分
- 關(guān) 鍵 詞:
-
步進
電機
機電
控制
節(jié)制
- 資源描述:
-
步進電機控制,步進,電機,機電,控制,節(jié)制
展開閱讀全文
- 溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。