前言步進電機作為執(zhí)行元件,是機電一體化的關(guān)鍵產(chǎn)品之一,廣泛應(yīng)用在各種自動化控制系統(tǒng)中。它是用電脈沖信號進行控制,將電脈沖信號轉(zhuǎn)換成相應(yīng)的角位移或線位移的微電動機,它最突出的優(yōu)點是可以在寬廣的頻率范圍內(nèi)通過改變脈沖頻率來實現(xiàn)調(diào)速,快速起停、正反轉(zhuǎn)控制及制動等,并且用其組成的開環(huán)系統(tǒng)既簡單、廉價,又非常可行,因此在打印機等辦公自動化設(shè)備以及各種控制裝置等眾多領(lǐng)域有著極其廣泛的應(yīng)用。隨著微電子和計算機技術(shù)的發(fā)展,步進電動機的需求量與日俱增,研制步進電機驅(qū)動器及其控制系統(tǒng)具有十分重要的意義。
本次畢業(yè)設(shè)計選用的步進電機是四相步進電機,通過軟件和硬件的結(jié)合實現(xiàn)步進電機的啟停、正轉(zhuǎn)、反轉(zhuǎn)、加速、減速功能,并且步進電機所處的狀態(tài)用相應(yīng)的發(fā)光二極管顯示。主要通過三大塊來設(shè)計,包括驅(qū)動電路的設(shè)計、狀態(tài)顯示部分和按鍵部分是設(shè)計?梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而精確地控制轉(zhuǎn)動角度;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的角度和加速度,從而達到調(diào)速的目的。
1步進電機概述
1.1 步進電機介紹
1.1.1 步進電機概述步進電機是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓位移的開環(huán)控制元件。在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機加一個脈沖信號,電機則轉(zhuǎn)過一個步距角。這一線性關(guān)系的存在,加上步進電機只有周期性的誤差而無累積誤差等特點。使得在速度、位置等控制領(lǐng)域用步進電機來控制變的非常的簡單。
正常情況下,步進電機轉(zhuǎn)過的總角度和輸入的脈沖數(shù)成正比;連續(xù)輸入一定頻率的脈沖時,電動機的轉(zhuǎn)速與輸入脈沖的頻率保持嚴(yán)格的對應(yīng)關(guān)系,不受電壓波動和負(fù)載變化的影響。由于步進電動機能直接接收數(shù)字量的輸入,所以特別適合于微機控制。
步進電機的基本參數(shù):
(一)步進電機的靜態(tài)指標(biāo)術(shù)語
1、相數(shù):產(chǎn)生不同對N、S磁場的激磁線圈對數(shù)。常用m表示。
2、拍數(shù):完成一個磁場周期性變化所需脈沖數(shù)或?qū)щ姞顟B(tài)用n表示,或指電機轉(zhuǎn)過一個齒距角所需脈沖數(shù),以四相電機為例,有四相四拍運行方式即AB-BC-CD-DA-AB,四相八拍運行方式即 A-AB-B-BC-C-CD-D-DA-A.
3、步距角:對應(yīng)一個脈沖信號,電機轉(zhuǎn)子轉(zhuǎn)過的角位移用θ表示。θ=360度(轉(zhuǎn)子齒數(shù)*運行拍數(shù)),以常規(guī)二、四相,轉(zhuǎn)子齒為50齒電機為例。四拍運行時步距角為θ=360度/(50*4)=1.8度(俗稱整步),八拍運行時步距角為θ=360度/(50*8)=0.9度(俗稱半步)。
4、定位轉(zhuǎn)矩:電機在不通電狀態(tài)下,電機轉(zhuǎn)子自身的鎖定力矩(由磁場齒形的諧波以及機械誤差造成的)
5、靜轉(zhuǎn)矩:電機在額定靜態(tài)電作用下,電機不作旋轉(zhuǎn)運動時,電機轉(zhuǎn)軸的鎖定力矩。此力矩是衡量電機體積(幾何尺寸)的標(biāo)準(zhǔn),與驅(qū)動電壓及驅(qū)動電源等無關(guān)。
雖然靜轉(zhuǎn)矩與電磁激磁安匝數(shù)成正比,與定齒轉(zhuǎn)子間的氣隙有關(guān),但過份采用減小氣隙,增加激磁安匝來提高靜力矩是不可取的,這樣會造成電機的發(fā)熱及機械噪音。
(二)步進電機動態(tài)指標(biāo)及術(shù)語:
1、步距角精度:
步進電機每轉(zhuǎn)過一個步距角的實際值與理論值的誤差。用百分比表示:誤差/步距角*100%。不同運行拍數(shù)其值不同,四拍運行時應(yīng)在5%之內(nèi),八拍運行時應(yīng)在15%以內(nèi)。
2、失步:
電機運轉(zhuǎn)時運轉(zhuǎn)的步數(shù),不等于理論上的步數(shù)。稱之為失步
3、失調(diào)角:
轉(zhuǎn)子齒軸線偏移定子齒軸線的角度,電機運轉(zhuǎn)必存在失調(diào)角,由失調(diào)角產(chǎn)生的誤差,采用細分驅(qū)動是不能解決的。
4、最大空載起動頻率:
電機在某種驅(qū)動形式、電壓及額定電流下,在不加負(fù)載的情況下,能夠直接起動的最大頻率。
5、最大空載的運行頻率:
電機在某種驅(qū)動形式,電壓及額定電流下,電機不帶負(fù)載的最高轉(zhuǎn)速頻率。
6、運行矩頻特性:
電機在某種測試條件下測得運行中輸出力矩與頻率關(guān)系的曲線稱為運行矩頻特性,這是電機諸多動態(tài)曲線中最重要的,也是電機選擇的根本依據(jù)。電機一旦選定,電機的靜力矩確定,而動態(tài)力矩卻不然,電機的動態(tài)力矩取決于電機運行時的平均電流(而非靜態(tài)電流),平均電流越大,電機輸出力矩越大,即電機的頻率特性越硬。 要使平均電流大,盡可能提高驅(qū)動電壓,使采用小電感大電流的電機。
7、電機的共振點:
步進電機均有固定的共振區(qū)域,二、四相感應(yīng)子式步進電機的共振區(qū)一般在180-250pps之間(步距角1.8度)或在400pps左右(步距角為0.9度),電機驅(qū)動電壓越高,電機電流越大,負(fù)載越輕,電機體積越小,則共振區(qū)向上偏移,反之亦然,為使電機輸出電矩大,不失步和整個系統(tǒng)的噪音降低,一般工作點均應(yīng)偏移共振區(qū)較多。
8、電機正反轉(zhuǎn)控制:
當(dāng)電機繞組通電時序為A-AB-B-BC-C-CD-D-DA時為正轉(zhuǎn),通電時序為DA-D-CD-C-BC-B-AB-A時為反轉(zhuǎn)。
步進電機的特征如下:
1、一般步進電機的精度為步進角的3%-5%,且不積累。
2、步進電機外表允許的最高溫度。
步進電機溫度過高首先會使電機的磁性材料退磁,從而導(dǎo)致力矩下降乃至于失步,因此電機外表允許的最高溫度應(yīng)取決于不同電機磁性材料的退磁點;一般來講,磁性材料的退磁點都在攝氏130度以上,有的甚至高達攝氏200度以上,所以步進電機外表溫度在攝氏80-90度完全正常。
3、步進電機的力矩會隨轉(zhuǎn)速的升高而下降。
當(dāng)步進電機轉(zhuǎn)動時,電機各相繞組的電感將形成一個反向電動勢;頻率越高,反向電動勢越大。在它的作用下,電機隨頻率(或速度)的增大而相電流減少,從而導(dǎo)致力矩下降。
4、步進電機低速時可以正常轉(zhuǎn)動,但若高于一定速度就無法啟動,并伴有嘯叫聲。
步進電機有一個技術(shù)參數(shù):空載啟動頻率,即步進電機在空載情況下能夠正常啟動的脈沖頻率,如果脈沖頻率高于該值,電機不能正常啟動,可能發(fā)生丟步或堵轉(zhuǎn)。在有負(fù)載的情況下,啟動頻率應(yīng)更低。如果要使電機達到高速轉(zhuǎn)動,脈沖頻率應(yīng)該有加速過程,即啟動頻率較低,然后按一定加速度升到所希望的高頻(電機轉(zhuǎn)速從低速升到高速)。
步進電動機以其顯著的特點,在數(shù)字化制造時代發(fā)揮著重大的用途。伴隨著不同數(shù)字化技術(shù)的發(fā)展以及步進電機本身技術(shù)的提高,步進電機將會在更多的領(lǐng)域得到應(yīng)用。
1.1.2 步進電機的工作原理步進電機的工作就是步進轉(zhuǎn)動,其功用是將脈沖電信號變換為相應(yīng)的角位移或是直線位移,就是給一個脈沖信號,電動機轉(zhuǎn)動一個角度或是前進一步。步進電機的角位移量與脈沖數(shù)成正比,它的轉(zhuǎn)速與脈沖頻率(f)成正比,在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機加一個脈沖信號,電機則轉(zhuǎn)過一個步距角。
如下所示的步進電機為一四相步進電機,采用單極性直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機步進轉(zhuǎn)動。圖1-1是該四相反應(yīng)式步進電機工作原理示意圖。

圖1-1 四相步進電機步進示意圖
開始時,開關(guān)SB接通電源,SA、SC、SD斷開,B相磁極和轉(zhuǎn)子0、3號齒對齊,同時,轉(zhuǎn)子的1、4號齒就和C、D相繞組磁極產(chǎn)生錯齒,2、5號齒就和D、A相繞組磁極產(chǎn)生錯齒。
當(dāng)開關(guān)SC接通電源,SB、SA、SD斷開時,由于C相繞組的磁力線和1、4號齒之間磁力線的作用,使轉(zhuǎn)子轉(zhuǎn)動,1、4號齒和C相繞組的磁極對齊。而0、3號齒和A、B相繞組產(chǎn)生錯齒,2、5號齒就和A、D相繞組磁極產(chǎn)生錯齒。依次類推,A、B、C、D
四相繞組輪流供電,則轉(zhuǎn)子會沿著A、B、C、D方向轉(zhuǎn)動。
單四拍、雙四拍與八拍工作方式的電源通電時序與波形分別如圖1-2所示:

圖1-2 步進電機工作時序波形圖
步進電機是機電控制中一種常用的執(zhí)行機構(gòu),它的用途是將電脈沖轉(zhuǎn)化為角位移,它的的驅(qū)動電路根據(jù)控制信號工作,控制信號由單片機產(chǎn)生。當(dāng)步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度,控制換相順序,即通電控制脈沖必須嚴(yán)格按照一定順序分別控制各相的通斷。通過控制脈沖個數(shù)即可以控制角位移量,從而達到準(zhǔn)確定位的目的。控制步進電機的轉(zhuǎn)向,即給定工作方式正序換相通電,步進電機正轉(zhuǎn),若按反序通電換相,則電機就反轉(zhuǎn)?刂撇竭M電機的速度,即給步進電機發(fā)一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖,它會再轉(zhuǎn)一步,兩個脈沖的間隔越短,步進電機就轉(zhuǎn)得越快。同時通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。通過對步進電機的軟件設(shè)計和硬件設(shè)計包括步進電機的結(jié)構(gòu)、原理及應(yīng)用,根據(jù)原理和硬件的設(shè)計利用C語言編寫程序,經(jīng)過反復(fù)運行和調(diào)試,實現(xiàn)單片機對步進電機的控制。
1.1.3 步進電機的分類與選擇現(xiàn)在比較常用的步進電機包括反應(yīng)式步進電機(VR)、永磁式步進電機(PM)、混合式步進電機(HB)和單相式步進電機等。
反應(yīng)式步進電動機采用高導(dǎo)磁材料構(gòu)成齒狀轉(zhuǎn)子和定子,其結(jié)構(gòu)簡單,生產(chǎn)成本低,步距角可以做的相當(dāng)小,一般為三相,可實現(xiàn)大轉(zhuǎn)矩輸出,步進角一般為1.5度,但噪聲和振動都很大。反應(yīng)式步進電機的轉(zhuǎn)子磁路由軟磁材料制成,定子上有多相勵磁繞組,利用磁導(dǎo)的變化產(chǎn)生轉(zhuǎn)矩,但動態(tài)性能相對較差。
永磁式步進電機轉(zhuǎn)子采用多磁極的圓筒形的永磁鐵,在其外側(cè)配置齒狀定子。用轉(zhuǎn)子和定子之間的吸引和排斥力產(chǎn)生轉(zhuǎn)動,它的出力大,動態(tài)性能好,但步距角一般比較大。一般為兩相,轉(zhuǎn)矩和體積較小,步進角一般為7.5度 或15度。
混合式步進電機是指混合了永磁式和反應(yīng)式的優(yōu)點。它又分為兩相和五相:兩相步進角一般為1.8度而五相步進角一般為 0.72度。這種步進電機的應(yīng)用最為廣泛,它是PM和VR的復(fù)合產(chǎn)品,其轉(zhuǎn)子采用齒狀的稀土永磁材料,定子則為齒狀的突起結(jié)構(gòu)。此類電機綜合了反應(yīng)式和永磁式兩者的優(yōu)點,步距角小,出力大,動態(tài)性能好,是性能較好的一類步進電動機,在計算機相關(guān)的設(shè)備中多用此類電機。
步進電機有步距角(涉及到相數(shù))、靜轉(zhuǎn)矩、及電流三大要素組成。一旦三大要素確定,步進電機的型號便確定下來了。
1、步距角的選擇
電機的步距角取決于負(fù)載精度的要求,將負(fù)載的最小分辨率(當(dāng)量)換算到電機軸上,每個當(dāng)量電機應(yīng)走多少角度(包括減速)。電機的步距角應(yīng)等于或小于此角度。目前市場上步進電機的步距角一般有0.36度/0.72度(五相電機)、0.9度/1.8度(二、四相電機)、1.5度/3度 (三相電機)等。
2、靜力矩的選擇
步進電機的動態(tài)力矩一下子很難確定,我們往往先確定電機的靜力矩。靜力矩選擇的依據(jù)是電機工作的負(fù)載,而負(fù)載可分為慣性負(fù)載和摩擦負(fù)載二種。單一的慣性負(fù)載和單一的摩擦負(fù)載是不存在的。直接起動時(一般由低速)時二種負(fù)載均要考慮,加速起動時主要考慮慣性負(fù)載,恒速運行進只要考慮摩擦負(fù)載。一般情況下,靜力矩應(yīng)為摩擦負(fù)載的2-3倍內(nèi)好,靜力矩一旦選定,電機的機座及長度便能確定下來(幾何尺寸)。
3、電流的選擇
靜力矩一樣的電機,由于電流參數(shù)不同,其運行特性差別很大,可依據(jù)矩頻特性曲線圖,判斷電機的電流(參考驅(qū)動電源、及驅(qū)動電壓)。
4、力矩與功率換算
步進電機一般在較大范圍內(nèi)調(diào)速使用、其功率是變化的,一般只用力矩來衡量,力矩與功率換算如下:
P= Ω·M Ω=2π·n/60 P=2πnM/60
其P為功率單位為瓦,Ω為每秒角速度,單位為弧度,n為每分鐘轉(zhuǎn)速,M為力矩單位為牛頓·米
P=2πfM/400(半步工作)
其中f為每秒脈沖數(shù)(簡稱PPS)
1.2 步進電機驅(qū)動系統(tǒng)介紹步進電機不能直接接到交直流電源上工作,而必須使用專用設(shè)備——步進電機驅(qū)動器.步進電機驅(qū)動系統(tǒng)的性能,除與電機本身的性能有關(guān)外,也在很大程度上取決于驅(qū)動器的優(yōu)劣。典型的步進電機驅(qū)動系統(tǒng)是由步進電機控制器、步進電機驅(qū)動器和步進電機本體三部分組成。步進電機控制器發(fā)出步進脈沖和方向信號,每發(fā)一個脈沖,步進電機驅(qū)動器驅(qū)動步進電機轉(zhuǎn)子旋轉(zhuǎn)一個步距角,即步進一步。步進電機轉(zhuǎn)速的高低、升速或降速、啟動或停止都完全取決于脈沖的有無或頻率的高低?刂破鞯姆较蛐盘枦Q定步進電機的順時針或逆時針旋轉(zhuǎn)。通常,步進電機驅(qū)動器由邏輯控制電路、功率驅(qū)動電路、保護電路和電源組成。步進電機驅(qū)動器一旦接收到來自控制器的方向信號和步進脈沖,控制電路就按預(yù)先設(shè)定的電機通電方式產(chǎn)生步進電機各相勵磁繞組導(dǎo)通或截止信號?刂齐娐份敵龅男盘柟β屎艿,不能提供步進電機所需的輸出功率,必須進行功率放大,這就是步進電機驅(qū)動器的功率驅(qū)動部分。功率驅(qū)動電路向步進電機控制繞組輸入電流,使其勵磁形成空間旋轉(zhuǎn)磁場,驅(qū)動轉(zhuǎn)子運動。保護電路在出現(xiàn)短路、過載、過熱等故障時迅速停止驅(qū)動器和電機的運行。
2 單片機原理簡介2.1概述單片機(single-chip microcomputer)是把微型計算機主要部分都集成在一塊芯片上的單芯片微型計算機。圖1-3中表示單片機的典型結(jié)構(gòu)圖。由于單片機的高度集成化,縮短了系統(tǒng)內(nèi)的信號傳送距離,優(yōu)化了結(jié)構(gòu)配置,大大地提高了系統(tǒng)的可靠性及運行速度,同時它的指令系統(tǒng)又很適合于工業(yè)控制的要求,所以單片機在工業(yè)過程及設(shè)備控制中得到了廣泛的應(yīng)用。

圖1-3典型單片機結(jié)構(gòu)圖
2.2單片機的應(yīng)用系統(tǒng)單片機在進行實時控制和實時數(shù)據(jù)處理時,需要與外界交換信息。人們需要通過人機對話,了解系統(tǒng)的工作情況和進行控制。單片機芯片與其它CPU比較,功能雖然要強得多,但由于芯片結(jié)構(gòu)、引腳數(shù)目的限制,片內(nèi)ROM、RAM、I/O口等不能很多,在構(gòu)成實際的應(yīng)用系統(tǒng)時需要加以擴展,以適應(yīng)不同的工作情況。單片機應(yīng)用系統(tǒng)的構(gòu)成基本上如圖1-4所示。

圖1-4 單片機的應(yīng)用系統(tǒng)
單片機應(yīng)用系統(tǒng)根據(jù)系統(tǒng)擴展和系統(tǒng)配置的狀況,可以分為最小應(yīng)用系統(tǒng)、最小功耗系統(tǒng)、典型應(yīng)用系統(tǒng)。本設(shè)計是設(shè)計一款最小應(yīng)用系統(tǒng),最小應(yīng)用系統(tǒng)是指能維持單片機運行的最簡單配置的系統(tǒng)。這種系統(tǒng)成本低廉、結(jié)構(gòu)簡單,常用來構(gòu)成簡單的控制系統(tǒng),如開關(guān)量的輸入/輸出控制、時序控制等。對于片內(nèi)有ROM/EPROM的芯片來說,最小應(yīng)用系統(tǒng)即為配有晶體振蕩器、復(fù)位電路和電源的單個芯片;對與片內(nèi)沒有ROM/EPROM芯片來說,其最小應(yīng)用系統(tǒng)除了應(yīng)配置上述的晶振、復(fù)位電路和電源外,還應(yīng)配備EPROM或EEPROM作為程序存儲器使用。
2.3 AT89C51簡介 AT89C51的主要參數(shù)如表1-1所示:
表1-1 AT89C51的主要參數(shù)
AT89C51含E²PROM電可編閃速存儲器。有兩級或三級程序存儲器保密系統(tǒng),防止E²PROM中的程序被非法復(fù)制。不用紫外線擦除,提高了編程效率。程序存儲器E²PROM容量可達20K字節(jié)。
AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。其引腳如圖1-5所示。

圖1-5 單片機的引腳排列
1、主要特性:
·與MCS-51 兼容
·4K字節(jié)可編程閃爍存儲器
壽命:1000寫/擦循環(huán)
·全靜態(tài)工作:0Hz-24Hz
·三級程序存儲器鎖定
·128*8位內(nèi)部RAM
·32可編程I/O線
·兩個16位定時器/計數(shù)器
·5個中斷源
·可編程串行通道
·低功耗的閑置和掉電模式
·片內(nèi)振蕩器和時鐘電路
2、管腳說明:
VCC:供電電壓。
GND:接地。
P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。
P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。
P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。
P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。
P3口也可作為AT89C51的一些特殊功能口,如下所示:
P3口管腳備選功能
P3.0 RXD(串行輸入口)
P3.1 TXD(串行輸出口)
P3.2 /INT0(外部中斷0)
P3.3 /INT1(外部中斷1)
P3.4 T0(記時器0外部輸入)
P3.5 T1(記時器1外部輸入)
P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)
P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)
P3口同時為閃爍編程和編程校驗接收一些控制信號。
RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。
ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。
/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。
/EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。
XTAL2:來自反向振蕩器的輸出。
3、I/O口引腳:
a:P0口,雙向8位三態(tài)I/O口,此口為地址總線(低8位)及數(shù)據(jù)總線分時復(fù)用;
b:P1口,8位準(zhǔn)雙向I/O口;
c:P2口,8位準(zhǔn)雙向I/O口,與地址總線(高8位)復(fù)用;
d:P3口,8位準(zhǔn)雙向I/O口,雙功能復(fù)用口。
4、振蕩器特性:
XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。
5、芯片擦除:
整個EPROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。
此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止。
3 總體設(shè)計思路3.1電路基本理論步進電機是一種將電脈沖轉(zhuǎn)變?yōu)榻俏灰频膱?zhí)行機構(gòu),通俗一點講:當(dāng)步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度?赏ㄟ^控制脈沖數(shù)來控制角位移量,從而達到準(zhǔn)確的定位目的。通過對步進電機的軟件設(shè)計和硬件設(shè)計包括步進電機的結(jié)構(gòu)、原理及應(yīng)用,根據(jù)原理和硬件的設(shè)計利用c語言編寫程序,經(jīng)過反復(fù)運行和調(diào)試,實現(xiàn)單片機對步進電機的控制。
步進電機是機電控制中一種常用的執(zhí)行機構(gòu),它的用途是將電脈沖轉(zhuǎn)化為角位移,它的的驅(qū)動電路根據(jù)控制信號工作,控制信號由單片機產(chǎn)生。當(dāng)步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度,控制換相順序,即通電控制脈沖必須嚴(yán)格按照一定順序分別控制各相的通斷。通過控制脈沖個數(shù)即可以控制角位移量,從而達到準(zhǔn)確定位的目的?刂撇竭M電機的轉(zhuǎn)向,即給定工作方式正序換相通電,步進電機正轉(zhuǎn),若按反序通電換相,則電機就反轉(zhuǎn)?刂撇竭M電機的速度,即給步進電機發(fā)一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖,它會再轉(zhuǎn)一步,兩個脈沖的間隔越短,步進電機就轉(zhuǎn)得越快。同時通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。
3.2設(shè)計方案基于單片機和proteus的步進電機控制電路的基本組成如圖2-1所示:
圖2-1 步進電機控制電路的基本組成
根據(jù)設(shè)計要求,采用的方案如下。硬件部分實現(xiàn)電機轉(zhuǎn)動,包括控制開關(guān)模塊;電機轉(zhuǎn)動模塊。軟件部分實現(xiàn)對步進電機的控制功能,主要設(shè)計思想通過控制臺控制程序的開關(guān)來控制電機的轉(zhuǎn)動。電源驅(qū)動89C51單片機,在89C51中裝載程序,通過開關(guān)按鍵來輸入信號,89C51向驅(qū)動電路提供信號使步進電機動作。
4 硬件設(shè)計4.1 控制電路本設(shè)計的硬件電路只要包括控制電路、最小系統(tǒng)、驅(qū)動電路、顯示電路四大部分。最小系統(tǒng)只要是為了使單片機正常工作。控制電路只要由開關(guān)和按鍵組成,由操作者根據(jù)相應(yīng)的工作需要進行操作。顯示電路主要是為了顯示電機的工作狀態(tài)和轉(zhuǎn)速。驅(qū)動電路主要是對單片機輸出的脈沖進行功率放大,從而驅(qū)動電機轉(zhuǎn)動。
根據(jù)系統(tǒng)的控制要求,控制輸入部分設(shè)置了啟動控制,換向控制,加速控制和減速控制按鈕,分別是K1、K2、S2、S3,控制電路如圖4所示。通過K1、K2狀態(tài)變化來實現(xiàn)電機的啟動和換向功能。當(dāng)K1、K2的狀態(tài)變化時,內(nèi)部程序檢測P1.0和P1.1的狀態(tài)來調(diào)用相應(yīng)的啟動和換向程序,發(fā)現(xiàn)系統(tǒng)的電機的啟動和正反轉(zhuǎn)控制。
根據(jù)步進電機的工作原理可以知道,步進電機轉(zhuǎn)速的控制主要是通過控制通入電機的脈沖頻率,從而控制電機的轉(zhuǎn)速。對于單片機而言,主要的方法有:軟件延時和定時中斷在此電路中電機的轉(zhuǎn)速控制主要是通過定時器的中斷來實現(xiàn)的,該電路控制電機加速度主要是通過S2、S3的斷開和閉合,從而控制外部中斷根據(jù)按鍵次數(shù),改變速度值存儲區(qū)中的數(shù)據(jù)(該數(shù)據(jù)為定時器的中斷次數(shù)),這樣就改變了步進電機的輸出脈沖頻率,從而改變了電機的轉(zhuǎn)速。
通過對開關(guān)k1 k2 k3的開關(guān),來實現(xiàn)對步進電機的正反轉(zhuǎn)和停止,通過k4 k5來進行加減速,并且有相應(yīng)的LED燈的顯示。

圖3-1 控制和顯示電路原理圖
4.2 最小系統(tǒng) 單片機最小系統(tǒng)或者稱為最小應(yīng)用系統(tǒng),素質(zhì)用最少的元件組成的單片機可以工作的系統(tǒng),對51系列單片機來說,最小系統(tǒng)一般應(yīng)該包括:單片機、復(fù)位電路、晶振電路。
復(fù)位電路:使用了獨立式鍵盤,單片機的P1口鍵盤的接口。該設(shè)計要求只需4個鍵對步進電機的狀態(tài)進行控制,但考慮到對控制功能的擴展,使用了6路獨立式鍵盤。復(fù)位電路采用手動復(fù)位,所謂手動復(fù)位,是指通過接通一按鈕開關(guān),使單片機進入復(fù)位狀態(tài),晶振電路用30PF的電容和一12M晶體振蕩器組成為整個電路提供時鐘頻率。如圖5示。
晶振電路:8051單片機的時鐘信號通常用兩種電路形式電路得到:內(nèi)部震蕩方式和外部中斷方式。在引腳XTAL1和XTAL2外部接晶振電路器(簡稱晶振)或陶瓷晶振器,就構(gòu)成了內(nèi)部晶振方式。由于單片機內(nèi)部有一個高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時鐘脈沖。內(nèi)部振蕩方式的外部電路如圖3-2示。其電容值一般在5~30pf,晶振頻率的典型值為12MHz,采用6MHz的情況也比較多。內(nèi)部振蕩方式所得的時鐘信號比較穩(wěn)定,實用電路實用較多。
圖3-2 復(fù)位及時鐘振蕩電路
4.3 驅(qū)動電路通過ULN2803構(gòu)成比較多的驅(qū)動電路,電路圖如圖3-3所示。通過單片機的P1.0~P1.3輸出脈沖到ULN2803的1B~4B口,經(jīng)信號放大后從1C~4C口分別輸出到電機的A、B、C、D相。
圖3-3 步進電機驅(qū)動電路
4.4 總體電路圖
圖3-4總體電路圖
5 軟件編程5.1主流程圖系統(tǒng)分為電機正轉(zhuǎn)、電機反轉(zhuǎn)、電機加速與電機減速的幾部分組成,其主程序框圖如圖5-1所示。
圖5-1主流程圖
5.2查鍵部分查鍵程序用于判斷P0.0口與P0.1口的值,當(dāng)p0.0口為0時,電機正轉(zhuǎn),當(dāng)p0.0口為1時,繼續(xù)判斷p0.1口的值,p0.1口為0時,電機反轉(zhuǎn)。如圖5-2所示。

圖5-2 查鍵部分流程圖
5.3前進部分系統(tǒng)初始化之后,前進子程序R0用于給P2口送不同的值,根據(jù)電機轉(zhuǎn)動的相序,使電機正向轉(zhuǎn)動,P2口的值分別為01H,03H,02H,06H,04H,0CH,08H,09H。流程圖如圖5-3所示。

圖5-3 前進部分流程圖
5.4 后退部分電機反轉(zhuǎn)原理與正轉(zhuǎn)相似,此時P2口的值分別為09H,08H,0CH,04H,06H,02H,03H,01H。流程圖如圖5-4所示。

圖5-4 后退部分流程圖
5.5 加速部分當(dāng)電機正轉(zhuǎn)或反轉(zhuǎn)的時候,按下加速鍵,調(diào)用加速子程序,使電機每轉(zhuǎn)動一步的延時時間變短,從而實現(xiàn)電機的加速。流程圖如圖5-5所示。

圖5-5 加速部分流程圖
5.6減速部分電機正轉(zhuǎn)或反轉(zhuǎn)的時候,按下減速鍵,通過改變電機每轉(zhuǎn)動一步的延時時間,使時間變長,從而實現(xiàn)電機減速。流程圖如圖5-6所示。
圖5-6 減速部分流程圖
6 心得體會通過這次畢業(yè)設(shè)計,讓我對單片機有了一個更深入的認(rèn)識,單片機作為一種計算機基本硬件,與計算機廣泛應(yīng)用緊密相關(guān),他能解決很多大型計算機所不能解決的問題,所以,掌握單片機設(shè)計方法是非常必要的。
這其中也讓我對匯編有了更深一層的認(rèn)識,并且還讓我領(lǐng)略到單片機這一計算機控制的魅力。正如課程設(shè)計的任務(wù)和地位中所說的那樣,計算機科學(xué)在應(yīng)用上得到飛速發(fā)展,因此,學(xué)習(xí)這方面的知識必須緊密聯(lián)系實際:掌握這方面的知識更要強調(diào)解決實際問題的能力。同學(xué)們要著重學(xué)會面對一個實際問題,如何去自己收集資料,如何自己去學(xué)習(xí)新的知識,如何自己去制定解決問題的方案并通過實踐不斷地去分析和解決前進道路上的一切問題,最后取得成功。
最后,這次課程設(shè)計讓我意識到無論什么時候都要細致認(rèn)真地工作,時刻注重培養(yǎng)自己發(fā)現(xiàn)問題、分析問題、解決問題的能力,這樣才能有所收獲,有所進步。
致謝此次課程設(shè)計緊密聯(lián)系了大學(xué)很多課程所學(xué)知識。本設(shè)計的順利完成首先要感謝老師悉心指導(dǎo),老師購買單片機原件,并在設(shè)計選題和題目要求中花費了很多心血,并在本設(shè)計的總體規(guī)劃和設(shè)計思想方面給了我很大的啟迪,老師在設(shè)計的步驟、總體規(guī)劃、各結(jié)構(gòu)功能的實現(xiàn)以及軟硬件仿真等方面都給予了很大幫助.還要感謝室友以及同學(xué),在我遇到困難時給予我?guī)椭,在我想要放棄時給予我鼓勵。我也學(xué)到了做研究認(rèn)真嚴(yán)謹(jǐn)?shù)膽B(tài)度,和一絲不茍的作風(fēng)。通過本次課程設(shè)計,我在老師精心指導(dǎo)和嚴(yán)格要求下,鞏固并豐富了本科所學(xué)習(xí)的相關(guān)理論知識,并極大地提高了實踐能力。單片機領(lǐng)域和Keil單片機集成開發(fā)環(huán)境對我今后的學(xué)習(xí)會有很大的幫助,在此,忠心感謝老師以及許多同學(xué)的幫助和支持。
參考文獻[1]余發(fā)山 王莉.微機原理與單片機原理技術(shù).北京:煤炭工業(yè)出版社,2013
[2]劉愛榮.單片機應(yīng)用技術(shù)(C語言版).重慶:重慶大學(xué)出版社, 2015.5
[3]張杰 宋戈.51單片機應(yīng)用開發(fā)范例大全.北京:人民郵電出版社,2016.5
[4]馬淑華,王鳳文,張美金. 單片機原理與接口技術(shù)【M】.北京:北京郵電大學(xué)出版社,2007.
[5] 張毅剛,彭喜元,彭宇等單片機原理及應(yīng)用[M],北京:高等教育出版社,2010.5
[6]趙茂泰.智能儀器原理及應(yīng)用[M],北京:電子工業(yè)出版社,2009
[7]劉江海.EDA技術(shù)[M],北京:華中科技大學(xué)出版社,2006
[8]郭天祥.51單片機C語言教程[M],北京:電子工業(yè)出版社,2006
[9]張忠梅.單片機的C語言應(yīng)用程序設(shè)計[M],北京:北京航空航天大學(xué)出版社,2006
[10]張毅剛.MCS-51單片機應(yīng)用設(shè)計[M], 哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1997.
[11]嚴(yán)天峰.單片機應(yīng)用系統(tǒng)設(shè)計與仿真調(diào)試[M], 北京:北京航空航天大學(xué)出版社,1999.
[12]李朝清. 單片機原理與接口技術(shù)[M], 北京:北京航空航天大學(xué)出版社,1989,第3版.
[13] 何立民.單片機應(yīng)用技術(shù)選編.北京: 北京航空航天大學(xué)出版社,2003
[14] 史國生.交直流調(diào)速系統(tǒng).北京:化學(xué)工業(yè)出版社,2002
[15] V. Yu. Teplov,A. V. Anisimov. Thermostatting System Using a Single-Chip Microcomputer and Thermoelectric Modules Based on the Peltier Effect[J] ,2002
附錄一:總電路圖
