




已閱讀5頁,還剩29頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
密級: 公 開 科學技術學院NANCHANG UNIVERSITY COLLEGE OFSCIENCE AND TECHNOLOGY學 士 學 位 論 文 THESIS OF BACHELOR(2011 2012 年)題 目 基于AT89S52單片機的步進電機控制 學 科 部: 專 業: 班 級: 學 號: 學生姓名: 指導教師: 起訖日期: 2011/12/52012/5/24 目 錄摘 要I第一章緒 論11.1 引言11.2 設計要求11.3 設計內容21.4 小結2第二章系統總體方案設計32.1 主要器件簡介32.1.1 AT89S52單片機簡介32.1.2 ULN2003A簡介32.1.3 四相五線永磁型步進電機M35SP-7NP簡介42.1.4 紅外遙控簡介42.2 步進電機的工作原理52.2.1 步進電機簡介52.2.2 步進電機的工作原理62.3 步進電機常見的控制方案與驅動技術簡介72.4 系統總體設計方案102.4.1系統框圖102.4.2 系統設計方案與功能簡述102.5 小結11第三章系統整體硬件設計123.1 單片機最小系統電路設計123.2 狀態顯示模塊硬件電路設計133.3 按鍵與紅外接收模塊硬件電路設計143.4 ULN2003A步進電機驅動模塊硬件電路設計143.5 ISP單片機在線程序下載器接口電路15第四章系統軟件設計164.1 軟件設計思路164.2 系統設計主程序流程圖164.3 主程序初始化流程圖174.4 步進電機運行控制子程序流程圖184.5系統程序簡要說明20第五章系統運行與調試215.1開發軟件簡介215.1.1 Keil編程軟件簡介與使用215.1.2 Proteus仿真軟件的簡介與使用215.1.3系統的仿真圖225.2系統的軟硬件聯調及問題總結22第六章總結與展望24參考文獻(References)25致 謝26附錄一:系統原理圖27附錄二:實物照片28基于AT89S52單片機的步進電機控制摘 要:步進電動機由于用其組成的控制系統既簡單、廉價、低噪音、響應快、速度位移控制精準,又非常穩定可靠,因此在辦公自動化設備、數控系統以及各種控制裝置等眾多領域有著極其廣泛的應用。文章以單片機AT89S52為控制核心,通過單片機的IO口輸出的具有時序的脈沖信號作為步進電機的控制信號,實現了步進電機的速度控制。本設計在AT89S52單片機最小系統的基礎上,外擴驅動芯片ULN2003A作為步進電機的驅動電路、外擴3個按鍵以及紅外線來實現對步進電機的狀態控制、外擴發光二極管顯示步進電機的正反轉、外擴數碼管顯示電機運行速度的大小。在硬件設計的基礎上,通過在keil下進行軟件編程,最終完成了基于單片機的步進電機的控制系統設計。本文從硬件和軟件兩個方面對基于單片機的步進電機的控制進行了詳細的介紹,最后給出了調試過程和PROTEUS仿真圖,該設計具有設計成熟、簡單可靠、穩定性高等特點。 關鍵詞:步進電機,脈沖,驅動機構,單片機,轉動The stepping motor control system based on AT89S52 MCUAbstract:Stepper motor because of the open-loop system composed of simple, cheap, low noise, fast response speed, displacement control precision, it is very stable and reliable, therefore in the office automation equipment, CNC system and various control devices and many other fields have a wide range of applications.This paper introduces a singlechip stepper motor control design, AT89S52 single-chip computer to control the stepping motor, SCM through the I / O port with the output timing of the pulse signal as a stepper motor control signal, the design uses 3 keys and infrared ray to realize the stepper motor state control, through the microcontroller, motor drive chip ULN2003A, the corresponding keys and the infrared remote controller to realize the above function, stepping motor positive and negative conversion of light-emitting diode display, its running speed to a certain level in the digital tube display. This paper describes the stepper motor, infrared control and microcomputer principle, system block diagram, hardware circuit, program flow, and the entire system in the debugging process of the problems encountered and their solutions. The design is simple and reliable, sophisticated design, high stability.Key words: stepping motor pulse,driving mechanism, single chip microcomputer,rotation28第一章 緒 論1.1 引言步進電動機又稱脈沖電動機或階躍電動機,國外一般稱為Steppingmotor、Pulse motor或Stepper servo,其應用發展已有約80年的歷史。步進電機是一種把電脈沖信號變成直線位移或角位移的控制電機,其位移速度與脈沖頻率成正比,位移量與脈沖數成正比。步進電機在結構上也是由定子和轉子組成,可以對旋轉角度和轉動速度進行高精度控制。當電流流過定子繞組時,定子繞組產生一矢量磁場,該矢量場會帶動轉子旋轉一角度,使得轉子的一對磁極磁場方向與定子的磁場方向一著該磁場旋轉一個角度。因此,控制電機轉子旋轉實際上就是以一定的規律控制定子繞組的電流來產生旋轉的磁場。每來一個脈沖電壓,轉子就旋轉一個步距角,稱為一步。在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,同時步進電機只有周期性的誤差而無累積誤差,精度高,步進電動機可以在寬廣的頻率范圍內通過改變脈沖頻率來實現調速、快速起停、正反轉控制等,這是步進電動機最突出的優點。正是由于步進電機具有突出的優點,所以成了機電一體化的關鍵產品之一,廣泛應用在各種自動化控制系統中。隨著微電子和計算機技術的發展,步進電機的需求量與日俱增,在各個國民經濟領域都有應用。優點明顯的步進電機被廣泛應用在電子計算機的許多外圍設備中,例如打印機,紙帶輸送機構,卡片閱讀機,主動輪驅動機構和存儲器存取機構等,步進電機也在軍用儀器,通信和雷達設備,攝影系統,光電組合裝置,閥門控制,數控機床,電子鐘,醫療設備及自動繪圖儀,數字控制系統,工具機控制,程序控制系統以及許多航天工業的系統中得到應用。因而,對于步進電機控制的研究也就顯得尤為重要了。為了得到良好的控制性能,對步進電機的控制的研究就一直沒有停止過,許多重大的技術得以實現。基于微型單片機的控制系統則通過軟件來控制步進電機,能夠更好地發揮步進電機的潛力。因此,用微型單片機控制步進電機己經成為了一種必然的趨勢,也符合數字化的時代發展要求。其中步進電機的驅動,可以采用匯編語言或C語言進行軟件開發,通過串行或并行通信的方式實現機與步進電機控制器之間的數據通信,最終實現由PC機直接控制步進電機的方法。此外還可以采用無線控制技術,實現遠、近距離的無線遙感控制步進電機,實現一些人不宜直接接觸的工業現場等環境復雜的地方,不過無線控制步進電機也可以用來在家居環境中,比如遙控窗簾等等。本文正是采用紅外無線技術,能夠實現10M左右的紅外控制步進電機,非常方便實用。1.2 設計要求本設計的要求如下:1、開始通電時,步進電機停止轉動2、單片機分別接有按鍵開關K1、K2和K3,用來控制步進電機的轉向,要求如下:1)當按下K1鍵時,步進電機正轉;2)當按下K2鍵時,步進電機反轉;3)當按下K3鍵時,步進電機停止轉動。3、能夠通過相應顏色的指示燈和數碼管來指示步進電機運行狀態和運行速度級別。4、正轉采用一相激磁方式,反轉采用12相激磁方式。5、能夠實現通過紅外發射裝置來實現對步進電機的控制。6、能夠編程實現所需的各種功能,并能正常調試。1.3 設計內容本論文采用的電動機是四相五線步進電機,采用的方法是利用AT89S52單片機產生控制脈沖來控制步進電機的運行轉態。最終能夠實現步進電機的運行狀態、轉速級別的顯示,能通過按鍵和紅外遙控器來控制步進電機的啟動、加速、減速、正反轉和停止等功能。步進電機是一種將電脈沖轉化為角位移的執行機構。當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(稱為“步距角”),它的旋轉是以固定的角度一步一步運行的。可以通過控制脈沖個數來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。本設計就是通過改變脈沖頻率來調節步進電機的速度等級的,并且通過數碼管顯示其轉速的級別。另外通過單片機實現它的正反轉,步進電機可以作為一種控制用的特種電機,利用其沒有積累誤差(精度為100%)的特點,廣泛應用于各種開環控制。1.4 小結 步進電機憑借著其優良的性能,如步進電機無累積誤差,精度高,可以在寬廣的頻率范圍內通過改變脈沖頻率來實現調速、快速起停、正反轉控制等。所以廣泛應用于各種控制場合中,從工業控制到到玩具家用等等,或者說用到了精確轉動的地方,就用到了步進電機。本文也旨在通過對步進電機的研究來實現對其進行各種控制,并將其應用到實際生活之中去,其中本文采用紅外接收裝置意在實現通過對步進電機的紅外無線控制,能擴展其應用范圍。總之,步進電機是一種非常實用和易控制的電機,研究其功能、控制特點非常有必要。第二章 系統總體方案設計2.1 主要器件簡介2.1.1 AT89S52單片機簡介AT89S52是一個低功耗,高性能CMOS 8位單片機,片內含4k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,32個可編程I/O口線,兩個16位定時器/計數器,該器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統及80C51引腳結構,芯片內集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S52可為許多嵌入式控制應用系統提供高性價比的解決方案。2.1.2 ULN2003A簡介ULN2003A概述與特點:ULN2003A是高耐壓、大電流達林頓陳列,其內部結構如圖1所示。圖1 ULN2003內部結構圖ULN2003 的每一對達林頓都串聯一個2.7K 的基極電阻,在5V 的工作電壓下它 能與TTL 和CMOS 電路直接相連,可以直接處理原先需要標準邏輯緩沖器來 處理的數據。ULN2003 工作電壓高,工作電流大,灌電流可達500mA,并能夠在關態時承受 50V 的電壓,輸出還可以在高負載電流并行運行。達林頓對管還可并聯使用以達到更高的輸出電流能力。ULN2003A的輸出結構是集電極開路的,所以要在輸出端接一個上拉電阻,在輸入低電平的時候輸出才是高電平。在驅動負載的時候,電流是由電源通過負載灌入ULN2003A的。ULN2003A的應用電路如圖2所示。圖2 ULN2003的應用電路2.1.3 四相五線永磁型步進電機M35SP-7NP簡介M35SP-7NP是四相五線永磁型步進電機,其轉矩和體積較小,步進角為7.5度。電機共有四組線圈,四組線圈的一個端點連在一起引出,一根為電源引出線,這樣一共有5根引出線。步進電機內部結構圖如圖3所示。圖3 步進電機內部結構圖2.1.4 紅外遙控簡介紅外遙控系統由發射和接收兩大部份組成,應用編/解碼專用集成電路芯片來進行控制操作,如下圖4和圖5所示。發射部份包括鍵盤矩陣、編碼調制、LED紅外發送器;接收部份包括光、電轉換放大器、解調、解碼電路。由于采用不同芯片其發送和接受的過程是不一樣的,此次設計采用的是HT6221紅外編碼芯片,0038一體化紅外接收頭。紅外遙控編碼和解碼原理如下圖所示:鍵盤編碼調制LED光/電放大解調解碼遙控發射器遙控接收器圖4 紅外遙控系統bit“0”0.56ms1.125msbit“1”0.56ms2.25ms圖5 遙控碼的“0”和“1”2.2 步進電機的工作原理2.2.1 步進電機簡介步進電機是將電脈沖信號轉變為角位移或線位移的開環控制元件。在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉過一個步距角。這一線性關系的存在,加上步進電機只有周期性的誤差而無累積誤差等特點。使得在速度、位置等控制領域用步進電機來控制變的非常的簡單。正常情況下,步進電機轉過的總角度和輸入的脈沖數成正比;連續輸入一定頻率的脈沖時,電動機的轉速與輸入脈沖的頻率保持嚴格的對應關系,不受電壓波動和負載變化的影響。由于步進電動機能直接接收數字量的輸入,所以特別適合于微機控制。(一)步進電機的靜態指標術語1、相數:產生不同對N、S磁場的激磁線圈對數。常用m表示。2、拍數:完成一個磁場周期性變化所需脈沖數或導電狀態用n表示,或指電機轉過一個齒距角所需脈沖數,以四相電機為例,有四相四拍運行方式即AB-BC-CD-DA-AB,四相八拍運行方式即A-AB-B-BC-C-CD-D-DA-A。3、步距角:對應一個脈沖信號,電機轉子轉過的角位移用表示。=360度(轉子齒數*運行拍數),以常規二、四相,轉子齒為50齒電機為例。四拍運行時步距角為=360度/(50*4)=1.8度(俗稱整步),八拍運行時步距角為=360度/(50*8)=0.9度(俗稱半步)。(二)步進電機動態指標及術語:1、步距角精度:步進電機每轉過一個步距角的實際值與理論值的誤差。用百分比表示:誤差/步距角*100%。不同運行拍數其值不同,四拍運行時應在5%之內,八拍運行時應在15%以內。2、失步:電機運轉時運轉的步數,不等于理論上的步數。稱之為失步3、失調角:轉子齒軸線偏移定子齒軸線的角度,電機運轉必存在失調角,由失調角產生的誤差,采用細分驅動是不能解決的。4、電機正反轉控制:當電機繞組通電時序為A-AB-B-BC-C-CD-D-DA時為正轉,通電時序為DA-D-CD-C-BC-B-AB-A時為反轉。(三)步進電機的特征如下:1、一般步進電機的精度為步進角的3%-5%,且不積累。2、步進電機外表允許的最高溫度。一般來講,磁性材料的退磁點都在攝氏130度以上,有的甚至高達攝氏200度以上,所以步進電機外表溫度在攝氏80-90度完全正常。3、步進電機的力矩會隨轉速的升高而下降。當步進電機轉動時,電機各相繞組的電感將形成一個反向電動勢;頻率越高,反向電動勢越大。在它的作用下,電機隨頻率(或速度)的增大而相電流減少,從而導致力矩下降。4、步進電機低速時可以正常轉動,但若高于一定速度就無法啟動,并伴有嘯叫聲。步進電機有一個技術參數:空載啟動頻率,即步進電機在空載情況下能夠正常啟動的脈沖頻率,如果脈沖頻率高于該值,電機不能正常啟動,可能發生丟步或堵轉。在有負載的情況下,啟動頻率應更低。如果要使電機達到高速轉動,脈沖頻率應該有加速過程,即啟動頻率較低,然后按一定加速度升到所希望的高頻(電機轉速從低速升到高速)。步進電動機以其顯著的特點,在數字化制造時代發揮著重大的用途。伴隨著不同數字化技術的發展以及步進電機本身技術的提高,步進電機將會在更多的領域得到應用。2.2.2 步進電機的工作原理步進電機的工作就是步進轉動,其功能是將脈沖電信號變換為相應的角位移或是直線位移,就是給一個脈沖信號,電動機轉動一個角度或是前進一步。步進電機的角位移量與脈沖數成正比,它的轉速與脈沖頻率(f)成正比,在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉過一個步距角。如下圖6所示的步進電機為一四相步進電機,采用單極性直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機步進轉動。圖6 四相步進電機步進示意圖開始時,開關SB接通電源,SA、SC、SD斷開,B相磁極和轉子0、3號齒對齊,同時,轉子的1、4號齒就和C、D相繞組磁極產生錯齒,2、5號齒就和D、A相繞組磁極產生錯齒。當開關SC接通電源,SB、SA、SD斷開時,由于C相繞組的磁力線和1、4號齒之間磁力線的作用,使轉子轉動,1、4號齒和C相繞組的磁極對齊。而0、3號齒和A、B相繞組產生錯齒,2、5號齒就和A、D相繞組磁極產生錯齒。依次類推,A、B、C、D四相繞組輪流供電,則轉子會沿著A、B、C、D方向轉動。單四拍、雙四拍與八拍工作方式的電源通電時序與波形分別如圖7所示: 圖7 步進電機工作時序波形圖2.3 步進電機常見的控制方案與驅動技術簡介(一)常見的步進電機控制方案1、基于電子電路的控制步進電機受電脈沖信號控制,電脈沖信號的產生、分配、放大全靠電子元器件的動作來實現。由于脈沖控制信號的驅動能力一般都很弱,因此必須有功率放大驅動電路。步進電機與控制電路、功率放大驅動電路組成一體,構成步進電機驅動系統。此種控制電路設計簡單,功能強大,可實現一般步進電機的細分任務。這個系統由三部分組成:脈沖信號產生電路、脈沖信號分配電路、功率放大驅動電路。系統組成如圖8所示。圖8 基于電子電路控制系統此種方案即可為開環控制,也可閉環控制。開環時,其平穩性好,成本低,設計簡單,但未能實現高精度細分。采用閉環控制,即能實現高精度細分,實現無級調速。閉環控制是不斷直接或間接地檢測轉子的位置和速度,然后通過反饋和適當的處理,自動給出脈沖鏈,使步進電機每一步響應控制信號的命令,從而只要控制策略正確電機不可能輕易失步。該方案多通過一些大規模集成電路來控制其脈沖輸出頻率和脈沖輸出數,功能相對較單一,如需改變控制方案,必須需重新設計,因此靈活性不高。2、基于PLC的控制基于PLC的步進電機控制系統有PLC、環形分配器和功率驅動電路組成。控制系統采用PLC來產生控制脈沖。通過PLC編程輸出一定數量的方波脈沖,控制步進電機的轉角進而控制伺服機構的進給量,同時通過編程控制脈沖頻率來控制步進電機的轉動速度,進而控制伺服機構的進給速度。環形脈沖分配器將PLC輸出的控制脈沖按步進電機的通電順序分配到相應的繞組。PLC控制的步進電機可以采用軟件環形分配器,也可采用硬件環形分配器。 采用軟件來產生控制步進電機的環型脈沖信號,并用PLC中的定時器來產生速度脈沖信號,這樣就可以省掉專用的步進電機驅動器,降低硬件成本。但受到PLC工作方式的限制及其掃描周期的影響,步進電機不能在高頻下工作,無法實現高速控制。并且在速度較高時,由于受到掃描周期的影響,相應的控制精度就降低了。3、基于單片機的控制采用單片機來控制步進電機,實現了軟件與硬件相結合的控制方法。用軟件代替環形分配器,達到了對步進電機的最佳控制。系統中采用單片機接口線直接去控制步進電機各相驅動線路。由于單片機的強大功能,還可設計大量的外圍電路,鍵盤作為一個外部中斷源,設置了步進電機正轉、反轉、檔次、停止等功能,采用中斷和查詢相結合的方法來調用中斷服務程序,完成對步進電機的最佳控制,顯示器及時顯示正轉、反轉速度等狀態。環形分配器其功能由單片機系統實現,采用軟件編程的辦法實現脈沖的分配。本方案有以下優點:(1)單片機軟件編程可以使復雜的控制過程實現自動控制和精確控制,避免了失步、振蕩等對控制精度的影響;(2)用軟件代替環形分配器,通過對單片機的設定,用同一種電路實現了多相步進電機的控制和驅動,大大提高了接口電路的靈活性和通用性;(3)單片機的強大功能使顯示電路、鍵盤電路、復位電路等外圍電路有機的組合,大大提高系統的交互性。基于以上各種方案的對比,可以看出基于單片機的步進電機控制優勢明顯,故本次設計采用基于單片機的控制方案。(二)步進電機驅動技術步進電動機上個世紀就出現了,它的組成、工作原理和今天的反應式步進電動機沒有什么本質區別,也是依靠氣隙間的磁導變化來產生電磁轉矩。步進電機驅動技術指的是用步進電機驅動器的驅動級來實現對步進電機各相繞組的通電和斷電,同時也是對繞組承受的電壓和電流進行控制的技術。到目前為止,步進電機驅動技術通常分為單電壓驅動、單電壓串電阻驅動、高低壓驅動、斬波恒流驅動、升頻升壓驅動和細分驅動等。單電壓驅動是通過改變電路的時間常數以提高電機的高頻特性。它的優點是結構簡單、成本低;缺點是串接電阻器的做法將產生大量的能量損耗,尤其是在高頻工作時更加嚴重,因而它只適用于小功率或對性能指標要求不高的步進電機驅動。這種驅動方式目前主要用于小功率或啟動、運行頻率要求不高的場合。高低壓驅動是指不論電動機的工作頻率是多少,在導通相的前沿用高電壓供電來提高電流的上升沿斜率,而在前沿過后采用低電壓來維持繞組的電流,即采用加大繞組電流的注入量以提高出力,而不是通過改善電路的時間常數來使矩頻性能得以提高。但是使用這種驅動方式的電機,其繞組的電流波形在高壓工作結束和低壓工作開始的銜接處呈凹形,致使電機的輸出力矩有所下降。這種驅動方式目前在實際應用中還比較常見。細分驅動是指在每次脈沖切換時,不是將繞組的全部電流通入或切除,而是只改變相應繞組中電流的一部分,電動機的合成磁勢也只旋轉步距角的一部分。細分驅動時,繞組電流不是一個方波而是階梯波,額定電流是臺階式的投入或切除。比如:電流分成n個臺階,轉子則需要n次才轉過一個步距角,即n細分細分驅動最主要的優點是步距角變小,分辨率提高,且提高了電機的定位精度、啟動性能和高頻輸出轉矩:其次,減弱或消除了步進電機的低頻振動,降低了步迸電機在共振區工作的幾率。可以說細分驅動技術是步進電動機驅動與控制技術的一個飛躍。 通過對比以上各種驅動技術,我們可以看出細分驅動技術優勢明顯,其控制的步距角小,定位精度高,啟動性能好等,此次設計也是采用的細分驅動技術。2.4 系統總體設計方案2.4.1系統框圖步進電機的控制系統的框圖如圖9所示:AT89S52鍵盤輸入數碼管顯示ULN2003A步進電機驅動電路步進電機LED指示燈紅外接收頭電源電路振蕩電路復位電路圖9 系統結構框圖2.4.2 系統設計方案與功能簡述本次設計采用AT89S52單片機作為控制器元件。整個控制系統主要由四部分組成,各部分主要功能簡介如下:(1) 鍵盤與紅外控制電路部分 鍵盤由單片機的P3口的P3.5、P3.6、P3.7來控制,采用獨立按鍵設計。其功能分別為:正轉(加速)、反轉(減速)、停止。紅外接收頭采用萬能式一體式接收頭,連接在單片機的P3.2(INT0)口,通過外部中斷在接收處理遙控器發射的控制信號。在軟件中,采用循環掃描法來實現鍵盤的識別與處理。(2) 顯示電路控制部分在此次設計里,顯示器件采用了一位8段共陽LED數碼管顯示器。通過它來顯示步進電機當前運行級別等級。顯示硬件電路采用共陽數碼管加PNP型9012三極管驅動,驅動電流更大,使數碼管更加明亮,使電路的連接更加規范穩定。(3) 步進電機的勵磁控制步進電動機的勵磁方式可以分為全步勵磁及半步勵磁。適當控制步進電機A、B、/A、/B的勵磁信號,即可控制步進電機的轉動。每輸出一個脈沖信號,步進電動機只走一步。因此,依序不斷地送出脈沖信號,即可令步進電動機連續轉動。在本設計中,通過設置AT89S52的定時器的初始值來實現89C51的端口輸出相應的相序脈沖,從而實現對步進電機的控制。(4) 步進電機的驅動電路在本設計中,采用ULN2003A作為步進電機的驅動芯片,ULN2003A是高耐壓、大電流、內部由七個硅NPN 達林頓管組成的驅動芯片。經常用在顯示驅動、繼電器驅動、照明燈驅動、電磁閥驅動、伺服電機、步進電機驅動等電路中。ULN2003 的每一對達林頓都串聯一個2.7K 的基極電阻,在5V 的工作電壓下它能與TTL 和CMOS 電路直接相連,可以直接處理原先需要標準邏輯緩沖器來處理的數據。ULN2003 工作電壓高,工作電流大,灌電流可達500mA,并且能夠在關態時承受 50V 的電壓,輸出還可以在高負載電流并行穩定的運行。是最佳的驅動選擇之一。2.5 小結本章主要介紹了此次設計中所用的各種器件以及整個系統設計的總體方案,包括AT89S52單片機介紹、基本器件四相五線永磁型步進電機M35SP-7NP簡介、步進電機驅動芯片ULN2003A簡介以及紅外遙控簡介等,并繪出了系統框圖,對各部分框圖的功能進行了介紹。在下一章將通過具體的電路來實現上述框圖的功能。第三章 系統整體硬件設計3.1 單片機最小系統電路設計圖10所示的為AT89S52單片機的最小系統圖,它是單片機工作的基本保證,包括電源電路、振蕩電路和復位電路。單片機的復位采用高電平復位,主要有按鍵復位和上電復位,此處上電復位電路利用10uF電解電容充電,10K電阻對充電電容放電,電容充電時間為t=10uF * 10K=100mS,足以使單片機在高電平期間完成復位操作。按鍵復位,5V電源經過220限流電阻和按鍵直接接到RST引腳,當按鍵按下RST直接被拉高實現復位操作。振蕩電路是產生單片機工作的時序是單片機所必須的,單片機的一切控制操作都是基于這個時鐘基準工作的。MCS-51單片機的時鐘振蕩器是由單片機內部反相器的外接晶振及微調電容組成的一個三點式振蕩器,將晶振和微調電容接到單片機的XTAL1和XTAL2引腳段即可產生自激振蕩,產生時鐘周期。在實際中采用12MHz晶振和2個30pF微調電容組成單片機的振蕩電路。RAM是單片機的數據存儲器,分為片內和片外,AT89S52單片機內部的有256B RAM,可尋址空間為64K,此處設計無外接擴展。ROM是單片機的程序存儲器,也分為片內外ROM,可尋址空間為64K,在AT89S52單片機中,有8K的內部ROM,足夠此次設計中程序的存儲,也無需擴展外接。在圖10中下部分為電源接口電路,在此次設計中采用適配器,將5V電源通過電源座接口引進,供整個系統工作。電源是所有系統工作的基礎,電源穩定,系統的工作才能可靠。電源在引進本系統后,有開關控制電源的接通,0.1uF電容濾波處理,還有LED電源指示燈等。圖10 單片機最小系統圖3.2 狀態顯示模塊硬件電路設計 狀態顯示模塊硬件電路包括LED顯示電路設計和數碼管顯示電路設計兩部分。圖11所示的電路為指示等電路,其中紅色的LED表示步進電機停止轉動,綠色的表示步進電機正轉,黃色的表示步進電機反轉。電路中采用LED燈的負極接單片機的I/O口,正極經220R限流電阻到5V電源,這樣IO口輸出低電平就可以驅動LED燈,此種接法采用灌電流驅動,提高了單片機的驅動能力。圖12所示的電路是數碼管驅動電路用來指示步進電機運行速度的級別,采用共陽數碼管,用PNP三極管驅動。只要單片機的P30口輸出一個低電平,PNP三極管導通,三極管的基極(COM網絡)會被拉高,就可以驅動數碼管顯示了。此種接法可使數碼管的亮度增加,顯示清晰。 圖11 轉向指示燈電路 圖12 數碼管顯示與驅動電路3.3 按鍵與紅外接收模塊硬件電路設計 在電路中紅外信號發送采用現有的遙控器發射紅外線,在接收模塊中由紅外接收頭去接收遙控器發射的紅外線,在單片機程序中通過對紅外遙控器鍵值的判斷來實現相應的操作,從而實現對步進電機的正反轉控制,速度調節和速度級別的顯示。圖13是按鍵電路,S1按下表示步進電機正轉,S2按下表示步進電機反轉,S3按下步進電機停止轉動。采用低電平控制。在程序中,單片機不停的掃描檢測對應IO口電平的變化,來判斷是哪個鍵按下,從而在程序中去調用相應的程序,執行操作。圖14是紅外接口電路,此處只要插上一個紅外接收頭就可以接收到紅外信號,并對步進電機進行控制。 圖13 按鍵電路 圖14 紅外接口電路3.4 ULN2003A步進電機驅動模塊硬件電路設計此電路是步進電機的驅動部分,選用的是ULN2003A芯片來驅動的,ULN2003系列是一款高耐壓,大電流達林頓管驅動器,包含7個NPN達林頓管。通過ULN2003A構成的驅動電路比較常用,如下圖15所示。通過單片機的P2.0P2.3 輸出脈沖到ULN2003A的IN1IN4口,經信號放大后從OUT1OUT4 口分別輸出到電機的A、B、C、D相,這樣通過單片機的IO口輸出的脈沖信號經過ULN2003A放大后,連接到步進電機A、B、C、D四相后,可直接驅動步進電機,實現對步進電機的控制。圖15 步進電機驅動電路3.5 ISP單片機在線程序下載器接口電路 圖16是AT89S52特有的在線程序下載接口電路,只需要一個ISP線就可以很方便的將寫好的程序下載到單片機中去。圖16 程序下載接口電路3.6 小結本節主要介紹了系統設計中硬件電路的設計,包括單片機最小系統電路,與ULN2003步進電機驅動電路等。在相應電路中都有文字說明,具體介紹了各個模塊電路的工作過程或是設計思想。第四章 系統軟件設計4.1 軟件設計思路在程序設設計中,首先是對系統進行各種初始化處理,包括定時器,中斷以及其他寄存器和/口的處理等。在main()函數中的主循環不停的執行按鍵掃描并調用數碼管顯示程序,單片機檢測到有按鍵按下,判斷該值,并執行相應的操作,如果是正轉按鍵按下,則置位正轉標志位,單片機于是調用正轉程序代碼,向單片機I/O口輸出控制脈沖,控制步進電機的正轉。同理,當有反正或是停止按鍵按下時,單片機調用相應的程序,使單片機的IO口輸出相應的控制脈沖,從而控制步進電機的運轉。程序運行后,單片機開始不停地通過外部中斷0檢測有無中斷信號輸入(紅外控制信號通過紅外接收頭接到單片機的外部中斷0引腳輸入端),如果有檢測到中斷信號,就轉入中斷服務程序,控制相關的變量,讓單片機處理紅外信號,將其接收到的紅外信號轉變為原始代碼,單片機再根據這個代碼值來做相應的處理,包括調用顯示程序和步進電機控制程序等。4.2 系統設計主程序流程圖系統分為初始化程序、電機運行子程序(包括電機正轉、反轉、加減速停止等)、按鍵及紅外掃描子程序等組成,其主程序框圖如下圖17所示。程序流程圖相關說明,單片機上電后,程序開始執行,首先系統初始化,包括各個寄存器,IO口,中斷,定時器等等,之后開始按鍵掃描。當有按鍵按下時,單片機就會調用相關的步進電機運行子程序。若有外部中斷0輸入(即接收到了紅外信號),單片機開始處理紅外程序,根據紅外處理后的結果開始調用步進電機運行子程序和顯示子程序。完成之后系統返回,開始下一次掃描,如此循環。系統初始化掃描按鍵顯示程序開始等待外部中斷0返回有按鍵按下?調用步進電機運行子程序接收到紅外信號?YYNN圖17 系統主程序流程圖4.3 主程序初始化流程圖對相應的系統參數進行初始化,包括系統上電默認運行參數設定,包括四相八拍的工作方式,初始速度檔位是30轉/分,系統中斷設定,定時器設定,載入定時器初值和默認的工作參數等,具體流程圖如下圖18所示。定時器中斷允許開始外部中斷允許設置定時器工作方式1、裝初值開啟定時器0、TR0=1載入默認工作參數各I/O端口初始化圖18 系統初始化程序流程圖4.4 步進電機運行控制子程序流程圖步進電機控制子程序流程圖說明,如圖19所示。程序開始執行后,當有按鍵或是紅外信號被單片機檢測到后,判別這個信號是方向控制信號還是步進電機啟動運轉信號,若是方向控制信號,置位控制方向的標志位,改變步進電機的轉動方向。若是紅外信號控制信號,處理之后調用,步進電機運行程序,輸出控制脈沖去控制步進電機的運轉。若是復位鍵或是停止鍵,系統復位或是將停止標志位置位,停止輸出控制脈沖,步進電機停止運轉。當多次按下正轉鍵或是反轉鍵時,步進電機開始加速或是減速,其速度值以0-9等級級別在數碼管上顯示。是方向鍵(或紅外信號)嗎?是啟動鍵(或紅外信號)嗎?是復位鍵(停止信號)嗎?轉換正反轉電機運行(電機控制脈沖)調用正反轉指示燈顯示語句開始記下同一按鍵(或紅外信號)按下的次數的n返回是否否是是掃描按鍵、紅外控制信息將n轉換成需要到達的轉速級別N,控制電機加、減速數碼管顯示轉速級別N圖19 步進電機運行控制子程序流程圖4.5系統程序簡要說明主要函數及頭文件的說明:#include /AT89S52單片機的包含文件void main() /負責系統程序的初始化,按鍵掃描,數碼管顯示,/LED指示燈display() /負責數碼管顯示,顯示電機轉速級別void timeint(void) interrupt 1 /定時器中斷處理函數,負責掃描紅外控制信號以及/電機脈沖產生控制等void gorun() /電動機運行脈沖控制序列產生函數,通過改變調用/該函數的時間間隔可以實現加減速,并且也可以控/制電機正反轉#include/紅外脈沖處理頭文件,對接收到的脈沖處理文件本次設計的軟件部分,是很重要的一個環節,是整個系統的靈魂。在主函數main中,初始化系統,開啟定時中斷與外部中斷。在while中不停進行按鍵掃描,并調用顯示函數。同時定時器不停的產生控制脈沖,控制步進的運行狀態,并進行紅外脈沖的掃描。另外,外部中斷0與紅外接收頭相連,當有紅外控制信號脈沖發射出來,經過外部中斷0的處理,翻譯成按鍵對應的標志碼,在定時中斷中檢測這個按鍵代碼值,就可以執行相應的操作,從而去控制電機及顯示。綜合各個模塊就可以實現整個系統的功能。第五章 系統運行與調試5.1開發軟件簡介本設計在設計過程中主要用到仿真軟件PROTEUS和C51編譯器keil這兩個開發軟件,其中仿真軟件Proteus能在不搭建真實的硬件電路板就可以模擬出真實的效果來,而keil C51能很好的編譯單片機程序,并且在keil里面能很方便的調試單片機的程序從而實現了兩個開發軟件的優勢互補,大大加快整個設計的開發速度,本次設計繪制原理圖及PCB圖采用的軟件是Altium公司的Altium Designre 6.9,Altium Designer 是業界首例將設計流程、集成化 PCB 設計、可編程器件(如 FPGA)設計和基于處理器設計的嵌入式軟件開發功能整合在一起的產品,一種同時進行電子線路、PCB和FPGA設計以及嵌入式設計的解決方案,是繪制原理圖和PCB最佳選擇之一。5.1.1 Keil編程軟件簡介與使用Keil 是美國Keil公司的C51編譯器,它被嵌入到了Keil uVision集成開發環境中。Keil是目前最常用的編譯器,支持浮點等到類型,支持多維數組,能生成對應的匯編代碼,能直接編譯匯編代碼程序和內嵌多種工具,可以方便的鏈接,生成可執行文件。Keil C51軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。5.1.2 Proteus仿真軟件的簡介與使用Proteus軟件是來自英國Labcenter electronics公司的EDA工具軟件。 Proteus軟件有十多年的歷史,在全球廣泛使用,除了其具有和其它EDA工具一樣的原理布圖、PCB自動或人工布線及電路仿真的功能外,其革命性的功能是,他的電路仿真是互動的,針對微處理器的應用,還可以直接在基于原理圖的虛擬原型上編程,并實現軟件源碼級的實時調試。Proteus 產品系列也包含了革命性的VSM技術,用戶可以對基于微控制器的設計連同所有的周圍電子器件一起仿真。PROSPICE 仿真器的一個擴展PROTEUS VSM:便于包括所有相關的器件的基于微處理器設計的協同仿真。此外,還可以結合微控制器軟件使用動態的鍵盤,開關,按鈕,LEDs甚至LCD顯示CPU模型。PROTEUS的特點主要有:(1)支持許多通用的微控制器,如PIC,AVR,HC11以及8051; (2)交互的裝置模型包括:LED和LCD顯示,RS232終端,通用鍵盤;(3)強大的調試工具;包括寄存器和存儲器,斷點和單步模式;(4)IAR C-SPY 和Keil uVision3等開發工具的源層調試;(5)應用特殊模型的DLL界面-提供有關元件庫的全部文件。5.1.3系統的仿真圖圖20 系統仿真圖圖20為仿真結果圖,在Proteus中電路連接如上,D1藍色燈,表示電機正轉,D2黃色燈,表示電機反正,D3紅色燈,表示電機停止運轉。數碼管表示步進電機運行的速度級別0-9級。三個按鍵分別是正轉、反轉、停止。當上電開始仿真時,紅燈亮,步進電機停止,數碼管顯示為0,系統正常。當按下正轉鍵,步進電機開始正轉,數碼管顯示1,步進電機運行最快,再按一下數碼管顯示2,電機速度降低一個等級,如此直至顯示9,之后又回歸到顯示0,步進電機停止運行。同理,反轉鍵也是如此。在任何時候按下停止按鍵時,步進電機都會立刻停止運轉,數碼管顯示為0。5.2系統的軟硬件聯調及問題總結(一)硬件調試的步驟仿真完全實現其所需的功能以后,并在接入電源之前,用萬用表對整個電路進行檢查,查看是否在聯線過程中是否出現問題。檢查硬件電路內容按如下步驟:1、檢查線路的焊接問題。2、檢查電路是否有沒接的線路。3、各種外圍器件有沒接錯。在接上電源以后看芯片是否都是在正常工作電壓下工作,其它器件是否正常工作等。(二)調試總結雖然在仿真軟件調試好之后沒有什么問,看似都很正常。可到了實物總會遇到一些問題。首先,在焊接完成后,上電,燒錄程序,發現預先的程序在剛做好的板子上跑步起來,電機嗡嗡的想,但不轉,開始檢查硬件電路才發現,電機接口插座焊反了,拆焊,重新裝上,電機轉動起來,各種顯示也正常。其次,在電路中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年心理健康教育專業碩士入學考試試題
- 2025年物流管理專業考研試卷及答案
- 2025年項目管理與成本控制基礎考試試卷及答案
- 2025年圖像處理與視覺藝術考試試卷及答案
- 2025年美術教育專業相關考試試題及答案
- 2025年農林經濟管理專業考試試題及答案
- 2025年建筑施工安全管理知識測試題及答案
- 2025年機械制造及其自動化專業畢業設計答辯題及答案
- 2025年創業管理與實務綜合能力測試卷及答案
- 2025年甘肅省平涼華亭市策底鎮招聘專業化管理的村文書筆試備考試題及完整答案詳解1套
- 人工肝治療指南課件
- 2021年新教材人教A版高中數學必修第一冊第五章三角函數 教學課件
- 掘進機整機出廠檢驗報告
- 最新版中小學校服選用自查整改報告
- 旅行社的導游管理制度
- DB4201∕T 645-2021 房地產經紀服務規范
- 撥叉綜合課程設計
- 壓鑄件QC工程圖
- 常用標準波導和法蘭尺寸
- pH 值對檸檬酸緩凝效果影響的研究
- 705型試驗臺技術條件及說明書
評論
0/150
提交評論