`摘要:步進電機是一種把電脈沖信號轉化成轉動的角度位移量或者線性位移量的高性能數字化執行元件,其中輸入的電子脈沖和步進電機轉軸的轉角成相應的比例,所以利用單片機能精確地控制。步進電機工作在在一般正常的額定功率情況下,步進電機的轉動速度和轉動停止的位置只取決于電子脈沖信號的頻率大小和電子脈沖個數,卻不與負載的大小以及負載的數目多少有關,廣泛應用在工業系統控制、普通家用電器、數字儀表儀器以及各種各樣的電子自動化控制系統中。 本論文設計是基于AT89C51單片機,單片機發出的電子脈沖信號對步進電機轉動角度進行控制,并通過按鍵實現步進電機正轉、反轉、加速、減速,用LED直觀地顯示電機轉動的速度大小。最后經過PROTEUS仿真,達到基本要求。 引言 單片機具有很多優點,比如說芯片體積小可微型化、功耗比較低、使用比較方便和具有很強的控制力等優點,在儀器儀表中廣泛應用,倘若與不同類型的控制設備相結合,可測量密度、壓強、角度、長度、硬度、元素、壓力等物理量。由于單片機可以看做一個微型的計算機處理系統,所以功能比起相關的電子或模擬數字電路更為強大。 另外采用相關的單片機可以組成各式各樣的智能數字控制系統,比如說溫度報警散熱系統、濕度測量系統等。 步進電機是一種用于開環控制的驅動可執行元件。它將電脈沖信號轉換成相應的角位移或線位移,是用電脈沖信號進行控制的微電動機。步進電機可以控制做準確的轉動定位,所以在電腦的外設及工業生產的自動化機具設備中應用很普遍,例如如傳統的切割機等,另外機器人的各個關節控制也大量的使用步進電機。 近些年來,由于步進電機的控制精度不斷提高,越來越多有較高控制精度要求的系統也開始采用步進電機。對于小功率步進電機,一般采用單片機與專用步進電機驅動器聯合工作的方式,單片機產生脈沖,控制停啟、正反轉,變速等,專用步進電機驅動器則進行脈沖環形分配及功率驅動。 步進電動機突出的優點是它可以在寬廣的頻率范圍內通過改變脈沖頻率來實現調速,快速起停、正反轉控制及制動等,并且用其組成的開環系統既簡單、廉價,又非常可,步進電機的轉速取決于脈沖頻率、轉子齒數和拍數。其角速度與脈沖頻率成正比,而且在時間上與脈沖同步。因而在轉子齒數和運行拍數一定的情況下,只要控制脈沖頻率即可獲得所需速度因此在眾多領域有著極其廣泛的應用。研制一種高性價比步進電機驅動器及其控制系統具有重要的意義。 本次畢業設計選用的步進電機是兩相步進電機,通過軟件和硬件的結合,使用按鍵控制步進電機的復位、正轉、反轉、加速、減速功能,并且將步進電機所處的狀態用相應的發光二極管顯示。主要通過三大塊來設計,包括驅動電路的設計、狀態顯示部分和按鍵部分的設計,可以通過控制脈沖個數來控制角位移量,從而控制轉動的角度;同時可以通過控制脈沖頻率來控制電機轉動的加速度,從而達到調速的目的。 一、本論概述 1.目標選題的現狀背景 1.1.課題的背景 步進電機是自動控制系統中常用的驅動執行部件。步進電機的輸入信號為脈沖電流 ,它能將輸入的脈沖信號轉換為階躍型的角位移或直線位移 ,因而步進電機可看作是一個串行的數 /模轉換器。由于步進電機能夠直接接受數字信號 ,而不需數 /模轉換,所以使用微機控制步進電機顯得非常方便。 步進電機有以下優點: (1)通常不需要反饋就能對位置和速度進行控制; (2)位置誤差不會積累; (3)與數組設備兼容 ,能夠直接接收數字信號; (4)可以快速啟停。 步進電機的品種規格很多,按照它們的結構和工作原理可以劃分為磁阻式 (也稱反應式或變磁阻式 )電機、 混合式電機、永磁式電機和特種電機等四種主要型式。步進電機不需位移傳感器就可精確定位 ,所以在精確定位系統中應用廣泛。目前打字機、計算機外部設備、數控機床、傳真機等設備都使用了步進電機。隨著電子計算機技術的發展 ,步進電機必將發揮它的控制方便、 控制準確的特點 ,在工業控制等領域取得更為廣泛的應用。 1.2選題的意義和目的 步進電機是用脈沖信號進行控制,將電脈沖信號轉換成和相應的角位移或線位移的為電動機,他突出的優點是可以在寬廣的頻率范圍內通過改變脈沖頻率來實現調速,快速啟停、正反轉控制及制動等,并且用其組成的開環系統既簡單、廉價,又非常可行,因此在打印機等辦公自動化設備以及各種控制裝置等眾多領域有著極其廣泛的應用。隨著微電子和計算機技術的發展,步進電動機的需求量與日俱增,研制步進電機驅動器及其控制系統具有十分重要的意義。 1.3課題的內容和具體要求 1.3.1本論文所選的步進電機是四相八拍步進電機,采用的方法是利用單片機控制步進電機的驅動。步進電機是一種將電脈沖轉化為角位移的執行機構。當步進驅動器接受到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度,它的旋轉是以固定的角度一步一步運行的。可以通過控制脈沖個數來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。本次畢業設計就是通過改變脈沖頻率來調節步進電機的速度的,并且通過數碼管顯示其轉速的級別。另外通過單片機實現它的正反轉、加減速。 1.3.2課題的基本內容要求 基本要求: 1、實現電機正轉; 2、實現電機反轉; 3、實現電機先正傳后反轉; 4、實現電機轉速變化(最少三個不同的轉速); 5、電機可以人為控制啟動和停止; 6、電機不同的功能之間使用鍵盤控制轉換 7、對設計的電路進行一定的仿真,對仿真結果進行分析說明是否符合設計要求。 2.方案的論證和比較 2.1單片機的介紹 2.1.1單片機的概述 單片微型計算機簡稱單片機,又稱為微控制器(MCU),它的出現是計算機發展史上的一個重要里程碑,它以體積小、功能全、性價比高等諸多優點而獨具特色,在工業控制、尖端武器、通信設備、信息處理、家用電器等嵌入式應用領域中獨占鰲頭。51系列單片機是國內目前應用最廣泛的一種8位單片機之一。經過20多年的推廣與發展,51系列單片機形成了以個規模龐大、功能齊全、資源豐富的產品群。隨著嵌入式系統、片上系統等概念的提出和普遍接受及應用,51單片機的發展又進入了以個新的階段。許多專用功能芯片的內核集成了51單片機,與51系列單片機兼容的微控制器以IP核的方式不斷地出現在FPGA的片上系統中。今年來,基于51單片機的嵌入式實時操作系統的出現與推廣,表明了51系列單片機在今后的許多年中依然會活躍如故,而且在很長一段時間中將占據嵌入式系統產品的低端市場。 單片機就是在一塊芯片上集成了CPU、RAM、ROM、定時器/計數器、輸入輸出(I/O)接口電路、中斷、串行通信接口等主要計算機部件集成在一塊芯片上,組成單片微型計算機,簡稱單片機。也就是說單片機是集成在一塊芯片上的計算機,其功能之強大,在實際應用中常常完全融入應用系統中,所以單片機也稱為嵌入式控制器(Embedded Microcon troller)。由于單片機集成度高、功能強、可靠性高、體積小、功耗低、使用方便、價格低廉等一系列優點,目前已經滲入到人們工作和生活的方方面面,幾乎“無處不在,無處不為”。單片機的應用領域已從面向工業控制、通訊、交通、智能儀表等迅速發展到家用消費產品、辦公自動化、汽車電子、PC機外圍以及網絡通訊等廣大領域。 單片機有兩種基本結構形式:一種是在通用微型計算機中廣泛采用的將程序存儲器和數據存儲器合用一個存儲空間的結構,稱為普林斯頓結構或稱為馮諾依曼結構。另一種是將程序和數據存儲器截然分開而分別尋址的結構,稱為哈佛(Har-vard)結構。目前的單片機采用哈佛結構的較多。按數據總線的寬度,單片機分為4位、8位、16位以及32位等。 2.1.2單片機的特點 單片微型計算機(Single-Chip Microcomputer),簡稱單片計算機.就是將CPU,RAM,ROM,定時/計時器和多種接口集成在一塊芯片上的微型計算機.
其主要特點如下:
(1)片內存儲容量較小:
原因是受集成度的限制.ROM一般小于8KB,RAM一般小于256B,但可以在外部擴展.通常ROM,RAM可分別擴展至64KB.
(2)可靠性高:
因為芯片是按工業測控環境要求設計的,故抗干擾的能力優于PC機.
系統軟件(如:程序指令,常數,表格)固化在ROM中,不易受病毒破壞.
許多信號的通道均在一個芯片內,故運作時系統穩定可靠.
(3)便于擴展:
片內具有計算機正常運行所必需的部件,片外有很多供擴展用的(總線,并行和串行的輸入/輸出)管腳,很容易組成一定規模的計算機應用系統. (4)控制功能強:
具有豐富的控制指令:如:條件分支轉移指令,I/O口的邏輯操作指令,位處理指令.
(5)實用性好:
體積小,功耗低,價格便宜,易于產品化。 2.1.3單片機的應用領域 目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,計算機的網絡通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄象機、攝象機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。因此,單片機的學習、開發與應用將造就一批計算機應用與智能化控制的科學家、工程師。 單片機廣泛應用于家用電器、醫用設備、航空航天、專用設備的智能化管理及過程控制等領域,大致可分如下幾個范疇:
(1)在工業控制中的應用
用單片機可以構成形式多樣的控制系統、數據采集系統。例如工廠流水線的智能化管理,電梯智能化控制、各種報警系統,與計算機聯網構成二級控制系統等。
(2)在家用電器中的應用
可以這樣說,現在的家用電器基本上都采用了單片機控制,從電飯煲、洗衣機、電冰箱、空調機、彩電、其他音響視頻器材、再到電子秤量設備,五花八門,無所不在。
(3)在計算機網絡和通信領域中的應用
現代的單片機普遍具備通信接口,可以很方便地與計算機進行數據通信,為在計算機網絡和通信設備間的應用提供了極好的物質條件,現在的通信設備基本上都實現了單片機智能控制,從手機,電話機、小型程控交換機、樓宇自動通信呼叫系統、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機等。 單片機還有在醫療設備和相關電子設備中的應用等。 2.1.4單片機的選擇 由于51系列單片機應用很廣泛,集成度高,可靠性強,系統結構簡單,價格低廉,易于使用等等優點,STC89C51系列的單片機是宏晶科技推出的新一代超強抗干擾、高速低功耗的單片機,他的功能已完全能夠實現本設計的要求。而且此次設計需要完成的功能不多,一般情況在盡量節約成本的條件下完成設計。 2.1.5單片機的具體結構 AT89C51的主要參數如表1-1所示: 表1-1 AT89C51的主要參數 AT89C51含E2PROM電可編閃速存儲器。有兩級或三級程序存儲器保密系統,防止E2PROM中的程序被非法復制,不用紫外線擦除,提高了編程效率,程序存儲器E2PROM容量可達20K字節。 AT89C51是一種帶4K字節FLASH存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。外形及引腳排列如圖: 主要特性:(1)與MCS-51 兼容; (2)4K字節可編程FLASH存儲器;(3)壽命:1000寫/擦循環;(4)數據保留時間:10年;(4)全靜態工作:0Hz-24MHz;(5)三級程序存儲器鎖定;(6)128×8位內部RAM;(7)32可編程I/O線;(8)兩個16位定時器/計數器;(9)5個中斷源;(10)可編程串行通道;(11)低功耗的閑置和掉電模式;(12)片內振蕩器和時鐘電路。 特性描述:AT89C51 提供以下標準功能:4k 字節Flash 閃速存儲器,128字節內部RAM,32 個I/O 口線,兩個16位定時/計數器,一個5向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態邏輯操作,并支持兩種軟件可選的節電工作模式。空閑方式停止CPU的工作,但允許RAM,定時/計數器,串行通信口及中斷系統繼續工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位。 管腳說明:VCC:供電電壓。GND:接地。 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的低八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須接上拉電阻。 P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。 P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如下所示: 管腳備選功能: P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時器0外部輸入) P3.5 T1(記時器1外部輸入) P3.6 /WR(外部數據存儲器寫選通) P3.7 /RD(外部數據存儲器讀選通) P3口同時為閃爍編程和編程校驗接收一些控制信號。 RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。 PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。 EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 2.2步進電機的簡介 2.2.1步進電機的概述 步進電機是一種將電脈沖轉化為角位移的執行機構。通俗一點講:當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(及步進角)。您可以通過控制脈沖個數來控制角位移量,從而達到準確定位的目的;同時您可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。步進電機是將電脈沖信號轉變為角位移或線位移的開環控制元件。在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉過一個步距角。這一線性關系的存在,加上步進電機只有周期性的誤差而無累積誤差等特點。使得在速度、位置等控制領域用步進電機來控制變的非常的簡單。 雖然步進電機已被廣泛地應用,但步進電機并不能象普通的直流電機,交流電機在常規下使用。它必須由雙環形脈沖信號、功率驅動電路等組成控制系統方可使用。因此用好步進電機卻非易事,它涉及到機械、電機、電子及計算機等許多專業知識。 2.2.2步進電機的工作原理 電機的U1、V1、W1接電源,分別有三個開關控制,U2、V2、W2分別接地。如果給處于錯齒狀態的相通電,則轉子在電磁力的作用下,將向磁導率最大(即最小磁阻位置)位置轉動,即向趨于對齒的狀態轉動。步進電機是一種感應電機,它的工作原理是利用電子電路,將直流電變成分時供電的,多相時序控制電流,用這種電流為步進電機供電,步進電機才能正常工作,驅動器就是為步進電機分時供電的,多相時序控制器。 它驅動時各線圈通電順序如下: 表1-2:步進電機線圈驅動順序 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7A2.tmp.png 相 順序 | | | | | | | | | | | | | | | | | | | | | | | | |
當電機定子繞組通電時序為AB-BA’-A’B’-B’A-AB時為正轉,通電時序為AB-B’A-A’B’-BA’-AB時為反轉。單片機作為核心部件,向步進電機輸入端傳送1或0信息,則可實現上述操作。通過不同長度的延時來得到不同頻率的步進電機輸入脈沖,從而得到多種步進速度,也就是改變電機的轉動速度。 2.2.3、步進電機的結構及分類 步進電機結構分為轉子和定子兩部分: (1)定子:由硅鋼片疊成的,定子上有6大磁極,每2個相對的磁極(N,S)組成一對,共有3對。定子齒有三個勵磁繞阻,其幾何軸線依次分別與轉子齒軸線錯開。 0、1/3π、2/3π,(相鄰兩轉子齒軸線間的距離為齒距以π表示),即A與齒1相對齊,B與齒2向右錯開1/3π,C與齒3向右錯開2/3π,A'與齒5相對齊,(A'就是A,齒5就是齒1)。 (2)轉子:由軟磁材料制成,其外表面也均勻地分布著小齒,與定子上的小齒相同,并且小齒的大小相同,間距相同 分類:步進電機分三種:永磁式(PM) ,反應式(VR)和混合式(HB)永磁式步進一般為兩相,轉矩和體積較小,步進角一般為7.5度 或15度;反應式步進一般為三相,可實現大轉矩輸出,步進角一般為1.5度,但噪聲和振動都很大。在歐美等發達國家80年代已被淘汰;混合式步進是指混合了永磁式和反應式的優點。它又分為兩相和五相:兩相步進角一般為1.8度而五相步進角一般為 0.72度。 2.2.4、步進電機的特點: (1)一般步進電機的精度為步進角的3-5%,且不累積。 (2)步進電機外表允許的最高溫度。 步進電機溫度過高首先會使電機的磁性材料退磁,從而導致力矩下降乃至于失步,因此電機外表允許的最高溫度應取決于不同電機磁性材料的退磁點;一般來講,磁性材料的退磁點都在攝氏130度以上,有的甚至高達攝氏200度以上,所以步進電機外表溫度在攝氏80-90度完全正常。 (3)步進電機的力矩會隨轉速的升高而下降。 當步進電機轉動時,電機各相繞組的電感將形成一個反向電動勢;頻率越高,反向電動勢越大。在它的作用下,電機隨頻率(或速度)的增大而相電流減小,從而導致力矩下降。 (4)步進電機低速時可以正常運轉,但若高于一定速度就無法啟動,并伴有嘯叫聲。 步進電機有一個技術參數:空載啟動頻率,即步進電機在空載情況下能夠正常啟動的脈沖頻率,如果脈沖頻率高于該值,電機不能正常啟動,可能發生丟步或堵轉。在有負載的情況下,啟動頻率應更低。如果要使電機達到高速轉動,脈沖頻率應該有加速過程,即啟動頻率較低,然后按一定加速度升到所希望的高頻(電機轉速從低速升到高速)。 步進電動機以其顯著的特點,在數字化制造時代發揮著重大的用途。伴隨著不同的數字化技術的發展以及步進電機本身技術的提高,步進電機將會在更多的領域得到應用。 2.2.5、步進電機的選擇 步進電機由步距角、靜轉矩、及電流三大要素組成。一旦三大要素確定,步進電機的型號便確定下來了。 (1)步距角的選擇 電機的步距角取決于負載精度的要求,將負載的最小分辨率換算到電機軸上,每個當量電機應走多少角度。電機的步距角應等于或小于此角度。目前市場上步進電機的步距角一般有0.36度/0.72度(五相電機)、0.9度/1.8度(二、四相電機)、1.5度/3度(三相電機)等。 (2)靜力矩的選擇 步進電機的動態力矩一下子很難確定,我們往往先確定電機的靜力矩。靜力矩選擇的依據是電機工作的負載,而負載可分為慣性負載和摩擦負載兩種。單一的慣性負載和單一的摩擦負載是不存在的。直接啟動時兩種負載均要考慮,加速啟動時主要考慮慣性負載,恒速運行時只要考慮摩擦負載。一般情況下,靜力矩應為摩擦負載的2-3倍為好,靜力矩一旦選定,電機的機座及長度便能確定下來(幾何尺寸)。 (3)電流的選擇 靜力矩一樣的電機,由于電流參數不同,其運行特性差別很大,可依據矩頻特性曲線圖,判斷電機的電流。 (4)力矩與功率換算 步進電機一般在較大范圍內調速使用、其功率是變化的,一般只用力矩來衡量,力矩與功率換算如下: P=Ω·M (2.1) Ω=2π·n/60 (2.2) P=2πnM/60 (2.3) 其中P為功率單位為瓦,Ω為每秒角速度,單位為弧度,n為每分鐘轉速,M為力矩,單位為牛頓·米 P=2πfM/400(半步工作) (2.4) 其中f為每秒脈沖數(簡稱PPS) 2.2.6、步進電機的指標術語 相數:產生不同對極N、S磁場的激磁線圈對數。常用m表示拍數:完成一個磁場周期性變化所需脈沖數或導電狀態用n表示,或指電機轉過一個齒距角所需脈沖數,以四相電機為例,有四相四拍運行方式即AB-BC-CD-DA-AB,四相八拍運行方式即 A-AB-B-BC-C-CD-D-DA-A。 步距角: 行拍數),以常規二、四相,轉子齒為50齒電機為例。四拍運行時步距角為θ=360度/(50*4)=1.8度(俗稱整步),八拍運行時步距角為θ=360度/(50*8)=0.9度(俗稱半步)。 定位轉矩:電機在不通電狀態下,電機轉子自身的鎖定力矩(由磁場齒形的諧波以及機械誤差造成的) 靜轉矩:電機在額定靜態電作用下,電機不作旋轉運動時,電機轉軸的鎖定力矩。此力矩是衡量電機體積(幾何尺寸)的標準,與驅動電壓及驅動電源等無關。 雖然靜轉矩與電磁激磁安匝數成正比,與定齒轉子間的氣隙有關,但過份采用減小氣隙,增加激磁安匝來提高靜力矩是不可取的,這樣會造成電機的發熱及機械噪音。 步距角精度:步進電機每轉過一個步距角的實際值與理論值的誤差。用百分比表示:誤差/步距角*100%。不同運行拍數其值不同,四拍運行時應在5%之內,八拍運行時應在15% 以內。 失步:電機運轉時運轉的步數,不等于理論上的步數,稱之為失步。 失調角:轉子齒軸線偏移定子齒軸線的角度,電機運轉必存在失調角,由失調角產生的誤差,采用細分驅動是不能解決的。 最大空載起動頻率:電機在某種驅動形式、電壓及額定電流下,在不加負載的情況下,能夠直接起動的最大頻率。 2.3、仿真軟件的介紹 2.3.1、keil軟件 Keil uVision系列是德國Keil Software公司推出的51系列兼容單片機軟件開發系統。它本次設計使用的是Keil2,是集成的可視化Windows操作界面,其提供了豐富的庫函數和各種編譯工具,能夠對51系列單片機以及和51系列兼容的絕大部分類型的單片機進行設計。Keil uVision系列可以支持單片機C51程序設計語言,也可以直接進行匯編語言的設計與編譯。 與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部分組合在一起。無論是使用C語言還是匯編語言進行程序的編寫,其方便易用的集成環境、強大的軟件仿真調試工具也會使編程事半功倍。 KeilC51的特點:(1)Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。(2)與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。用過匯編語言后再使用C來開發,體會更加深刻。 Keil C51軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。 因此,本次設計采用C語言進行程序的編寫。 2.3.2、proteus軟件 Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發應用的科技工作者的青睞。Proteus是世界上著名的EDA工具,從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。 功能及特點: (1)功能:1)原理布圖 2)PCB自動或人工布線3)SPICE電路仿真 (2)特點:1)互動的電路仿真用戶甚至可以實時采用諸如RAM,ROM,鍵盤,馬達,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。2)仿真處理器及其外圍電路可以仿真51系列、AVR、PIC、ARM、等常用主流單片機。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運行后輸入輸出的效果。配合系統配置的虛擬邏輯分析儀、示波器等,Proteus建立了完備的電子設計開發環境[8]。 2.4、驅動電路的選擇 本設計內容使用達林頓驅動芯片ULN2003,2003為極電極開路驅動芯片,能驅動4相步進電機,他的每一對達林頓都串聯一個2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路 直接相連,可以直接處理原先需要標準邏輯緩沖器。ULN2003 是高壓大電流達林頓晶體管陣列系列產品,具有電流增益高、工作電壓高、溫度范圍寬、帶負載能力強等特點,適應于各類要求高速大功率驅動的系統。缺點是如果用于驅動直流電機的話只能按一個方向轉動。換向要改變電機的接法。 2.5、顯示電路的選擇 采用LED數碼管顯示,數碼管顯示在硬件連接方面顯得較為復雜,在不同的應用場合下配合使用的芯片也不同,但是對于LCD液晶顯示來說,在成本方面占較大優勢。 由于本次設計只是在數碼管上普通地顯示轉速,對轉速變化有一個感性的認識,對顯示器件要求不高,所以使用這一方案。 3、設計或實驗過程論述3.1、硬件電路的設計3.1.1、硬件設計的總體方案 因為步進電機的控制是通過脈沖信號來控制的,將電脈沖信號轉變為角位移或線位移的開環控制元件。所以怎樣產生這個脈沖信號和產生怎樣的信號是電機控制的關鍵。 用單片機來產生這個脈沖信號,通過單片機的P1口輸出脈沖信號,因為所選電機是兩相的,所以只需要P1口的低四位P1.0~P1.3分別接到電機的四根電線上。定時器定時來調整電機的轉速,通過鍵盤的按鈕,就可以改變定時初值從而改變了電機的轉速,P0口接LED數碼管,可以顯示當前的電機轉速和按鈕狀態,具體結構見圖: file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7B3.tmp.png 3.1.2、單片機最小系統 單片機最小系統包括始終振蕩電路和復位電路,其電路圖如圖: file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7C4.tmp.png 圖3.2 單片機最小系統 說明: ①復位電路:由電容串聯電阻構成,由圖并結合"電容電壓不能突變"的性質,可以知道,當系統一上電,RST腳將會出現高電平,并且,這個高電平持續的時間由電路的RC值來決定.典型的51單片機當RST腳的高電平持續兩個機器周期以上就將復位,所以,適當組合RC的取值就可以保證可靠的復位.一般教科書推薦C 取10u,R取8.2K.當然也有其他取法的,原則就要讓RC組合可以在RST腳上產生不少于2個機周期的高電平; ②復位輸入高電平有效,當振蕩器工作時,RST引腳出現兩個機器周期以上的高電平,使單片機復位。此電路除具有上電復位功能外,若要復位只需按“RST”鍵,此電源Vcc經電阻分壓,在RST端產生一個復位高電平; ③晶振電路:典型的晶振取11.0592MHz(因為可以準確地得到9600波特率和19200波特率,用于有串口通訊的場合)/12MHz(產生精確的方波便于12分頻,方便定時操作); ④單片機:一片AT89S51/52或其他51系列兼容單片機; 注意:對于31腳(EA/Vpp),當接高電平時,單片機在復位后從內部ROM的0000H開始執行;當接低電平時,復位后直接從外部ROM的0000H開始執行; ⑤電源部分:接+5伏特的電壓。 3.1.3、按鍵部分 本次設計選用的是單片機的P3口來控制信號的輸入,于是把按鍵開關和P3口連接起來,另一端接地。當按下其中一個開關時,P3.0~P3.4中的某一個I/O的電位被拉低,則單片機控制步進電機進行相應的動作。接線如圖: file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7C5.tmp.png 3.1.4、電機驅動芯片 在實際的電路中,單片機的I/O口并不能直接驅動LED發光,因此,必須在單片機和數碼管之間加上驅動芯片,本次設計中使用了74HC573,它起到驅動和鎖存的作用,其內部結構如圖: file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7C6.tmp.png file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7D6.tmp.png 圖3.4 74HC573芯片 74HC573的八個鎖存器都是透明的D 型鎖存器,當使能(G)為高時,Q 輸出將隨數據(D)輸入而變。當使能為低時,輸出將鎖存在已建立的數據電平上。輸出控制不影響鎖存器的內部工作,即老數據可以保持,甚至當輸出被關閉時, 新的數據也可以置入。這種電路可以驅動大電容或低阻抗負載,可以直接與系統總線接口并驅動總線,而不需要外接口。特別適用于緩沖寄存器,I/O 通道,雙向總線驅動器和工作寄存器。 3.1.5、電機驅動芯片 本設計使用的是生活中被廣泛使用的電機驅動芯片ULN2003AN ,ULN2003是一個7路反向器電路,即當輸入端為高電平時ULN2003輸出端為低電平,當輸入端為低電平時ULN2003輸出端為高電平,其內部結構及外形如圖: file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7D7.tmp.png file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7D8.tmp.png 圖3.5 ULN2003的內部結構圖 ULN2003 是高耐壓、大電流達林頓陳列,由七個硅NPN 達林頓管組成。 該電路的特點如下: ①ULN2003 的每一對達林頓都串聯一個2.7K 的基極電阻,在5V 的工作電壓下它能與TTL 和CMOS 電路直接相連,可以直接處理原先需要標準邏輯緩沖器來處理的數據。 ②ULN2003 工作電壓高,工作電流大,灌電流可達500mA,并且能夠在關態時承受50V 的電壓,輸出還可以在高負載電流并行運行。驅動電路如圖: file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7D9.tmp.png 圖3.6 電機驅動圖 3.1.6、步進電機 本設計使用步進電機兩相五線電機,電壓為DC5V,本次設計中步進電機工作在二相勵磁方式。當對步進電機施加一系列連續不斷的控制脈沖時,它可以連續不斷 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7EA.tmp.png 地轉動。每一個脈沖信號對應步進電機的某一相或兩相繞組的通電狀態改變一次,也就對應轉子轉過一定的角度(一個步距角)。當通電狀態的改變完成一個循環時,轉子轉過一個齒距。四相步進電機可以在不同的通電方式下運行,常見的通電方式有單四拍(單相繞組通電A-B-C-D-A),雙四拍(雙相繞組通電AB-BC-CD-DA-AB),八拍(A-AB-B-BC-C-CD-D-DA-A),電機如圖: 圖3.7 電機實物圖 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7EB.tmp.png 3.1.7、顯示部分 數碼管選用7段共陽4位LED,第一位顯示電機的正反轉狀態,第一位顯示“-”,第三、四位顯示電機的狀態,顯示如圖: file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7EC.tmp.png 步進電機的四線接法P1.0~A、P1.1~B P1.2~A’、P1.3~B’,整體的硬件仿真圖如圖: 圖3.9 系統整體仿真圖 3.2、軟件部分3.2.1、主程序 進入主程序顯示初始化狀態,主程序由鍵盤程序、顯示程序、步進電機驅動程序三部分組成,主程序首先初始化各變量,步進電機驅動的各引腳均輸出高電平,然后調用鍵盤程序,并作判斷,有鍵按下,則調用鍵盤程序,并顯示出狀態。其主程序框圖如圖: file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7ED.tmp.png
圖3.10 主程序框圖 3.2.2、顯示子程序 轉速的顯示是給用戶最直觀的概念,知道電機的轉的快慢,知道電機當前的轉速,而需要怎樣的速度,再對它進行加減速。而這個顯示是調用顯示子程序。具體流程圖如圖: file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps80D.tmp.png
圖3.11 顯示子程序框圖 3.2.3、鍵盤掃描子程序 鍵盤是我們唯一和電機溝通的橋梁,通過鍵盤的輸入從而改變電機的運行狀態,這里所需要的鍵盤數量不多,可以根據學習板做成獨立式鍵盤,鍵盤的焊接是行線接單片機P3口的p3.0~p3.4,通過調用KEY掃描鍵盤,調用延時程序,再判斷是否有鍵按下,如果無鍵按下就返回繼續掃描,如果有鍵按下,則調用delay延時去抖動,再讀鍵值,等待鍵釋放,具體流程如圖: file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps80E.tmp.png 圖3.12 鍵盤掃描子程序框圖 4、基于AT89C51的步進電機控制系統的實現4.1、系統的故障及調試4.1.1、軟件部分 (1)調試:按照總體流程圖,在keil軟件上,用C語言編程,編程時采用分塊進行,分為按鍵子程序、顯示子程序、調速子程序以及主程序,具體步驟如下: 1)定義各個變量uchar maichong;uchar zhuansu;uchar flag; 2)定義正反轉、加減速端口Sbit key_z=P3^1;sbit key_f=P3^2;sbit key_jia=P3^3;sbit key_jian=P3^4; 3)調用顯示子程序; 4)調用鍵盤掃描子程序; 5)執行主程序; 6)返回顯示 (2)故障及解決:在編程完成時,運行程序,在仿真圖上可以看到電機并不能正常旋轉,而是左右來回運轉或者是只轉半圈,剛開始認為是電機的四相接線接錯了,更改之后,電機依舊不能正常運行,于是,我懷疑是程序的問題,改動了幾個地方,沒有解決。我決定一部分一部分地檢查,檢查到電機在簡單接線時,現象依然不明顯,此時認為是電機運轉太快了,在眼中有視覺殘留,于是,我調整程序中的延遲函數和脈沖個數,在不斷地嘗試下,最終,能夠很清楚地看到電機正常運轉,故障得到解決。 4.1.2、硬件部分 (1)調試:根據原理圖將硬件焊接好,用Proteus軟件下載keil軟件生成的HEX文件到單片機中,再給單片機上電,程序就開始運行。 (2)故障及解決:完成了硬件的焊接,將程序通過數據線下載到單片機芯片中,接通電源,電機并不能運轉,對比PROTEUS中的電路仿真圖的接線,發現電機的四條接線位置不對,更改了位置后電機正常運轉。可是,顯示的LED并沒有按照程序進行運轉,此時,我懷疑是LED壞了,于是我將LED拆下來單獨點亮,能夠正常工作,查閱了相關書籍后發現,LED的驅動需要一定大小的電壓和電流,于是我在單片機的I/O口與LED之間接入了驅動芯片74HC573,再次運行,LED正常顯示。 4.2、設計結果 這次設計比較成功,在經過了器件的選擇,軟件的仿真及調試,硬件的焊接后,步進電機能按照預先的要求,實現按鍵控制電機的復位、正轉、反轉、加速、減速五個操作。并對應地在LED上顯示出象征性的數字,從而直觀地觀察到電機的轉速變化。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps81F.tmp.png 按下復位按鈕,電機停止,對應的數碼管上顯示如下: 圖4.1 初始化顯示圖 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps820.tmp.png 按下正轉按鈕從P1口輸出脈沖,步進電機正轉,顯示如下: 圖4.2 電機正轉顯示圖 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps821.tmp.png 按下反轉按鈕從P1口輸出脈沖,步進電機反轉,顯示如下: 圖4.3 電機反轉顯示圖 按下加速按鈕電機速度增加,按下減速按鈕電機速度減少顯示如圖4.4所示: file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps822.tmp.png file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps823.tmp.png file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps833.tmp.png file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps834.tmp.png 5、總結與不足5.1、總結 本次畢業設計主要實現了基于AT89C51單片機控制步進電機的運行,通過按鍵分別控制電機的復位、正轉、反轉、加速、減速,并在數碼管上對應地顯示轉速的變化,經過了protues、keil軟件仿真和調試,實現了步進電機按基本任務要求運行。 通過這次畢業設計,讓我對單片機有了一個更深入的認識,單片機作為一種計算機基本硬件,與計算機廣泛應用緊密相關,他能解決很多大型計算機所不能解決的問題,所以,掌握單片機設計方法是非常必要的。 這其中也讓我對匯編有了更深一層的認識,并且還讓我領略到單片機這一計算機控制的魅力。正如課程設計的任務和地位中所說的那樣,計算機科學在應用上得到飛速發展,因此,學習這方面的知識必須緊密聯系實際:掌握這方面的知識更要強調解決實際問題的能力。同學們要著重學會面對一個實際問題,如何去自己收集資料,如何自己去學習新的知識,如何自己去制定解決問題的方案并通過實踐不斷地去分析和解決前進道路上的一切問題,最后取得成功。 最后,在設計的過程中我覺得我自己付出了很多努力,但是,這種付出是值得的,因為有了它,我培養起了要細致認真地工作,和發現問題、分析問題、解決問題的能力,也讓我從汗水中嘗到了快樂和喜 5.2、不足 因為我的能力有限,對其他別的種類電機不夠了解,準備的資料不是很多,任務設計中仍然有很多不足,例如:由于沒有用到定時器步進電機控制不精確;僅僅簡單地顯示轉速,轉速的測量不嚴密;元器件的使用可以選用更加精確等等。盡管存在一些問題,但是我相信我會在今后的學習中,我會盡量拓寬自己的知識面,注意更多,在分析問題時盡量做到面面俱到。 參考文獻 1、李蒙, 毛建東.單片機原理及應用[M]. 中國輕工業出版社, 2010.2 2、樓然苗,李光飛.單片機課程設計指導.第2版[M].北京:北京航空航天大學出版社,2012. 3、周立功.單片機實驗與實踐[M].北京:北京航空航天大學出版社,2004 4、康華光.電子技術基礎(數字部分)[M].北京:高等教育出版社,2006 5、楊新軍.步進電機程序控制[J].英才高職論壇.2006,02(1):52—55. 6、賈立新,王涌等.電子系統設計與實踐[M].北京:清華大學出版社.2007 7、陳明熒.8051單片機課程設計實訓教材[M].北京:清華大學出版社,2000 8、陳理壁. 步進電機及其應用[M]. 上海:上海科學技術出版社, 1989 9、王自強. 步進電機應用技術[M]. 科學出版社, 2010.5 10、周向紅. 51系列單片機應用與實踐教程[M]. 北京: 北京航天航空大學出版社, 2008.5 11、丁明亮, 唐前輝. 51單片機應用設計與仿真[M]. 北京: 北京航天航空大學出版社, 2009.2
|