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