單片機(jī)對(duì)步進(jìn)電機(jī)進(jìn)行控制設(shè)計(jì)畢業(yè)論文_第1頁
單片機(jī)對(duì)步進(jìn)電機(jī)進(jìn)行控制設(shè)計(jì)畢業(yè)論文_第2頁
單片機(jī)對(duì)步進(jìn)電機(jī)進(jìn)行控制設(shè)計(jì)畢業(yè)論文_第3頁
單片機(jī)對(duì)步進(jìn)電機(jī)進(jìn)行控制設(shè)計(jì)畢業(yè)論文_第4頁
單片機(jī)對(duì)步進(jìn)電機(jī)進(jìn)行控制設(shè)計(jì)畢業(yè)論文_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGEPAGE38目錄第1章緒論 1第2章方案論證比較設(shè)計(jì) 52.1單片機(jī)概述 52.2步進(jìn)電機(jī)的工作原理 62.3單片機(jī)控制步進(jìn)電機(jī)的設(shè)計(jì)思路 9第3章控制系統(tǒng)的硬件電路設(shè)計(jì) 103.1SPCE061A的介紹 103.1.1性能 113.1.2結(jié)構(gòu) 123.1.3芯片的引腳排列和說明 123.1.4SPCE061A單片機(jī)硬件結(jié)構(gòu) 143.1.5μ’NspTM的核心結(jié)構(gòu) 153.2步進(jìn)電機(jī)的選擇 173.3步進(jìn)電機(jī)的驅(qū)動(dòng)電路設(shè)計(jì) 183.4數(shù)碼管顯示電路的設(shè)計(jì) 203.54X4鍵盤電路的設(shè)計(jì) 21第4章控制系統(tǒng)的軟件設(shè)計(jì) 244.1控制脈沖的產(chǎn)生 244.2步進(jìn)電機(jī)的旋轉(zhuǎn)方向和時(shí)序脈沖的關(guān)系 254.3步數(shù)的確定 274.4步進(jìn)電機(jī)的變速控制 294.5語音報(bào)數(shù) 33第5章結(jié)論 35參考文獻(xiàn) 36致謝 38附錄 39摘要單片微型計(jì)算機(jī)簡稱單片機(jī)。它是把組成微型計(jì)算機(jī)的各功能部件:中央處理器、CPU、隨機(jī)存取存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、I/O接口電路、定時(shí)器/計(jì)數(shù)器以及串行通信接口等制作在一塊集成芯片中,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。單片機(jī)主要應(yīng)用于控制領(lǐng)域,由于其具有可靠性高、體積小、價(jià)格低、易于產(chǎn)品化等特點(diǎn),因而在智能儀器儀表、實(shí)時(shí)工業(yè)控制、智能終端、通信設(shè)備、導(dǎo)航系統(tǒng)、家用電器等自控領(lǐng)域獲得廣泛應(yīng)用[1]。步進(jìn)電機(jī)是一種能將電脈沖信號(hào)轉(zhuǎn)換成角位移或線位移的機(jī)電元件,實(shí)質(zhì)上是一種數(shù)字/角度轉(zhuǎn)換器步進(jìn)電機(jī)控制系統(tǒng)主要由步進(jìn)控制器,功率放大器及步進(jìn)電機(jī)等組成.步進(jìn)控制器由緩沖寄存器,環(huán)形分配器,控制邏輯及正,反轉(zhuǎn)控制門等組成,能把輸入的脈沖轉(zhuǎn)換成環(huán)形脈沖,以便控制步進(jìn)電機(jī),并能進(jìn)行正反向控制.但由于步進(jìn)控制器線路復(fù)雜.成本高.采用單片機(jī)控制,用軟件代替上述步進(jìn)控制器,使得線路簡單,成本低,可靠性大大增加,靈活改變步進(jìn)電機(jī)的控制方案,無需邏輯電路組成時(shí)序發(fā)生器.軟件編程可靈活產(chǎn)生不同類型步進(jìn)電機(jī)勵(lì)磁序列來控制各種步進(jìn)電機(jī)的運(yùn)行方式并可實(shí)現(xiàn)一臺(tái)單片機(jī)控制多臺(tái)電機(jī).提供靈活多樣的控制手段和提高控制精度對(duì)復(fù)雜繁瑣的控制易于實(shí)現(xiàn),尤其在本系統(tǒng)中更顯示出微機(jī)控制的優(yōu)越性。本設(shè)計(jì)采用凌陽16位單片機(jī)SPCE061A對(duì)步進(jìn)電機(jī)進(jìn)行控制,通過IO口輸出的具有時(shí)序的方波作為步進(jìn)電機(jī)的控制信號(hào),信號(hào)經(jīng)過芯片L298N驅(qū)動(dòng)步進(jìn)電機(jī);同時(shí),用4X4的鍵盤來對(duì)電機(jī)的狀態(tài)進(jìn)行控制,并用數(shù)碼管顯示電機(jī)的轉(zhuǎn)速,采用74LS164作為4位單個(gè)數(shù)碼管的顯示驅(qū)動(dòng),從單片機(jī)輸入信號(hào);利用凌陽單片機(jī)的語音功能播報(bào)電機(jī)的轉(zhuǎn)速。關(guān)鍵詞:單片機(jī)步進(jìn)電機(jī)ABSTRACT[2]Thesinglesliceofmicrocomputersisabbreviatedastheone-chipcomputer.Itiseveryfunctionpartwhichmakesupthemicrocomputer:Centralprocessingunit,CPU,arbitraryaccessmemoryRAM,read-onlymemoryROM,,I/Ointerfacecircuit,timer/counterandserialcommunicationinterface,etc.makeintheintegratedchiptogether,formanintactmicrocomputer.One-chipcomputerapplycontrolledfieldtomainly,becauseithavedependabilityhigh,small,pricelow,easycommercialization,etc.characteristic,thereforewonextensiveapplicationinfieldsofautomaticcontrolsuchasintellectualinstrumentandapparatus,real-timeindustrialcontrol,intelligentterminal,communicationequipment,navigationsystem,householdappliances,etc.Itisthatonekindcanchangetheelectricpulsesignalintoaelectromechanicalcomponentofangledisplacementorlinedisplacementtowalkintotheelectricalmachinery,itisakindoffigure/angleconverterthatiswalkedintothecontrolsystemoftheelectricalmachinerytomainlywalkintothecontrollerinfact,poweramplifierandwalkingintotheelectricalmachinery,etc.makeup.Walkedintothecontrollertobuffertheregister,theannulardistributor,controllogicand,overturn,controldoor,etc.makeup,canchangethepulseinputintointoanannularpulse,inordertocontrol,walkintoelectricalmachinery,cancarryonpositiveandnegativetocontrol.Butbecausewalkintothecontrollercircuitcomplicatedly.Withhighcosts.Adoptone-chipcomputercontrol,replacewithsoftwaredescribedabovetowalkintothecontroller,makethecircuitsimple,withlowcosts,dependabilityincreasesgreatly,changethecontrolschemeofwalkingintotheelectricalmachineryflexibly,donotneedlogicalcircuittomakeupthetimesequencegenerator.Softwareprogrammingveryflexibletoproduce,walkintoelectricalmachineryexcitationarraycome,controlvariousoperationwaytowalkintoelectricalmachineryandcanrealizeonemachinecontrolmanysetsofelectricalmachinerywhilebeingdifferentkindsof.Itiseasytorealizetooffertheflexiblecontrolmeansandimprovingtheprecisionofcontrollingtocomplicatedandtediouscontrol,demonstratethesuperioritythatthecomputercontrolsespeciallyinthissystemevenmore.Design,adopt,insultmalegenital16one-chipcomputerSPCE061Atowalkintoelectricalmachinerycontroloriginally,squarewavewithtimesequenceasthecontrolsignalofwalkingintotheelectricalmachinerythroughwhatIOmouthisoutputted,thesignaldrivesandwalksintotheelectricalmachinerythroughthechipL298N;Meanwhile,comestateinelectricalmachinerygoon,controlwithkeyboardof4X4,inchargeofrotationalspeedtorevealelectricalmachinerywithnumber,adopt74LS164urgeas4singlenumberdisplaythatinchargeof,fromtheinputsignaloftheone-chipcomputer;Utilizethepronunciationfunctionofinsultingtheopenone-chipcomputertoreporttherotationalspeedoftheelectricalmachinery.Keyword:One-chipcomputerWalkintotheelectricalmachinery第1章緒論近十幾年來,單片機(jī)在生產(chǎn)過程控制、自動(dòng)檢測、數(shù)據(jù)采集與處理、科技計(jì)算、商業(yè)管理和辦公室自動(dòng)化等方面獲得了廣泛的應(yīng)用。單片機(jī)具有體積小、重量輕、耗能省、價(jià)格低、可靠性高和通用靈活等優(yōu)點(diǎn),因此也廣泛應(yīng)用于衛(wèi)星定句、汽車火花控制、交通白動(dòng)管理和微波爐等專用控制上。近幾年來,單片機(jī)的發(fā)展更為迅速,它已滲透到諸多學(xué)科的領(lǐng)域,以及人們生活的各個(gè)方面。單片機(jī)不求規(guī)模大,只求小而全。廠家在一個(gè)芯片上制成了CPU和一定容量的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器以及一定數(shù)量的輸入/輸出接口(Intel)。在一個(gè)大規(guī)模集成電路芯片上構(gòu)造了完整的計(jì)算機(jī)結(jié)構(gòu),故稱之為單片機(jī)MCS-51系列中的一片8751芯片[3],內(nèi)部構(gòu)造了完整的計(jì)算機(jī)硬件系統(tǒng)。從CPU、存儲(chǔ)器到輸入輸出端口,一應(yīng)俱全。只要寫入程序,就可完成中央控制或數(shù)據(jù)采集、處理及通信傳輸?shù)男畔⑻幚頇C(jī),MCS-51單片機(jī)指令系統(tǒng)中為適應(yīng)控制的需要設(shè)有極強(qiáng)的位處理功能,具有加、減、乘、除指令;CPU時(shí)鐘高達(dá)12MHz,完成單字節(jié)乘法或除法運(yùn)算僅需要4Ns;具有多機(jī)通信功能,可作為多機(jī)系統(tǒng)中的一個(gè)子系統(tǒng)。近年來,在國際上出現(xiàn)了Mechanics和electronics復(fù)合成Mechtronics這個(gè)新詞,我國譯為“機(jī)電一體化”。這種機(jī)械和電子技術(shù)、信息技術(shù)緊密結(jié)合的新的學(xué)科領(lǐng)域是先進(jìn)制造技術(shù)研究和普及的結(jié)果。機(jī)電一體化產(chǎn)品要實(shí)現(xiàn)電器控制的實(shí)時(shí)性、高可靠性、可編程和一定的人工智能。同時(shí)追求體積小、價(jià)格低,甚至低功耗等。正是針對(duì)上述種種要求而設(shè)計(jì)的單片機(jī)白然成為機(jī)電一體化控制器的最佳選擇。單片機(jī)出現(xiàn)的歷史并不長,它的產(chǎn)生與發(fā)展與微處理器的產(chǎn)生與發(fā)展大體上同步,也經(jīng)歷了四個(gè)階段[4]:第一階段:1971~1974年,4位微處理器工intel4004及8位微處理器工intel8008,這些計(jì)算機(jī)價(jià)格便宜、功能有限,只用于消耗類電子產(chǎn)品。第二階段:1974~1978年,初級(jí)單片機(jī)階段,以工intel公司的MCS-48為代表,8位單片機(jī)。第三階段:1978~1983年,高性能單片機(jī)階段。以工Intel公司的MCS-51,Motorola公司的6801和Zilog公司的Z8等為代表。這一階段推出的單片機(jī)普遍帶有串行口,有多級(jí)中斷處理系統(tǒng)、16位定時(shí)器/計(jì)數(shù)器,有的片內(nèi)還帶有A/D轉(zhuǎn)換器接口,片內(nèi)RAM,ROM容量加大,尋址范圍可達(dá)64K字節(jié)。廣泛應(yīng)用于工業(yè)控制、外部設(shè)備控制、宏觀控制、局部網(wǎng)絡(luò)及家用計(jì)算機(jī)中。第四階段:1983年至今,8位單片機(jī)鞏固發(fā)展及16位單片機(jī)推出階段。例如Mostek公司的MK6800、Intel公司的MCS-96等。MCS-96集成度為12萬只品體管/片,尋址范圍64K字節(jié)、5個(gè)8位并行口、一個(gè)全雙工串行口、4個(gè)16位定時(shí)器、8通道10位A/D轉(zhuǎn)換器等,另外MCS-96指令能處理位、字節(jié)、字,有16位乘16位乘法、32位除16位除法指令,一塊單片計(jì)算機(jī)的功能可以和一臺(tái)多片系統(tǒng)機(jī)相媲美。單片機(jī)己經(jīng)進(jìn)入一個(gè)嶄新的階段。步進(jìn)電動(dòng)機(jī)上個(gè)世紀(jì)就出現(xiàn)了,它的組成、動(dòng)作原理和今天的反應(yīng)式步進(jìn)電動(dòng)機(jī)沒有什么本質(zhì)區(qū)別,也是依靠氣隙間的磁導(dǎo)變化來產(chǎn)生電磁轉(zhuǎn)矩。80年代以后,由于廉價(jià)的微型計(jì)算機(jī)以多功能的姿態(tài)出現(xiàn),步進(jìn)電動(dòng)機(jī)的控制方式變得更加靈活多樣。原來的步進(jìn)電機(jī)控制系統(tǒng)采用分立元件或者集成電路組成的控制回路,不僅調(diào)試安裝復(fù)雜,要消耗大量元器件,而且一旦定型之后,要改變控制方案就一定要重新設(shè)計(jì)電路,不利于系統(tǒng)的改進(jìn)升級(jí)?;谖⑿陀?jì)算機(jī)的控制系統(tǒng)則通過軟件來控制步進(jìn)電機(jī),能夠更好地發(fā)揮步進(jìn)電機(jī)的潛力,因此,用微型計(jì)算機(jī)控制步進(jìn)電機(jī)已經(jīng)成為了一種必然的趨勢,也符合數(shù)字化的時(shí)代發(fā)展要求。步進(jìn)電機(jī)控制技術(shù)和普通電動(dòng)機(jī)控制技術(shù)的不同之處是步進(jìn)電機(jī)接受脈沖信號(hào)的控制。早期的步進(jìn)電機(jī)靠一種叫環(huán)形分配器的電子開關(guān)器件,通過功率放大器使勵(lì)磁繞組按照順序輪流接通直流電源。由于勵(lì)磁繞組在空間中按一定的規(guī)律排列,輪流與直流電源接通后,就會(huì)在間隙中形成一種階躍變化的旋轉(zhuǎn)磁場,使轉(zhuǎn)子步進(jìn)式的轉(zhuǎn)動(dòng),隨著接通切換頻率的增高,轉(zhuǎn)速就會(huì)增大。步進(jìn)電機(jī)的旋轉(zhuǎn)同時(shí)與相數(shù)、分配數(shù)、轉(zhuǎn)子齒輪數(shù)有關(guān),現(xiàn)在比較常用的步進(jìn)電機(jī)包括反應(yīng)式步進(jìn)電機(jī)、永磁式步進(jìn)電機(jī)、混合式步進(jìn)電機(jī)和單相式步進(jìn)電機(jī)等。步進(jìn)電機(jī)廣泛應(yīng)用在生產(chǎn)實(shí)踐的各個(gè)領(lǐng)域。它最大的應(yīng)用是在使用數(shù)控機(jī)床的生產(chǎn)制造中,因?yàn)椴竭M(jìn)電機(jī)不需要A/D轉(zhuǎn)換,能夠直接將數(shù)字脈沖信號(hào)轉(zhuǎn)化成為角位移,所以被認(rèn)為是理想的數(shù)控機(jī)床的執(zhí)行元件。早期的步進(jìn)電機(jī)輸出轉(zhuǎn)矩比較小,無法滿足需要,在使用中和液壓扭矩放大器一同組成液壓脈沖馬達(dá)。隨著步進(jìn)電動(dòng)機(jī)技術(shù)的發(fā)展,步進(jìn)電動(dòng)機(jī)已經(jīng)能夠單獨(dú)在系統(tǒng)上進(jìn)行使用,成為了不可替代的執(zhí)行元件。比如步進(jìn)電動(dòng)機(jī)用作數(shù)控銑床進(jìn)給伺服機(jī)構(gòu)的驅(qū)動(dòng)電動(dòng)機(jī),在這個(gè)應(yīng)用中,步進(jìn)電動(dòng)機(jī)可以同時(shí)完成兩個(gè)工作,其一是傳遞轉(zhuǎn)矩,其二是傳遞信息。步進(jìn)電機(jī)也可以作為數(shù)控蝸桿砂輪磨邊機(jī)同步系統(tǒng)的驅(qū)動(dòng)電動(dòng)機(jī)。除了在數(shù)控機(jī)床上的應(yīng)用,步進(jìn)電機(jī)也應(yīng)用在其他方面,比如作為自動(dòng)送料機(jī)中的馬達(dá),作為通用的軟盤驅(qū)動(dòng)器的馬達(dá),也可以應(yīng)用在打印機(jī)和繪圖儀中等等。微電子技術(shù)的飛速發(fā)展,帶動(dòng)了機(jī)械加工技術(shù)的飛速發(fā)展。而在其發(fā)展過程中,最顯著的特點(diǎn)是機(jī)械制造將越來越密切地依賴于電子技術(shù)、檢測技術(shù)、自動(dòng)控制技術(shù)、計(jì)算機(jī)技術(shù)、系統(tǒng)論、信息論等現(xiàn)代科學(xué)技術(shù)。隨著現(xiàn)代電子科學(xué)的不斷發(fā)展與進(jìn)步,電子計(jì)算機(jī)已深深介入機(jī)械制造的各個(gè)領(lǐng)域,誕生了一系列機(jī)、電、計(jì)算機(jī)一體化的新產(chǎn)品[5]。同時(shí)微電子技術(shù)的不斷發(fā)展,數(shù)控系統(tǒng)也在不斷地更新?lián)Q代,先后經(jīng)歷了電子管(1952年)、晶體管(1959年)、小規(guī)模集成電路(1965年)、大規(guī)模集成電路及小型計(jì)算機(jī)(1970年)和微處理機(jī)或微型計(jì)算機(jī)(1974年)等五代數(shù)控系統(tǒng)。前三代數(shù)控系統(tǒng)是屬于采用專用控制計(jì)算機(jī)的硬接線(硬線)數(shù)控系統(tǒng),一般稱為普通數(shù)控系統(tǒng),簡稱NC。70年代初,隨著計(jì)算機(jī)技術(shù)的發(fā)展,使小型計(jì)算機(jī)的價(jià)格急劇下降,采用小型計(jì)算機(jī)代替專用控制計(jì)算機(jī)的第四代數(shù)控系統(tǒng),不僅在經(jīng)濟(jì)上更為合算,而且許多功能可用編制的專用程序來實(shí)現(xiàn),將它存儲(chǔ)在小型計(jì)算機(jī)的存儲(chǔ)器中,構(gòu)成所謂控制軟件,提高了系統(tǒng)的可靠性和功能特色。這種數(shù)控系統(tǒng)又稱為軟接線(軟線)數(shù)控,即計(jì)算機(jī)數(shù)控系統(tǒng),簡稱CNC。1974年制成以微處理機(jī)為核心的數(shù)控系統(tǒng),稱為第五代微型機(jī)數(shù)控系統(tǒng),簡稱MNC。隨著機(jī)電產(chǎn)品對(duì)負(fù)載精度要求的提高,原有的PLC控制系統(tǒng)的步進(jìn)電機(jī)已很難滿足不斷發(fā)展的機(jī)電產(chǎn)品的要求。PLC控制系統(tǒng)的步進(jìn)電機(jī)存在成本高,工作方式單一和人機(jī)交互不便等缺點(diǎn)。為解決此問題,我們研制了一種能代替PLC控制系統(tǒng)的新的控制系統(tǒng)基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)。本文論述了基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)方法和研制過程,包括:硬件設(shè)計(jì)、軟件設(shè)計(jì)、可靠性設(shè)計(jì)等方面。硬件電路用凌陽16位SPCE061A單片機(jī)、先進(jìn)的接口技術(shù)和大規(guī)模集成電路設(shè)計(jì)而成。軟件程序用SPCE061A匯編語言寫成。利用軟硬件結(jié)合,實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)工作狀態(tài)的自動(dòng)控制和精確控制。利用單片機(jī)輸出的CP脈沖和方向信號(hào),改變對(duì)步進(jìn)電機(jī)繞組的通電方式和通電順序,來準(zhǔn)確控制步進(jìn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn),步距精度等工作狀態(tài),方便良好的人機(jī)界面是用4x4鍵盤/數(shù)碼管顯示來實(shí)現(xiàn)的。單片機(jī)控制系統(tǒng)的步進(jìn)電機(jī),自動(dòng)化程度高、成本低、體積小、控制精確等優(yōu)點(diǎn),有很好的經(jīng)濟(jì)效益和廣闊的發(fā)展前景。單片機(jī)控制系統(tǒng)的研制成功,是步進(jìn)電機(jī)發(fā)展中的一次較大的進(jìn)步,它表明了目前正在使用的許多PLC控制系統(tǒng)完全可以由單片機(jī)控制系統(tǒng)所代替。第2章方案論證和比較2.1單片機(jī)概述[6]電子計(jì)算機(jī)是20世界紀(jì)40年代發(fā)展起來的新技術(shù)之一,它的出現(xiàn)是科學(xué)技術(shù)產(chǎn)生了一場深刻的革命。特別是自1971年以來,隨著大規(guī)模集成電路的發(fā)展,又出現(xiàn)了微型計(jì)算機(jī)。它對(duì)發(fā)展現(xiàn)代化的工業(yè)、農(nóng)業(yè)、國防和科學(xué)技術(shù)具有極其巨大的推動(dòng)作用。作為微型機(jī)控制系統(tǒng)的組成,主要分為兩大部分,硬件和軟件。硬件是指微型計(jì)算機(jī)本身及其外圍設(shè)備;軟件是指管理計(jì)算機(jī)的程序以及過程控制應(yīng)用程序。2.1.1硬件硬件是由主機(jī)、接口電路及外部設(shè)備組成的。各個(gè)系統(tǒng)采用硬件的數(shù)量也不相同,而且,各個(gè)系統(tǒng)可以根據(jù)需要任意擴(kuò)展,也為計(jì)算機(jī)的廣泛應(yīng)用提供條件。1)主機(jī)。它是計(jì)算機(jī)空著系統(tǒng)的主要部分,通過接口它向外部發(fā)出各種命令,同時(shí)它還可以進(jìn)行巡回檢測、數(shù)據(jù)的處理及計(jì)算、報(bào)警處理、邏輯判斷等功能。2)接口及輸入輸出通道。它是主機(jī)和被控對(duì)象信息交換的橋梁。一般根據(jù)功能及傳送數(shù)據(jù)的方法可分為:(1)并行接口,如PIO;(2)串行接口,如SIO;(3)直接數(shù)據(jù)傳送,如DMA;(4)實(shí)時(shí)時(shí)鐘,如CTC。3)通用外部設(shè)備。包括顯示器、打印機(jī)、存儲(chǔ)器等,這些設(shè)備極大地?cái)U(kuò)充了主機(jī)的功能。4)檢測設(shè)備及操作臺(tái)。檢測設(shè)備的主要作用是將被檢測參數(shù)的非電量變成電量,而通過操作臺(tái)人們可以向計(jì)算機(jī)輸入程序,修改內(nèi)存的數(shù)據(jù),顯示被測參數(shù)以及發(fā)出各種操作指令等。5)執(zhí)行機(jī)構(gòu)。比如說,步進(jìn)電機(jī)和馬達(dá)等,常見的執(zhí)行機(jī)構(gòu)有電動(dòng)、氣動(dòng)和液動(dòng)等形式。2.1.2軟件軟件是指能完成各功能的計(jì)算機(jī)程序的總合,如操作、監(jiān)控、控制、計(jì)算和自診斷等。因此,軟件的分類也很多,就語言來分,可分為機(jī)器語言、匯編語言和高級(jí)語;就功能來分,可以分為系統(tǒng)軟件、應(yīng)用軟件及數(shù)據(jù)庫。系統(tǒng)軟件專門用來使用管理計(jì)算機(jī)本身的程序;應(yīng)用軟件是面向用戶本身的程序;數(shù)據(jù)庫及數(shù)據(jù)庫管理系統(tǒng)主要用于大量的數(shù)據(jù)管理及資料檢索系統(tǒng)。2.2步進(jìn)電機(jī)的工作原理[7]步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)換成角位移或線位移的電磁機(jī)械裝置,是一種輸出與輸入數(shù)字脈沖相對(duì)應(yīng)的增量式數(shù)字元件。在數(shù)控機(jī)床、繪圖機(jī)、打印機(jī)等方面應(yīng)用廣泛。它也可以看作是一種特殊的同步電機(jī);它具有快速起停、精確步進(jìn)及直接接收數(shù)字量的特點(diǎn),它的步距角和轉(zhuǎn)速不受電壓波動(dòng)和負(fù)載變化的影響,也不受環(huán)境條件如溫度、氣壓、沖擊、和振動(dòng)等影響,僅與脈沖頻率有關(guān),這些特點(diǎn)使它完全適用于數(shù)字控制的系統(tǒng)中作為伺服元件,并使整個(gè)系統(tǒng)大為簡化而又運(yùn)行可靠。本課題選用了最常見的一種小步距角的三相反應(yīng)式步進(jìn)電機(jī)其剖面圖。如圖2-1所示,電機(jī)的定子上有6個(gè)等分的磁極,相鄰兩個(gè)磁極間的夾角為60度。磁極上裝有控制繞組并聯(lián)成A,B,C三相。轉(zhuǎn)子上均勻分布40個(gè)齒,每個(gè)齒的齒距為9度。定子每段極弧上也有5個(gè)齒,定、轉(zhuǎn)子的齒寬和齒距都相同。每個(gè)定子磁極的極距為60度,所以每個(gè)極距所占的齒距數(shù)不是整數(shù)。當(dāng)A極下的定、轉(zhuǎn)子齒對(duì)齊,B極和C極下的齒就分別和轉(zhuǎn)子齒相錯(cuò)三分之一的轉(zhuǎn)子齒距,即為3度。這時(shí)若給B相通電,電機(jī)中產(chǎn)生沿B極軸線力一向的磁場,因磁通要按磁阻最小的路徑閉合,就使轉(zhuǎn)子受到反應(yīng)轉(zhuǎn)距(磁阻轉(zhuǎn)距)的作用而轉(zhuǎn)動(dòng),直到轉(zhuǎn)子齒和B極上的齒對(duì)齊為止。此時(shí),A極和C極下的齒又分別與轉(zhuǎn)子齒相錯(cuò)三分之一的轉(zhuǎn)子齒距。由此可見:錯(cuò)齒是促使步進(jìn)電機(jī)旋轉(zhuǎn)的根本原因。圖2-1步進(jìn)電機(jī)的剖面圖若斷開B相控制繞組,而接通C相控制繞組,這時(shí)電機(jī)中產(chǎn)生沿C極軸線方向的磁場。同理,在反應(yīng)轉(zhuǎn)距(磁阻轉(zhuǎn)距)的作用下,轉(zhuǎn)子安順時(shí)針方向轉(zhuǎn)過3度,使定于C極下的齒與轉(zhuǎn)子齒對(duì)齊。以此類推,當(dāng)控制繞組按A-B-C-A順序循環(huán)通電時(shí)轉(zhuǎn)子就沿著順時(shí)針方向以每個(gè)脈沖轉(zhuǎn)動(dòng)3度的規(guī)律轉(zhuǎn)動(dòng)起來。若改變通電順序,即按A-C-B-A順序循環(huán)通電時(shí),轉(zhuǎn)子便按逆時(shí)針方向同樣以每個(gè)脈沖轉(zhuǎn)動(dòng)3度。這就是單三拍通電方式。若采用三相單、雙六拍通電方式運(yùn)行,即A-AB-B-BC-C-CA-A順序循環(huán)通電,步距角將減小一半,即每個(gè)脈沖轉(zhuǎn)過1.5度。2.2.1步進(jìn)電機(jī)工作方式的選擇常見的步進(jìn)電機(jī)的工作方式有以下二種:1)三相單三拍:A-B-C-A;2)三相雙三拍:AB-BC-CA-AB;3)三相六拍:A-AB-B-BC-C-CA-A按以上順序通電,步進(jìn)電機(jī)正轉(zhuǎn),按相反方向通電,步進(jìn)電機(jī)反轉(zhuǎn)。這三種方式的主要區(qū)別是:電機(jī)繞組的通電、放電時(shí)間不同。工作方式是單三拍時(shí)通電時(shí)間最短,雙三拍時(shí)允許放電時(shí)間最短,六拍時(shí)通電時(shí)間和放電時(shí)間最長。因此,同一脈沖頻率時(shí),六拍的工作方式出力最大。而且,電機(jī)是三拍的工作方式時(shí),其分辨率為3度,六拍的工作方式時(shí),分辨率是1.5度。(1)控制步進(jìn)電機(jī)換向順序通電換向這一過程稱為脈沖分配。例如:三相步進(jìn)電機(jī)的三相三拍工作方式,其各相通電順序?yàn)锳-B-C-D,通電控制脈沖必須嚴(yán)格按照這一順序分別控制A,B,C,D相的通斷。(2)控制步進(jìn)電機(jī)的轉(zhuǎn)向如果給定工作方式正序換相通電,步進(jìn)電機(jī)正轉(zhuǎn),如果按反序通電換相,則電機(jī)就反轉(zhuǎn)。(3)控制步進(jìn)電機(jī)的速度如果給步進(jìn)電機(jī)發(fā)一個(gè)控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個(gè)脈沖,它會(huì)再轉(zhuǎn)一步。兩個(gè)脈沖的間隔越短,步進(jìn)電機(jī)就轉(zhuǎn)得越快。調(diào)整單片機(jī)發(fā)出的脈沖頻率,就可以對(duì)步進(jìn)電機(jī)進(jìn)行調(diào)速。2.3單片機(jī)控制步進(jìn)電機(jī)的設(shè)計(jì)思路典型的步進(jìn)電機(jī)控制系統(tǒng)如圖2-2所示。圖2-2典型的步進(jìn)電機(jī)控制系統(tǒng)圖[8]變頻信號(hào)源是一個(gè)脈沖頻率由幾赫到幾十千赫可連續(xù)變化的信號(hào)發(fā)生器,它為脈沖分配器提供脈沖序列。如果采用單片機(jī)來作為變頻信號(hào)源,來控制步進(jìn)電機(jī),則可以發(fā)出有規(guī)律的脈沖信號(hào),經(jīng)過脈沖放大器后,為步進(jìn)電機(jī)提供了一種可行的通電方式。為步進(jìn)電機(jī)提供時(shí)序脈沖是單片機(jī)的主要作用,每當(dāng)步進(jìn)電機(jī)從脈沖輸入線上得到一個(gè)脈沖,便沿時(shí)序脈沖所確定的方向進(jìn)一步。設(shè)計(jì)的要求:本設(shè)計(jì)采用凌陽16位單片機(jī)SPCE061A對(duì)步進(jìn)電機(jī)進(jìn)行控制,通過IO口輸出的具有時(shí)序的方波作為步進(jìn)電機(jī)的控制信號(hào),信號(hào)經(jīng)過芯片L298N驅(qū)動(dòng)步進(jìn)電機(jī);同時(shí),用4X4的鍵盤來對(duì)電機(jī)的狀態(tài)進(jìn)行控制,并用數(shù)碼管顯示電機(jī)的轉(zhuǎn)速,采用74LS164作為4位單個(gè)數(shù)碼管的顯示驅(qū)動(dòng),從單片機(jī)輸入信號(hào);利用凌陽單片機(jī)的語音功能播報(bào)電機(jī)的轉(zhuǎn)速。根據(jù)設(shè)計(jì)要求總體設(shè)計(jì)方案如圖3-2所示:圖2-3總的設(shè)計(jì)圖[9]第3章控制系統(tǒng)的硬件電路設(shè)計(jì)3.1SPCE061A的介紹[10]SPCE061A是繼SPTM系列產(chǎn)品SPCESOOA等之后凌陽科技推出的又一款16位結(jié)構(gòu)的微控制器。與SPCESOOA不同的是,在存儲(chǔ)器資源方面考慮到用戶的較少資源的需求以及便于程序調(diào)試等功能,SPCE061A里只內(nèi)嵌32K字的閃存(FLASH)。較高的處理速度使SPTM能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號(hào)。因此,與SPCESOOA相比,以SPTM為核心的SPCE061A微控制器是適用于數(shù)字語音識(shí)別應(yīng)用領(lǐng)域產(chǎn)品的一種經(jīng)濟(jì)的選擇。3.1.1性能[11]◆16位μ’nSPTM微處理器;◆工作電壓(CPU)VDD為2.4~3.6V(I/O)VDDH為2.4~5.5V◆CPU時(shí)鐘:0.32MHz~49.152MHz;◆內(nèi)置2K字SRAM;◆內(nèi)置32KFLASH;◆可編程音頻處理;◆晶體振蕩器;◆系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)),耗電僅為2μA,3.6V◆2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值);◆2個(gè)10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道;◆32位通用可編程輸入/輸出端口;◆14個(gè)中斷源可來自定時(shí)器A/B時(shí)基,2個(gè)外部時(shí)鐘源輸入,鍵喚醒;◆具備觸鍵喚醒的功能;◆使用凌陽音頻編碼SACM_S240方式(2.4K位/秒),能容納210秒的語音數(shù)據(jù);◆鎖相環(huán)PLL振蕩器提供系統(tǒng)時(shí)鐘信號(hào);◆32768Hz實(shí)時(shí)時(shí)鐘;◆7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器;◆聲音模/數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動(dòng)增益控制(AGC)功能;◆具備串行設(shè)備接口;◆具有低電壓復(fù)位(LVR)功能和低電壓監(jiān)測(LVD)功能;◆內(nèi)置在線仿真電路ICE(In-CircuitEmulator)接口;◆具有保密能力;◆具有WatchDog功能。3.1.2結(jié)構(gòu)SPCE061A的結(jié)構(gòu)如圖1.2所示:圖3-1SPCE061A的結(jié)構(gòu)圖3.1.3芯片的引腳排列和說明[9]SPCE061A有兩種封裝片,一種為84個(gè)引腳,PLCC84封裝形式;它的排列如圖3-2所示;另一種為80個(gè)引腳,LQFP80封裝。如圖3-3所示。圖3-2PLCC84結(jié)構(gòu)圖圖3-3LQFP80結(jié)構(gòu)圖3.1.4SPCE061A單片機(jī)硬件結(jié)構(gòu)SPCE061A芯片內(nèi)部集成了ICE(在線實(shí)時(shí)仿真/除錯(cuò)器)、FLASH(閃存)、SRAM(靜態(tài)內(nèi)存)、通用I/O端口、定時(shí)器/計(jì)數(shù)器、中斷控制、CPU時(shí)鐘鎖相環(huán)(PLL),ADC(模擬數(shù)字轉(zhuǎn)換器),DAC(數(shù)字模擬轉(zhuǎn)換器)輸出、UART(通用異步串行輸入輸出接曰)、SIO串行輸入輸出接口)、低電壓監(jiān)測/低電壓復(fù)位等模塊。在本章中我們將詳細(xì)介紹各個(gè)模塊的結(jié)構(gòu)及應(yīng)用。如圖3-4所示:圖3-4SPCE061A硬件結(jié)構(gòu)圖用戶寄存器SP:堆棧指針R1-R4通用寄存器BP基指針SR:段寄存器NZSC4個(gè)標(biāo)志位DS:數(shù)據(jù)段選擇控制位PC:程序計(jì)數(shù)器SHIFTER移位器ALU算術(shù)邏輯單元ADDRGEN地址編碼器MUD多路選擇開關(guān)3.1.5μ’NspTM的核心結(jié)構(gòu)μ’nSPTM的核心由總線、ALU算術(shù)邏輯運(yùn)算單元、寄存器組、中斷系統(tǒng)及堆棧等部分組成。ALU算術(shù)邏輯運(yùn)算單元μ’nSPTM的ALU非常有特色,除了一般基本的16位算術(shù)邏輯運(yùn)算,還提供了結(jié)合算術(shù)邏輯的16位移位運(yùn)算。在數(shù)字信號(hào)處理方面,提供了高速的16位×16位乘法運(yùn)算和內(nèi)積(乘加)運(yùn)算。16位算術(shù)邏輯運(yùn)算μ’nSPTM與大多數(shù)CPU一樣,提供了基本的算術(shù)運(yùn)算與邏輯操作指令,加法、減法、比較、補(bǔ)碼、異或、或、與、測試、寫入、讀出等16位算術(shù)邏輯運(yùn)算及數(shù)據(jù)傳送操作。結(jié)合算術(shù)邏輯的16位移位運(yùn)算μ’nSPTM的移位運(yùn)算包括:算術(shù)右移ASR、邏輯左移LSL、邏輯右移LSR、旋轉(zhuǎn)左移ROL及旋轉(zhuǎn)右移ROR。μ’nSPTM的移位器shifter就串接在ALU的前面,也就是說,操作數(shù)在經(jīng)過移位處理后,馬上會(huì)進(jìn)入ALU進(jìn)行算數(shù)邏輯運(yùn)算。所以,μ’nSPTM的移位指令都是復(fù)合式指令,一個(gè)指令會(huì)同時(shí)完成移位和算術(shù)邏輯運(yùn)算。程序設(shè)計(jì)者可利用這些復(fù)合式的指令,撰寫更精簡的程序代碼,進(jìn)而增加程序代碼密集度(CodeDensity)。在微控制器應(yīng)用中,如何增加程序代碼密集度是非常重要的問題;提高程序代碼密集度可以減少程序代碼的大小,進(jìn)而減少ROM或FLASH的需求,以降低系統(tǒng)成本與增加執(zhí)行效能。16位*16位的乘法運(yùn)算和內(nèi)積(乘加)運(yùn)算除了普通的16位算數(shù)邏輯運(yùn)算指令外,μ’nSPTM還提供了高速的16位16位乘法運(yùn)算指令MUL,和16位內(nèi)積運(yùn)算指令MULS。二者都可以用于有符號(hào)數(shù)相乘(signedsigned)或無符號(hào)數(shù)與有符號(hào)數(shù)相乘(unsignedsigned)的運(yùn)算。在μ’nSPTMISA1.1指令集下,MUL指令只需花費(fèi)12個(gè)時(shí)鐘周期,MULS指令花費(fèi)10n+6個(gè)時(shí)鐘周期,其中n為乘加的項(xiàng)數(shù)。例如:“MR=[R2]*[R1],4”表示求4項(xiàng)乘積的和,MULS指令只需花費(fèi)46(10×4+6=46)個(gè)時(shí)鐘周期。這兩條指令大大的提升了μ’nSPTM的數(shù)字信號(hào)處理能力。寄存器組μ’nSPTMCPU的寄存器組一共有8個(gè)16位寄存器,可分為通用寄存器和專用寄存器兩大類別。通用寄存器包括:R1~R4,作為算術(shù)邏輯運(yùn)算的來源及目標(biāo)寄存器。專用寄存器包括SP、BP、SR、PC,是與CPU特定用途相關(guān)的寄存器。通用寄存器R1-R4(General-purposeregisters)可用于數(shù)據(jù)運(yùn)算或傳送的來源及目標(biāo)寄存器。寄存器R4、R3配對(duì)使用,還可組成一個(gè)32位的乘法結(jié)果寄存器MR;其中R4為MR的高字符組,R3為MR的低字符組,用于存放乘法運(yùn)算或內(nèi)積運(yùn)算結(jié)果。堆棧指針寄存器SP(StackPointer)SP是用來紀(jì)錄堆棧地址的寄存器,SP會(huì)指向堆棧的頂端。堆棧是一個(gè)先進(jìn)后出的內(nèi)存結(jié)構(gòu),μ’nSPTM的堆棧結(jié)構(gòu)是由高地址往低地址的方向來儲(chǔ)存的。CPU執(zhí)行push、子程序調(diào)用call、以及進(jìn)入中斷服務(wù)子程序(ISR,InterruptServiceRoutine)時(shí),會(huì)在堆棧里儲(chǔ)存寄存器內(nèi)容,這時(shí)SP會(huì)遞減以反映堆棧用量的增加。當(dāng)CPU執(zhí)行pop時(shí)、子程序返回ret、以及從ISR返回reti時(shí),SP會(huì)遞增以反映堆棧用量的減少。μ’nSPTM堆棧的大小限制在2K字的SRAM內(nèi),即地址為0x000000~0x0007FF的內(nèi)存范圍中。基址指針寄存器BP(BasePointer)μ’nSPTM提供了一種方便的尋址方式,即基址尋址方式[BP+IM6];程序設(shè)計(jì)者可通過BP來存取ROM與RAM中的數(shù)據(jù),包括:局部變量(LocalVariable)、函數(shù)參數(shù)(FunctionParameter)、返回地址(ReturnAddress)等等。BP除了上述用途外,也可做為通用寄存器R5,用于數(shù)據(jù)運(yùn)算傳送的來源及目標(biāo)寄存器。因此,在本書或程序中,BP與R5是共享的,均代表基址指針寄存器。程序計(jì)數(shù)器PC(ProgramCounter)它的作用與一般微控制器中的PC相同,是用來紀(jì)錄程序目前執(zhí)行位置的寄存器,以控制程序走向。CPU每執(zhí)行完一個(gè)指令,就會(huì)改變PC的值,使其指向下一條指令的地址。在μ’nSPTM里,16位的PC寄存器與SR寄存器的CS字段,共同組成一個(gè)22位的程序代碼地址。狀態(tài)寄存器SR(StatusPointer)SR內(nèi)含許多字段,每個(gè)字段都有特別的用途,如圖2.1所示。其中包含兩個(gè)6位的區(qū)段選擇字段:CS(CodeSegment),DS(DataSegment),它們可與其它16位的寄存器結(jié)合在一起形成一個(gè)22位的地址,用來尋址4M字容量的內(nèi)存。SPCE061A只有32K字的閃存,只占用一頁的存儲(chǔ)空間,所以CS和DS字段在SPCE061A中都是設(shè)為0。3.2步進(jìn)電機(jī)的選擇[7]本設(shè)計(jì)的重點(diǎn)在于對(duì)步進(jìn)電機(jī)的控制和驅(qū)動(dòng),在設(shè)計(jì)要求中沒有對(duì)步進(jìn)電機(jī)提出特別的要求,因此為了設(shè)計(jì)的方便,選擇受控電機(jī)為三相三線制的步進(jìn)電機(jī)(內(nèi)阻33歐,步進(jìn)1.8度,額定電壓12V)3.3步進(jìn)電機(jī)的驅(qū)動(dòng)電路設(shè)計(jì)[12]方案一:使用多個(gè)功率放大器件驅(qū)動(dòng)電機(jī)通過使用不同的放大電路和不同參數(shù)的器件,可以達(dá)到不同的放大的要求,放大后能夠得到較大的功率。但是由于使用的是四相的步進(jìn)電機(jī),就需要對(duì)四路信號(hào)分別進(jìn)行放大,由于放大電路很難做到完全一致,當(dāng)電機(jī)的功率較大時(shí)運(yùn)行起來會(huì)不穩(wěn)定,而且電路的制作也比較復(fù)雜。方案二:使用L298N芯片驅(qū)動(dòng)電機(jī)L298N芯片可以驅(qū)動(dòng)兩個(gè)二相電機(jī)(如圖3-5所示),也可以驅(qū)動(dòng)一個(gè)四相電機(jī),輸出電壓最高可達(dá)50V,可以直接通過電源來調(diào)節(jié)輸出電壓;可以直接用單片機(jī)的IO口提供信號(hào);而且電路簡單,使用比較方便。通過比較,根據(jù)設(shè)計(jì)提出的要求,使用L298N芯片充分發(fā)揮了它的功能,能穩(wěn)定地驅(qū)動(dòng)步進(jìn)電機(jī),從經(jīng)濟(jì)考慮,且價(jià)格不高,故選用L298N芯片驅(qū)動(dòng)電機(jī)。而使用L298N芯片時(shí),可以用L297芯片來提供時(shí)序信號(hào),可以節(jié)省單片機(jī)IO口的使用;也可以直接用單片機(jī)模擬出時(shí)序信號(hào),由于控制并不復(fù)雜,電路也比較容易看懂,故選用后者。圖3-5用L298N芯片驅(qū)動(dòng)電機(jī)圖通過L298N構(gòu)成步進(jìn)電機(jī)的驅(qū)動(dòng)電路,電路圖如圖3-6所示。通過單片機(jī)SPCE061A的IOB8~I(xiàn)OB13對(duì)L298N的IN1~I(xiàn)N4口和ENA、ENB口發(fā)送方波脈沖信號(hào),起時(shí)序圖如圖3-7所示。圖3-6進(jìn)電機(jī)的驅(qū)動(dòng)電路圖圖3-7起時(shí)序圖3.4數(shù)碼管顯示電路的設(shè)計(jì)[13]方案一:串行接法設(shè)計(jì)中要顯示4位數(shù)字,用74LS164作為顯示驅(qū)動(dòng),其中帶鎖存,使用串行接法可以節(jié)約IO口資源,但要使用SIO,發(fā)送數(shù)據(jù)時(shí)容易控制。方案二:并行接法使用并行接法時(shí)要對(duì)每個(gè)數(shù)碼管用IO口單獨(dú)輸入數(shù)據(jù),占用資源較多。由于設(shè)計(jì)中用一塊單片機(jī)進(jìn)行控制,資源有限,因此選擇了方案一。另外,使用鎖存也起到節(jié)約資源的作用。數(shù)碼管的顯示驅(qū)動(dòng)使用74LS164,通過SPCE061A的IOB0和IOB1口對(duì)DATA和CLK發(fā)送數(shù)據(jù)。如圖3-8所示:圖3-8用74LS164驅(qū)動(dòng)電路圖3.54X4鍵盤電路的設(shè)計(jì)[14]行列式鍵盤的工作原理:在鍵盤中按鍵數(shù)量較多是,為了減少I/O口的占用,通常將按鍵排列成矩陣形式,如圖3-9所示,每條水平線和垂直線在交叉處不直接連通,而是通過一個(gè)按鍵加以連接。這樣,本來一個(gè)端口最多只有8個(gè)按鍵,現(xiàn)在就可以構(gòu)成4x4=16個(gè)按鍵,比它直接將端口線用于鍵盤多出了一倍,而且線越多,區(qū)別越明顯。由此可見,在需要的鍵數(shù)比較多時(shí),可以采用行列式法來做鍵盤。在設(shè)計(jì)中,使用了標(biāo)準(zhǔn)的4x4鍵盤,其電路圖如圖3-9所示。單片機(jī)的A口低8位為鍵盤的接口。盡管設(shè)計(jì)要求中只需要4個(gè)鍵對(duì)步進(jìn)電機(jī)的狀態(tài)進(jìn)行控制,但考慮到對(duì)控制功能的擴(kuò)展,我們使用了4x4的鍵盤。行列式結(jié)構(gòu)的鍵盤顯然比直接法要復(fù)雜一些,識(shí)別也復(fù)雜一些圖3-9所示接口電路由HEADER8x2的引腳高、低4位構(gòu)成4x4行列矩陣鍵盤。其中1、3、5、7引腳作為鍵盤的掃描輸出口線;9、11、13、15引腳作為鍵盤的輸入口。為判斷是否有鍵按下,所有的輸出口向行線輸出低電平,一旦有鍵按下,則輸入線就會(huì)被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有按鍵按下了。結(jié)合圖3-9所示,檢測的方法是引腳1、3、5、7輸出全“0”,讀取引腳9、11、13、15的狀態(tài),若引腳1、3、5、7為全“1”,則無鍵閉合,否則有鍵閉合。然后判斷按鍵的位置,如果有鍵按下,被按鍵處的行線和列線被接通,使穿過閉合鍵的那條列線變?yōu)榈碗娖健7椒ㄊ菍?duì)鍵盤的行線進(jìn)行掃描。引腳9、11、13、15按下述4種組合依次輸出:引腳151110引腳131101引腳111011引腳90111然后測試行線狀態(tài)中是否有低電平。在每組行輸出時(shí)讀取引腳1、3、5、7,若全為“1”,則表示這一行沒有鍵閉合,否則有鍵閉合。由此得到閉合鍵的行值和列值,然后可采用計(jì)算法或查表發(fā)將閉合鍵的行值和列值轉(zhuǎn)換成所定義的鍵值。圖3-94x4鍵盤電路第4章控制系統(tǒng)的軟件設(shè)計(jì)單片機(jī)控制步進(jìn)電機(jī)的程序編制步進(jìn)電機(jī)控制程序設(shè)計(jì)的主要問題有三個(gè):第一,控制脈沖的產(chǎn)生;第二,步進(jìn)電機(jī)的旋轉(zhuǎn)方向和時(shí)序脈沖的關(guān)系;第三,步數(shù)的確定。作為單片機(jī)控制步進(jìn)電機(jī)的程序的構(gòu)成也是主要由這幾個(gè)問題,因此可以從這三個(gè)問題入手。4.1控制脈沖的產(chǎn)生[15]在單片機(jī)控制步進(jìn)電機(jī)時(shí),一般來講,控制脈沖是用軟件產(chǎn)生的。方法是先輸出一個(gè)高電平,然后延時(shí),再輸出低電平,再進(jìn)行延時(shí)。延時(shí)時(shí)間的長短由步進(jìn)電機(jī)的作頻率決定。時(shí)序脈沖產(chǎn)生的延時(shí)控制框圖如圖4-1所示。圖4-1時(shí)序脈沖產(chǎn)生的延時(shí)控制框圖4.2步進(jìn)電機(jī)的旋轉(zhuǎn)方向和時(shí)序脈沖的關(guān)系[7]步進(jìn)電機(jī)旋轉(zhuǎn)方向與內(nèi)部繞組的通電順序和通電方式有關(guān)。現(xiàn)在常用的通電方式主要有三種:1)三相單三拍:A→B→C→A;2)三相雙三拍:AB→BC→CA→AB;3)三相六拍:A→AB→B→BC→C→CA→A;按以上順序通電,步進(jìn)電機(jī)正轉(zhuǎn),按相反方向通電,步進(jìn)電機(jī)反轉(zhuǎn)。因此,產(chǎn)生時(shí)序脈沖的方法是:(1)利用單片機(jī)的P1端口,即用P1.0,P1.1,P1.2分別控制三相步進(jìn)電機(jī)的A,B,C三相繞組;(2)根據(jù)控制模式寫出控制模型;(3)控制模型的順序向步進(jìn)電機(jī)輸入控制脈沖。從通電方式的二進(jìn)制數(shù)可以看出,步進(jìn)電機(jī)每步進(jìn)一步,高電平就左移或右移一位。所以,我們可以考慮借助累加器A來實(shí)現(xiàn)步進(jìn)電機(jī)的通電,可以把一個(gè)時(shí)序字節(jié)放在累加器A中,在每個(gè)采樣時(shí)刻累加器A左移或右移一位,經(jīng)輸出口輸出。為了彌補(bǔ)8位的不足,可以考慮加入進(jìn)位標(biāo)志位CY這樣就可以把它看成是第9位,這樣就能實(shí)現(xiàn)所需要的通電方式。下面以三相單三拍和三相雙三拍為例來研究累加器中時(shí)序字節(jié)的轉(zhuǎn)移。三相單三拍通電方式,可以考慮在累加器A中放置時(shí)序控制字節(jié)49H。示意圖如圖4-2所示。圖4-2三相單三拍通電方式示意圖三相雙三拍通電方式,可以考慮在累加器A中放置時(shí)序控制字節(jié)BBH。示意圖如圖4-3所示。圖4-3三相雙三拍通電方式示意圖4.3步數(shù)的確定步進(jìn)電機(jī)運(yùn)行的步數(shù)可由步距角和需要轉(zhuǎn)過的角度來計(jì)算:式中:-步距角;-轉(zhuǎn)子齒數(shù);-拍數(shù)(一般三拍時(shí)=或六拍時(shí)=2);-控制繞組相數(shù),=3。例如:=40,三相三拍運(yùn)行,==3,則步距角為:=40,三相六拍運(yùn)行,,則步距角為:若要求步進(jìn)電機(jī)轉(zhuǎn)過的角度為75度,采用三相六拍運(yùn)行方式,那么步數(shù)就為:=50(步)。在程序設(shè)計(jì)時(shí),將50步化為二進(jìn)制為32H,32H作為步數(shù)控制量就可以了。做完了以上的工作,就可以進(jìn)行步進(jìn)電機(jī)控制程序的設(shè)計(jì)了??梢园巡竭M(jìn)電機(jī)所要走的步數(shù)放在寄存器乳中,轉(zhuǎn)向標(biāo)志存放在程序狀態(tài)寄存器用戶標(biāo)志位PSW的FO(地址D5H)中,當(dāng)FO的值為“0",步進(jìn)電機(jī)正轉(zhuǎn);當(dāng)FO的值為“1”時(shí),步進(jìn)電機(jī)反轉(zhuǎn),假如步進(jìn)電機(jī)的正轉(zhuǎn)模型為O1H,03H,02H,06H,04H,OSH存放在8751片內(nèi)數(shù)據(jù)存儲(chǔ)器20H-25H中,26H中存放結(jié)束標(biāo)志OOH。在27H開始存儲(chǔ)區(qū)內(nèi)存放反轉(zhuǎn)控制模型O1H,OSH,04H,06H,02H,03H,在2DH單元存放結(jié)束標(biāo)志OOH。用程序延時(shí)方法編程的流程圖,如圖4-4所示。圖4-4程序延時(shí)流程圖4.4步進(jìn)電機(jī)的變速控制上面給的程序流程圖是步進(jìn)電機(jī)的恒速運(yùn)轉(zhuǎn)方式。一般來講,步進(jìn)電機(jī)的一個(gè)弱點(diǎn),就是運(yùn)行中丟步,為了使步進(jìn)電機(jī)在運(yùn)行中不出現(xiàn)丟步現(xiàn)象,一般要小于或等于步進(jìn)電機(jī)“響應(yīng)頻率”人,在該頻率下,步進(jìn)電機(jī)可以任意啟動(dòng)、停止或反轉(zhuǎn)而不發(fā)生失步現(xiàn)象。這個(gè)頻率通常比較低。當(dāng)步進(jìn)電機(jī)走過的距離比較長時(shí),需要低速啟動(dòng),高速運(yùn)轉(zhuǎn),然后降低速度,最后停止。這樣就解決了“快速而不失步”的矛盾。那么實(shí)現(xiàn)變速控制的基本思想是改變控制頻率。設(shè)某個(gè)步進(jìn)電機(jī)的控制過程如圖4-5所示。L1~L3分別代表各個(gè)不同運(yùn)行階段的步長,f代表步進(jìn)電機(jī)當(dāng)前運(yùn)行頻率。如圖4-5所示,L2段為恒速運(yùn)行階段,L1段位為升頻,L3段位為降頻。在各個(gè)不同的運(yùn)行階段,根據(jù)程序執(zhí)行不同的控制程序,這樣減小因步進(jìn)電機(jī)丟步對(duì)控制過程的影響,這對(duì)于國產(chǎn)的步進(jìn)電機(jī)效果會(huì)更好些。圖4-5運(yùn)行頻率圖下面對(duì)于8751內(nèi)部的數(shù)據(jù)存儲(chǔ)區(qū)的一些單元進(jìn)行定義,如表4-1~4-3所示[16]。表4-1內(nèi)存字節(jié)位置20H21H22H23H24H25H26H控制模型數(shù)據(jù)01H03H02H06H04H05H00H表4-2內(nèi)存字節(jié)位置27H28H29H2AH2BH2CH2DH控制模型數(shù)據(jù)01H05H04H06H02H03H00H表4-3位地址標(biāo)志內(nèi)容70H運(yùn)行方式:0代表恒速,1代表變速71H變速方式:0代表降速,1代表升速72H恒速變向:0代表正轉(zhuǎn),1代表反轉(zhuǎn)73H升速轉(zhuǎn)向:0代表正轉(zhuǎn),1代表反轉(zhuǎn)74H降速轉(zhuǎn)向:0代表正轉(zhuǎn),1代表反轉(zhuǎn)75H程序結(jié)束標(biāo)志:02代表程序結(jié)束由上面的工作,可以得到總控制程序流程圖,如圖4-6a,b所示。圖4-64.5語音報(bào)數(shù)程序設(shè)計(jì)中語音報(bào)數(shù)使用的是SACM-A2000,考慮到程序比較簡單,首先使用了自動(dòng)報(bào)數(shù)方式,但發(fā)現(xiàn)不能進(jìn)行連續(xù)報(bào)數(shù),于是使用了非自動(dòng)方式,流程圖如圖4-2所示。圖4-8流程圖第5章結(jié)論隨著機(jī)電產(chǎn)品對(duì)負(fù)載精度要求的提高,原有的PLC控制系統(tǒng)[20]的步進(jìn)電機(jī)已很難滿足不斷發(fā)展的機(jī)電產(chǎn)品的要求。PLC控制系統(tǒng)的步進(jìn)電機(jī)存在成本高,工作方式單一和人機(jī)交互不便等缺點(diǎn)。為解決此問題,我們研制了一種能代替PLC控制系統(tǒng)的新的控制系統(tǒng)基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)。本文論述了基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)方法和研制過程,包括:硬件設(shè)計(jì)、軟件設(shè)計(jì)、可靠性設(shè)計(jì)等方面。硬件電路用凌陽16位SPCE061A單片機(jī)、先進(jìn)的接口技術(shù)和大規(guī)模集成電路設(shè)計(jì)而成。軟件程序用SPCE061A匯編語言寫成。利用軟硬件結(jié)合,實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)工作狀態(tài)的自動(dòng)控制和精確控制。利用單片機(jī)輸出的CP脈沖和方向信號(hào),改變對(duì)步進(jìn)電機(jī)繞組的通電方式和通電順序,來準(zhǔn)確控制步進(jìn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn),步距精度等工作狀態(tài),方便良好的人機(jī)界面是用4x4鍵盤/數(shù)碼管顯示來實(shí)現(xiàn)的。單片機(jī)控制系統(tǒng)的步進(jìn)電機(jī),自動(dòng)化程度高、成本低、體積小、控制精確等優(yōu)點(diǎn),有很好的經(jīng)濟(jì)效益和廣闊的發(fā)展前景。單片機(jī)控制系統(tǒng)的研制成功,是步進(jìn)電機(jī)發(fā)展中的一次較大的進(jìn)步,它表明了目前正在使用的許多PLC控制系統(tǒng)完全可以由單片機(jī)控制系統(tǒng)所代替。應(yīng)該說這次課程設(shè)計(jì)還是基本達(dá)到了設(shè)計(jì)的要求,但是也存在著未能解決的問題,由于在執(zhí)行語音程序時(shí)對(duì)資源的消耗比較大,在語音報(bào)數(shù)的時(shí)候會(huì)中斷步進(jìn)電機(jī)驅(qū)動(dòng)信號(hào)的輸出,導(dǎo)致電機(jī)停轉(zhuǎn)。為此,我們修改了方案,使用了兩塊單片機(jī),通過雙機(jī)通訊來傳遞信號(hào),遺憾的是問題仍然沒有得到解決。這次步進(jìn)電機(jī)的綜合實(shí)驗(yàn)我們學(xué)到了步進(jìn)電機(jī)、數(shù)碼管、4*4鍵盤、語音報(bào)數(shù)和雙機(jī)通訊的使用,更重要的是學(xué)會(huì)了程序出問題時(shí)調(diào)試的方法,并養(yǎng)成了Debug的習(xí)慣,學(xué)到了程序出問題后怎樣去解決的基本方法。參考文獻(xiàn)[1]《單片機(jī)原理接口與應(yīng)用》高等教育出版社黃遵喜編[2]《智能化測量儀表原理與設(shè)計(jì)》北京航空航天大學(xué)出版社徐愛均編[3]《MCS-51單片機(jī)應(yīng)用設(shè)計(jì)》哈爾濱工業(yè)大學(xué)出版社張毅鋼編[4]國產(chǎn)集成電路應(yīng)用500例電子工業(yè)出版社主編周衍仲等[5]于海生等,《微型計(jì)算機(jī)控制技術(shù)》[M]北京:清華大學(xué)出版社,1999版。[6]《單片機(jī)基礎(chǔ)》北京航空航天大學(xué)出版社李廣弟朱月繡編[7]《步進(jìn)電機(jī)應(yīng)用基礎(chǔ)》北京航空航天大學(xué)出版社徐愛均編[8]于設(shè)計(jì)中的電氣主接線圖、主要設(shè)備的原理圖等,我們將采用AUTOCAD軟件進(jìn)行繪制。[9]《凌陽16位單片機(jī)應(yīng)用基礎(chǔ)》大川康介編[10]《單片機(jī)實(shí)用接口技術(shù)》王語張盛誠編[11]《凌陽16位單片機(jī)編程教程》陳震華編[12]《MCS-51系列微型計(jì)算機(jī)原理與應(yīng)用》北京航空航天大學(xué)出版社李巡編[13]單片機(jī)仿真實(shí)驗(yàn)系統(tǒng)實(shí)驗(yàn)指導(dǎo)書江蘇啟東同創(chuàng)單片機(jī)廠主編陳向輝等。[14]《單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)》北京航空航天大學(xué)出版社何立民編[15]謝自美《電子線路設(shè)計(jì)、實(shí)驗(yàn)、測試(第二版)》[M]武漢:華中理工大版社,2000版。[16]薛鈞義,張彥斌,樊波等《凌陽十六位單片機(jī)原理及應(yīng)用》[M]北京:北空航天大學(xué)出版社,2003版。[17]優(yōu)質(zhì)電子元器件實(shí)用手冊(cè)(上)電子工業(yè)出版社[18]優(yōu)質(zhì)電子元器件實(shí)用手冊(cè)(下)電子工業(yè)出版社[19]《單片微型機(jī)原理、應(yīng)用與實(shí)驗(yàn)》復(fù)旦大學(xué)出版社趙志英張友德編[20]《單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)》北京航空航天大學(xué)出版社周航慈編致謝在本次設(shè)計(jì)中,XX導(dǎo)師給本人提供了良好的設(shè)計(jì)條件和細(xì)心的指導(dǎo)。XX導(dǎo)師前瞻性的科學(xué)思維、寬廣的專業(yè)知識(shí)和兢兢業(yè)業(yè)的工作精神,令我敬佩,使我受益匪淺。在XX導(dǎo)師的指導(dǎo)和幫助下,我順利地完成了這次設(shè)計(jì)任務(wù),在此向三位導(dǎo)師致以最誠摯的感謝!雖然畢業(yè)設(shè)計(jì)已經(jīng)完成了,但是,由于自己所學(xué)的知識(shí)有限,我們?cè)谠O(shè)計(jì)中遇到很多問題,在很多方面還不夠全面,我希望在以后的工作和專業(yè)發(fā)展中,XX導(dǎo)師能繼續(xù)給以指導(dǎo)和幫助下學(xué)到更多有關(guān)的知識(shí),來充實(shí)自己!附錄變速控制過程程序清單如下[19]:主程序:SETB70H;變頻標(biāo)志SETB71H:升頻標(biāo)志SETB75H;執(zhí)行程序WR:MOVDPTR,#addr16;初值指針MOVR3,1BH;階梯計(jì)數(shù)器附值MOVR2,1AH;階梯長計(jì)數(shù)器賦值CLRCORLC,73H;設(shè)升降速轉(zhuǎn)向JCROTER;為1轉(zhuǎn)移TQ:MOVR0,#20H;正轉(zhuǎn)模型首值A(chǔ)JMPPHROTER:MOVR0,#27H;反轉(zhuǎn)模型首值PH:MOVTMOD,#01H;T0方式1定時(shí)MOVTL0,#00H;賦初值MOVTR0SETBTR0;啟動(dòng)T0SETBET0;允許T0中斷SETBEA;CPU開中斷LOOP:MOVA,R3JNZLOOP;等待中斷CLRCORLC,75H;判程序結(jié)束標(biāo)志JNCGHCLR70H;恒速運(yùn)行CLRCORLC,72H;恒速轉(zhuǎn)向?yàn)?轉(zhuǎn)JCROTEMOVR0,#27H;正轉(zhuǎn)模型首地址AJMPTTROTE:MOVR0,#27H;反轉(zhuǎn)模型首地址TT:MOVR2,1CH;MOVR3,1DH;恒速步長計(jì)數(shù)器賦值MOVTL0,1EH;T0賦值MOVTH0,1FHLOOP1:MOVA,R2ORLA,R3JNZLOOP1;等待中斷CLREA;CPU關(guān)中斷SETB70H;變速CLR71H;降速M(fèi)OVC,74H;MOV73H,C;將降速轉(zhuǎn)向標(biāo)志裝入73HCLR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論