裝配圖單片機(jī)實(shí)現(xiàn)的步進(jìn)電機(jī)控制系統(tǒng)(開(kāi)題報(bào)告+論文+文獻(xiàn)綜述+外文翻譯+DWG圖紙)
裝配圖單片機(jī)實(shí)現(xiàn)的步進(jìn)電機(jī)控制系統(tǒng)(開(kāi)題報(bào)告+論文+文獻(xiàn)綜述+外文翻譯+DWG圖紙),裝配,單片機(jī),實(shí)現(xiàn),步進(jìn),電機(jī),機(jī)電,控制系統(tǒng),開(kāi)題,報(bào)告,講演,呈文,論文,文獻(xiàn),綜述,外文,翻譯,dwg,圖紙
目 錄
第1章 緒論 1
第2章 方案論證比較設(shè)計(jì) 5
2.1單片機(jī)概述 5
2.2步進(jìn)電機(jī)的工作原理 6
2.3單片機(jī)控制步進(jìn)電機(jī)的設(shè)計(jì)思路 9
第3章 控制系統(tǒng)的硬件電路設(shè)計(jì) 10
3.1 SPCE061A的介紹 10
3.1.1 性能 11
3.1.2 結(jié)構(gòu) 12
3.1.3芯片的引腳排列和說(shuō)明 12
3.1.4 SPCE061A單片機(jī)硬件結(jié)構(gòu) 14
3.1.5 μ’NspTM的核心結(jié)構(gòu) 15
3.2步進(jìn)電機(jī)的選擇 17
3.3 步進(jìn)電機(jī)的驅(qū)動(dòng)電路設(shè)計(jì) 18
3.4數(shù)碼管顯示電路的設(shè)計(jì) 20
3.5 4X4鍵盤(pán)電路的設(shè)計(jì) 21
第4章 控制系統(tǒng)的軟件設(shè)計(jì) 24
4.1 控制脈沖的產(chǎn)生 24
4.2 步進(jìn)電機(jī)的旋轉(zhuǎn)方向和時(shí)序脈沖的關(guān)系 25
4.3 步數(shù)的確定 27
4.4 步進(jìn)電機(jī)的變速控制 29
4.5 語(yǔ)音報(bào)數(shù) 33
第5章 結(jié)論 35
參考文獻(xiàn) 36
致謝 38
附錄 39
摘 要
單片微型計(jì)算機(jī)簡(jiǎn)稱單片機(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)控制門(mén)等組成,能把輸入的脈沖轉(zhuǎn)換成環(huán)形脈沖,以便控制步進(jìn)電機(jī),并能進(jìn)行正反向控制.但由于步進(jìn)控制器線路復(fù)雜.成本高.采用單片機(jī)控制,用軟件代替上述步進(jìn)控制器,使得線路簡(jiǎn)單,成本低,可靠性大大增加,靈活改變步進(jìn)電機(jī)的控制方案,無(wú)需邏輯電路組成時(shí)序發(fā)生器.軟件編程可靈活產(chǎn)生不同類型步進(jìn)電機(jī)勵(lì)磁序列來(lái)控制各種步進(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ì)采用凌陽(yáng)16 位單片機(jī)SPCE061A對(duì)步進(jìn)電機(jī)進(jìn)行控制,通過(guò)IO口輸出的具有時(shí)序的方波作為步進(jìn)電機(jī)的控制信號(hào),信號(hào)經(jīng)過(guò)芯片L298N驅(qū)動(dòng)步進(jìn)電機(jī);同時(shí),用 4X4的鍵盤(pán)來(lái)對(duì)電機(jī)的狀態(tài)進(jìn)行控制,并用數(shù)碼管顯示電機(jī)的轉(zhuǎn)速,采用74LS164作為4位單個(gè)數(shù)碼管的顯示驅(qū)動(dòng),從單片機(jī)輸入信號(hào);利用凌陽(yáng)單片機(jī)的語(yǔ)音功能播報(bào)電機(jī)的轉(zhuǎn)速。
關(guān)鍵詞: 單片機(jī) 步進(jìn)電機(jī)
ABSTRACT[2]
The single slice of microcomputers is abbreviated as the one-chip computer. It is every function part which makes up the microcomputer: Central processing unit, CPU, arbitrary access memory RAM , read-only memory ROM,, I/O interface circuit , timer / counter and serial communication interface ,etc. make in the integrated chip together, form an intact microcomputer. One-chip computer apply controlled field to mainly, because it have dependability high , small , price low , easy commercialization ,etc. characteristic, therefore won extensive application in fields of automatic control such as intellectual instrument and apparatus , real-time industrial control , intelligent terminal , communication equipment , navigation system , household appliances ,etc.
It is that one kind can change the electric pulse signal into a electromechanical component of angle displacement or line displacement to walk into the electrical machinery, it is a kind of figure / angle converter that is walked into the control system of the electrical machinery to mainly walk into the controller in fact, power amplifier and walking into the electrical machinery ,etc. make up . Walked into the controller to buffer the register , the annular distributor, control logic and, overturn , control door ,etc. make up , can change the pulse input into into an annular pulse , in order to control , walk into electrical machinery , can carry on positive and negative to control. But because walk into the controller circuit complicatedly. With high costs. Adopt one-chip computer control , replace with software described above to walk into the controller , make the circuit simple, with low costs, dependability increases greatly, change the control scheme of walking into the electrical machinery flexibly , do not need logical circuit to make up the time sequence generator . Software programming very flexible to produce , walk into electrical machinery excitation array come , control various operation way to walk into electrical machinery and can realize one machine control many sets of electrical machinery while being different kinds of. It is easy to realize to offer the flexible control means and improving the precision of controlling to complicated and tedious control, demonstrate the superiority that the computer controls especially in this system even more.
Design , adopt , insult male genital 16 one-chip computer SPCE061A to walk into electrical machinery control originally, square wave with time sequence as the control signal of walking into the electrical machinery through what IO mouth is outputted, the signal drives and walks into the electrical machinery through the chip L298N; Meanwhile , come state in electrical machinery go on , control with keyboard of 4X4 , in charge of rotational speed to reveal electrical machinery with number, adopt 74LS164 urge as 4 single number display that in charge of , from the input signal of the one-chip computer; Utilize the pronunciation function of insulting the open one-chip computer to report the rotational speed of the electrical machinery.
Keyword: One-chip computer Walk into the electrical machinery
38
第1章 緒論
近十幾年來(lái),單片機(jī)在生產(chǎn)過(guò)程控制、自動(dòng)檢測(cè)、數(shù)據(jù)采集與處理、科技計(jì)算、商業(yè)管理和辦公室自動(dòng)化等方面獲得了廣泛的應(yīng)用。單片機(jī)具有體積小、重量輕、耗能省、價(jià)格低、可靠性高和通用靈活等優(yōu)點(diǎn),因此也廣泛應(yīng)用于衛(wèi)星定句、汽車(chē)火花控制、交通白動(dòng)管理和微波爐等專用控制上。近幾年來(lái),單片機(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)俱全。只要寫(xiě)入程序,就可完成中央控制或數(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)。
近年來(lái),在國(guó)際上出現(xiàn)了Mechanics和electronics復(fù)合成Mechtronics這個(gè)新詞,我國(guó)譯為“機(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)的歷史并不長(zhǎng),它的產(chǎn)生與發(fā)展與微處理器的產(chǎn)生與發(fā)展大體上同步,也經(jīng)歷了四個(gè)階段[4]:
第一階段:1971~1974年,4位微處理器工intel 4004及8位微處理器工intel 8008,這些計(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萬(wàn)只品體管/片,尋址范圍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ī)沒(méi)有什么本質(zhì)區(qū)別,也是依靠氣隙間的磁導(dǎo)變化來(lái)產(chǎn)生電磁轉(zhuǎn)矩。80年代以后,由于廉價(jià)的微型計(jì)算機(jī)以多功能的姿態(tài)出現(xiàn),步進(jìn)電動(dòng)機(jī)的控制方式變得更加靈活多樣。原來(lái)的步進(jìn)電機(jī)控制系統(tǒng)采用分立元件或者集成電路組成的控制回路,不僅調(diào)試安裝復(fù)雜,要消耗大量元器件,而且一旦定型之后,要改變控制方案就一定要重新設(shè)計(jì)電路,不利于系統(tǒng)的改進(jìn)升級(jí)?;谖⑿陀?jì)算機(jī)的控制系統(tǒng)則通過(guò)軟件來(lái)控制步進(jìn)電機(jī),能夠更好地發(fā)揮步進(jìn)電機(jī)的潛力,因此,用微型計(jì)算機(jī)控制步進(jìn)電機(jī)已經(jīng)成為了一種必然的趨勢(shì),也符合數(shù)字化的時(shí)代發(fā)展要求。步進(jìn)電機(jī)控制技術(shù)和普通電動(dòng)機(jī)控制技術(shù)的不同之處是步進(jìn)電機(jī)接受脈沖信號(hào)的控制。早期的步進(jìn)電機(jī)靠一種叫環(huán)形分配器的電子開(kāi)關(guān)器件,通過(guò)功率放大器使勵(lì)磁繞組按照順序輪流接通直流電源。
由于勵(lì)磁繞組在空間中按一定的規(guī)律排列,輪流與直流電源接通后,就會(huì)在間隙中形成一種階躍變化的旋轉(zhuǎn)磁場(chǎng),使轉(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)矩比較小,無(wú)法滿足需要,在使用中和液壓扭矩放大器一同組成液壓脈沖馬達(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á),作為通用的軟盤(pán)驅(qū)動(dòng)器的馬達(dá),也可以應(yīng)用在打印機(jī)和繪圖儀中等等。
微電子技術(shù)的飛速發(fā)展,帶動(dòng)了機(jī)械加工技術(shù)的飛速發(fā)展。而在其發(fā)展過(guò)程中,最顯著的特點(diǎn)是機(jī)械制造將越來(lái)越密切地依賴于電子技術(shù)、檢測(cè)技術(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),簡(jiǎn)稱NC。70年代初,隨著計(jì)算機(jī)技術(shù)的發(fā)展,使小型計(jì)算機(jī)的價(jià)格急劇下降,采用小型計(jì)算機(jī)代替專用控制計(jì)算機(jī)的第四代數(shù)控系統(tǒng),不僅在經(jīng)濟(jì)上更為合算,而且許多功能可用編制的專用程序來(lái)實(shí)現(xiàn),將它存儲(chǔ)在小型計(jì)算機(jī)的存儲(chǔ)器中,構(gòu)成所謂控制軟件,提高了系統(tǒng)的可靠性和功能特色。這種數(shù)控系統(tǒng)又稱為軟接線(軟線)數(shù)控,即計(jì)算機(jī)數(shù)控系統(tǒng),簡(jiǎn)稱CNC。1974年制成以微處理機(jī)為核心的數(shù)控系統(tǒng),稱為第五代微型機(jī)數(shù)控系統(tǒng),簡(jiǎn)稱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)。為解決此問(wèn)題,我們研制了一種能代替PLC控制系統(tǒng)的新的控制系統(tǒng)---基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)。本文論述了基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)方法和研制過(guò)程,包括:硬件設(shè)計(jì)、軟件設(shè)計(jì)、可靠性設(shè)計(jì)等方面。硬件電路用凌陽(yáng)16位SPCE061A單片機(jī)、先進(jìn)的接口技術(shù)和大規(guī)模集成電路設(shè)計(jì)而成。軟件程序用SPCE061A匯編語(yǔ)言寫(xiě)成。利用軟硬件結(jié)合,實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)工作狀態(tài)的自動(dòng)控制和精確控制。利用單片機(jī)輸出的CP脈沖和方向信號(hào),改變對(duì)步進(jìn)電機(jī)繞組的通電方式和通電順序,來(lái)準(zhǔn)確控制步進(jìn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn),步距精度等工作狀態(tài),方便良好的人機(jī)界面是用4x4鍵盤(pán)/數(shù)碼管顯示來(lái)實(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ā)展起來(lái)的新技術(shù)之一,它的出現(xiàn)是科學(xué)技術(shù)產(chǎn)生了一場(chǎng)深刻的革命。特別是自1971年以來(lái),隨著大規(guī)模集成電路的發(fā)展,又出現(xiàn)了微型計(jì)算機(jī)。它對(duì)發(fā)展現(xiàn)代化的工業(yè)、農(nóng)業(yè)、國(guó)防和科學(xué)技術(shù)具有極其巨大的推動(dòng)作用。作為微型機(jī)控制系統(tǒng)的組成,主要分為兩大部分,硬件和軟件。硬件是指微型計(jì)算機(jī)本身及其外圍設(shè)備;軟件是指管理計(jì)算機(jī)的程序以及過(guò)程控制應(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)的主要部分,通過(guò)接口它向外部發(fā)出各種命令,同時(shí)它還可以進(jìn)行巡回檢測(cè)、數(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)檢測(cè)設(shè)備及操作臺(tái)。檢測(cè)設(shè)備的主要作用是將被檢測(cè)參數(shù)的非電量變成電量,而通過(guò)操作臺(tái)人們可以向計(jì)算機(jī)輸入程序,修改內(nèi)存的數(shù)據(jù),顯示被測(cè)參數(shù)以及發(fā)出各種操作指令等。
5)執(zhí)行機(jī)構(gòu)。比如說(shuō),步進(jìn)電機(jī)和馬達(dá)等,常見(jiàn)的執(zhí)行機(jī)構(gòu)有電動(dòng)、氣動(dòng)和液動(dòng)等形式。
2.1.2軟件
軟件是指能完成各功能的計(jì)算機(jī)程序的總合,如操作、監(jiān)控、控制、計(jì)算和自診斷等。因此,軟件的分類也很多,就語(yǔ)言來(lái)分,可分為機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ);就功能來(lái)分,可以分為系統(tǒng)軟件、應(yīng)用軟件及數(shù)據(jù)庫(kù)。系統(tǒng)軟件專門(mén)用來(lái)使用管理計(jì)算機(jī)本身的程序;應(yīng)用軟件是面向用戶本身的程序;數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)管理系統(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)大為簡(jiǎn)化而又運(yùn)行可靠。
本課題選用了最常見(jià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極軸線力一向的磁場(chǎng),因磁通要按磁阻最小的路徑閉合,就使轉(zhuǎn)子受到反應(yīng)轉(zhuǎn)距(磁阻轉(zhuǎn)距)的作用而轉(zhuǎn)動(dòng),直到轉(zhuǎn)子齒和B極上的齒對(duì)齊為止。此時(shí),A極和C極下的齒又分別與轉(zhuǎn)子齒相錯(cuò)三分之一的轉(zhuǎn)子齒距。由此可見(jiàn):錯(cuò)齒是促使步進(jìn)電機(jī)旋轉(zhuǎn)的根本原因。
圖2-1 步進(jìn)電機(jī)的剖面圖
若斷開(kāi)B相控制繞組,而接通C相控制繞組,這時(shí)電機(jī)中產(chǎn)生沿C極軸線方向的磁場(chǎng)。同理,在反應(yīng)轉(zhuǎn)距(磁阻轉(zhuǎn)距)的作用下,轉(zhuǎn)子安順時(shí)針?lè)较蜣D(zhuǎn)過(guò)3度,使定于C極下的齒與轉(zhuǎn)子齒對(duì)齊。以此類推,當(dāng)控制繞組按A-B-C-A順序循環(huán)通電時(shí)轉(zhuǎn)子就沿著順時(shí)針?lè)较蛞悦總€(gè)脈沖轉(zhuǎn)動(dòng)3度的規(guī)律轉(zhuǎn)動(dòng)起來(lái)。若改變通電順序,即按A-C-B-A順序循環(huán)通電時(shí),轉(zhuǎn)子便按逆時(shí)針?lè)较蛲瑯右悦總€(gè)脈沖轉(zhuǎn)動(dòng)3度。這就是單三拍通電方式。若采用三相單、雙六拍通電方式運(yùn)行,即A-AB-B-BC-C-CA-A順序循環(huán)通電,步距角將減小一半,即每個(gè)脈沖轉(zhuǎn)過(guò)1.5度。
2.2.1步進(jìn)電機(jī)工作方式的選擇
常見(jiàn)的步進(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í)間最長(zhǎng)。因此,同一脈沖頻率時(shí),六拍的工作方式出力最大。而且,電機(jī)是三拍的工作方式時(shí),其分辨率為3度,六拍的工作方式時(shí),分辨率是1.5度。
(1)控制步進(jìn)電機(jī)換向順序
通電換向這一過(guò)程稱為脈沖分配。例如:三相步進(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ī)來(lái)作為變頻信號(hào)源,來(lái)控制步進(jìn)電機(jī),則可以發(fā)出有規(guī)律的脈沖信號(hào),經(jīng)過(guò)脈沖放大器后,為步進(jìn)電機(jī)提供了一種可行的通電方式。為步進(jìn)電機(jī)提供時(shí)序脈沖是單片機(jī)的主要作用,每當(dāng)步進(jìn)電機(jī)從脈沖輸入線上得到一個(gè)脈沖,便沿時(shí)序脈沖所確定的方向進(jìn)一步。
設(shè)計(jì)的要求:
本設(shè)計(jì)采用凌陽(yáng)16 位單片機(jī)SPCE061A對(duì)步進(jìn)電機(jī)進(jìn)行控制,通過(guò)IO口輸出的具有時(shí)序的方波作為步進(jìn)電機(jī)的控制信號(hào),信號(hào)經(jīng)過(guò)芯片L298N驅(qū)動(dòng)步進(jìn)電機(jī);同時(shí),用4X4的鍵盤(pán)來(lái)對(duì)電機(jī)的狀態(tài)進(jìn)行控制,并用數(shù)碼管顯示電機(jī)的轉(zhuǎn)速,采用74LS164作為4位單個(gè)數(shù)碼管的顯示驅(qū)動(dòng),從單片機(jī)輸入信號(hào);利用凌陽(yáng)單片機(jī)的語(yǔ)音功能播報(bào)電機(jī)的轉(zhuǎn)速。
根據(jù)設(shè)計(jì)要求總體設(shè)計(jì)方案如圖3-2所示:
圖2-3 總的設(shè)計(jì)圖[9]
第3章 控制系統(tǒng)的硬件電路設(shè)計(jì)
3.1 SPCE061A的介紹[10]
SPCE061A是繼SPTM系列產(chǎn)品SPCESOOA等之后凌陽(yáng)科技推出的又一款16位結(jié)構(gòu)的微控制器。與SPCESOOA不同的是,在存儲(chǔ)器資源方面考慮到用戶的較少資源的需求以及便于程序調(diào)試等功能,SPCE061A里只內(nèi)嵌32K字的閃存(FLASH)。較高的處理速度使SPTM能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號(hào)。因此,與SPCESOOA相比,以SPTM為核心的SPCE061A微控制器是適用于數(shù)字語(yǔ)音識(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)置32K FLASH;
◆可編程音頻處理;
◆晶體振蕩器;
◆系統(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è)中斷源可來(lái)自定時(shí)器A / B時(shí)基,2個(gè)外部時(shí)鐘源輸入,鍵喚醒;
◆具備觸鍵喚醒的功能;
◆使用凌陽(yáng)音頻編碼 SACM_S240方式(2.4K位/秒),能容納210秒的語(yǔ)音數(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)測(cè)(LVD)功能;
◆內(nèi)置在線仿真電路 ICE(In- Circuit Emulator)接口;
◆具有保密能力;
◆具有 WatchDog 功能。
3.1.2 結(jié)構(gòu)
SPCE061A的結(jié)構(gòu)如圖1.2所示:
圖3-1 SPCE061A的結(jié)構(gòu)圖
3.1.3芯片的引腳排列和說(shuō)明[9]
SPCE061A有兩種封裝片,一種為84個(gè)引腳,PLCC84封裝形式;它的排列如圖3-2所示;另一種為80個(gè)引腳,LQFP80封裝。如圖3-3所示。
圖3-2 PLCC84結(jié)構(gòu)圖
圖3-3 LQFP80結(jié)構(gòu)圖
3.1.4 SPCE061A單片機(jī)硬件結(jié)構(gòu)
SPCE061 A芯片內(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)換器)輸出、U ART(通用異步串行輸入輸出接曰)、SIO串行輸入輸出接口)、低電壓監(jiān)測(cè)/低電壓復(fù)位等模塊。在本章中我們將詳細(xì)介紹各個(gè)模塊的結(jié)構(gòu)及應(yīng)用。如圖3-4所示:
圖3-4 SPCE061A硬件結(jié)構(gòu)圖
用戶寄存器
SP:堆棧指針
R1-R4通用寄存器
BP基指針
SR:段寄存器
NZSC 4個(gè)標(biāo)志位
DS:數(shù)據(jù)段選擇控制位
PC:程序計(jì)數(shù)器
SHIFTER移位器
ALU算術(shù)邏輯單元
ADDRGEN地址編碼器
MUD多路選擇開(kāi)關(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ǔ)碼、異或、或、與、測(cè)試、寫(xiě)入、讀出等 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 的前面,也就是說(shuō),操作數(shù)在經(jīng)過(guò)移位處理后,馬上會(huì)進(jìn)入 ALU 進(jìn)行算數(shù)邏輯運(yùn)算。所以,μ’nSPTM的移位指令都是復(fù)合式指令,一個(gè)指令會(huì)同時(shí)完成移位和算術(shù)邏輯運(yùn)算。程序設(shè)計(jì)者可利用這些復(fù)合式的指令,撰寫(xiě)更精簡(jiǎn)的程序代碼,進(jìn)而增加程序代碼密集度 (Code Density)。在微控制器應(yīng)用中,如何增加程序代碼密集度是非常重要的問(wèn)題;提高程序代碼密集度可以減少程序代碼的大小,進(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ù) 相 乘(signed signed) 或無(wú)符號(hào)數(shù)與有符號(hào)數(shù)相乘 (unsigned signed)的運(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)處理能力。
寄存器組
μ’nSPTM CPU 的寄存器組一共有 8個(gè)16 位寄存器,可分為通用寄存器和專用寄存器兩大類別。通用寄存器包括:R1~R4,作為算術(shù)邏輯運(yùn)算的來(lái)源及目標(biāo)寄存器。專用寄存器包括 SP、BP、SR、PC,是與 CPU 特定用途相關(guān)的寄存器。
通用寄存器 R1-R4 (General-purpose registers)
可用于數(shù)據(jù)運(yùn)算或傳送的來(lái)源及目標(biāo)寄存器。寄存器 R4、R3 配對(duì)使用,還可組成一個(gè) 32 位的乘法結(jié)果寄存器 MR;其中 R4 為 MR 的高字符組,R3 為 MR 的低字符組,用于存放乘法運(yùn)算或內(nèi)積運(yùn)算結(jié)果。
堆棧指針寄存器 SP (Stack Pointer)
SP 是用來(lái)紀(jì)錄堆棧地址的寄存器,SP 會(huì)指向堆棧的頂端。堆棧是一個(gè)先進(jìn)后出的內(nèi)存結(jié)構(gòu),μ’nSPTM的堆棧結(jié)構(gòu)是由高地址往低地址的方向來(lái)儲(chǔ)存的。CPU 執(zhí)行 push、子程序調(diào)用 call、以及進(jìn)入中斷服務(wù)子程序(ISR,Interrupt Service Routine) 時(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 (Base Pointer)
μ’nSPTM提供了一種方便的尋址方式,即基址尋址方式[BP+IM6];程序設(shè)計(jì)者可通過(guò)BP 來(lái)存取 ROM 與 RAM 中的數(shù)據(jù),包括:局部變量(Local Variable)、函數(shù)參數(shù)(FunctionParameter)、返回地址(Return Address)等等。BP 除了上述用途外,也可做為通用寄存器 R5,用于數(shù)據(jù)運(yùn)算傳送的來(lái)源及目標(biāo)寄存器。因此,在本書(shū)或程序中,BP 與 R5 是共享的,均代表基址指針寄存器。
程序計(jì)數(shù)器 PC (Program Counter)
它的作用與一般微控制器中的 PC 相同,是用來(lái)紀(jì)錄程序目前執(zhí)行位置的寄存器,以控制程序走向。CPU 每執(zhí)行完一個(gè)指令,就會(huì)改變 PC 的值,使其指向下一條指令的地址。在μ’nSPTM里,16 位的 PC 寄存器與 SR 寄存器的 CS 字段,共同組成一個(gè) 22 位的程序代碼地址。
狀態(tài)寄存器 SR (Status Pointer)
SR內(nèi)含許多字段,每個(gè)字段都有特別的用途,如圖 2.1所示。其中包含兩個(gè) 6 位的區(qū)段選擇字段: CS (Code Segment),DS (Data Segment),它們可與其它 16 位的寄存器結(jié)合在一起形成一個(gè) 22 位的地址,用來(lái)尋址 4M字容量的內(nèi)存。 SPCE061A只有 32K字的閃存,只占用一頁(yè)的存儲(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ì)要求中沒(méi)有對(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ī)
通過(guò)使用不同的放大電路和不同參數(shù)的器件,可以達(dá)到不同的放大的要求,放大后能夠得到較大的功率。但是由于使用的是四相的步進(jìn)電機(jī),就需要對(duì)四路信號(hào)分別進(jìn)行放大,由于放大電路很難做到完全一致,當(dāng)電機(jī)的功率較大時(shí)運(yùn)行起來(lái)會(huì)不穩(wěn)定,而且電路的制作也比較復(fù)雜。
方案二:使用L298N芯片驅(qū)動(dòng)電機(jī)
L298N芯片可以驅(qū)動(dòng)兩個(gè)二相電機(jī)(如圖3-5所示),也可以驅(qū)動(dòng)一個(gè)四相電機(jī),輸出電壓最高可達(dá)50V,可以直接通過(guò)電源來(lái)調(diào)節(jié)輸出電壓;可以直接用單片機(jī)的IO口提供信號(hào);而且電路簡(jiǎn)單,使用比較方便。
通過(guò)比較,根據(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芯片來(lái)提供時(shí)序信號(hào),可以節(jié)省單片機(jī)IO口的使用;也可以直接用單片機(jī)模擬出時(shí)序信號(hào),由于控制并不復(fù)雜,電路也比較容易看懂,故選用后者。
圖3-5 用L298N芯片驅(qū)動(dòng)電機(jī)圖
通過(guò)L298N構(gòu)成步進(jìn)電機(jī)的驅(qū)動(dòng)電路,電路圖如圖3-6所示。 通過(guò)單片機(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,通過(guò)SPCE061A的IOB0和IOB1口對(duì)DATA和CLK發(fā)送數(shù)據(jù)。如圖3-8所示:
圖3-8 用74LS164驅(qū)動(dòng)電路圖
3.5 4X4鍵盤(pán)電路的設(shè)計(jì)[14]
行列式鍵盤(pán)的工作原理:在鍵盤(pán)中按鍵數(shù)量較多是,為了減少I(mǎi)/O口的占用,通常將按鍵排列成矩陣形式,如圖3-9所示,每條水平線和垂直線在交叉處不直接連通,而是通過(guò)一個(gè)按鍵加以連接。這樣,本來(lái)一個(gè)端口最多只有8個(gè)按鍵,現(xiàn)在就可以構(gòu)成4x4=16個(gè)按鍵,比它直接將端口線用于鍵盤(pán)多出了一倍,而且線越多,區(qū)別越明顯。由此可見(jiàn),在需要的鍵數(shù)比較多時(shí),可以采用行列式法來(lái)做鍵盤(pán)。
在設(shè)計(jì)中,使用了標(biāo)準(zhǔn)的4x4鍵盤(pán),其電路圖如圖3-9所示。單片機(jī)的A口低8位為鍵盤(pán)的接口。盡管設(shè)計(jì)要求中只需要4個(gè)鍵對(duì)步進(jìn)電機(jī)的狀態(tài)進(jìn)行控制,但考慮到對(duì)控制功能的擴(kuò)展,我們使用了4x4的鍵盤(pán)。行列式結(jié)構(gòu)的鍵盤(pán)顯然比直接法要復(fù)雜一些,識(shí)別也復(fù)雜一些圖3-9所示接口電路由HEADER 8x2的引腳高、低4位構(gòu)成4x4行列矩陣鍵盤(pán)。其中1、3、5、7引腳作為鍵盤(pán)的掃描輸出口線;9、11、13、15引腳作為鍵盤(pán)的輸入口。
為判斷是否有鍵按下,所有的輸出口向行線輸出低電平,一旦有鍵按下,則輸入線就會(huì)被拉低,這樣,通過(guò)讀入輸入線的狀態(tài)就可得知是否有按鍵按下了。結(jié)合圖3-9所示,檢測(cè)的方法是引腳1、3、5、7輸出全“0”,讀取引腳9、11、13、15的狀態(tài),若引腳1、3、5、7為全“1”,則無(wú)鍵閉合,否則有鍵閉合。然后判斷按鍵的位置,如果有鍵按下,被按鍵處的行線和列線被接通,使穿過(guò)閉合鍵的那條列線變?yōu)榈碗娖?。方法是?duì)鍵盤(pán)的行線進(jìn)行掃描。引腳9、11、13、15按下述4種組合依次輸出:
引腳15 1 1 1 0
引腳13 1 1 0 1
引腳11 1 0 1 1
引腳9 0 1 1 1
然后測(cè)試行線狀態(tài)中是否有低電平。在每組行輸出時(shí)讀取引腳1、3、5、7,若全為“1”,則表示這一行沒(méi)有鍵閉合,否則有鍵閉合。由此得到閉合鍵的行值和列值,然后可采用計(jì)算法或查表發(fā)將閉合鍵的行值和列值轉(zhuǎn)換成所定義的鍵值。
圖3-9 4x4鍵盤(pán)電路
第4章 控制系統(tǒng)的軟件設(shè)計(jì)
單片機(jī)控制步進(jìn)電機(jī)的程序編制
步進(jìn)電機(jī)控制程序設(shè)計(jì)的主要問(wèn)題有三個(gè):
第一,控制脈沖的產(chǎn)生;
第二,步進(jìn)電機(jī)的旋轉(zhuǎn)方向和時(shí)序脈沖的關(guān)系;
第三,步數(shù)的確定。
作為單片機(jī)控制步進(jìn)電機(jī)的程序的構(gòu)成也是主要由這幾個(gè)問(wèn)題,因此可以
從這三個(gè)問(wèn)題入手。
4.1 控制脈沖的產(chǎn)生[15]
在單片機(jī)控制步進(jìn)電機(jī)時(shí),一般來(lái)講,控制脈沖是用軟件產(chǎn)生的。方法是先輸出一個(gè)高電平,然后延時(shí),再輸出低電平,再進(jìn)行延時(shí)。延時(shí)時(shí)間的長(zhǎng)短由步進(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)?,F(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ù)控制模式寫(xiě)出控制模型;
(3)控制模型的順序向步進(jìn)電機(jī)輸入控制脈沖。
從通電方式的二進(jìn)制數(shù)可以看出,步進(jìn)電機(jī)每步進(jìn)一步,高電平就左移或右移一位。所以,我們可以考慮借助累加器A來(lái)實(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)所需要的通電方式。下面以三相單三拍和三相雙三拍為例來(lái)研究累加器中時(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)過(guò)的角度來(lái)計(jì)算:
式中:-步距角;
-轉(zhuǎn)子齒數(shù);
-拍數(shù)(一般三拍時(shí)=或六拍時(shí)=2 );
-控制繞組相數(shù),=3。
例如: =40,三相三拍運(yùn)行,==3,則步距角為:=40,三相六拍運(yùn)行,,則步距角為:
若要求步進(jìn)電機(jī)轉(zhuǎn)過(guò)的角度為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開(kāi)始存儲(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)方式。一般來(lái)講,步進(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ī)走過(guò)的距離比較長(zhǎng)時(shí),需要低速啟動(dòng),高速運(yùn)轉(zhuǎn),然后降低速度,最后停止。這樣就解決了“快速而不失步” 的矛盾。那么實(shí)現(xiàn)變速控制的基本思想是改變控制頻率。
設(shè)某個(gè)步進(jìn)電機(jī)的控制過(guò)程如圖4-5所示。
L1~L3分別代表各個(gè)不同運(yùn)行階段的步長(zhǎng),f代表步進(jìn)電機(jī)當(dāng)前運(yùn)行頻率。如圖4-5所示,L2段為恒速運(yùn)行階段,L1段位為升頻,L3段位為降頻。在各個(gè)不同的運(yùn)行階段,根據(jù)程序執(zhí)行不同的控制程序,這樣減小因步進(jìn)電機(jī)丟步對(duì)控制過(guò)程的影響,這對(duì)于國(guó)產(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é)位置
20H
21H
22H
23H
24H
25H
26H
控制模型數(shù)據(jù)
01H
03H
02H
06H
04H
05H
00H
表4-2
內(nèi)存字節(jié)位置
27H
28H
29H
2AH
2BH
2CH
2DH
控制模型數(shù)據(jù)
01H
05H
04H
06H
02H
03H
00H
表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-6 a, b所示。
圖4-6
4.5 語(yǔ)音報(bào)數(shù)
程序設(shè)計(jì)中語(yǔ)音報(bào)數(shù)使用的是SACM-A2000,考慮到程序比較簡(jiǎn)單,首先使用了自動(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)。為解決此問(wèn)題,我們研制了一種能代替PLC控制系統(tǒng)的新的控制系統(tǒng)---基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)。本文論述了基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)方法和研制過(guò)程,包括:硬件設(shè)計(jì)、軟件設(shè)計(jì)、可靠性設(shè)計(jì)等方面。硬件電路用凌陽(yáng)16位SPCE061A單片機(jī)、先進(jìn)的接口技術(shù)和大規(guī)模集成電路設(shè)計(jì)而成。軟件程序用SPCE061A匯編語(yǔ)言寫(xiě)成。利用軟硬件結(jié)合,實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)工作狀態(tài)的自動(dòng)控制和精確控制。利用單片機(jī)輸出的CP脈沖和方向信號(hào),改變對(duì)步進(jìn)電機(jī)繞組的通電方式和通電順序,來(lái)準(zhǔn)確控制步進(jìn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn),步距精度等工作狀態(tài),方便良好的人機(jī)界面是用4x4鍵盤(pán)/數(shù)碼管顯示來(lái)實(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)該說(shuō)這次課程設(shè)計(jì)還是基本達(dá)到了設(shè)計(jì)的要求,但是也存在著未能解決的問(wèn)題,由于在執(zhí)行語(yǔ)音程序時(shí)對(duì)資源的消耗比較大,在語(yǔ)音報(bào)數(shù)的時(shí)候會(huì)中斷步進(jìn)電機(jī)驅(qū)動(dòng)信號(hào)的輸出,導(dǎo)致電機(jī)停轉(zhuǎn)。為此,我們修改了方案,使用了兩塊單片機(jī),通過(guò)雙機(jī)通訊來(lái)傳遞信號(hào),遺憾的是問(wèn)題仍然沒(méi)有得到解決。 這次步進(jìn)電機(jī)的綜合實(shí)驗(yàn)我們學(xué)到了步進(jìn)電機(jī)、數(shù)碼管、4*4鍵盤(pán)、語(yǔ)音報(bào)數(shù)和雙機(jī)通訊的使用,更重要的是學(xué)會(huì)了程序出問(wèn)題時(shí)調(diào)試的方法,并養(yǎng)成了Debug的習(xí)慣,學(xué)到了程序出問(wèn)題后怎樣去解決的基本方法。
參考文獻(xiàn)
[1]《單片機(jī)原理接口與應(yīng)用》 高等教育出版社 黃遵喜編
[2]《智能化測(cè)量?jī)x表原理與設(shè)計(jì)》 北京航空航天大學(xué)出版社 徐愛(ài)均編
[3]《MCS-51單片機(jī)應(yīng)用設(shè)計(jì)》 哈爾濱工業(yè)大學(xué)出版社 張毅鋼編
[4] 國(guó)產(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é)出版社 徐愛(ài)均編
[8] 于設(shè)計(jì)中的電氣主接線圖、主要設(shè)備的原理圖等,我們將采用AUTOCAD軟件進(jìn)行繪制。
[9]《凌陽(yáng)16位單片機(jī)應(yīng)用基礎(chǔ)》 大川康介編
[10]《單片機(jī)實(shí)用接口技術(shù)》 王語(yǔ) 張盛誠(chéng) 編
[11]《凌陽(yáng)16位單片機(jī)編程教程》 陳震華編
[12]《MCS-51系列微型計(jì)算機(jī)原理與應(yīng)用》北京航空航天大學(xué)出版社 李巡編
[13] 單片機(jī)仿真實(shí)驗(yàn)系統(tǒng)實(shí)驗(yàn)指導(dǎo)書(shū) 江蘇啟東同創(chuàng)單片機(jī)廠 主編陳向輝等。
[14]《單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)》 北京航空航天大學(xué)出版社 何立民編
[15] 謝自美《電子線路設(shè)計(jì)、實(shí)驗(yàn)、測(cè)試(第二版)》[M]武漢:華中理工大版社,2000版。
[16] 薛鈞義,張彥斌,樊波等《凌陽(yáng)十六位單片機(jī)原理及應(yīng)用》[M]北京:北空航天大學(xué)出版社,2003版。
[17] 優(yōu)質(zhì)電子元器件實(shí)用手冊(cè)(上) 電子工業(yè)出版社
[18] 優(yōu)質(zhì)電子元器件實(shí)用手冊(cè)(下) 電
收藏