裝配圖單片機(jī)實(shí)現(xiàn)的步進(jìn)電機(jī)控制系統(tǒng)(開題報告+論文+文獻(xiàn)綜述+外文翻譯+DWG圖紙)
裝配圖單片機(jī)實(shí)現(xiàn)的步進(jìn)電機(jī)控制系統(tǒng)(開題報告+論文+文獻(xiàn)綜述+外文翻譯+DWG圖紙),裝配,單片機(jī),實(shí)現(xiàn),步進(jìn),電機(jī),機(jī)電,控制系統(tǒng),開題,報告,講演,呈文,論文,文獻(xiàn),綜述,外文,翻譯,dwg,圖紙
浙江工業(yè)大學(xué)浙西分校信息與電子工程系畢業(yè)論文
xx大學(xué)
畢業(yè)設(shè)計(論文)
題 目:單片機(jī)實(shí)現(xiàn)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計
作 者:
系 (部):
專業(yè)班級:
指導(dǎo)教師:
職 稱:
20 年 月 日
39
目 錄
第1章 緒論 1
第2章 方案論證比較設(shè)計 5
2.1單片機(jī)概述 5
2.2步進(jìn)電機(jī)的工作原理 6
2.3單片機(jī)控制步進(jìn)電機(jī)的設(shè)計思路 9
第3章 控制系統(tǒng)的硬件電路設(shè)計 10
3.1 SPCE061A的介紹 10
3.1.1 性能 11
3.1.2 結(jié)構(gòu) 12
3.1.3芯片的引腳排列和說明 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ū)動電路設(shè)計 18
3.4數(shù)碼管顯示電路的設(shè)計 20
3.5 4X4鍵盤電路的設(shè)計 21
第4章 控制系統(tǒng)的軟件設(shè)計 24
4.1 控制脈沖的產(chǎn)生 24
4.2 步進(jìn)電機(jī)的旋轉(zhuǎn)方向和時序脈沖的關(guān)系 25
4.3 步數(shù)的確定 27
4.4 步進(jìn)電機(jī)的變速控制 29
4.5 語音報數(shù) 33
第5章 結(jié)論 35
參考文獻(xiàn) 36
致謝 38
附錄 39
摘 要
單片微型計算機(jī)簡稱單片機(jī)。它是把組成微型計算機(jī)的各功能部件:中央處理器、CPU、隨機(jī)存取存儲器RAM、只讀存儲器ROM、I/O接口電路、定時器/計數(shù)器以及串行通信接口等制作在一塊集成芯片中,構(gòu)成一個完整的微型計算機(jī)。單片機(jī)主要應(yīng)用于控制領(lǐng)域,由于其具有可靠性高、體積小、價格低、易于產(chǎn)品化等特點(diǎn),因而在智能儀器儀表、實(shí)時工業(yè)控制、智能終端、通信設(shè)備、導(dǎo)航系統(tǒng)、家用電器等自控領(lǐng)域獲得廣泛應(yīng)用[1]。
步進(jìn)電機(jī)是一種能將電脈沖信號轉(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ī)的控制方案,無需邏輯電路組成時序發(fā)生器.軟件編程可靈活產(chǎn)生不同類型步進(jìn)電機(jī)勵磁序列來控制各種步進(jìn)電機(jī)的運(yùn)行方式并可實(shí)現(xiàn)一臺單片機(jī)控制多臺電機(jī).提供靈活多樣的控制手段和提高控制精度對復(fù)雜繁瑣的控制易于實(shí)現(xiàn),尤其在本系統(tǒng)中更顯示出微機(jī)控制的優(yōu)越性。
本設(shè)計采用凌陽16 位單片機(jī)SPCE061A對步進(jìn)電機(jī)進(jìn)行控制,通過IO口輸出的具有時序的方波作為步進(jìn)電機(jī)的控制信號,信號經(jīng)過芯片L298N驅(qū)動步進(jìn)電機(jī);同時,用 4X4的鍵盤來對電機(jī)的狀態(tài)進(jìn)行控制,并用數(shù)碼管顯示電機(jī)的轉(zhuǎn)速,采用74LS164作為4位單個數(shù)碼管的顯示驅(qū)動,從單片機(jī)輸入信號;利用凌陽單片機(jī)的語音功能播報電機(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
第1章 緒論
近十幾年來,單片機(jī)在生產(chǎn)過程控制、自動檢測、數(shù)據(jù)采集與處理、科技計算、商業(yè)管理和辦公室自動化等方面獲得了廣泛的應(yīng)用。單片機(jī)具有體積小、重量輕、耗能省、價格低、可靠性高和通用靈活等優(yōu)點(diǎn),因此也廣泛應(yīng)用于衛(wèi)星定句、汽車火花控制、交通白動管理和微波爐等專用控制上。近幾年來,單片機(jī)的發(fā)展更為迅速,它已滲透到諸多學(xué)科的領(lǐng)域,以及人們生活的各個方面。
單片機(jī)不求規(guī)模大,只求小而全。廠家在一個芯片上制成了CPU和一定容量的程序存儲器和數(shù)據(jù)存儲器以及一定數(shù)量的輸入/輸出接口(Intel)。在一個大規(guī)模集成電路芯片上構(gòu)造了完整的計算機(jī)結(jié)構(gòu),故稱之為單片機(jī)
MCS-51系列中的一片8751芯片[3],內(nèi)部構(gòu)造了完整的計算機(jī)硬件系統(tǒng)。從CPU、存儲器到輸入輸出端口,一應(yīng)俱全。只要寫入程序,就可完成中央控制或數(shù)據(jù)采集、處理及通信傳輸?shù)男畔⑻幚頇C(jī),MCS-51單片機(jī)指令系統(tǒng)中為適應(yīng)控制的需要設(shè)有極強(qiáng)的位處理功能,具有加、減、乘、除指令;CPU時鐘高達(dá)12MHz,完成單字節(jié)乘法或除法運(yùn)算僅需要4Ns;具有多機(jī)通信功能,可作為多機(jī)系統(tǒng)中的一個子系統(tǒng)。
近年來,在國際上出現(xiàn)了Mechanics和electronics復(fù)合成Mechtronics這個新詞,我國譯為“機(jī)電一體化”。這種機(jī)械和電子技術(shù)、信息技術(shù)緊密結(jié)合的新的學(xué)科領(lǐng)域是先進(jìn)制造技術(shù)研究和普及的結(jié)果。機(jī)電一體化產(chǎn)品要實(shí)現(xiàn)電器控制的實(shí)時性、高可靠性、可編程和一定的人工智能。同時追求體積小、價格低,甚至低功耗等。正是針對上述種種要求而設(shè)計的單片機(jī)白然成為機(jī)電一體化控制器的最佳選擇。
單片機(jī)出現(xiàn)的歷史并不長,它的產(chǎn)生與發(fā)展與微處理器的產(chǎn)生與發(fā)展大體上同步,也經(jīng)歷了四個階段[4]:
第一階段:1971~1974年,4位微處理器工intel 4004及8位微處理器工intel 8008,這些計算機(jī)價格便宜、功能有限,只用于消耗類電子產(chǎn)品。
第二階段:1974~1978年,初級單片機(jī)階段,以工intel公司的MCS-48為代表,8位單片機(jī)。
第三階段:1978~1983年,高性能單片機(jī)階段。以工Intel公司的MCS-51, Motorola公司的6801和Zilog公司的Z8等為代表。這一階段推出的單片機(jī)普遍帶有串行口,有多級中斷處理系統(tǒng)、16位定時器/計數(shù)器,有的片內(nèi)還帶有A/D轉(zhuǎn)換器接口,片內(nèi)RAM, ROM容量加大,尋址范圍可達(dá)64K字節(jié)。廣泛應(yīng)用于工業(yè)控制、外部設(shè)備控制、宏觀控制、局部網(wǎng)絡(luò)及家用計算機(jī)中。
第四階段:1983年至今,8位單片機(jī)鞏固發(fā)展及16位單片機(jī)推出階段。例如Mostek公司的MK6800、Intel公司的MCS-96等。MCS-96集成度為12萬只品體管/片,尋址范圍64K字節(jié)、5個8位并行口、一個全雙工串行口、4個16位定時器、8通道10位A/D轉(zhuǎn)換器等,另外MCS-96指令能處理位、字節(jié)、字,有16位乘16位乘法、32位除16位除法指令,一塊單片計算機(jī)的功能可以和一臺多片系統(tǒng)機(jī)相媲美。單片機(jī)己經(jīng)進(jìn)入一個嶄新的階段。
步進(jìn)電動機(jī)上個世紀(jì)就出現(xiàn)了,它的組成、動作原理和今天的反應(yīng)式步進(jìn)電動機(jī)沒有什么本質(zhì)區(qū)別,也是依靠氣隙間的磁導(dǎo)變化來產(chǎn)生電磁轉(zhuǎn)矩。80年代以后,由于廉價的微型計算機(jī)以多功能的姿態(tài)出現(xiàn),步進(jìn)電動機(jī)的控制方式變得更加靈活多樣。原來的步進(jìn)電機(jī)控制系統(tǒng)采用分立元件或者集成電路組成的控制回路,不僅調(diào)試安裝復(fù)雜,要消耗大量元器件,而且一旦定型之后,要改變控制方案就一定要重新設(shè)計電路,不利于系統(tǒng)的改進(jìn)升級。基于微型計算機(jī)的控制系統(tǒng)則通過軟件來控制步進(jìn)電機(jī),能夠更好地發(fā)揮步進(jìn)電機(jī)的潛力,因此,用微型計算機(jī)控制步進(jìn)電機(jī)已經(jīng)成為了一種必然的趨勢,也符合數(shù)字化的時代發(fā)展要求。步進(jìn)電機(jī)控制技術(shù)和普通電動機(jī)控制技術(shù)的不同之處是步進(jìn)電機(jī)接受脈沖信號的控制。早期的步進(jìn)電機(jī)靠一種叫環(huán)形分配器的電子開關(guān)器件,通過功率放大器使勵磁繞組按照順序輪流接通直流電源。
由于勵磁繞組在空間中按一定的規(guī)律排列,輪流與直流電源接通后,就會在間隙中形成一種階躍變化的旋轉(zhuǎn)磁場,使轉(zhuǎn)子步進(jìn)式的轉(zhuǎn)動,隨著接通切換頻率的增高,轉(zhuǎn)速就會增大。步進(jìn)電機(jī)的旋轉(zhuǎn)同時與相數(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í)踐的各個領(lǐng)域。它最大的應(yīng)用是在使用數(shù)控機(jī)床的生產(chǎn)制造中,因為步進(jìn)電機(jī)不需要A/D轉(zhuǎn)換,能夠直接將數(shù)字脈沖信號轉(zhuǎn)化成為角位移,所以被認(rèn)為是理想的數(shù)控機(jī)床的執(zhí)行元件。早期的步進(jìn)電機(jī)輸出轉(zhuǎn)矩比較小,無法滿足需要,在使用中和液壓扭矩放大器一同組成液壓脈沖馬達(dá)。隨著步進(jìn)電動機(jī)技術(shù)的發(fā)展,步進(jìn)電動機(jī)已經(jīng)能夠單獨(dú)在系統(tǒng)上進(jìn)行使用,成為了不可替代的執(zhí)行元件。比如步進(jìn)電動機(jī)用作數(shù)控銑床進(jìn)給伺服機(jī)構(gòu)的驅(qū)動電動機(jī),在這個應(yīng)用中,步進(jìn)電動機(jī)可以同時完成兩個工作,其一是傳遞轉(zhuǎn)矩,其二是傳遞信息。步進(jìn)電機(jī)也可以作為數(shù)控蝸桿砂輪磨邊機(jī)同步系統(tǒng)的驅(qū)動電動機(jī)。除了在數(shù)控機(jī)床上的應(yīng)用,步進(jìn)電機(jī)也應(yīng)用在其他方面,比如作為自動送料機(jī)中的馬達(dá),作為通用的軟盤驅(qū)動器的馬達(dá),也可以應(yīng)用在打印機(jī)和繪圖儀中等等。
微電子技術(shù)的飛速發(fā)展,帶動了機(jī)械加工技術(shù)的飛速發(fā)展。而在其發(fā)展過程中,最顯著的特點(diǎn)是機(jī)械制造將越來越密切地依賴于電子技術(shù)、檢測技術(shù)、自動控制技術(shù)、計算機(jī)技術(shù)、系統(tǒng)論、信息論等現(xiàn)代科學(xué)技術(shù)。
隨著現(xiàn)代電子科學(xué)的不斷發(fā)展與進(jìn)步,電子計算機(jī)已深深介入機(jī)械制造的各個領(lǐng)域,誕生了一系列機(jī)、電、計算機(jī)一體化的新產(chǎn)品[5]。
同時微電子技術(shù)的不斷發(fā)展,數(shù)控系統(tǒng)也在不斷地更新?lián)Q代,先后經(jīng)歷了電子管(1952年)、晶體管(1959年)、小規(guī)模集成電路(1965年)、大規(guī)模集成電路及小型計算機(jī)(1970年)和微處理機(jī)或微型計算機(jī)(1974年)等五代數(shù)控系統(tǒng)。前三代數(shù)控系統(tǒng)是屬于采用專用控制計算機(jī)的硬接線(硬線)數(shù)控系統(tǒng),一般稱為普通數(shù)控系統(tǒng),簡稱NC。70年代初,隨著計算機(jī)技術(shù)的發(fā)展,使小型計算機(jī)的價格急劇下降,采用小型計算機(jī)代替專用控制計算機(jī)的第四代數(shù)控系統(tǒng),不僅在經(jīng)濟(jì)上更為合算,而且許多功能可用編制的專用程序來實(shí)現(xiàn),將它存儲在小型計算機(jī)的存儲器中,構(gòu)成所謂控制軟件,提高了系統(tǒng)的可靠性和功能特色。這種數(shù)控系統(tǒng)又稱為軟接線(軟線)數(shù)控,即計算機(jī)數(shù)控系統(tǒng),簡稱CNC。1974年制成以微處理機(jī)為核心的數(shù)控系統(tǒng),稱為第五代微型機(jī)數(shù)控系統(tǒng),簡稱MNC。
隨著機(jī)電產(chǎn)品對負(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è)計方法和研制過程,包括:硬件設(shè)計、軟件設(shè)計、可靠性設(shè)計等方面。硬件電路用凌陽16位SPCE061A單片機(jī)、先進(jìn)的接口技術(shù)和大規(guī)模集成電路設(shè)計而成。軟件程序用SPCE061A匯編語言寫成。利用軟硬件結(jié)合,實(shí)現(xiàn)對步進(jìn)電機(jī)工作狀態(tài)的自動控制和精確控制。利用單片機(jī)輸出的CP脈沖和方向信號,改變對步進(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ī),自動化程度高、成本低、體積小、控制精確等優(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ī)是20世界紀(jì)40年代發(fā)展起來的新技術(shù)之一,它的出現(xiàn)是科學(xué)技術(shù)產(chǎn)生了一場深刻的革命。特別是自1971年以來,隨著大規(guī)模集成電路的發(fā)展,又出現(xiàn)了微型計算機(jī)。它對發(fā)展現(xiàn)代化的工業(yè)、農(nóng)業(yè)、國防和科學(xué)技術(shù)具有極其巨大的推動作用。作為微型機(jī)控制系統(tǒng)的組成,主要分為兩大部分,硬件和軟件。硬件是指微型計算機(jī)本身及其外圍設(shè)備;軟件是指管理計算機(jī)的程序以及過程控制應(yīng)用程序。
2.1.1硬件
硬件是由主機(jī)、接口電路及外部設(shè)備組成的。各個系統(tǒng)采用硬件的數(shù)量也不相同,而且,各個系統(tǒng)可以根據(jù)需要任意擴(kuò)展,也為計算機(jī)的廣泛應(yīng)用提供條件。
1)主機(jī)。它是計算機(jī)空著系統(tǒng)的主要部分,通過接口它向外部發(fā)出各種命令,同時它還可以進(jìn)行巡回檢測、數(shù)據(jù)的處理及計算、報警處理、邏輯判斷等功能。
2)接口及輸入輸出通道。它是主機(jī)和被控對象信息交換的橋梁。一般根據(jù)功能及傳送數(shù)據(jù)的方法可分為:(1)并行接口,如PIO; (2)串行接口,如SIO; (3)直接數(shù)據(jù)傳送,如DMA; (4)實(shí)時時鐘,如CTC。
3)通用外部設(shè)備。包括顯示器、打印機(jī)、存儲器等,這些設(shè)備極大地擴(kuò)充了主機(jī)的功能。
4)檢測設(shè)備及操作臺。檢測設(shè)備的主要作用是將被檢測參數(shù)的非電量變成電量,而通過操作臺人們可以向計算機(jī)輸入程序,修改內(nèi)存的數(shù)據(jù),顯示被測參數(shù)以及發(fā)出各種操作指令等。
5)執(zhí)行機(jī)構(gòu)。比如說,步進(jìn)電機(jī)和馬達(dá)等,常見的執(zhí)行機(jī)構(gòu)有電動、氣動和液動等形式。
2.1.2軟件
軟件是指能完成各功能的計算機(jī)程序的總合,如操作、監(jiān)控、控制、計算和自診斷等。因此,軟件的分類也很多,就語言來分,可分為機(jī)器語言、匯編語言和高級語;就功能來分,可以分為系統(tǒng)軟件、應(yīng)用軟件及數(shù)據(jù)庫。系統(tǒng)軟件專門用來使用管理計算機(jī)本身的程序;應(yīng)用軟件是面向用戶本身的程序;數(shù)據(jù)庫及數(shù)據(jù)庫管理系統(tǒng)主要用于大量的數(shù)據(jù)管理及資料檢索系統(tǒng)。
2.2步進(jìn)電機(jī)的工作原理[7]
步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)換成角位移或線位移的電磁機(jī)械裝置,是一種輸出與輸入數(shù)字脈沖相對應(yīng)的增量式數(shù)字元件。在數(shù)控機(jī)床、繪圖機(jī)、打印機(jī)等方面應(yīng)用廣泛。它也可以看作是一種特殊的同步電機(jī);它具有快速起停、精確步進(jìn)及直接接收數(shù)字量的特點(diǎn),它的步距角和轉(zhuǎn)速不受電壓波動和負(fù)載變化的影響,也不受環(huán)境條件如溫度、氣壓、沖擊、和振動等影響,僅與脈沖頻率有關(guān),這些特點(diǎn)使它完全適用于數(shù)字控制的系統(tǒng)中作為伺服元件,并使整個系統(tǒng)大為簡化而又運(yùn)行可靠。
本課題選用了最常見的一種小步距角的三相反應(yīng)式步進(jìn)電機(jī)其剖面圖。如圖2-1所示,電機(jī)的定子上有6個等分的磁極,相鄰兩個磁極間的夾角為60度。磁極上裝有控制繞組并聯(lián)成A, B, C三相。轉(zhuǎn)子上均勻分布40個齒,每個齒的齒距為9度。定子每段極弧上也有5個齒,定、轉(zhuǎn)子的齒寬和齒距都相同。每個定子磁極的極距為60度,所以每個極距所占的齒距數(shù)不是整數(shù)。當(dāng)A極下的定、轉(zhuǎn)子齒對齊,B極和C極下的齒就分別和轉(zhuǎn)子齒相錯三分之一的轉(zhuǎn)子齒距,即為3度。這時若給B相通電,電機(jī)中產(chǎn)生沿B極軸線力一向的磁場,因磁通要按磁阻最小的路徑閉合,就使轉(zhuǎn)子受到反應(yīng)轉(zhuǎn)距(磁阻轉(zhuǎn)距)的作用而轉(zhuǎn)動,直到轉(zhuǎn)子齒和B極上的齒對齊為止。此時,A極和C極下的齒又分別與轉(zhuǎn)子齒相錯三分之一的轉(zhuǎn)子齒距。由此可見:錯齒是促使步進(jìn)電機(jī)旋轉(zhuǎn)的根本原因。
圖2-1 步進(jìn)電機(jī)的剖面圖
若斷開B相控制繞組,而接通C相控制繞組,這時電機(jī)中產(chǎn)生沿C極軸線方向的磁場。同理,在反應(yīng)轉(zhuǎn)距(磁阻轉(zhuǎn)距)的作用下,轉(zhuǎn)子安順時針方向轉(zhuǎn)過3度,使定于C極下的齒與轉(zhuǎn)子齒對齊。以此類推,當(dāng)控制繞組按A-B-C-A順序循環(huán)通電時轉(zhuǎn)子就沿著順時針方向以每個脈沖轉(zhuǎn)動3度的規(guī)律轉(zhuǎn)動起來。若改變通電順序,即按A-C-B-A順序循環(huán)通電時,轉(zhuǎn)子便按逆時針方向同樣以每個脈沖轉(zhuǎn)動3度。這就是單三拍通電方式。若采用三相單、雙六拍通電方式運(yùn)行,即A-AB-B-BC-C-CA-A順序循環(huán)通電,步距角將減小一半,即每個脈沖轉(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ī)繞組的通電、放電時間不同。工作方式是單三拍時通電時間最短,雙三拍時允許放電時間最短,六拍時通電時間和放電時間最長。因此,同一脈沖頻率時,六拍的工作方式出力最大。而且,電機(jī)是三拍的工作方式時,其分辨率為3度,六拍的工作方式時,分辨率是1.5度。
(1)控制步進(jìn)電機(jī)換向順序
通電換向這一過程稱為脈沖分配。例如:三相步進(jìn)電機(jī)的三相三拍工作方式,其各相通電順序為A-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ā)一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖,它會再轉(zhuǎn)一步。兩個脈沖的間隔越短,步進(jìn)電機(jī)就轉(zhuǎn)得越快。調(diào)整單片機(jī)發(fā)出的脈沖頻率,就可以對步進(jìn)電機(jī)進(jìn)行調(diào)速。
2.3單片機(jī)控制步進(jìn)電機(jī)的設(shè)計思路
典型的步進(jìn)電機(jī)控制系統(tǒng)如圖2-2所示。
圖2-2 典型的步進(jìn)電機(jī)控制系統(tǒng)圖[8]
變頻信號源是一個脈沖頻率由幾赫到幾十千赫可連續(xù)變化的信號發(fā)生器,它為脈沖分配器提供脈沖序列。如果采用單片機(jī)來作為變頻信號源,來控制步進(jìn)電機(jī),則可以發(fā)出有規(guī)律的脈沖信號,經(jīng)過脈沖放大器后,為步進(jìn)電機(jī)提供了一種可行的通電方式。為步進(jìn)電機(jī)提供時序脈沖是單片機(jī)的主要作用,每當(dāng)步進(jìn)電機(jī)從脈沖輸入線上得到一個脈沖,便沿時序脈沖所確定的方向進(jìn)一步。
設(shè)計的要求:
本設(shè)計采用凌陽16 位單片機(jī)SPCE061A對步進(jìn)電機(jī)進(jìn)行控制,通過IO口輸出的具有時序的方波作為步進(jìn)電機(jī)的控制信號,信號經(jīng)過芯片L298N驅(qū)動步進(jìn)電機(jī);同時,用4X4的鍵盤來對電機(jī)的狀態(tài)進(jìn)行控制,并用數(shù)碼管顯示電機(jī)的轉(zhuǎn)速,采用74LS164作為4位單個數(shù)碼管的顯示驅(qū)動,從單片機(jī)輸入信號;利用凌陽單片機(jī)的語音功能播報電機(jī)的轉(zhuǎn)速。
根據(jù)設(shè)計要求總體設(shè)計方案如圖3-2所示:
圖2-3 總的設(shè)計圖[9]
第3章 控制系統(tǒng)的硬件電路設(shè)計
3.1 SPCE061A的介紹[10]
SPCE061A是繼SPTM系列產(chǎn)品SPCESOOA等之后凌陽科技推出的又一款16位結(jié)構(gòu)的微控制器。與SPCESOOA不同的是,在存儲器資源方面考慮到用戶的較少資源的需求以及便于程序調(diào)試等功能,SPCE061A里只內(nèi)嵌32K字的閃存(FLASH)。較高的處理速度使SPTM能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號。因此,與SPCESOOA相比,以SPTM為核心的SPCE061A微控制器是適用于數(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 時鐘:0.32MHz~49.152MHz ;
◆內(nèi)置2K字SRAM;
◆內(nèi)置32K FLASH;
◆可編程音頻處理;
◆晶體振蕩器;
◆系統(tǒng)處于備用狀態(tài)下(時鐘處于停止?fàn)顟B(tài)),耗電僅為 2μA,3.6V
◆2個16位可編程定時器/計數(shù)器(可自動預(yù)置初始計數(shù)值);
◆2個10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道;
◆32位通用可編程輸入/輸出端口;
◆14個中斷源可來自定時器A / B時基,2個外部時鐘源輸入,鍵喚醒;
◆具備觸鍵喚醒的功能;
◆使用凌陽音頻編碼 SACM_S240方式(2.4K位/秒),能容納210秒的語音數(shù)據(jù);
◆鎖相環(huán) PLL 振蕩器提供系統(tǒng)時鐘信號;
◆32768Hz 實(shí)時時鐘;
◆7 通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器;
◆聲音模/數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動增益控制(AGC)功能;
◆具備串行設(shè)備接口;
◆具有低電壓復(fù)位(LVR)功能和低電壓監(jiān)測(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芯片的引腳排列和說明[9]
SPCE061A有兩種封裝片,一種為84個引腳,PLCC84封裝形式;它的排列如圖3-2所示;另一種為80個引腳,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í)時仿真/除錯器)、FLASH(閃存)、SRAM(靜態(tài)內(nèi)存)、通用I/O端口、定時器/計數(shù)器、中斷控制、CPU時鐘鎖相環(huán)(PLL), ADC(模擬數(shù)字轉(zhuǎn)換器), DAC(數(shù)字模擬轉(zhuǎn)換器)輸出、U ART(通用異步串行輸入輸出接曰)、SIO串行輸入輸出接口)、低電壓監(jiān)測/低電壓復(fù)位等模塊。在本章中我們將詳細(xì)介紹各個模塊的結(jié)構(gòu)及應(yīng)用。如圖3-4所示:
圖3-4 SPCE061A硬件結(jié)構(gòu)圖
用戶寄存器
SP:堆棧指針
R1-R4通用寄存器
BP基指針
SR:段寄存器
NZSC 4個標(biāo)志位
DS:數(shù)據(jù)段選擇控制位
PC:程序計數(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ù)字信號處理方面,提供了高速的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)過移位處理后,馬上會進(jìn)入 ALU 進(jìn)行算數(shù)邏輯運(yùn)算。所以,μ’nSPTM的移位指令都是復(fù)合式指令,一個指令會同時完成移位和算術(shù)邏輯運(yùn)算。程序設(shè)計者可利用這些復(fù)合式的指令,撰寫更精簡的程序代碼,進(jìn)而增加程序代碼密集度 (Code Density)。在微控制器應(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。 二 者 都 可 以 用 于 有 符 號 數(shù) 相 乘(signed signed) 或無符號數(shù)與有符號數(shù)相乘 (unsigned signed)的運(yùn)算。在μ’nSPTMISA1.1 指令集下,MUL 指令只需花費(fèi)12 個時鐘周期,MULS 指令花費(fèi) 10n+6個時鐘周期,其中 n 為乘加的項數(shù)。例如:“MR=[R2]*[R1] ,4”表示求 4 項乘積的和,MULS指令只需花費(fèi) 46(10×4+6=46)個時鐘周期。這兩條指令大大的提升了μ’nSPTM的數(shù)字信號處理能力。
寄存器組
μ’nSPTM CPU 的寄存器組一共有 8個16 位寄存器,可分為通用寄存器和專用寄存器兩大類別。通用寄存器包括:R1~R4,作為算術(shù)邏輯運(yùn)算的來源及目標(biāo)寄存器。專用寄存器包括 SP、BP、SR、PC,是與 CPU 特定用途相關(guān)的寄存器。
通用寄存器 R1-R4 (General-purpose registers)
可用于數(shù)據(jù)運(yùn)算或傳送的來源及目標(biāo)寄存器。寄存器 R4、R3 配對使用,還可組成一個 32 位的乘法結(jié)果寄存器 MR;其中 R4 為 MR 的高字符組,R3 為 MR 的低字符組,用于存放乘法運(yùn)算或內(nèi)積運(yùn)算結(jié)果。
堆棧指針寄存器 SP (Stack Pointer)
SP 是用來紀(jì)錄堆棧地址的寄存器,SP 會指向堆棧的頂端。堆棧是一個先進(jìn)后出的內(nèi)存結(jié)構(gòu),μ’nSPTM的堆棧結(jié)構(gòu)是由高地址往低地址的方向來儲存的。CPU 執(zhí)行 push、子程序調(diào)用 call、以及進(jìn)入中斷服務(wù)子程序(ISR,Interrupt Service Routine) 時,會在堆棧里儲存寄存器內(nèi)容,這時 SP 會遞減以反映堆棧用量的增加。當(dāng) CPU 執(zhí)行 pop 時、子程序返回ret、以及從 ISR 返回 reti 時,SP 會遞增以反映堆棧用量的減少。μ’nSPTM堆棧的大小限制在 2K 字的 SRAM 內(nèi),即地址為 0x000000~0x0007FF 的內(nèi)存范圍中。
基址指針寄存器 BP (Base Pointer)
μ’nSPTM提供了一種方便的尋址方式,即基址尋址方式[BP+IM6];程序設(shè)計者可通過BP 來存取 ROM 與 RAM 中的數(shù)據(jù),包括:局部變量(Local Variable)、函數(shù)參數(shù)(FunctionParameter)、返回地址(Return Address)等等。BP 除了上述用途外,也可做為通用寄存器 R5,用于數(shù)據(jù)運(yùn)算傳送的來源及目標(biāo)寄存器。因此,在本書或程序中,BP 與 R5 是共享的,均代表基址指針寄存器。
程序計數(shù)器 PC (Program Counter)
它的作用與一般微控制器中的 PC 相同,是用來紀(jì)錄程序目前執(zhí)行位置的寄存器,以控制程序走向。CPU 每執(zhí)行完一個指令,就會改變 PC 的值,使其指向下一條指令的地址。在μ’nSPTM里,16 位的 PC 寄存器與 SR 寄存器的 CS 字段,共同組成一個 22 位的程序代碼地址。
狀態(tài)寄存器 SR (Status Pointer)
SR內(nèi)含許多字段,每個字段都有特別的用途,如圖 2.1所示。其中包含兩個 6 位的區(qū)段選擇字段: CS (Code Segment),DS (Data Segment),它們可與其它 16 位的寄存器結(jié)合在一起形成一個 22 位的地址,用來尋址 4M字容量的內(nèi)存。 SPCE061A只有 32K字的閃存,只占用一頁的存儲空間,所以CS和DS字段在SPCE061A中都是設(shè)為 0。
3.2步進(jìn)電機(jī)的選擇[7]
本設(shè)計的重點(diǎn)在于對步進(jìn)電機(jī)的控制和驅(qū)動,在設(shè)計要求中沒有對步進(jìn)電機(jī)提出特別的要求,因此為了設(shè)計的方便,選擇受控電機(jī)為三相三線制的步進(jìn)電機(jī)(內(nèi)阻33歐,步進(jìn)1.8度,額定電壓12V)
3.3 步進(jìn)電機(jī)的驅(qū)動電路設(shè)計[12]
方案一:使用多個功率放大器件驅(qū)動電機(jī)
通過使用不同的放大電路和不同參數(shù)的器件,可以達(dá)到不同的放大的要求,放大后能夠得到較大的功率。但是由于使用的是四相的步進(jìn)電機(jī),就需要對四路信號分別進(jìn)行放大,由于放大電路很難做到完全一致,當(dāng)電機(jī)的功率較大時運(yùn)行起來會不穩(wěn)定,而且電路的制作也比較復(fù)雜。
方案二:使用L298N芯片驅(qū)動電機(jī)
L298N芯片可以驅(qū)動兩個二相電機(jī)(如圖3-5所示),也可以驅(qū)動一個四相電機(jī),輸出電壓最高可達(dá)50V,可以直接通過電源來調(diào)節(jié)輸出電壓;可以直接用單片機(jī)的IO口提供信號;而且電路簡單,使用比較方便。
通過比較,根據(jù)設(shè)計提出的要求,使用L298N芯片充分發(fā)揮了它的功能,能穩(wěn)定地驅(qū)動步進(jìn)電機(jī),從經(jīng)濟(jì)考慮,且價格不高,故選用L298N芯片驅(qū)動電機(jī)。而使用L298N芯片時,可以用L297芯片來提供時序信號,可以節(jié)省單片機(jī)IO口的使用;也可以直接用單片機(jī)模擬出時序信號,由于控制并不復(fù)雜,電路也比較容易看懂,故選用后者。
圖3-5 用L298N芯片驅(qū)動電機(jī)圖
通過L298N構(gòu)成步進(jìn)電機(jī)的驅(qū)動電路,電路圖如圖3-6所示。 通過單片機(jī)SPCE061A的IOB8~I(xiàn)OB13對L298N的IN1~I(xiàn)N4口和ENA、ENB口發(fā)送方波脈沖信號,起時序圖如圖3-7所示。
圖3-6 進(jìn)電機(jī)的驅(qū)動電路圖
圖3-7 起時序圖
3.4數(shù)碼管顯示電路的設(shè)計[13]
方案一:串行接法
設(shè)計中要顯示4位數(shù)字,用74LS164作為顯示驅(qū)動,其中帶鎖存,使用串行接法可以節(jié)約IO口資源,但要使用SIO,發(fā)送數(shù)據(jù)時容易控制。
方案二:并行接法
使用并行接法時要對每個數(shù)碼管用IO口單獨(dú)輸入數(shù)據(jù),占用資源較多。
由于設(shè)計中用一塊單片機(jī)進(jìn)行控制,資源有限,因此選擇了方案一。另外,使用鎖存也起到節(jié)約資源的作用。
數(shù)碼管的顯示驅(qū)動使用74LS164,通過SPCE061A的IOB0和IOB1口對DATA和CLK發(fā)送數(shù)據(jù)。如圖3-8所示:
圖3-8 用74LS164驅(qū)動電路圖
3.5 4X4鍵盤電路的設(shè)計[14]
行列式鍵盤的工作原理:在鍵盤中按鍵數(shù)量較多是,為了減少I/O口的占用,通常將按鍵排列成矩陣形式,如圖3-9所示,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,本來一個端口最多只有8個按鍵,現(xiàn)在就可以構(gòu)成4x4=16個按鍵,比它直接將端口線用于鍵盤多出了一倍,而且線越多,區(qū)別越明顯。由此可見,在需要的鍵數(shù)比較多時,可以采用行列式法來做鍵盤。
在設(shè)計中,使用了標(biāo)準(zhǔn)的4x4鍵盤,其電路圖如圖3-9所示。單片機(jī)的A口低8位為鍵盤的接口。盡管設(shè)計要求中只需要4個鍵對步進(jìn)電機(jī)的狀態(tài)進(jìn)行控制,但考慮到對控制功能的擴(kuò)展,我們使用了4x4的鍵盤。行列式結(jié)構(gòu)的鍵盤顯然比直接法要復(fù)雜一些,識別也復(fù)雜一些圖3-9所示接口電路由HEADER 8x2的引腳高、低4位構(gòu)成4x4行列矩陣鍵盤。其中1、3、5、7引腳作為鍵盤的掃描輸出口線;9、11、13、15引腳作為鍵盤的輸入口。
為判斷是否有鍵按下,所有的輸出口向行線輸出低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有按鍵按下了。結(jié)合圖3-9所示,檢測的方法是引腳1、3、5、7輸出全“0”,讀取引腳9、11、13、15的狀態(tài),若引腳1、3、5、7為全“1”,則無鍵閉合,否則有鍵閉合。然后判斷按鍵的位置,如果有鍵按下,被按鍵處的行線和列線被接通,使穿過閉合鍵的那條列線變?yōu)榈碗娖?。方法是對鍵盤的行線進(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
然后測試行線狀態(tài)中是否有低電平。在每組行輸出時讀取引腳1、3、5、7,若全為“1”,則表示這一行沒有鍵閉合,否則有鍵閉合。由此得到閉合鍵的行值和列值,然后可采用計算法或查表發(fā)將閉合鍵的行值和列值轉(zhuǎn)換成所定義的鍵值。
圖3-9 4x4鍵盤電路
第4章 控制系統(tǒng)的軟件設(shè)計
單片機(jī)控制步進(jìn)電機(jī)的程序編制
步進(jìn)電機(jī)控制程序設(shè)計的主要問題有三個:
第一,控制脈沖的產(chǎn)生;
第二,步進(jìn)電機(jī)的旋轉(zhuǎn)方向和時序脈沖的關(guān)系;
第三,步數(shù)的確定。
作為單片機(jī)控制步進(jìn)電機(jī)的程序的構(gòu)成也是主要由這幾個問題,因此可以
從這三個問題入手。
4.1 控制脈沖的產(chǎn)生[15]
在單片機(jī)控制步進(jìn)電機(jī)時,一般來講,控制脈沖是用軟件產(chǎn)生的。方法是先輸出一個高電平,然后延時,再輸出低電平,再進(jìn)行延時。延時時間的長短由步進(jìn)電機(jī)的作頻率決定。時序脈沖產(chǎn)生的延時控制框圖如圖4-1所示。
圖4-1 時序脈沖產(chǎn)生的延時控制框圖
4.2 步進(jìn)電機(jī)的旋轉(zhuǎn)方向和時序脈沖的關(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)生時序脈沖的方法是:
(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ī)的通電,可以把一個時序字節(jié)放在累加器A中,在每個采樣時刻累加器A左移或右移一位,經(jīng)輸出口輸出。為了彌補(bǔ)8位的不足,可以考慮加入進(jìn)位標(biāo)志位CY這樣就可以把它看成是第9位,這樣就能實(shí)現(xiàn)所需要的通電方式。下面以三相單三拍和三相雙三拍為例來研究累加器中時序字節(jié)的轉(zhuǎn)移。
三相單三拍通電方式,可以考慮在累加器A中放置時序控制字節(jié)49H。示意圖如圖4-2所示。
圖4-2 三相單三拍通電方式示意圖
三相雙三拍通電方式,可以考慮在累加器A中放置時序控制字節(jié)BBH。示意圖如圖4-3所示。
圖4-3 三相雙三拍通電方式示意圖
4.3 步數(shù)的確定
步進(jìn)電機(jī)運(yùn)行的步數(shù)可由步距角和需要轉(zhuǎn)過的角度來計算:
式中:-步距角;
-轉(zhuǎn)子齒數(shù);
-拍數(shù)(一般三拍時=或六拍時=2 );
-控制繞組相數(shù),=3。
例如: =40,三相三拍運(yùn)行,==3,則步距角為:=40,三相六拍運(yùn)行,,則步距角為:
若要求步進(jìn)電機(jī)轉(zhuǎn)過的角度為75度,采用三相六拍運(yùn)行方式,那么步數(shù)就為:
=50(步)。在程序設(shè)計時,將50步化為二進(jìn)制為 32H,32H作為步數(shù)控制量就可以了。
做完了以上的工作,就可以進(jìn)行步進(jìn)電機(jī)控制程序的設(shè)計了。可以把步進(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”時,步進(jìn)電機(jī)反轉(zhuǎn),假如步進(jìn)電機(jī)的正轉(zhuǎn)模型為O1H, 03H, 02H, 06H, 04H, OSH存放在8751片內(nèi)數(shù)據(jù)存儲器20H-25H中,26H中存放結(jié)束標(biāo)志OOH。在27H開始存儲區(qū)內(nèi)存放反轉(zhuǎn)控制模型O1H, OSH, 04H, 06H, 02H, 03H,在2DH單元存放結(jié)束標(biāo)志OOH。用程序延時方法編程的流程圖,如圖4-4所示。
圖 4-4程序延時流程圖
4.4 步進(jìn)電機(jī)的變速控制
上面給的程序流程圖是步進(jìn)電機(jī)的恒速運(yùn)轉(zhuǎn)方式。一般來講,步進(jìn)電機(jī)的一個弱點(diǎn),就是運(yùn)行中丟步,為了使步進(jìn)電機(jī)在運(yùn)行中不出現(xiàn)丟步現(xiàn)象,一般要小于或等于步進(jìn)電機(jī)“響應(yīng)頻率”人,在該頻率下,步進(jìn)電機(jī)可以任意啟動、停止或反轉(zhuǎn)而不發(fā)生失步現(xiàn)象。這個頻率通常比較低。當(dāng)步進(jìn)電機(jī)走過的距離比較長時,需要低速啟動,高速運(yùn)轉(zhuǎn),然后降低速度,最后停止。這樣就解決了“快速而不失步” 的矛盾。那么實(shí)現(xiàn)變速控制的基本思想是改變控制頻率。
設(shè)某個步進(jìn)電機(jī)的控制過程如圖4-5所示。
L1~L3分別代表各個不同運(yùn)行階段的步長,f代表步進(jìn)電機(jī)當(dāng)前運(yùn)行頻率。如圖4-5所示,L2段為恒速運(yùn)行階段,L1段位為升頻,L3段位為降頻。在各個不同的運(yùn)行階段,根據(jù)程序執(zhí)行不同的控制程序,這樣減小因步進(jìn)電機(jī)丟步對控制過程的影響,這對于國產(chǎn)的步進(jìn)電機(jī)效果會更好些。
圖4-5 運(yùn)行頻率圖
下面對于8751內(nèi)部的數(shù)據(jù)存儲區(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 語音報數(shù)
程序設(shè)計中語音報數(shù)使用的是SACM-A2000,考慮到程序比較簡單,首先使用了自動報數(shù)方式,但發(fā)現(xiàn)不能進(jìn)行連續(xù)報數(shù),于是使用了非自動方式,流程圖如圖4-2所示。
圖4-8 流程圖
第5章 結(jié)論
隨著機(jī)電產(chǎn)品對負(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è)計方法和研制過程,包括:硬件設(shè)計、軟件設(shè)計、可靠性設(shè)計等方面。硬件電路用凌陽16位SPCE061A單片機(jī)、先進(jìn)的接口技術(shù)和大規(guī)模集成電路設(shè)計而成。軟件程序用SPCE061A匯編語言寫成。利用軟硬件結(jié)合,實(shí)現(xiàn)對步進(jìn)電機(jī)工作狀態(tài)的自動控制和精確控制。利用單片機(jī)輸出的CP脈沖和方向信號,改變對步進(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ī),自動化程度高、成本低、體積小、控制精確等優(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è)計還是基本達(dá)到了設(shè)計的要求,但是也存在著未能解決的問題,由于在執(zhí)行語音程序時對資源的消耗比較大,在語音報數(shù)的時候會中斷步進(jìn)電機(jī)驅(qū)動信號的輸出,導(dǎo)致電機(jī)停轉(zhuǎn)。為此,我們修改了方案,使用了兩塊單片機(jī),通過雙機(jī)通訊來傳遞信號,遺憾的是問題仍然沒有得到解決。 這次步進(jìn)電機(jī)的綜合實(shí)驗我們學(xué)到了步進(jìn)電機(jī)、數(shù)碼管、4*4鍵盤、語音報數(shù)和雙機(jī)通訊的使用,更重要的是學(xué)會了程序出問題時調(diào)試的方法,并養(yǎng)成了Debug的習(xí)慣,學(xué)到了程序出問題后怎樣去解決的基本方法。
參考文獻(xiàn)
[1]《單片機(jī)原理接口與應(yīng)用》 高等教育出版社 黃遵喜編
[2]《智能化測量儀表原理與設(shè)計》 北京航空航天大學(xué)出版社 徐愛均編
[3]《MCS-51單片機(jī)應(yīng)用設(shè)計》 哈爾濱工業(yè)大學(xué)出版社 張毅鋼編
[4] 國產(chǎn)集成電路應(yīng)用500例 電子工業(yè)出版社 主編周衍仲等
[5] 于海生等,《微型計算機(jī)控制技術(shù)》[M]北京:清華大學(xué)出版社,1999版。
[6]《單片機(jī)基礎(chǔ)》 北京航空航天大學(xué)出版社 李廣弟 朱月繡編
[7] 《步進(jìn)電機(jī)應(yīng)用基礎(chǔ)》 北京航空航天大學(xué)出版社 徐愛均編
[8] 于設(shè)計中的電氣主接線圖、主要設(shè)備的原理圖等,我們將采用AUTOCAD軟件進(jìn)行繪制。
[9]《凌陽16位單片機(jī)應(yīng)用基礎(chǔ)》 大川康介編
[10]《單片機(jī)實(shí)用接口技術(shù)》 王語 張盛誠 編
[11]《凌陽16位單片機(jī)編程教程》 陳震華編
[12]《MCS-51系列
收藏