畢業(yè)設(shè)計(論文)-基于單片機的步進電機控制系統(tǒng)設(shè)計_第1頁
畢業(yè)設(shè)計(論文)-基于單片機的步進電機控制系統(tǒng)設(shè)計_第2頁
畢業(yè)設(shè)計(論文)-基于單片機的步進電機控制系統(tǒng)設(shè)計_第3頁
畢業(yè)設(shè)計(論文)-基于單片機的步進電機控制系統(tǒng)設(shè)計_第4頁
畢業(yè)設(shè)計(論文)-基于單片機的步進電機控制系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于單片機的步進電機控制系統(tǒng)設(shè)計基于單片機的步進電機控制系統(tǒng)設(shè)計摘要:本文應(yīng)用AT89S51單片機、步進電機驅(qū)動芯片、字符型LED和鍵盤陣列,構(gòu)建了集步進電機控制器和驅(qū)動器為一體的步進電機控制系統(tǒng)。實現(xiàn)步進電機的正反轉(zhuǎn)速度控制并且顯示數(shù)據(jù)。整個系統(tǒng)采用模塊化設(shè)計,結(jié)構(gòu)簡單,可靠,通過人機交互換接口可實現(xiàn)各功能設(shè)置,操作簡單,易于掌握。步進電機控制系統(tǒng)的開發(fā)采用了軟硬件協(xié)同仿真的方法,可以有效地減少系統(tǒng)開發(fā)的周期和成本。該系統(tǒng)可應(yīng)用于步進電機在機電一體化控制等大多數(shù)場合。最后給出了步進電機控制系統(tǒng)的應(yīng)用實例。關(guān)鍵詞:AT89S51;LED;步進電機;軟硬件協(xié)同仿真DesignofStepperMotorBasedonSCMAbstract:Inthispaper,microcontroller,steppermotordriverchips,characterLEDandkeypadarray,buildasetofsteppermotorcontrolleranddriverasoneofthesteppingmotorcontrolsystem.Implementationofstepmotorandreversingspeedcontrolanddisplaythedata.Thewholesystemusesmodulardesign,simplestructurereliable,throughman-machineexchangeinterfacecanbesetuptorealizeeachfunction,simpleoperation,easytomaster.Steppermotorcontrolsystemhasbeendevelopedusingthesoftwareandhardwareco-simulationmethod,caneffectivelyreducethesystemdevelopmentcycleandcost.Thesystemcanbeappliedtothesteppingmotorinelectromechanicalintegrationcontrolandsoonmostoccasions.Finally,

anapplicationexampleisgiven

ofsteppermotorcontrolsystem.Keywords:AT89S51;LED;SteppingMotor;softwareandhardwareco-simulation引言隨著數(shù)字化技術(shù)發(fā)展,數(shù)字控制技術(shù)得到了廣泛而深入的應(yīng)用。步進電機是一種把電脈沖信號變成直線位移或角位移的控制電機,其位移速度與脈沖頻率成正比,位移量與脈沖數(shù)成正比。步進電動機又稱脈沖電動機或階躍電動機,國外一般稱為Steppingmotor、Pulsemotor或Stepperservo,其應(yīng)用發(fā)展已有約80年的歷史。因為步進電動機組成的控制系統(tǒng)結(jié)構(gòu)簡單,價格低廉,性能上能滿足工業(yè)控制的基本要求,所以廣泛地應(yīng)用于手工業(yè)自動控制、數(shù)控機床、組合機床、機器人、計算機外圍設(shè)備、照相機,投影儀、數(shù)碼攝像機、大型望遠鏡、衛(wèi)星天線定位系統(tǒng)、醫(yī)療器件以及各種可控機械工具等等。步進電機在結(jié)構(gòu)上也是由定子和轉(zhuǎn)子組成,可以對旋轉(zhuǎn)角度和轉(zhuǎn)動速度進行高精度控制[1]。當(dāng)電流流過定子繞組的時候,定子繞組產(chǎn)生一個矢量磁場,該矢量場會帶動轉(zhuǎn)子旋轉(zhuǎn)一定角度,使轉(zhuǎn)子的一對磁極磁場方向與定子的磁場方向向著該磁場旋轉(zhuǎn)一個角度。因此,控制電機轉(zhuǎn)子旋轉(zhuǎn)實際上就是根據(jù)一定的規(guī)律來控制定子繞組電流來產(chǎn)生旋轉(zhuǎn)的磁場。每來一個脈沖電壓轉(zhuǎn)子就會旋轉(zhuǎn)一個步距角,稱為一步。根據(jù)電壓脈沖分配方式,步進電機各相繞組的電流會輪流切換,在供給連續(xù)脈沖的時候就能一步一步地連續(xù)轉(zhuǎn)動,從而使電機旋轉(zhuǎn)。步進電機每轉(zhuǎn)一周的步數(shù)相同,在不丟步的情況下運行,其步距誤差不會長期積累。在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,同時步進電機只有周期性的誤差而無累積誤差,精度高,步進電動機可以在寬廣的頻率范圍內(nèi)通過改變脈沖頻率來實現(xiàn)調(diào)速、快速起停、正反轉(zhuǎn)控制等,這是步進電動機最突出的優(yōu)點[2]。正是因為步進電機具有突出的優(yōu)點,所以被廣泛的用于各種自動化控制系統(tǒng)中。隨著微電子和計算機技術(shù)的發(fā)展,步進電機的需求量與日俱增,在各個國民經(jīng)濟領(lǐng)域都有應(yīng)用[3]。比如在數(shù)控系統(tǒng)中就得到了廣泛的應(yīng)用。目前,世界上所有的國家都在發(fā)展數(shù)控技術(shù),我國數(shù)控系統(tǒng)也取得了很大的發(fā)展,我國已經(jīng)能夠開發(fā)各種等級的數(shù)控機床控制系統(tǒng)。近些年來因為微型計算機方面快速發(fā)展,步進電機的控制也發(fā)生了革命性變革。有明顯優(yōu)點的步進電動機被廣泛的用于電子計算機的很多外圍設(shè)備中,比如打印機,紙帶輸送的機構(gòu),卡片閱讀機器,主動輪的驅(qū)動機構(gòu)以及存儲器的存取機構(gòu)等,步進電動機也在軍用的儀器,通信以及雷達設(shè)備,攝影系統(tǒng),光電的組合裝置,閥門控制,數(shù)控機床,電子鐘,醫(yī)療衛(wèi)生設(shè)備和自動繪圖裝置,數(shù)字控制裝置,程序的控制系統(tǒng)以及很多航天工業(yè)系統(tǒng)中得到應(yīng)用[4]。因而,對于步進電動機控制的研究也就顯得非常重要了。1步進電機概述1.1步進電機的概述在電氣時代的今天,電動機一直在現(xiàn)代的生產(chǎn)和生活起著十分重要的作用[5]。跟據(jù)相關(guān)資料統(tǒng)計目前90%以上的動力來源是電動機。我們國家生產(chǎn)的電能大約60%用在了電動機上。電動機在我們生活中占有重要地位,步進電機是機電一體化中一種關(guān)鍵的產(chǎn)品,是專門用于位置和速度精確控制的特種電動機。其最大的特點就是“數(shù)字性”,它在控制器的推動下運轉(zhuǎn)一個角度,這個角度被稱為一步或步矩角,很適合微機和單片機的控制。伴隨著微電子和計算機的技術(shù)發(fā)展,步進電機的需求量與日俱增,在國民經(jīng)濟各個領(lǐng)域都有應(yīng)用。鑒此,設(shè)計開發(fā)了一種基于單片機的步進電機控制系統(tǒng)。步進電動機是將電脈沖信號轉(zhuǎn)換為相應(yīng)的角位移或直線位移,用電脈沖信號進行控制的特殊運行方式的同步電動機,它通過專用電源把電脈沖按一定順序供給定子各項控制繞組,在氣隙中產(chǎn)生類似于旋轉(zhuǎn)磁場的脈沖磁場。每輸入一個脈沖信號,電動機就移動一步。它把電脈沖信號變換成角位移或直線位移,其角位移量θ或直線位移量S與電脈沖數(shù)K成正比,其轉(zhuǎn)速n或線速度v與脈沖頻率f成正比。步進電動機調(diào)速范圍大,動態(tài)性能好,能快速起動、制動、反轉(zhuǎn)。當(dāng)用微電腦進行數(shù)字控制時,它不需要進行D/A轉(zhuǎn)換,能直接把數(shù)字脈沖信號轉(zhuǎn)換為角位移。由于步進電動機是根據(jù)組合電磁鐵的理論設(shè)計的,力求定子各相繞組間沒有互感,定、轉(zhuǎn)子都采用凸極結(jié)構(gòu),而不考慮空間磁場諧波的有害影響,只盡一切可能去增加定位轉(zhuǎn)矩的幅值和定位精度,把轉(zhuǎn)速控制和調(diào)節(jié)放在次要地位,故步進電動機主要用于計算機的磁盤驅(qū)動器、繪圖儀、自動記錄儀以及調(diào)速性能和定位要求不是非常精確的簡易數(shù)控機床等的位置控制。目前,步進電動機的功率做得越來越大,已生產(chǎn)出功率步進電動機,它可以不通過傳動齒輪等力矩放大裝置,直接由功率步進電動機來帶動機床運動,從而簡化結(jié)構(gòu),提高系統(tǒng)精度。1.2步進電機的分類步進電機的種類很多,從廣義上來講,步進電動機的類型可以分成機械式、電磁式和組合式三種類型。按照結(jié)構(gòu)的特點電磁式步進電動機可以分成反應(yīng)式(VR)、永磁式(PM)和混合式(HB)三種類型;按照相數(shù)分則可以分為單相、兩相和多相三種。目前使用最為廣泛的為反應(yīng)式和混合式步進電機[6]。(1)反應(yīng)式步進電動機(VariableReluctance,簡稱VR)。反應(yīng)式的步進電機的轉(zhuǎn)子是的原材料是軟磁材料,其中是沒有繞組的。它結(jié)構(gòu)簡單,成本低,步距角也很小,但是它的動態(tài)性能是比較差的。反應(yīng)式的步進電機分為單段式的和多段式的兩種類型。(2)永磁式步進動電機(PermanentMagnet,簡稱PM)。永磁式的步進電機的轉(zhuǎn)子的材料是永磁材料,這個轉(zhuǎn)子它自身是一個磁源,并且它的極數(shù)與定子是一樣的,因此一般的步距角是較大的。它的輸出轉(zhuǎn)矩較大、動態(tài)性能很好、消耗功率相對較小,但是啟動運行的頻率較低,還是要正負脈沖供電。(3)混合式步進電動機(Hybrid,簡稱HB)?;旌鲜讲竭M電動機綜合了反應(yīng)式和永磁式兩種電機的優(yōu)點。它與傳統(tǒng)的反應(yīng)式相比,結(jié)構(gòu)上轉(zhuǎn)子加上了永磁體,用來提供軟磁材料的工作點,定子激磁只需要提供變化的磁場不必提供磁材料工作點的耗能,所以該電機效率高,電流小,發(fā)熱低。1.3步進電機的結(jié)構(gòu) 在結(jié)構(gòu)上步進電機是的組成部分是定子和轉(zhuǎn)子,可以用于旋轉(zhuǎn)角以及轉(zhuǎn)速的高精度的控制。當(dāng)電流經(jīng)過定子的繞組時,定子繞組所產(chǎn)生的矢量場將帶動轉(zhuǎn)子轉(zhuǎn)動一定的角度,使磁場的轉(zhuǎn)子和定子磁極磁場的方向旋轉(zhuǎn)一定角度。所以,控制電機的轉(zhuǎn)子實際上是控制定子繞組電流產(chǎn)生的旋轉(zhuǎn)磁場。每有一個脈沖電壓,轉(zhuǎn)子旋轉(zhuǎn)一個步距角,稱為一個步驟。根據(jù)脈沖電壓的分布,各相繞組電流的電機開關(guān)的步驟,再提供連續(xù)的脈沖,可以一步一步的連續(xù)轉(zhuǎn)動,使電機轉(zhuǎn)動。電動機將電能轉(zhuǎn)換成機械能,步進電機將電脈沖轉(zhuǎn)化為具體的旋轉(zhuǎn)運動。每個由運動產(chǎn)生的脈沖是精確的,可重復(fù)的,這就是為什么步進電機的定位應(yīng)用程序有效的原因。1.4步進電機的原理步進電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)。當(dāng)步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度(稱為“步距角”),它的旋轉(zhuǎn)是以固定的角度一步一步運行的。可以通過控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。步進電機可以作為一種控制用的特種電機,利用其沒有積累誤差(精度為100%)的特點,廣泛應(yīng)用于各種開環(huán)控制?,F(xiàn)在比較常用的步進電機包括反應(yīng)式步進電機(VR)、永磁式步進電機(PM)、混合式步進電機(HB)和單相式步進電機等。永磁式步進電機一般為兩相,轉(zhuǎn)矩和體積較小,步進角一般為7.5度或15度。反應(yīng)式步進電機一般為三相,可實現(xiàn)大轉(zhuǎn)矩輸出,步進角一般為1.5度,但噪聲和振動都很大。反應(yīng)式步進電機的轉(zhuǎn)子磁路由軟磁材料制成,定子上有多相勵磁繞組,利用磁導(dǎo)的變化產(chǎn)生轉(zhuǎn)矩[7]?;旌鲜讲竭M電動機是指混合了永磁式電動機和反應(yīng)式電動機的優(yōu)點。它又可以分為兩相和五相:兩相的步進角一般為1.8度而五相的步進角一般為0.72度。這種步進電動機的應(yīng)用最為廣泛。步進電動機的一些基本參數(shù):(1)電動機固有步距角電動機固有步距角表示控制系統(tǒng)每發(fā)一個步進脈沖信號,電機所轉(zhuǎn)動的角度[8]。電動機出廠的時候就給出了一個步距角的值,比如86BYG250A型電動機給出的值為0.9°/1.8°(表示半步工作時是0.9°、整步工作時是1.8°),該步距角可以稱為“電動機固有步距角”,它不一定是電動機實際工作的時候的真正步距角,真正步距角和驅(qū)動器有關(guān)。(2)步進電動機相數(shù)步進電動機相數(shù)是指電動機內(nèi)部的線圈組數(shù),目前常用的步進電動機有二相、三相、四相、五相。電動機相數(shù)不同,它的步距角也不同,一般二相電動機的步距角為0.9°/1.8°、三相步距角的為0.75°/1.5°、五相步距角的為0.36°/0.72°。在沒有細分驅(qū)動器的情況下,用戶主要是根據(jù)選擇不同相數(shù)的步進電動機來滿足步距角的要求。使用細分驅(qū)動器,那么“相數(shù)”就會沒有意義,用戶只需要在驅(qū)動器上改變細分數(shù),就能改變步距角。(3)保持轉(zhuǎn)矩(HOLDINGTORQUE)保持轉(zhuǎn)矩是指步進電動機通電但是沒有轉(zhuǎn)動的時候,定子鎖住轉(zhuǎn)子的力矩。保持轉(zhuǎn)矩是步進電動機最重要的參數(shù)之一,一般步進電動機在低速時的力矩比較接近保持轉(zhuǎn)矩。因為步進電動機的輸出力矩隨著速度的增大而在不斷的衰減,輸出功率也隨著速度的增大而變化,這樣保持轉(zhuǎn)矩就成為了衡量步進電動機最重要的參數(shù)之一。比如,當(dāng)人們說2N.m的步進電動機,在沒有特殊說明的情況下是指保持轉(zhuǎn)矩為2N.m的步進電動機。1.5步進電機選用中的注意事項(1)步進電動機用于低速場合,即每分鐘轉(zhuǎn)速不超過1000轉(zhuǎn),(0.9度時6666PPS),最好是在1000-3000PPS(0.9度)之間使用,可以通過減速裝置使電機在此間工作,這時電動機工作效率高較,噪音較低。(2)步進電動機最好不要使用整步狀態(tài),因為整步狀態(tài)時的振動比較大。(3)因為歷史原因,只有標稱為12V電壓的電動機使用12V之外,其他電動機的電壓值不是驅(qū)動的電壓伏值,可以根據(jù)驅(qū)動器來選擇驅(qū)動電壓(建議:57BYG采用直流24V-36V,86BYG采用直流50V,110BYG采用高于直流80V),當(dāng)然12V電壓除12V恒壓驅(qū)動之外也可以采用其他的驅(qū)動電源,但是需要考慮溫升。(4)轉(zhuǎn)動慣量較大的負載應(yīng)該選擇大機座號電動機。(5)電動機在較高速度或著較大慣量負載時,一般不會在工作速度起動,而是用逐漸升頻的提速方式,這樣一使電機不會失步,二還能在減少噪音的時候提高停止的定位的精度度。(6)高精度的時候,應(yīng)該用機械減速的方式來提高電機的速度,或著用高細分數(shù)驅(qū)動器解決,也可以采用五相電動機,不過它的整個系統(tǒng)的價格較貴,生產(chǎn)廠家少,它被淘汰的說法是外行話。(7)電動機不應(yīng)該在振動的區(qū)域內(nèi)工作,如果必須在振動的區(qū)域內(nèi)工作可以通過改變電壓、電流或加一些阻尼來解決。(8)電動機在600PPS(0.9度)以下工作,應(yīng)該采用小電流、大電感、低電壓來驅(qū)動。(9)應(yīng)該遵循先選電機后選驅(qū)動的原則。2步進電機常見的控制方案與驅(qū)動技術(shù)簡介2.1常見的步進電機控制方案2.1.1基于電子電路的控制步進電機的電脈沖信號控制,電脈沖信號的產(chǎn)生、分配,以實現(xiàn)運動的電子元件放大。因為驅(qū)動脈沖控制信號非常微弱,所以必須有一個功率放大器電路。步進電機和控制電路,功率放大電路是由步進電機驅(qū)動系統(tǒng)構(gòu)成。控制電路設(shè)計簡單,功能強大,可以實現(xiàn)步進電機的一般任務(wù)。該系統(tǒng)由三個部分組成:脈沖信號產(chǎn)生電路,脈沖信號分配電路,功率放大電路。系統(tǒng)組成如圖2-1所示。脈沖控制器脈沖控制器環(huán)形分配器功率放大驅(qū)動電路步進電機圖2-1基于電子電路控制系統(tǒng)這個方案既可以開環(huán)控制也可以閉環(huán)控制。開環(huán)控制時,其穩(wěn)定性好,成本低,設(shè)計簡單,但未能實現(xiàn)高精度細分。閉環(huán)控制時,可實現(xiàn)高精度細分、無級調(diào)速。閉環(huán)控制是直接或間接轉(zhuǎn)子位置和速度的檢測,然后通過反饋和適當(dāng)?shù)奶幚?,自動給出脈沖鏈,每一步的步進電機響應(yīng)控制信號的命令,只要控制策略正確就不可能輕易出現(xiàn)步進電機失步[9]。該方案通過一些大規(guī)模集成電路控制輸出脈沖的頻率和脈沖數(shù),功能比較簡單,如需要改變控制方案,必須要重新設(shè)計,所以靈活性不高。2.1.2基于單片機的控制利用單片機控制步進電機,實現(xiàn)了軟件和硬件的結(jié)合。用軟件代替環(huán)形分配器,是步進電機的最佳控制。系統(tǒng)采用單片機接口線直接控制各相步進電機的驅(qū)動電路。由于單片機的強大功能,還可設(shè)計一些外圍電路,鍵盤作為外部中斷源,步進電機的正轉(zhuǎn),反轉(zhuǎn),檔次,停止等的一些功能,通過使用組合的中斷以及查詢調(diào)用中斷服務(wù)程序的方法,步進電動機最佳的控制顯示時間,正轉(zhuǎn)和反轉(zhuǎn)的速度等。環(huán)形分配器,它的功能是通過單片機的系統(tǒng)來實現(xiàn)脈沖分配軟件編程方法。該方案具有以下的一些優(yōu)點:(1)單片機的軟件編程能使麻煩的控制的過程實現(xiàn)自動控制和精確的控制,避免失步振蕩,控制精度的影響;(2)用軟件代替環(huán)形分配器,基于單芯片組,使用相同的電路實現(xiàn)多相步進電機控制和驅(qū)動,大大提高了接口電路的靈活性和通用性;(3)單片機的強大功能使顯示電路、鍵盤電路、復(fù)位電路等外圍電路結(jié)合在一起,大大提高了系統(tǒng)的交互性能[10]。2.2步進電機驅(qū)動的技術(shù)步進電機的單電壓驅(qū)動是通過改變電路時間常數(shù)來提高電機的高頻特性。這種驅(qū)動技術(shù)在六十年代早期就都得到了廣泛的應(yīng)用,它具有結(jié)構(gòu)簡單,成本低的優(yōu)點;缺點是串聯(lián)連接的電阻會產(chǎn)生大量的能量損失,特別是在高頻率操作時更嚴重,所以僅適用于小功率或性能要求不高的步進電機驅(qū)動。單電壓串聯(lián)電阻驅(qū)動是基于單電壓繞組電路串聯(lián)電阻的電壓驅(qū)動技術(shù),用于提高常數(shù)的電路,提高了電機高頻特性的時間。它也優(yōu)化了步進電機的響應(yīng)頻率,減少電機的共振,也帶來了巨大的損失,效率低。這個驅(qū)動器現(xiàn)階段主要被應(yīng)用在小功率或著啟動操作頻率要求不是很高的場合。步進電機中高低壓驅(qū)動指的是不管電機工作的頻率是多少,導(dǎo)通相前沿的電流上升沿的斜率是通過高壓供電的方式來提高的,之后的繞組電流是用低電壓方式來維持的,就是通過增加繞組電流注入量來增加的出力,而不是不斷改變時間的常數(shù)來改善電路轉(zhuǎn)矩變頻性能。但使用這種驅(qū)動的方式的電動機,它的繞組電流的波形會在高壓工作結(jié)束和低壓工作開始的銜接處呈現(xiàn)凹形,使電機的輸出力矩有一定的下降。該驅(qū)動器在實際應(yīng)用中還是比較常見的。3步進電機驅(qū)動控制技術(shù)在混合式步進電機的特點及工作原理的基礎(chǔ)上,本章對步進電機驅(qū)動和控制步進電機的技術(shù)進行了詳細的分析和比較。首先介紹了傳統(tǒng)的驅(qū)動方式:單電壓驅(qū)動(包括單電壓串聯(lián)電阻驅(qū)動),雙電壓驅(qū)動(包括高和低電壓驅(qū)動)和恒流斬波器的優(yōu)缺點及原理,然后重點介紹了細分驅(qū)動模式和原則。3.1步進電動機的驅(qū)動概述3.1.1一般驅(qū)動系統(tǒng)的組成結(jié)構(gòu)步進電機與直流電機、交流電機是不一樣的,它不能直接接到交直流電源上,但必須使用專用設(shè)備——步進電機驅(qū)動器。步進電機驅(qū)動系統(tǒng)的性能和運動性能,除了本身之外,也在很大程度上取決于驅(qū)動器的優(yōu)劣。因此,對步進電動機驅(qū)動器的研究幾乎是對步進電動機的研究同步進行的。步進電機驅(qū)動的主要組成如圖3-1所示,一般由環(huán)形分配器,信號處理階段,驅(qū)動階段等,對功率步進電機驅(qū)動程序也需要各種保護電路。環(huán)形分配器推動級信號放大與處理驅(qū)動級環(huán)形分配器推動級信號放大與處理驅(qū)動級保護保護圖3-1步進電動機驅(qū)動器構(gòu)成環(huán)形分配器接受來自控制器的CP脈沖,并且要按照步進電機狀態(tài)轉(zhuǎn)換表要求生產(chǎn)各階段的信號打開或關(guān)閉。每來一個CP脈沖,環(huán)形分配器的輸出就轉(zhuǎn)換一次。同時,環(huán)形分配器也必須要接受控制器的方向信號,它決定了狀態(tài)轉(zhuǎn)換和輸出是正向或逆向順序轉(zhuǎn)換,決定了步進電機的轉(zhuǎn)向。因此,步進電機的旋轉(zhuǎn)速度,加速或減速,啟動或停止都取決于CP脈沖的有無或頻率的高低。信號放大與處理的作用就是放大環(huán)分輸出信號,成為足夠大的信號被送入相應(yīng)推動級。信號的處理具有一些變換和合成的功能,能產(chǎn)生斬波,抑制等某些特殊功能信號,從而可以產(chǎn)生具有特殊的功能的驅(qū)動。信號的處理還要經(jīng)常的與一些保護電路以及控制電路相組合,形成一些具有相對性能比較高的驅(qū)動的輸出。推動級將小信號放大,成為強大到能夠推動某些驅(qū)動級的大信號。有時候,推動級也承擔(dān)電平轉(zhuǎn)換功能。保護級的作用就是保護驅(qū)動級的安全[11]。一般可以根據(jù)需要設(shè)置過電流保護,過熱保護,過壓保護,欠壓保護等。3.1.2驅(qū)動器的特點為了滿足步進電機輸出的各種需求,驅(qū)動級必須提供足夠電壓和電流的電機繞組,但步進電機和一般電子設(shè)備的驅(qū)動是有很多不同的,這主要表現(xiàn)在:(1)所有繞組都是開關(guān)工作,電機的繞組絕大部分是連續(xù)的交流或直流,但是步進電機的繞組是脈沖電源使繞組電流不連續(xù)。(2)電機每相繞組線圈繞在鐵芯上,所以都有較大電感。電流上升率限制繞組通電,因此影響了電機繞組電流的大小。(3)繞組斷點的時候,電感儲能維持目前已經(jīng)有的電流不能發(fā)生突變,導(dǎo)致電流截止相不能立即停止。為了使電流盡快截止,必須正確地設(shè)計續(xù)流回落。繞組的導(dǎo)通和截止具有強大的反電勢,截止時,驅(qū)動級器件的安全將受到反電勢的有害影響。(4)電動機運行時各相繞組中產(chǎn)生旋轉(zhuǎn)電動勢,這些電勢的大小和方向都會對繞組電流產(chǎn)生大的影響。由于旋轉(zhuǎn)電勢與電機速度基本成正比,速度越高,電勢越大,繞組的電流越小,使電機的輸出轉(zhuǎn)矩隨著發(fā)動機轉(zhuǎn)速的增加而下降。驅(qū)動級線路,既要保證繞組的電流電壓足夠充分和波形的準確,又要確保功率放大裝置安全運行,此外,還應(yīng)確保效率高,功耗低,成本低。這必須設(shè)計合理路線,合適的功率器件的選型。驅(qū)動級的功率放大器包括功率晶體管、大功率晶體管、大功率達林頓晶體管、可控硅、可關(guān)斷可控硅、場效應(yīng)功率管、雙極型晶體管和場效應(yīng)功率管的復(fù)合管和各種電源模塊等。步進電機驅(qū)動器使用一個電壓驅(qū)動(包括單電壓串聯(lián)電阻驅(qū)動),雙電壓驅(qū)動(包括高和低電壓驅(qū)動),斬波恒流驅(qū)動和細分驅(qū)動等。下面的工作原理是兩種驅(qū)動方式的介紹和優(yōu)缺點。將在后面詳細說明細分驅(qū)動方式。3.2步進電動機驅(qū)動技術(shù)分析3.2.1單電壓驅(qū)動單電壓驅(qū)動是指在工作過程中電機繞組,只有一個方向纏繞電源電壓。示意圖如圖3-2所示,前面推動級輸出信號In作用于三極管的基級,一相繞組的集電極連接電機,另一端繞組直接連接電源電壓。因此,當(dāng)三極管導(dǎo)通時,電源電壓全部作用在電機繞組上。綜上所述,單電壓驅(qū)動具有以下特點:電路簡單,成本低,良好的低頻響應(yīng);共振,高頻率時,負載能力迅速下降。圖3-3單電壓串電阻驅(qū)動單電壓驅(qū)動的致命弱點是線圈繞組導(dǎo)通的時候回路電氣時間常數(shù)較大,導(dǎo)致導(dǎo)通時電流在繞阻上升速度較慢,導(dǎo)致導(dǎo)通脈沖寬度T接近時繞組電流迅速下降。因為=L/R,因此減少電氣時間常數(shù)方法是減小繞阻電感L或增加繞組回路電阻R。對已經(jīng)確定了的步進電機,繞阻電感也已經(jīng)確定。因此在電路中只能用增加回路電阻的方法。單電壓串聯(lián)電阻驅(qū)動,示意圖如圖3-3所示。單電壓串聯(lián)電阻驅(qū)動的主要缺點是效率低、損耗大。與單電壓驅(qū)動相比,導(dǎo)電銅損為i2R,串聯(lián)電阻后的導(dǎo)通銅損為i2(R+RS),所以電源提供大部分消耗在串聯(lián)電阻上。3.2.2雙電壓驅(qū)動雙電壓驅(qū)動的基本思想是在低頻段用較低的電壓驅(qū)動,在高頻段用較高的電壓驅(qū)動,電路如圖3-4所示。電源直接供電,直接接到由大功率管TH和二極管DL組成的電源轉(zhuǎn)換開關(guān)上。當(dāng)關(guān)閉TH時,低電壓供電,當(dāng)打開TH時,高電壓供電,DL在反向截止狀態(tài)時,自動停止供電的低電壓電源。高電壓工作低電壓工作圖3-4雙電壓驅(qū)動的原理圖高壓驅(qū)動電路如圖3-5所示,初一看,似乎與雙電壓之間的差異不大,但實際工作過程是不同的。如圖所示,是每個階段的單元電路。主回路由高壓管、電機繞組、低壓管串聯(lián)而成。高壓管加高電壓,低壓管加低電壓,電機繞組線圈不能串聯(lián)電阻。每個階段的傳導(dǎo)過程中,低壓管的輸入信號和高壓管輸入信號如圖3-6所示。當(dāng)?shù)蛪汗茌斎胄盘枮楦唠娖?,該相?dǎo)通;當(dāng)?shù)蛪汗茌斎腚娖綖榈碗娖?,該相截止。高壓管的輸入信號是由低壓管輸入信號的前沿信號獲得的,高壓管輸入信號前沿與低壓管輸入信號同步。但脈沖寬度要小得多,高、低電壓驅(qū)動可以確保在很寬的頻帶內(nèi)保證相繞組的平均電流較大,在截止時可以快速釋放,因此能產(chǎn)生較大的并且較穩(wěn)定的電磁轉(zhuǎn)矩,使驅(qū)動系統(tǒng)能夠獲得較高的響應(yīng)。圖3-5高低壓驅(qū)動的原理圖圖3-6高低壓管輸入信號4系統(tǒng)的硬件設(shè)計4.1系統(tǒng)設(shè)計方案4.1.1系統(tǒng)的方案簡述與設(shè)計要求本設(shè)計采用單片機AT89S51來作為整個步進電機控制系統(tǒng)的運動控制核心部件,采用了電機驅(qū)動芯片L298及其外圍電路構(gòu)成了整個系統(tǒng)的驅(qū)動部分,再加上作為執(zhí)行部件的步進電機來構(gòu)成了一個基本的步進電機控制系統(tǒng)。系統(tǒng)的具體功能和要求如下:(1)單片機最小系統(tǒng)板的設(shè)計;(2)設(shè)計兼有兩相兩拍和兩相四拍的脈沖分配器;(3)實現(xiàn)步進電機的啟停、正轉(zhuǎn)、反轉(zhuǎn)控制;(4)驅(qū)動電路可提供電壓為12V,電流為0.3A的驅(qū)動信號;(5)能實現(xiàn)步進電機的轉(zhuǎn)速調(diào)節(jié),最低轉(zhuǎn)速為25轉(zhuǎn)/分,最高轉(zhuǎn)速為100轉(zhuǎn)/分;(6)步進電機的轉(zhuǎn)速由數(shù)碼管顯示;(7)鍵盤掃描電路的設(shè)計。4.1.2系統(tǒng)的組成及其對應(yīng)功能簡述整個系統(tǒng)的組成包括單片機最小系統(tǒng),電機驅(qū)動模塊,串口下載模塊,數(shù)碼管顯示模塊,電機驅(qū)動電流檢測模塊,獨立按鍵等模塊組成。具體框圖如圖4-1所示:計算機計算機獨立按鍵控制模塊串口通信模塊單片機最小系統(tǒng)步進電機驅(qū)動電流顯示模塊數(shù)碼管顯示模塊電機驅(qū)動模塊圖4-1系統(tǒng)總體框圖單片機最小系統(tǒng)作為整個系統(tǒng)的控制核心,它主要負責(zé)產(chǎn)生控制步進電機轉(zhuǎn)動的脈沖,通過單片機的軟件編程代替環(huán)形脈沖分配器輸出控制步進電機的脈沖信號,步進電機轉(zhuǎn)動的角度大小與單片機輸出的脈沖數(shù)成正比,步進電機轉(zhuǎn)動的速度與輸出的脈沖頻率成正比,而步進電機轉(zhuǎn)動的的方向與輸出的脈沖順序有關(guān)。同時單片機系統(tǒng)還負責(zé)處理來自電機驅(qū)動電流檢測模塊檢測到的電流值。與此同時,單片機將會把電機轉(zhuǎn)速,電機的轉(zhuǎn)動方向,以及電流檢測模塊檢測到的電機驅(qū)動的電流通過數(shù)碼管顯示出來。電機驅(qū)動模塊負責(zé)將單片機發(fā)給步進電機的信號功率放大,從而驅(qū)動電機工作。串口下載模塊主要是負責(zé)實行計算機和單片機之間的通信,將在計算機里面編寫好的程序下載到單片機芯片當(dāng)中。數(shù)碼管顯示模塊就主要是顯示電機轉(zhuǎn)速,電機轉(zhuǎn)向,和通過電機的電流等系統(tǒng)的實時信息。電機驅(qū)動電流檢測模塊主要是檢測通過電機驅(qū)動芯片的電流,然后通過運放將檢測到的信號放大,最后將放大后的信號通過模數(shù)轉(zhuǎn)換芯片ADC0804處理后送給單片機。獨立按鍵作為一個外部中斷源,和單片機端口連接,通過它設(shè)置了電機的正轉(zhuǎn),反轉(zhuǎn),加速,減速,顯示電機電流等功能。采用了中斷和查詢相結(jié)合的方法來調(diào)用中斷服務(wù)程序,完成了對步進電機的最佳的及時的控制。本節(jié)主要是在第一章和第二章的基礎(chǔ)上引出了本論文將要采用的設(shè)計方案,并詳細的清楚的一條條列出了設(shè)計要實現(xiàn)的基本設(shè)計要求。然后是基于我的設(shè)計方案,比較簡單的但有條理的描述了系統(tǒng)的各個部分的組成以及其對應(yīng)的基本功能。通過這一章的內(nèi)容,我們能對本設(shè)計有一個簡單的總體的把握,既是能清楚的知道本題目的設(shè)計內(nèi)容,設(shè)計方法,以及最終的預(yù)期目標。4.2單片機最小系統(tǒng)4.2.1AT89S51簡介AT89S51是美國生產(chǎn)的具有低功耗,高性能的CMOS8位的單片機,片內(nèi)含有4kbytes的可以系統(tǒng)編程的Flash只讀程序存儲器。它的器件所采用的是ATMEL公司高密度,非易失性的存儲技術(shù)來生產(chǎn)的,具有兼容標準的8051指令系統(tǒng)以及引腳[12]。它集Flash程序存儲器一方面能夠在線編程(ISP)另一方面也可以用傳統(tǒng)的方法來編程和通用的8位的微處理器在單片機的芯片中,功能非常強大。(1)主要的性能參數(shù)·可以與MCS-51產(chǎn)品的指令系統(tǒng)完全的兼容在一起·4k字節(jié)的系統(tǒng)編程(ISP)Flash閃速存儲器·1000次的擦寫周期·工作的電壓范圍是4.0-5.5V·全靜態(tài)的工作模式:0Hz-33MHz·具有三級的程序加密鎖·128×8字節(jié)的內(nèi)部RAM·有32個可以編程的輸入輸出口線·有2個16位的定時/計數(shù)器·有6個中斷源·全雙工的串行的UART通道·空閑功耗非常低以及掉電模式[13]·中斷可以從空閑模式中喚醒系統(tǒng)·看門狗(WDT)以及具有雙數(shù)據(jù)的指針·具有掉電標識以及快速的編程特性·在系統(tǒng)中編程是很靈活的(ISP字節(jié)或著是頁寫模式)(2)功能特性的概述AT89S51提供以下的標準功能:4k字節(jié)Flash閃速存儲器,128字節(jié)的內(nèi)部的RAM,32個I/O口線,看門狗(WDT),兩個數(shù)據(jù)指針,兩個16位的定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工的串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89S51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM的內(nèi)容,但振蕩器會停止工作并且禁止其它所有部件的工作一直到下邊的一個硬件復(fù)位的時候。(3)引腳的功能說明圖4-2AT89S51引腳排列該設(shè)計使用到的單片機芯片對應(yīng)管腳名稱位置等如圖4-2的引腳功能圖詳細說明?!CC:電源電壓·GND:地·P0口:P0口是一組具有8位的漏極開路型的雙向I/0口,也就是地址/數(shù)據(jù)的總線的復(fù)用口。當(dāng)作輸出口時,每一位能夠驅(qū)動8個TTL的邏輯門電路,對該端口寫“l(fā)”時能當(dāng)做高阻抗的輸入端用。當(dāng)數(shù)據(jù)總線的復(fù)用口時,在訪問的期間會激活內(nèi)部的上拉電阻。當(dāng)F1ash編程的時候,P0口會接收到指令字節(jié),而程序校驗時,會輸出一些指令字節(jié),當(dāng)校驗的時候,需要外接上拉的電阻。訪問外部的數(shù)據(jù)或程序存儲器的時候,這組口線會分時地轉(zhuǎn)換地址(低8位)?!1口:Pl口是一個帶有內(nèi)部的上拉電阻的8位雙向的I/O口,P1輸出的緩沖級能夠驅(qū)動(吸收或著輸出電流)4個TTL的邏輯門電路。對端口寫“l(fā)”,可以通過內(nèi)部上拉電阻把端口拉到高電平,這時候可以作輸入口。作為輸入口使用的時候,由于內(nèi)部存在上拉電阻,某個引腳被外部信號拉低的時候會輸出一個電流(IIL)?!2口:P2口是帶內(nèi)部的上拉電阻的8位的雙向I/O口,P2口輸出緩沖級可以驅(qū)動(吸收或著輸出電流)4個TTL的邏輯門電路。對該端口寫“1”,可以通過內(nèi)部的上拉電阻把對應(yīng)端口拉到相應(yīng)高電平,這時候可以作輸入口。當(dāng)作輸入口使用的時候,由于內(nèi)部有上拉電阻,某個引腳被外部的信號拉低的時候會輸出電流(IIL)。當(dāng)訪問外部程序存儲器或著16位地址的外部數(shù)據(jù)存儲器的時候,P2口會送出高8位地址數(shù)據(jù)。當(dāng)訪問8位地址外部的數(shù)據(jù)存儲器的時候,P2上的內(nèi)容在整個的訪問期間是不會改變的。Flash編程或著校驗的時候,P2也會接收到高位地址以及其它控制信號的?!3口:P3口是含有內(nèi)部的上拉電阻8位雙向的I/O口。P3口的輸出緩沖級能夠驅(qū)動(吸收或著輸出電流)4個TTL邏輯門的電路。對P3口寫入“l(fā)”的時候,它們會被內(nèi)部上拉電阻拉高并可以作為輸入端口。當(dāng)作為輸入端時,被外部拉低的P3口會用上拉電阻輸出電流(IIL)。P3口除了可以作為一般的I/O口線之外,更重要的用途是它具有第二功能,如下表所示:P3口還可以接收一些用于Flash閃速存儲器編程和程序校驗的控制信號。具體功能如表4-1所示表4-1P3口的引腳及功能端口引腳第二功能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ù)存儲器讀選通)·RST:RST是復(fù)位信號輸入端。當(dāng)振蕩器工作的時候,RST引腳會出現(xiàn)兩個機器周期以上的高電平使單片機復(fù)位。WDT溢出使該引腳輸出高電平,設(shè)置SFRAUXR的DISRT0位(地址8EH)可以打開或關(guān)閉該功能。DISRT0位缺為RESET輸出高電平打開狀態(tài)?!LE/PROG:地址鎖存允許信號端。當(dāng)89S51上電正常工作后,ALE引腳不斷向外輸出正脈沖信號,此頻率為振蕩器頻率fOSC的1/6。CPU訪問片外存儲器時,ALE輸出信號作為鎖存低8位地址的控制信號。ALE端的負載驅(qū)動能力為8個LS型TTL(低功耗甚高速TTL)負載。此引腳的第二功能PROG在對片內(nèi)帶有4KBFlashROM的89S51編程寫入(固化程序)時,作為編程脈沖輸入端?!SEN:程序儲存允許(PSEN)輸出信號端。當(dāng)AT89S51由片外程序的存儲器取指令(或常數(shù))時,每個機器周期兩次PSEN有效(即輸出2個脈沖)。但在此期間內(nèi),每當(dāng)訪問外部數(shù)據(jù)存儲器時,這兩次有效的PSEN信號將不出現(xiàn)。PSEN的端口同樣可驅(qū)動8個LS型TTL負載。·EA/VPP:外部程序存儲器地址允許輸入端/固化編程電壓輸入端[14]。當(dāng)EA接高電平的時候,CPU只能訪問片內(nèi)FlashROM并且執(zhí)行內(nèi)部的程序存儲器里的指令;但當(dāng)PC(程序計數(shù)器)的值超過0FFFH(對89S51為4KB)時,將自動轉(zhuǎn)去執(zhí)行片外的程序存儲器里的程序。輸入信號EA接低電平(接地)時,CPU只能訪問片外ROM并執(zhí)行片外的程序存儲器里的指令,不管是否會有片內(nèi)的程序存儲器。然而需要注意的是,如果保密位LB1被編程,則復(fù)位時在內(nèi)部會鎖存EA端的狀態(tài)。當(dāng)EA端保持高電平(接VCC端)時,CPU則執(zhí)行內(nèi)部的程序存儲器中的程序。F1ash存儲器編程的時候,該引腳加上+12V的編程電壓Vpp。·XTAL2:接外部晶體和微調(diào)電容的一端。在89S51片內(nèi)它是振蕩電路反相放大器的輸出端,振蕩電路的頻率就是晶體的固有頻率。若須采用外部時鐘電路,則該引腳懸空。要檢查89S51的振蕩電路是否正常工作,可用示波器查看XTAL2端是否有脈沖信號輸出?!TAL1:接外部晶體和微調(diào)電容的另一端。在片內(nèi),它是振蕩電路反相放大器的輸入端。在采用外部時鐘時,該引腳輸入外部時鐘信號?!ご鎯ζ鹘Y(jié)構(gòu):MCS-51單片機內(nèi)核采用程序存儲器和數(shù)據(jù)存儲器空間分開的結(jié)構(gòu),均具64KB外部程序和數(shù)據(jù)的尋址空間?!こ绦虼鎯ζ鳎喝鬍A引腳接地(GND),全部程序都執(zhí)行外部存儲器。在AT89S51中,如果EA接至Vcc(電源+),程序會首先執(zhí)行地址從0000H-0FFFH(4KB)內(nèi)部程序存儲器,然后再執(zhí)行地址為1000H-FFFFH(60KB)的外部程序存儲器?!?shù)據(jù)存儲器:AT89S51中的具128字節(jié)的內(nèi)部RAM,這128個字節(jié)可以利用直接或間接的尋址方式訪問,堆棧操作可以利用間接尋址方式進行,128個字節(jié)均可設(shè)置為堆棧區(qū)空間。(4)晶體振蕩器特性AT89S51是一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是這個放大器的輸入端和輸出端。該放大器與作為反饋元件的片外石英晶體或著陶瓷諧振器一起構(gòu)成自激振蕩器。它外邊接石英晶體以及電容Cl、C2接在放大器的反饋回路構(gòu)成并聯(lián)振蕩電路。對外接電容Cl、C2雖然沒有十分嚴格的要求,但是電容容量的大小會輕微影響到振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程度以及溫度穩(wěn)定性。如果要使用石英晶體,我們推薦電容使用30pF±10pF,而如果要使用陶瓷諧振器建議選擇40pF±10pF。用戶還可以采用外部時鐘。在這種情況下,外部時鐘脈沖會接到XTAL1端,即內(nèi)部時鐘發(fā)生器的輸入端,XTAL2就要懸空。因為外部時鐘信號是通過一個2分頻觸發(fā)器后當(dāng)作內(nèi)部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊的要求,但是最小高電平持續(xù)的時間和最大的低電平持續(xù)的時間應(yīng)該符合產(chǎn)品技術(shù)條件的要求。(5)Flash閃速存儲器的并行編程AT89S51單片機內(nèi)部4k字節(jié)的可快速編程的Flash存儲陣列。編程方法可通過傳統(tǒng)的EPROM編程器使用高電壓(+12V)和協(xié)調(diào)的控制信號進行編程。AT89S51的代碼是逐一字節(jié)進行編程的。編程方法:編程前,必須要設(shè)置好地址、數(shù)據(jù)以及控制信號,AT89S51編程方法如下:(1)在地址線上加上需要編程單元的地址信號。(2)在數(shù)據(jù)線上加上需要寫入的數(shù)據(jù)字節(jié)。(3)激活相應(yīng)的控制信號。(4)在EA/Vpp端加上+12V的編程電壓。(5)每對Flash存儲陣列要寫入一個字節(jié)或每寫入一個程序加密位,需要加上一個ALE/PROG編程脈沖。每個字節(jié)寫入的周期都是自身定時的,大多數(shù)約是50us。然后改變編程單元的地址和寫入的數(shù)據(jù),重復(fù)1-5步驟,最后直到全部文件編程結(jié)束。4.2.2單片機最小系統(tǒng)設(shè)計采用AT89S51單片機構(gòu)成了控制系統(tǒng)的核心,其基本模塊就主要包括復(fù)位電路和晶體震蕩電路。在本設(shè)計當(dāng)中,單片機的P0口、P1口、P2口、P3口全部參與系統(tǒng)工作,單片機最小系統(tǒng)的接線如圖4-3所示:圖4-3單片機最小系統(tǒng)圖4.2.3單片機端口分配及功能(1)其中P0口用于控制數(shù)碼管的具體顯示功能,既是數(shù)碼管的段選。(2)P1口主要用于控制電機驅(qū)動芯片L298的工作,以及ADC0804芯片的編程的讀寫控制。(3)P2口主要用于控制數(shù)碼管的公共端,既是數(shù)碼管的位選。與此同時還處理鍵盤掃描電路。(4)P3口主要用于負責(zé)處理ADC0804的模數(shù)轉(zhuǎn)化芯片的工作。4.3串口通信模塊本設(shè)計采用串口通信,來實現(xiàn)計算機與單片機的通信。其具體的電路圖如圖4-4所示。圖4-4串口通信模塊4.4數(shù)碼管顯示電路設(shè)計本設(shè)計的顯示部分可以用液晶顯示的方案可供選擇,液晶顯示和數(shù)碼管顯示的區(qū)別主要體現(xiàn)在以下幾個方面:數(shù)碼管顯示內(nèi)容單一,而液晶顯示器顯示內(nèi)容豐富,因為液晶一般都是七段八字的只能顯示單一的內(nèi)容,而液晶顯示的內(nèi)容就很豐富;數(shù)碼管還比液晶顯示耗電,而且使用液晶也比使用數(shù)碼管顯得美觀。但是控制液晶顯示器的時候占用的系統(tǒng)資源多,編程更復(fù)雜,最關(guān)鍵的是液晶顯示的成本是數(shù)碼管的幾十倍,所以考慮到應(yīng)用價值,最終還是確定選用數(shù)碼管實現(xiàn)本設(shè)計的顯示部分功能。4.4.1共陽數(shù)碼管簡介四位共陽數(shù)碼管的管腳分配如下圖4-5所示:圖4-5四位共陽數(shù)碼管管腳定義數(shù)碼管的管腳排列:從數(shù)碼管的正面觀看,左下角的那個腳為1腳,從1腳開始,按照逆時針方向排列依次是1腳到12腳,其中12、9、8、6為公共角,為位選信號輸入端。剩余的八個腳是段選信號輸入端,其對應(yīng)方式是A-11、B-7、C-4、D-2、E-1、F-10、G-5、DP-3。只有詳細的了解了數(shù)碼管的管腳定義,以及段選位選情況,我們才能通過編程對其正常的顯示進行很好的控制。在本設(shè)計當(dāng)中采用了數(shù)碼管動態(tài)掃描的方式進行顯示,下面我們對數(shù)碼管動態(tài)掃描顯示作一詳細介紹。數(shù)碼管動態(tài)顯示界面是單片機中應(yīng)用最廣泛的一種顯示方式之一,動態(tài)驅(qū)動就是將所有的數(shù)碼管中的8個需要顯示的筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,并且為每個數(shù)碼管的公共極COM都增加位元選通控制電路,位元選通是由各自獨立的I/O線控制,在單片機輸出字形碼的時候,所有數(shù)碼管都會接收到相同的字形碼,但是,究竟是哪個數(shù)碼管會顯示出字形,這取決于單片機對位元選通COM端電路的控制,因此我們只需要將要顯示的數(shù)碼管的選通控制打開,這個位元就會顯示,沒有選通的數(shù)碼管是不會亮的。經(jīng)過分時輪流地控制各個LED數(shù)碼管的COM端,就會使每個數(shù)碼管輪流的受控顯示,這就是所謂的動態(tài)驅(qū)動。在這個輪流顯示的過程中,每位元數(shù)碼管點亮的時間是1~2ms,因為人視覺的暫留現(xiàn)象和發(fā)光二極管余輝效應(yīng),雖然各位數(shù)碼管不是同時點亮的,但是如果掃描速度很快,人們也會感覺到一組很穩(wěn)定的顯示資料,不會出現(xiàn)閃爍感,動態(tài)顯示和靜態(tài)顯示效果都是一樣的,能夠節(jié)省很多的I/O口,并且功耗更低[18]。4.4.2共陽數(shù)碼管電路圖本設(shè)計選用了數(shù)碼管顯示設(shè)計,其段選的控制A、B、C、D、E、F、G、DP按照數(shù)碼管的簡介資料選用了P0口作為其控制端口,其位選部分由于單片機的控制端口輸出的電壓不足以直接點亮數(shù)碼管,所以在單片機控制端口和數(shù)碼管的位選控制端口加入了三極管,其具體的電路連接如圖4-6所示。圖4-6數(shù)碼管顯示電路4.5驅(qū)動電流檢測模塊設(shè)計本設(shè)計的驅(qū)動芯片電流檢測模塊的實際應(yīng)用意義在于檢測流過電機的電流值并及時顯示,對于防止電機過流而損壞電機有一定的意義。從上面的L298的芯片資料當(dāng)中我們可以知道L298的Pin1和Pin15可與電流偵測電阻連接來偵測電機正常工作的情況下的工作電流。一般檢測電流的方法是通過檢測電壓值,然后通過歐姆定律換算電流值的方法測試電流,本設(shè)計也不例外。設(shè)計采用的42BYG101反應(yīng)式步進電機,其額定電流值0.2安,在加上一般常用的電流偵測電阻都是1歐姆或0.1歐姆,這樣換算來檢測到的電壓值一般是在mV級,這樣以來,要是直接將檢測到的電壓值送給ADC0804進行模數(shù)轉(zhuǎn)換那么由于精度的原因勢必會對檢測結(jié)果的準確性造成很大的影響。所以考慮到這一原因我們是先將檢測到的電流值經(jīng)過OP07作放大處理后再將信號送給模數(shù)轉(zhuǎn)換芯片處理這樣保證了檢測值的可靠性。ADC0804輸出的數(shù)字信號再送給單片機的P3口,經(jīng)過單片機處理后最后將檢測到的數(shù)字信號通過數(shù)碼管顯示出來。而在顯示這一部分有這樣一個問題,就是步進電機的工作電流不是一個恒定值,它是隨著時間的變化,會在一個小范圍內(nèi)不停的波動為了使顯示出來的電流數(shù)據(jù)更可靠,我們通過單片編程,采用了取一段時間的電流的平均值顯示出來。形象的展示這一模塊的整個工作流程就是如下圖4-7所示:數(shù)碼管顯示單片機數(shù)模轉(zhuǎn)換信號放大輸入信號數(shù)碼管顯示單片機數(shù)模轉(zhuǎn)換信號放大輸入信號圖4-7電流檢測框圖高電源電壓范圍:±3V至±22V5系統(tǒng)的軟件設(shè)計本系統(tǒng)的軟件設(shè)計主要包括系統(tǒng)初始化,延時子程序,鍵盤響應(yīng)程序,數(shù)碼管顯示程序,讀取ADC0804子程序和控制脈沖輸出部分,事實上每一個部分是密切相關(guān)的,每個功能模塊的總體設(shè)計是非常重要的,單片機AT89S51單片機通過軟件編程使系統(tǒng)真正的運行,軟件的設(shè)計也直接決定著運行質(zhì)量。程序的設(shè)計流程圖如下的自上而下的原則,即從主體逐漸細分為各個模塊的流程。在流程圖中的過程控制設(shè)計清晰。解釋程序?qū)⒃诒菊碌恼鹿?jié)中詳細解釋。5.1系統(tǒng)軟件主流程圖當(dāng)系統(tǒng)的電源,通過單片機復(fù)位電路系統(tǒng)上電復(fù)位后系統(tǒng)初始化后,開始等待關(guān)鍵查詢執(zhí)行相應(yīng)的操作,按下按鈕時調(diào)用的程序并執(zhí)行相應(yīng)的子程序,圖5-1的主要過程如下:開始開始系統(tǒng)初始化按鍵判斷相應(yīng)按鍵子程序結(jié)束相應(yīng)顯示子程序YN圖5-1主程序流程圖5.2系統(tǒng)初始化流程圖初始化適當(dāng)?shù)南到y(tǒng)參數(shù),包括系統(tǒng)上電默認設(shè)置的操作參數(shù),包括兩相的工作方式,初始速度齒輪的轉(zhuǎn)速為30,系統(tǒng)中斷設(shè)置定時器,定時器設(shè)定初始值,負載和默認參數(shù),如圖5-2所示的流程圖。開始開始定時器0工作方式2載入定時器初值定時器0和定時器1開啟載入默認工作參數(shù)各個窗口初始化定時器中斷允許圖5-2系統(tǒng)初始化流程圖5.3直流電機驅(qū)動程序#include<reg52.h>sbitKEY0=P3^0; //控制按鍵,為高電平時,直流電機工作。為0時啟動步進電機;sbitKEY1=P3^2;//控制直流電機調(diào)速按鍵sbitKEY2=P3^3; //控制步進電機正反轉(zhuǎn)、停機按鍵sbitPWM=P1^5;//定義直流電機PWM輸出調(diào)速端口unsignedcharCYCLE;//定義周期該數(shù)字X基準定時時間如果是10則周期是10x0.1msunsignedcharPWM_Num=0;//直流電機速度檔位;unsignedcharPWM_ON;//定義高電平時間unsignedcharFlag;//定義步進電機正反轉(zhuǎn)和停止標志位 unsignedcharcodeF_Rotation[4]={0x1f,0x2f,0x4f,0x8f};//步進電機正轉(zhuǎn)表格unsignedcharcodeB_Rotation[4]={0x8f,0x4f,0x2f,0x1f};//步進電機反轉(zhuǎn)表格/******************************************************************//*延時函數(shù)*//******************************************************************/voidDelay(unsignedinti)//延時{while(--i);}/******************************************************************//*主函數(shù)*//******************************************************************/main(){unsignedchari; EX0=1; //外部中斷0開,控制直流電機EX1=1;//外部中斷1開,控制步進電機IT0=1; //邊沿觸發(fā)IT1=1;//邊沿觸發(fā)EA=1;//全局中斷開 P0=0x06 ; //開機顯示直流電機1檔位TMOD|=0x01;//定時器設(shè)置1msin12McrystalTH0=(65536-1000)/256;TL0=(65536-1000)%256;//定時1mSET0=1;//打開中斷TR0=1; CYCLE=10;//時間可以調(diào)整這個是10步調(diào)整周期10ms,PWM的周期不變,8位PWM就是256步while(KEY0==1)//P3.0為高電平,則直流電機運轉(zhuǎn);{switch(PWM_Num){case0:P0=0x06;PWM_ON=0;break;//高電平時長,P0口段碼為1;case1:P0=0x5B;PWM_ON=4;break;//P0口段碼為2;case2:P0=0x4F;PWM_ON=6;break;//P0口段碼為3case3:P0=0x66;PWM_ON=8;break;//P0口段碼為4 case4:P0=0x6D;PWM_ON=10;break;//P0口段碼為停機Sdefault:break;}}while(KEY0==0)//KEY0按下,則步進電機工作。{while(Flag==0){P0=0x71;//顯示F標示正轉(zhuǎn)for(i=0;i<2;i++)//2相{P2=F_Rotation[i];//輸出對應(yīng)的相可以自行換成反轉(zhuǎn)表格Delay(500);//改變這個參數(shù)可以調(diào)整電機轉(zhuǎn)速,數(shù)字越小,轉(zhuǎn)速越大 }}while(Flag==1){P0=0x7C;//顯示b標示反轉(zhuǎn)for(i=0;i<2;i++)//2相{P2=B_Rotation[i];//輸出對應(yīng)的相Delay(500);//改變這個參數(shù)可以調(diào)整電機轉(zhuǎn)速,數(shù)字越小,轉(zhuǎn)速越大 }}while(Flag==2)//停止{P0=0x6D;//顯示SP2=0x0F;}}}/******************************************************************//*定時器中斷函數(shù),產(chǎn)生PWM波。*//******************************************************************/voidtim(void)interrupt1using1{staticunsignedcharcount;//TH0=(65536-1000)/256;TL0=(65536-1000)%256;//定時1mSif(count==PWM_ON) {PWM=1;} count++;if(count==CYCLE){count=0; if(PWM_ON!=0) PWM=0;}}/******************************************************************//*中斷0入口函數(shù),控制直流電機轉(zhuǎn)速*//******************************************************************/voidISR_Key1(void)interrupt0using1{//定義檔位 Delay(500);if(!KEY1){PWM_Num++;//s3按下觸發(fā)一次 if(PWM_Num==5)PWM_Num=0;}} /******************************************************************//*中斷入口函數(shù),控制步進正反轉(zhuǎn)、停機*//******************************************************************/voidISR_Key2(void)interrupt2using1{Delay(500);if(!KEY2){Flag++;//s3按下觸發(fā)一次if(Flag==3)Flag=0;}}5.4步進電機驅(qū)動程序#include<reg52.h>unsignedcharFlag;//定義正反轉(zhuǎn)和停止標志位sbitKEY=P3^3;unsignedcharcodeF_Rotation[4]={0xf1,0xf2,0xf4,0xf8};//正轉(zhuǎn)表格unsignedcharcodeB_Rotation[4]={0xf8,0xf4,0xf2,0xf1};//反轉(zhuǎn)表格/******************************************************************//*延時函數(shù)*//******************************************************************/voidDelay(unsignedinti)//延時{while(--i);}/******************************************************************//*主函數(shù)*//******************************************************************/main(){unsignedchari;EX1=1;//外部中斷0開IT1=1;//邊沿觸發(fā)EA=1;//全局中斷開while(Flag==0){P0=0x71;//顯示F標示正轉(zhuǎn)for(i=0;i<2;i++)//2相{P1=F_Rotation[i];//輸出對應(yīng)的相可以自行換成反轉(zhuǎn)表格Delay(500);//改變這個參數(shù)可以調(diào)整電機轉(zhuǎn)速,數(shù)字越小,轉(zhuǎn)速越大 }}while(Flag==1){P0=0x7C;//顯示b標示反轉(zhuǎn)for(i=0;i<2;i++)//2相{P1=B_Rotation[i];//輸出對應(yīng)的相Delay(500);//改變這個參數(shù)可以調(diào)整電機轉(zhuǎn)速,數(shù)字越小,轉(zhuǎn)速越大 }}while(Flag==2)//停止{P0=0x6D;//顯示SP1=0;}}/******************************************************************//*中斷入口函數(shù)*//******************************************************************/voidISR_Key(void)interrupt2using1{Delay(500);if(!KEY){Flag++;//s3按下觸發(fā)一次if(Flag==3)Flag=0;}}6總結(jié)采用單片機作為控制核心,利用其強大的功能,鍵盤電路和數(shù)字顯示電路,電機驅(qū)動電路,電機電流檢測電路的有機結(jié)合,形成一個操作方便,交互性強的簡單系統(tǒng)。通過設(shè)計實現(xiàn)系統(tǒng)的設(shè)計目標,完成所有設(shè)計任務(wù),具體功能如下:系統(tǒng)的軟件編程的硬件設(shè)計,可以通過鍵盤電路控制步進電機的速度控制,可以實現(xiàn)啟動,正轉(zhuǎn),反轉(zhuǎn),加速,減速控制,實現(xiàn)速度最小為25rpm,最大轉(zhuǎn)速180rpm;通過單片機實現(xiàn)控制兩相輸出脈沖序列。驅(qū)動電路提供12V,0.3A驅(qū)動信號;電機的旋轉(zhuǎn)速度,旋轉(zhuǎn)方向,所檢測到的電機電流可由數(shù)碼管顯示;結(jié)果是最終的步進電機控制電路板的形式顯示出來。本文電機驅(qū)動模塊的正常工作,驅(qū)動芯片L298及其外圍電路的設(shè)計實現(xiàn),具有成本低,可靠性高,出現(xiàn)問題容易維護,實現(xiàn)相對容易等特點。在電機的工作模式上,設(shè)計并實現(xiàn)了電機的兩相帶脈沖控制方式。參考文獻[1]杜家熙.基于單片機的步進電機控制器設(shè)計[J].煤礦機械,2007(1):1.[2]王迎旭.單片機原理及應(yīng)用[M].北京:機械工業(yè)出版社,2005,10:4.[3]張迎新.單片微型計算機原理及接口技術(shù)[M].北京:國防工業(yè)出版社,2007,3:36.[4]周向紅.51系列單片機應(yīng)用與實踐教程[M].北京:北京航天航空大學(xué)出版社,2011,1:14-15.[5]陳石龍.基于單片機的步進電機控制系統(tǒng)[J].寧德師專學(xué)報(自然科學(xué)版),2009(3):20.[6]顧德英,張健,馬淑華.計算機控制技術(shù)[M].北京:北京郵電大學(xué)出版社,2006:72-73.[7]張芬.步進電動機及其選用[J].科技信息(學(xué)術(shù)版),2007(9):5.[8]王志強.步進電機和交流伺服電機性能綜合比較[J].天津職業(yè)院校聯(lián)合學(xué)報,2006(5):38.[9]郭天祥.新概念51單片機C語言教程[M].北京:電子工業(yè)出版社,2009,8:113-114.[10]張家生.電機原理與拖動基礎(chǔ)[M].北京:北京郵電大學(xué)出版社,2006,5:62-63.[11]黃友群.全自動彈簧檢測儀的開發(fā)與應(yīng)用[D].南京:東南大學(xué),2009:31.[12]李春川.電視機I2C總線控制器研究及實現(xiàn)[D].成都:電子科技大學(xué),2007:23.[13]段淵博.電調(diào)天線控制器關(guān)鍵技術(shù)研究[D].西安:西安電子科技大學(xué),2009:42.[14]李朝青.單片機原理及接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2012,10:22-24.[15]沈永明.4×0系列衛(wèi)星接收機MCU電路的控制[J].衛(wèi)星電視與寬帶多媒體,2006(9):3.致謝在論文完稿之際,首先需要感謝的就是我的指導(dǎo)老師老師,感謝她對我的辛勤培養(yǎng)和精心指導(dǎo)。老師學(xué)識淵博、治學(xué)態(tài)度非常嚴謹、經(jīng)驗也很豐富,尤其是忘我工作的科研精神使我受益匪淺。在田老師的悉心指導(dǎo)和大力的幫助之下,我的畢業(yè)設(shè)計才能夠順利完成。論文的完成還得感謝跟我一起學(xué)習(xí)的同學(xué)們,感謝他們在平時的學(xué)習(xí)生活中給予我的熱心幫助與支持!再次要感謝我的母校,尤其是自動化專業(yè)所有的老師們,在這片凈土讀書四年,無形中塑造了我生命的氣質(zhì)、生活的方式,也練就了我樂觀的心態(tài)和一顆感恩的心,沒有你們悉心的指導(dǎo)和講解,我就不可能完成此次比較專業(yè)的設(shè)計。最后,我要感謝多年來一直支持我、愛護我的父母和親人,謹此向他們致以最由衷的感恩和敬意!基于C8051F單片機直流電動機反饋控制系統(tǒng)的設(shè)計與研究基于單片機的嵌入式Web服務(wù)器的研究MOTOROLA單片機MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統(tǒng)的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機控制的二級倒立擺系統(tǒng)的研究基于增強型51系列單片機的TCP/IP協(xié)議棧的實現(xiàn)基于單片機的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機的交流伺服電機運動控制系統(tǒng)研究與開發(fā)基于單片機的泵管內(nèi)壁硬度測試儀的研制基于單片機的自動找平控制系統(tǒng)研究基于C8051F040單片機的嵌入式系統(tǒng)開發(fā)基于單片機的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機實現(xiàn)一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設(shè)計基于單片機控制的高速快走絲電火花線切割機床短循環(huán)走絲方式研究基于單片機的機電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機的智能手機充電器基于單片機的實時內(nèi)核設(shè)計及其應(yīng)用研究基于單片機的遠程抄表系統(tǒng)的設(shè)計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統(tǒng)單片機系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設(shè)計和應(yīng)用基于單片機的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機單片機控制系統(tǒng)的研制基于單片機的數(shù)字磁通門傳感器基于單片機的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統(tǒng)設(shè)計Pico專用單片機核的可測性設(shè)計研究基于MCS-51單片機的熱量計基于雙單片機的智能遙測微型氣象站MCS-51單片機構(gòu)建機器人的實踐研究基于單片機的輪軌力檢測基于單片機的GPS定位儀的研究與實現(xiàn)基于單片機的電液伺服控制系統(tǒng)用于單片機系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機的時控和計數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機和CPLD的粗光柵位移測量系統(tǒng)研究單片機控制的后備式方波UPS提升高職學(xué)生單片機應(yīng)用能力的探究\t"_b

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論