

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 畢業(yè)設計(論文)說明書</p><p> 課題名稱:基于單片機的直流電機控制系統(tǒng)設計</p><p> 院 系 </p><p> 專 業(yè) </p><p> 班 級 </p><p&g
2、t; 學 號 </p><p> 姓 名 </p><p> 指導教師 </p><p> 2012 年 5 月 20 日</p><p><b> 摘 要</b></p><p> 電動機作為最
3、主要的機電能量轉換裝置,其應用范圍已遍及國民經濟的各個領域和人們的日常生活。無論是在工農業(yè)生產、國防、醫(yī)療衛(wèi)生、交通運輸和辦公設備中,還是在日常生活的家用電器和消費電子產品中,都大量使用著各種各樣的電動機。電動機的調速控制一般采用模擬法,對電動機的簡單控制應用比較多。本設計實現了對電動機的簡單控制,也就是指對電動機進行啟動、制動和正反轉控制。</p><p> 本設計采用了單片機STC89C52與PC串行實現通
4、信,由于單片機輸入、輸出電平是TTL電平,而PC機配置的是RS232標準串行接口,兩者的電氣規(guī)范不一致,因此要完成單片機與PC機的數據通信,必須對單片機輸出的TTL電平進行電平轉換。采用的轉換電平芯片為MAX232。設計中采用STC89C52微處理器及其RS232通信接口、鍵盤、12864液晶顯示器等外圍電路,構成一臺直流電機開環(huán)在線控制系統(tǒng)。</p><p> 設計中采用PWM調制技術,實現對直流電機速度的調
5、制,并通過串口實現上位機的在線控制。系統(tǒng)實現了在線調速、正轉、反轉、加速、減速、停止等多種功能,并能實時顯示、鍵盤設置等,具有一定的實際應用價值。</p><p> 關鍵詞:單片機 電平轉換 直流電機 在線控制 PWM調制</p><p><b> Abstract</b></p><p> Motor as the main elect
6、romechanical energy conversion device, its application has been throughout all areas of the national economy and people's daily life. Both in industrial and agricultural production, national defense, medical and heal
7、th, transportation and office equipment, or in the daily life of household appliances and consumer electronics products, extensive use of various motor. Motor speed control using simulation method, the motor control appl
8、ication more simple. The design and imple</p><p> The design introduced AT89C51 single-chip serial communication with the PC method, as the single-chip input and output level is TTL level, and PC-standard c
9、onfiguration is a RS232 serial interface, both the electrical specifications are inconsistent, Therefore to complete PC-SCM and data communications, the need for single-chip output TTL level to level translators. Used in
10、 chip-level conversion for the MAX232. Applied to the design of STC89C52 microprocessor and RS232 communication interface, k</p><p> Applied to the design of PWM technology to realize the dc motor speed reg
11、ulation, and through a serial port realize PC online control. The online speed regulation system, are turning, inversion, accelerate, slowing down, stop and other functions, and can real-time display, keyboard Settings,
12、it has certain practical application value.</p><p> Keywords: single-chip serial communication Level Translators Dc motor Online control PWM technology</p><p><b> 目錄</b></p&g
13、t;<p><b> 摘 要I</b></p><p> AbstractII</p><p><b> 1 緒論 1 </b></p><p> 1.1 直流電機概述 1 </p><p> 1.2 單片機概述 1 </p><p>
14、1.3 脈寬調制(PWM)技術 2 </p><p> 1.4 課題任務及工作內容 3 </p><p> 2 單片機直流電機控制系統(tǒng)總體設計方案 4 </p><p> 2.1 設計思路 4 </p><p> 2.2 方案論證與比較 4 </p><p> 2.3 系統(tǒng)組成 5 </p
15、><p> 3 單片機直流電機控制系統(tǒng)硬件設計 6 </p><p> 3.1 系統(tǒng)硬件結構 6 </p><p> 3.2 系統(tǒng)單元電路設計 6 </p><p> 3.2.1 單片機最小系統(tǒng)電路 6 </p><p> 3.2.2 獨立式鍵盤電路 7 </p><p>
16、3.2.3液晶顯示模塊 7 </p><p> 3.2.4 蜂鳴器電路 8 </p><p> 3.2.5 電源電路 8 </p><p> 3.2.6 串口通信電路 9 </p><p> 3.2.7 電機驅動電路 10 </p><p> 4 單片機直流電機控制系統(tǒng)軟件設計 11 </
17、p><p> 4.1 軟件總體結構 11 </p><p> 4.2 系統(tǒng)模塊程序設計 12 </p><p> 4.2.1初始化模塊程序 12 </p><p> 4.2.2鍵盤掃描模塊程序 13 </p><p> 4.2.3液晶顯示模塊程序 15 </p><p> 4.
18、2.4串口通信模塊程序 15 </p><p> 4.2.5電機調速模塊程序 17 </p><p> 5 系統(tǒng)測試 18 </p><p> 5.1 測試準備 18 </p><p> 5.1.1 硬件環(huán)境 18 </p><p> 5.1.2 軟件環(huán)境 18 </p><
19、p> 5.1.3 測試項目 18 </p><p> 5.2 測試過程 18 </p><p> 5.3 測試結果 19 </p><p><b> 結束語 21 </b></p><p><b> 致謝 22 </b></p><p><b&
20、gt; 參考文獻 23 </b></p><p><b> 附錄 24 </b></p><p><b> 1 緒論</b></p><p> 1.1 直流電機概述</p><p> 在現代工業(yè)中,電動機作為電能轉換的傳動裝置被廣泛應用于機械、冶金、石油化學、國防等工業(yè)部
21、門中,隨著對生產工藝、產品質量的要求不斷提高和產量的增長,越來越多的生產機械要求能實現自動調速。長期以來,自動調速電動機一直占據著調速控制的統(tǒng)治地位。由于它具有良好的線性調速特性,簡單的控制性能,高效率,優(yōu)異的動態(tài)特性,現在仍是大多數調速控制電動機的最優(yōu)選擇</p><p> 以前電動機大多使用由模擬電路組成的控制柜進行控制,現在單片機已經開始取代模擬電路作為電機控制器。當前電機控制器的發(fā)展方向越來越趨于多樣化
22、和復雜化,現有的專用集成電路未必能滿足苛刻的新產品開發(fā)要求,為此可考慮開發(fā)電機的新型單片機控制器,因此研究直流電機的速度控制,有著非常重要的意義。</p><p> 由于變頻技術的出現,交流調速一直沖擊直流調速,但綜觀全局,尤其是我國在此領域的現狀,再加上全數字直流調速系統(tǒng)的出現,更提高了直流調速系統(tǒng)的精度及可靠性,直流調速系統(tǒng)仍將處于十分重要地位。</p><p> 對于直流調速系統(tǒng)
23、轉速控制的要求有穩(wěn)速、調速、加速或減速三個方面,而在工業(yè)生產中對于后兩個要求已能很好地實現,但工程應用中穩(wěn)速指標卻往往不能達到預期的效果,穩(wěn)速要求即以一定的精度在所需要的轉速穩(wěn)定運行,在各種干擾不允許有過大的轉速波動。</p><p><b> 1.2 單片機概述</b></p><p> 隨著單片機功能的飛速發(fā)展,單片機的應用領域已經滲透到了國民經濟的各個領域,
24、并影響著現代人的生活。單片機技術的出現給現代工業(yè)測控領域帶來了一次技術革命。目前,單片機仍以其高可靠性、高性價比,在工業(yè)控制系統(tǒng)、智能化儀器儀表、數據采集系統(tǒng)和智能家電等諸多領域得到了廣泛應用。</p><p> 當今時代是一個新技術層出不窮的時代,在電子領域尤其是自動化智能控制領域,傳統(tǒng)的分立元件或數字邏輯電路構成的控制系統(tǒng),正以飛快的速度被單片機智能控制系統(tǒng)所取代。單片機的優(yōu)點包括體積小、功能強、成本低,并
25、且應用面廣,可以說智能控制與自動控制的核心就是單片機。</p><p> 單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。概括來講:一塊芯片就是一臺計算機。它具有體積小、質量輕、價格便宜等優(yōu)點,為學習、應用和開發(fā)提供了諸多便利。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。</p><p> 現在,單片機的應用領域非常廣泛,比如實時
26、工控、導航系統(tǒng)、智能儀表、家用電器、通訊設備等。單片機一旦運用在各種產品上面,就可以說是使產品進行了升級換代,也可以把產品美其名曰:“智能型”,如智能型洗衣機等等。</p><p> 1.3 脈寬調制(PWM)技術</p><p> 脈沖寬度調制(PWM)是英文“Pulse Width Modulation”的縮寫,簡稱脈寬調制。它是利用微處理器的數字輸出來對模擬電路進行控制的一種非常
27、有效的技術,廣泛應用于測量,通信,功率控制與變換等許多領域。一種模擬控制方式,根據相應載荷的變化來調制晶體管柵極或基極的偏置,來實現開關穩(wěn)壓電源輸出晶體管或晶體管導通時間的改變,這種方式能使電源的輸出電壓在工作條件變化時保持恒定。</p><p> 脈沖寬度調制(PWM)是一種對模擬信號電平進行數字編碼的方法。通過高分辨率計數器的使用,方波的占空比被調制用來對一個具體模擬信號的電平進行編碼。PWM信號仍然是數字
28、的,因為在給定的任何時刻,滿幅值的直流供電要么完全有(ON),要么完全無(OFF)。電壓或電流源是以一種通(ON)或斷(OFF)的重復脈沖序列被加到模擬負載上去的。通的時候即是直流供電被加到負載上的時候,斷的時候即是供電被斷開的時候。只要帶寬足夠,任何模擬值都可以使用PWM進行編碼。</p><p> 多數負載(無論是電感性負載還是電容性負載)需要的調制頻率高于10Hz,通常調制頻率為1kHz到200kHz之間
29、。</p><p> 許多微控制器內部都包含有PWM控制器。例如,Microchip公司的PIC16C67內含兩個PWM控制器,每一個都可以選擇接通時間和周期。占空比是接通時間與周期之比;調制頻率為周期的倒數。執(zhí)行PWM操作之前,這種微處理器要求在軟件中完成以下工作:</p><p> 1、設置提供調制方波的片上定時器/計數器的周期</p><p> 2、在P
30、WM控制寄存器中設置接通時間</p><p> 3、設置PWM輸出的方向,這個輸出是一個通用I/O管腳</p><p><b> 4、啟動定時器</b></p><p> 5、使能PWM控制器</p><p> 目前幾乎所有市售的單片機都有PWM模塊功能,若沒有(如早期的8051),也可以利用定時器及GPIO口來
31、實現。更為一般的PWM模塊控制流程為(筆者使用過TI的2000系列,AVR的Mega系列,TI的LM系列):</p><p> 1、使能相關的模塊(PWM模塊以及對應管教的GPIO模塊)。</p><p> 2、配置PWM模塊的功能,具體有:</p><p> ?、伲涸O置PWM定時器周期,該參數決定PWM波形的頻率。</p><p>
32、②:設置PWM定時器比較值,該參數決定PWM波形的占空比。</p><p> ③:設置死區(qū)(deadband),為避免橋臂的直通需要設置死區(qū),一般較高檔的單片機都有該功能。</p><p> ?、埽涸O置故障處理情況,一般為故障是封鎖輸出,防止過流損壞功率管,故障一般有比較器或ADC或GPIO檢測。</p><p> ?、荩涸O定同步功能,該功能在多橋臂,即多PWM模
33、塊協調工作時尤為重要。</p><p> 3、設置相應的中斷,編寫ISR,一般用于電壓電流采樣,計算下一個周期的占空比,更改占空比,這部分也會有PI控制的功能。</p><p> 4、使能PWM波形發(fā)生。</p><p> 1.4 課題任務及工作內容</p><p> 本題目要求設計一個單片機應用系統(tǒng)可以通過串行線在上位機中進行控制操
34、作??梢酝ㄟ^上位機對單片機進行控制直流電機正轉、反轉、停止、加速、減速等功能。另外,為增加其實用性還增加了顯示、鍵盤控制、按鍵蜂鳴等功能。</p><p> 本課題要完成以下研究工作:</p><p> 1、研究直流電機控制系統(tǒng)并仔細推敲各方面的細節(jié),比如速度的控制等等。</p><p> 2、進行系統(tǒng)軟硬件的設計。</p><p>
35、 3、制作硬件,并對硬件進行調試以及優(yōu)化。</p><p> 2 單片機直流電機控制系統(tǒng)總體設計方案</p><p><b> 2.1 設計思路</b></p><p> 本題要求設計一個上位機直流電機控制系統(tǒng)。利用鍵盤作為輸入設備,輸入電機控制信號;液晶顯示器件作為顯示,與用戶進行人機交互;利用串行通信接口與上位機進行通信,接收上位機
36、發(fā)送過來的控制命令。從PC機發(fā)來的控制命令經單片機系統(tǒng)接收后,產生電機控制信號,并提供給電機驅動電路控制直流電機正常運轉并正常顯示轉速。</p><p> 2.2 方案論證與比較</p><p> (1)主控制器的選擇與比較</p><p> 采用臺灣宏晶科技有限公司生產的STC89C52系列的8位單片機作為本系統(tǒng)的主控制芯片,該處理器芯片內置有8K的Flas
37、h存儲器,內置的UART全雙工異步通信接口,減少外圍接口電路。具有可在線編程、使用方便、價格低廉等優(yōu)點。運算速度內滿足系統(tǒng)的要求,性價比高。</p><p> (2)顯示電路選擇與比較</p><p> 方案一:采用數碼管顯示電路,該硬件電路簡單,編程也比較簡單。視角范圍大,亮度高,顯示是效果好,但是只能顯示簡單數字字母等有限的字符,不能滿足本設計要求。故,不采用數碼管顯示電路。<
38、;/p><p> 方案二:采用1602液晶顯示,硬件電路簡單,編程容易??梢燥@示字母和數字,以及一下簡單的圖像。能滿足本設計要求,顯示清晰度可以通過調節(jié)偏壓端電壓來改變對比度,從而實現清晰度調整。顯示效果較好,還可以滾動顯示等,顯示靈活。</p><p> 方案三:采用12864液晶顯示,硬件電路簡單,編程容易??梢燥@示復雜的圖案、字符、標點、英文、漢字等。能滿足本設計要求,顯示清晰度可以
39、通過調節(jié)偏壓端電壓來改變對比度,從而實現清晰度調整。顯示效果較好,還可以滾動顯示等,顯示靈活。</p><p> 綜上所述,數碼管顯示電路不能滿足本設計的要求;1602顯示只能顯示字母和數字,要顯示漢字和圖像編程復雜,效果不好;12864液晶顯示可以顯示數字、英文、漢字、圖片等能滿足本設計要求。故,采用12864液晶顯示電路作為本設計的顯示電路模塊。</p><p> (3)鍵盤電路選
40、擇與比較</p><p> 方案一:獨立式鍵盤,獨立式鍵盤硬件電路極為簡單,程序也非常簡單。容易開發(fā),開發(fā)周期短,使用方便簡單。</p><p> 方案二:矩陣式鍵盤,矩陣式鍵盤硬件電路也比較簡單,編程較為復雜。不容易開發(fā),在按鍵較多的時候,與獨立式鍵盤相比較經濟,占用IO端口較少,但編程較獨立式鍵盤難的多,由于本設計要求的鍵盤按鍵數量較少,采用獨立式鍵盤較方便,開發(fā)難度大大降低,開發(fā)
41、周期縮短,也比較經濟。故在本設計中采用獨立式鍵盤。經上述比較后采用獨立式鍵盤作為本設計的鍵盤電路模塊。</p><p><b> 2.3 系統(tǒng)組成</b></p><p> 經過方案論證,最終確定系統(tǒng)的組成框圖如圖2.1所示。系統(tǒng)由STC89C52微處理器核心模塊、電源模塊、獨立式鍵盤模塊、12864液晶顯示模塊、蜂鳴器電路模塊、RS232串口通信模塊、電源指示電
42、路模塊等組成。其中,獨立式鍵盤由微動開關連接到IO口與地線之間組成。注意,由于P0口內部沒有上拉電阻,在作為輸入時,需要外接上拉電阻。串口通信電路由MAX232電平轉換芯片與9DB串口插座等構成,用于下載程序和實現與上位機通信。蜂鳴器電路主要由蜂鳴器和三級管組成,用于實現按鍵聲音等。液晶顯示電路主要由12864液晶顯示模塊及少量外圍電阻等構成,主要用于實現人機界面的交互功能。</p><p> 圖1.1 系統(tǒng)
43、組成框圖</p><p> 3 單片機直流電機控制系統(tǒng)硬件設計</p><p> 3.1 系統(tǒng)硬件結構</p><p> 本設計硬件結構由單片機最小系統(tǒng)、鍵盤模塊、12864液晶顯示模塊、蜂鳴器驅動模塊、電源指示模塊、串口通信模塊、電機驅動模塊等組成。</p><p> 3.2 系統(tǒng)單元電路設計</p><p&g
44、t; 3.2.1 單片機最小系統(tǒng)電路</p><p> 單片機最小系統(tǒng)電路由STC89C52主控芯片、時鐘振蕩電路和復位電路等構成。其中,時鐘振蕩電路主要由外接11.0592MHz晶振、兩個30pF的起振電容和內部反相器構成。復位電路采用簡單的容阻式復位電路。單片機最小系統(tǒng)電路原理圖如圖2.1所示。</p><p> 圖2.1 單片機最小系統(tǒng)電路</p><p&
45、gt; 3.2.2 獨立式鍵盤電路</p><p> 鍵盤電路采用比較簡單的獨立式鍵盤便能滿足設計要求,成本低廉,編程相對簡單。4個獨立按鍵,分別與單片機P0.0-P0.3相連,由于P1口上各位內部均接有上拉電阻,故,外接按鍵的時候,我們不再接上拉電阻。</p><p> 鍵盤電路如圖2.2所示</p><p> 圖2.2 獨立式鍵盤電路</p>
46、;<p> 3.2.3液晶顯示模塊</p><p> (1)12864液晶模塊概述</p><p> 12864液晶顯示電路主要由基于ST7920控制器的12864液晶和外部電位器等組成。12864具有128列64行共128*64個像素點,可以顯示中文、日文、數字、英文、特殊字符、圖片等。內置國標GB2312碼簡體中文字庫(16*16),128個字符(8*16)及64*
47、256點陣顯示RAM(GDRAM)。可以與CPU直接接口,提供兩種界面來連接微處理器:8-位并行及串行兩種連接方式。具有多種功能:光標顯示、畫面移位、睡眠模式等。</p><p> (2)12864液晶顯示電路原理圖</p><p> 液晶顯示電路主要由12864液晶顯示模塊和外圍電位器等組成。可以通過調節(jié)電位器R2,調節(jié)12864偏壓端電壓,改變顯示對比度,提高顯示效果,改變顯示清晰
48、度??刂瓶诰€RS、RW、EN分別連接到單片機的P0.4、P0.5、P0.6,8位數據總線與P2口相連,實現8位數據,并行傳輸。</p><p> 12864液晶顯示電路圖如圖2.3所示</p><p> 圖2.3 12864液晶電路原理圖</p><p> 3.2.4 蜂鳴器電路</p><p> 蜂鳴器電路主要是利用S9012(P
49、NP)三極管驅動蜂鳴器,實現按鍵發(fā)聲。S9012三級管屬于PNP管,發(fā)射極串接蜂鳴器線圈接至+5V,集電極直接接地,基極通過一個4.7k限流電阻接至單片機P3.3口。當S9012基極為低電平時,三極管導通,蜂鳴器得電蜂鳴,當S9012三極管基極為高電平時,三極管截止,蜂鳴器停止蜂鳴。其詳細原理圖如圖2.4所示</p><p> 圖2.4 蜂鳴器驅動電路原理圖</p><p> 3.2
50、.5 電源電路</p><p> 電源電路包括開關電路和指示電路。指示電路采用發(fā)光二極管進行指示,放光二極管串聯上一個1K的限流電阻,正常工作時,取發(fā)光二極管上電壓為3V,流過發(fā)光二極管上的電流為10mA,故R=(5-3)/10=2K。當選擇的電阻過大時,發(fā)光二極管不夠亮,指示不明顯;當限流電阻選擇過小,發(fā)光二極管亮度過大,縮短放光二極管使用壽命。因此,應適當選取該限流電阻。當單片機正常供電時,電源指示燈正常發(fā)
51、亮。當沒有供電或出電源線短路時,電源指示熄滅,從而可以監(jiān)測系統(tǒng)是否正常供電。電源電路原理圖如圖2.5所示</p><p> 圖2.5 電源電路原理圖</p><p> 3.2.6 串口通信電路</p><p> 串口通信電路主要由美信公司生產的MAX232芯片和相應的通信指示電路構成,主要是用于程序的燒寫和實現與上位機的通信。Max232用于實現TTL電平與
52、RS232電平的轉換,只要在它的外部在接上幾個簡單的電容就構成了通信點路,為了方便檢查、排除故障可在通信線上接上兩個通信指示燈,方便檢查與維修。具體電路圖如圖2.6所示。</p><p> 圖2.6 串口通信電路</p><p> 3.2.7 電機驅動電路</p><p> 電機驅動電路主要有電機驅動芯片L298N、少量電阻電容和二極管構成。電機驅動電路增加光
53、耦合器件以實現電機驅動信號與控制信號的隔離,提高控制系統(tǒng)的抗干擾能力,但由于光耦合芯片TLP521-4昂貴,并且設計的控制要求簡單,因此驅動電路中去掉了光耦合部分。電機驅動電路原理圖如圖2.7所示。</p><p> 圖2.7 電機驅動電路原理圖</p><p> 4 單片機直流電機控制系統(tǒng)軟件設計</p><p> 4.1 軟件總體結構</p>
54、<p> 系統(tǒng)軟件主要由系統(tǒng)初始化程序模塊、鍵盤掃描及處理模塊、液晶顯示程序模塊、串口通信程序模塊、電機調速程序模塊和蜂鳴器驅動程序模塊等組成。</p><p> 系統(tǒng)初始化模塊:主要是配置系統(tǒng)工作環(huán)境。主要負責的工作有初始化定時器、初始化液晶、初始化串口、初始化I/O等</p><p> 鍵盤掃描及處理模塊:實現按鍵識別、消抖及處理,用于設置電機轉動狀態(tài)。</p
55、><p> 液晶顯示模塊:實現對電機狀態(tài)的實時顯示以及狀態(tài)設置,實現人機交互。</p><p> 串口通信模塊:主要是實現與上位機進行通信,接收上位機發(fā)送過來的電機控制命令。</p><p> 蜂鳴器模塊:主要用實現按鍵蜂鳴。</p><p> 系統(tǒng)軟件總體框圖如圖3.1所示</p><p> 圖3.1 系統(tǒng)軟件
56、總體框圖</p><p> 在沒有操作系統(tǒng)的時候,我們采用結構化程序設計思想,自頂向下,逐步求精;其系統(tǒng)主程序流程圖如圖3.2所示</p><p> 圖3.2 系統(tǒng)主程序流程圖</p><p> 4.2 系統(tǒng)模塊程序設計</p><p> 4.2.1初始化模塊程序</p><p> 系統(tǒng)初始化軟件包括三大部分
57、:串口初始化、LCD12864液晶初始化、I/O口初始化。主要完成的工作是設置定時器,并初始化串口。初始化12864液晶模塊、關閉蜂鳴器等。</p><p> 串口初始化程序:設置定時器1為工作方式2,配置串口波特率為9600bps,選擇波特率不倍增,串行工作方式1,啟動定時器1,開串行口中斷,開CPU總中斷。串口初始化程序流程圖如圖3.3所示。</p><p> 12864液晶初始化
58、程序:首先初始化LCD控制口,選擇12864液晶輸入輸出為8位位流,清屏,設定輸入數據后光標右移模式,開顯示無光標閃爍,無反白。最后顯示正常模式下的界面。12864液晶初始化程序流程圖如圖3.4所示</p><p> 圖3.3 串口初始程序流程圖 圖3.4 12864液晶初始化程序流程圖</p><p> 4.2.2鍵盤掃描模塊程序</p><p&
59、gt; 鍵盤掃描及處理程序,主要由按鍵key1、按鍵key2、按鍵key3、按鍵key4組成。</p><p> Key1為循環(huán)選擇鍵,用于選擇要設置的電機狀態(tài)項目。</p><p> 2、Key2為加1按鍵,用于設定電機的正反轉、加減速和電機速度值。</p><p> 3、Key3為減1按鍵,用于設定電機的正反轉、加減速和電機速度值。</p>
60、<p> 4、Key4為確定鍵,用于確定當前的電機狀態(tài)為設定值。</p><p> 鍵盤掃描程序模塊流程圖如圖3.5所示。</p><p> 圖3.5 鍵盤掃描程序模塊流程圖</p><p> 4.2.3液晶顯示模塊程序</p><p> 液晶顯示程序模塊包括12864液晶驅動程序模塊和12864液晶顯示刷新程序模塊。
61、</p><p> 12864液晶驅動程序模塊主要包括12864液晶的寫數據、寫命令程序模塊。通過控制12864液晶的控制口線就可以實現對12864液晶的基本數據操作。液晶寫數據和寫命令程序流程圖分別如圖3.6和圖3.7所示。</p><p> 12864液晶顯示程序模塊,主要實現對輸入的要發(fā)送的數據和接收到的數據的顯示,以及進入設置模式時的各種界面的的刷新顯示等。</p>
62、<p> 圖3.6 12864液晶寫數據程序流程圖 圖3.7 12864液晶寫命令程序流程圖</p><p> 4.2.4串口通信模塊程序</p><p> 串口通信程序模塊主要包括串口初始化程序模塊、串口接收程序模塊。其中串口初始化程序模塊主要是配置特定的串口通信環(huán)境及通信方式等。選擇串口為通信方式1,定時器1方式2等。其程序流程圖如前面圖3.3所
63、示。串口接收程序模塊主要由串口中斷程序與串口接收子程序構成。當產生接收中斷時,首先判斷是發(fā)送中斷還是接收中斷,若是發(fā)送中斷則清除發(fā)送中斷標志位,若是接收中斷則先清除接收中斷標志位,然后調用串口接收函數,將接收到的數據存于接收緩沖區(qū)中,并共單片機使用。其串口接收程序流程圖如圖3.8所示,其中標志位已在程序中標出。</p><p> 圖3.8 串口接收程序流程圖</p><p> 4.2
64、.5電機調速模塊程序</p><p> 電機調速程序模塊采用脈寬調制法實現速度控制。利用定時器0固定調速信號周期,根據正反轉標志,設定電機控制端口電平。當計數值達到設定的脈寬值時則關閉電機運行,在第二個周期的調速信號到來時,又重新開啟電機運轉,依次的電機通斷切換,從而實現電機的速度控制。其調速程序流程圖如圖3.9所示。</p><p> 圖3.9 調速程序流程圖</p>
65、<p><b> 5 系統(tǒng)測試</b></p><p><b> 5.1 測試準備</b></p><p> 5.1.1 硬件環(huán)境</p><p> (1)PC機、USB轉串口通信線。用于單片機C51語言的編程、編譯、加載及發(fā)送電機控制命令。</p><p> (2)+5V和+
66、12V電源、電機控制系統(tǒng)板、若干根杜邦線、1塊12864液晶模塊。</p><p> ?。?)DT9208A數字萬用表1個、螺絲刀、鑷子、斜口鉗、吸焊器。</p><p> 5.1.2 軟件環(huán)境</p><p> ?。?)Keil uVision4,用于C51源程序的編寫、編譯、鏈接和調試。</p><p> (2)上位機串口調試軟件(串
67、口大師)、本系統(tǒng)程序、相關的庫和頭文件。</p><p> 5.1.3 測試項目</p><p> 12864液晶是否正常顯示。</p><p> 系統(tǒng)電源指示、通信指示、按鍵蜂鳴、按鍵復位等功能是否正常。</p><p> 上位機通過串口調試軟件能否正確控制電機的正轉、反轉、加速、減速。</p><p>
68、實驗板上的鍵盤能否正確控制電機的正轉、反轉、加速、減速。</p><p><b> 5.2 測試過程</b></p><p> 1、利用萬用表檢查各線路是否存在斷路、短路并修正。</p><p> 2、檢查單片機等各口線是否正確連接,上電之前檢測一下正負電源線是否短路,確保不短路才上電。</p><p> 3、利
69、用Keil uVision2軟件進行程序的編輯、編譯、鏈接和調試。</p><p> 4、利用STC-ISP軟件將在keil中編譯鏈接生成的各個xx.Hex文件下載到系統(tǒng)單片機的Flash存儲器中。</p><p> 5、按原理圖連接線路、上電后開始測試。</p><p> 上電后首先觀察系統(tǒng)顯示是否正常,指示燈工作是否正常,復位電路是否正常等等,如不正常則修
70、改程序重新下載測試,直至顯示正常。接著按照測試項目,分別測試。首先打開串口調試軟件,選擇波特率為9600bps,打開串口,選擇發(fā)送的數據位16進制數據。</p><p> (1)正轉測試:在發(fā)送窗中輸入正轉控制字和速度值。如:1 10 其中,1表示正轉,10(16進制)即16表示脈寬為16%的調速信號所對應的速度。點擊發(fā)送觀察電機是否正轉,將速度改大一些看一下速度是否改變。</p><p&g
71、t; (2)停止測試:輸入停止命令字0,速度可以任意,發(fā)送后觀察電機是否停機下來。</p><p> (3)反轉測試:輸入反轉命令字及速度脈寬值(最大為100),如2 20,發(fā)送后觀察電機的轉動方向及速度,改變速度后再測一次觀察電機轉速是否改變。</p><p> (4)加速測試:輸入加速命令字3,速度可以任意,如3 20,發(fā)送后觀察電機的轉動情況。</p><p
72、> (5)減速測試:輸入減速命令字4,速度可以任意,如4 20,發(fā)送后觀察電機的轉動情況。</p><p> 再測試正反轉直接切換的情況下,電機是否還能正確運行,接著再測試一下在正反轉狀況下進行的加減速,觀察電機是否在原來速度的基礎上無跳變的平穩(wěn)加減速。最后測試鍵盤的各項控制功能能否正常。</p><p><b> 5.3 測試結果</b></p&g
73、t;<p> 經測試表明,本電機控制系統(tǒng)可以通過上位機實現對直流電機的自由設速正反轉和平穩(wěn)加減速的控制,同時也可以通過鍵盤實現自由設速正反轉和平穩(wěn)加減速的控制;還具有顯示、按鍵發(fā)生等多種功能。該系統(tǒng)完全滿足系統(tǒng)設計要求。</p><p> 下面的實物測試圖是正轉和加速的測試。測試效果圖如圖5.1到圖5.4所示。經測試表明,以上測試要求全部通過。測試結果如表4-1。</p><
74、p> 表4-1 電機主要測試結果</p><p><b> 結束語</b></p><p> 本課題的核心任務是對串口通信的研究和對電機控制系統(tǒng)的應用設計,本文的研究方案是根據現有的軟硬件條件,設計單片機的電機控制系統(tǒng),通過RS232串口連接至PC機,并進行相關性電機控制實驗。</p><p><b> 具體內容包括如下
75、:</b></p><p> 一、通過對現在應用比較廣泛、技術比較成熟的串口通信進行研究,并經分析論證后設計出以STC89C52單片機為核心控制單元的上位機電機控制系統(tǒng)。</p><p> 二、根據本設計——上位機電機控制系統(tǒng)的設計要求,編寫了系統(tǒng)程序。通過RS232接口連接至PC機,并進行相關性電機控制實驗。</p><p> 三、在設計好的電機
76、控制系統(tǒng)平臺上,進行電機控制系統(tǒng)的軟件開發(fā),并通過不斷的軟硬件調試、實物測試,最終開發(fā)出性能優(yōu)越、靈活方便、具有一定實用價值的直流電機在線控制系統(tǒng)。</p><p> 通過本次畢業(yè)設計,我更深入的學到了有關單片機的原理及應用,并且自主的動腦、動手能力得到了很大的提高。重要的是能夠將單片機與實際生活中的一些應用聯系起來,同時通過畢業(yè)設計對PC機通過串口控制單片機有一定的了解。上位機控制單片機系統(tǒng),可以用于對多個單
77、片機應用系統(tǒng)進行實時控制,也可通過調制/解調器對遠程控制系統(tǒng)進行實時控制。另外,上位機不需要進行復雜的編程,直接用微機的通信串行口進行命令控制,并且命令符可自定義??傊覀兪芤娣藴\,這將為我們以后的學習以及工作打下良好的基礎。</p><p><b> 致謝</b></p><p> 經過長期的忙碌,本次畢業(yè)設計已基本完成,作為一個還沒畢業(yè)的本科生,由于缺乏經驗,
78、導致許多方面考慮不周全,幸好得到了指導老師的督促和同學們的幫忙,才能夠順利完成了這次畢業(yè)設計。在這里,我要先感謝我的指導 老師,是她對我的悉心指導,以及對畢業(yè)設計各方面提供的意見,幫我理清了許多疑問。還要感謝同學對我的幫助,因為他們,我才順利完成了我的畢業(yè)設計。最后,感謝我的母校為我提供了這么一個優(yōu)良的學習環(huán)境,培育我成長起來, 。</p><p> 在這里,我要對在校期間幫助過我的所有人說聲謝謝! </
79、p><p><b> 參考文獻</b></p><p> [1] 張毅剛 彭喜元 .單片機原理與應用設計[M]. 北京:北京市海淀區(qū)四季青印刷廠,2010.</p><p> [2] 張毅剛.新編MCS-51單片機運用設計. 哈爾濱:哈爾濱工業(yè)大學出版社,2003.</p><p> [3] 張義和 王敏男 許宏昌
80、 余長春.例說51單片機(c語言版). 北京:人民郵電出版社,2009.</p><p> [4] 馬忠梅 籍順心 張 凱 馬 巖.單片機的C語言應用程序設計. 北京:北京航空航天大學,2010.</p><p> [5] Samsung Electronics. S3C44BOX Risc microcontroller ARM instruction sheet .2002.<
81、;/p><p> [6] 郭天祥.《51單片機C語言教程》,電子工業(yè)出版社,2005年7月</p><p> [7] 丁元杰.《單片微機原理及應用》,機械工業(yè)出版社,2005年7月</p><p> [8] 樓然苗、李光.《單片機課程設計指導》,北京: 北京航空航天大學出版社,2007.</p><p> [9] Okazoe H,Shi
82、mizu K,Watanabe Y.et al. Develop-ment of a Full-FlowBurner Regeneration Type Diesel Particu-late Filter Using SiC Honeycomb[C] .Society of AutomotiveEngineers International Congress and Exposition.Michigan:SAE Paper 9601
83、30. 1996, :27-35 . </p><p> [10] 豈興明、唐杰等.《51單片機編程基礎與開發(fā)實例詳解》,北京: 人民郵電出版社,2008.</p><p> [11] 王東鋒、王會良、董冠強.《單片機C語言應用100例》,電子工業(yè)出版社,2009.</p><p> 1V. Yu. Teplov,A. V. Anisimov. Thermo
84、statting System Using a Single-Chip Microcomputer and Thermoelectric Modules Based on the Peltier Effect[J] ,2002 </p><p> [12] Yeager Brent.How to troubleshoot your electronic scale[J].. Powder and Bulk En
85、gineering. 1995 </p><p> [13] 周興華.手把手教你學單片機,北京: 北京航空航天大學出版社,2005.</p><p> [14] Meehan Joanne,Muir Lindsey.SCM in Merseyside SMEs:Benefits and barriers[J].. TQM Journal. 2008 </p><p&
86、gt; [15]周立功.直流電機原理與驅動[M].西安:西安電子科技大學出版社.2008.1</p><p> [16]說明書,LED12864液晶完整中文版資料</p><p> [17]王曉明 電動機的單片機控制(第3版) 北京航空航天大學出版社.2011</p><p><b> 附錄</b></p>&l
87、t;p> 附錄1 直流電機在線控制系統(tǒng)程序</p><p> /*******************************************************************************************</p><p> 基于STC89C52和L298的直流電機的在線控制,同時可以通過鍵盤來控制電機</p><p&
88、gt; 在線控制的指令要求,選用16進制 </p><p> 1 XX 正傳 1代表正傳,XX代表速度</p><p><b> 2 XX 反轉</b></p><p> 3 加速 加速只會加速到最大,還沒有實現加速到一定量或者是加速一定量</p><p> 4 減速 減速只會加速到零,還
89、沒有實現減速到一定量或者是減速一定量</p><p> 通過鍵盤一樣可以控制電機,檢速電路沒有實現</p><p> ********************************************************************************************/</p><p> #include<reg51.h
90、></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> #define LcdBus P2</p><p> sbit Key0=P0^0; //循環(huán)選擇鍵</p><p> sb
91、it Key1=P0^1; //"+"下一頁</p><p> sbit Key2=P0^2; //"-"上一頁</p><p> sbit Key3=P0^3; //確定鍵</p><p> sbit Lcd_RS=P0^4;</p><p> sbit Lcd_RW=P0^
92、5;</p><p> sbit Lcd_EN=P0^6; //12864控制端口</p><p> sbit MotorIN1=P1^0; </p><p> sbit MotorIN2=P1^1; //單片機對L298的控制端口</p><p> sbit Speaker=P3^3;</p><
93、p> /*-----------------------------------變量定義--------------------------------------*/</p><p> uchar const code SysName[]={"電機在線控制"};</p><p> uchar const code Name1[]={"電機狀態(tài):停
94、止"};</p><p> uchar const code Name2[]={"預設脈寬:000T/q"};</p><p> uchar const code Name3[]={"反饋脈寬:000T/q"};</p><p> uchar constcode Name4[]={"01234567
95、89"};</p><p> uchar constcode Status0[]={"停止"};</p><p> uchar const code Status1[]={"轉"};</p><p> uchar const code Status2[]={"反轉"};</p>
96、<p> uchar const code Status3[]={"加速"};</p><p> uchar const code Status4[]={"減速"};</p><p> uchar OldMotorIN1=0,OldMotorIN2=0; </p><p> char PcToMcu[2]
97、={0};</p><p> char PcToMcu0;</p><p> char SetSpeed[3]={0};</p><p> char Speed[3]={0};</p><p> char OldPcToMcu1;</p><p> uchar Status=0;
98、 //0:停止 1:正轉 2:反轉 </p><p> uchar PWM=0;</p><p> uchar Keynum0=0,Keynum1=0;</p><p> uchar ReFlag=0;</p><p> uchar SetFlag=0;</p><p> uchar Fl
99、ag=0;</p><p> void Init(void);</p><p> void InitLcd(void);</p><p> void Keyscan(void);</p><p> void Display(void);</p><p> void Wr_com12864(uchar com)
100、;</p><p> void Wr_dat12864(uchar dat);</p><p> void delay(uint n);</p><p> void Time0_Init(void);</p><p> void Uart_Init(void);</p><p> void Work(void
101、);</p><p> void Keysound(void);</p><p> void main()</p><p><b> {</b></p><p><b> Init();</b></p><p><b> while(1)</b>
102、;</p><p><b> { </b></p><p> if(SetFlag==0)Work();</p><p> Keyscan();</p><p> if(SetFlag==0)Display();</p><p><b> }</b></p&g
103、t;<p><b> }</b></p><p> /*==============================子函數區(qū)===============================*/</p><p> void Init(void)</p><p><b> {</b></p>
104、<p> InitLcd();</p><p> Uart_Init();</p><p> Time0_Init();</p><p><b> }</b></p><p> /*---------------------------鍵盤掃描函數---------------------------
105、---*/</p><p> void Keyscan(void)</p><p><b> { </b></p><p> if(Key0==0) //循環(huán)選擇</p><p><b> {</b></p><p&g
106、t; OldPcToMcu1=PcToMcu[1];</p><p> Keynum0++;</p><p> SetFlag=1;</p><p> while(Key0==0)Keysound();</p><p><b> }</b></p><p> if(SetFlag)
107、 //進入設置模式</p><p><b> {</b></p><p> switch(Keynum0)</p><p><b> {</b></p><p> case 1:Wr_com12864(0x95);Wr_com12864(0x0
108、f);break;</p><p> case 2:Wr_com12864(0x8E);Wr_com12864(0x0f);break; </p><p> case 3:Wr_com12864(0x8D);Wr_com12864(0x0f);break;</p><p> case 4:Keynum0=1;break;</p><p&
109、gt; default:break;</p><p><b> }</b></p><p> if(Key1==0) //"+"</p><p><b> {</b></p><p> switch(Keynum0
110、)</p><p><b> {</b></p><p> case 1:if(++PcToMcu0>4)PcToMcu0=0;break;</p><p> case 2:SetSpeed[0]++;</p><p> if(SetSpeed[0]>9)</p><p>
111、SetSpeed[0]=0;</p><p> break; //設定值的設定</p><p> case 3:SetSpeed[1]++;</p><p> if(SetSpeed[1]>9)</p><p><b> {</b></p><p> SetSpeed[1]=0
112、;</p><p> SetSpeed[2]++;</p><p> if(SetSpeed[2]>9)</p><p> SetSpeed[2]=0;</p><p><b> }</b></p><p><b> break;</b></p>
113、<p> case 4:Keynum0=1;break;</p><p> default:break;</p><p><b> }</b></p><p> Display(); //刷新顯示</p><p> Wr_com12864(0x0c);
114、 //去掉光標閃爍</p><p> while(Key1==0)Keysound();</p><p><b> }</b></p><p> if(Key2==0) //"-"</p><p><b> {&
115、lt;/b></p><p> switch(Keynum0)</p><p><b> {</b></p><p> case 1:if(--PcToMcu0<0)PcToMcu0=4;break;</p><p> case 2:SetSpeed[0]--;</p><p>
116、; if(SetSpeed[0]<0)</p><p> SetSpeed[0]=9;</p><p> break; //設定值的設定</p><p> case 3:SetSpeed[1]--;</p><p> if(SetSpeed[1]<0)</p><p><b> {
117、</b></p><p> SetSpeed[1]=9;</p><p> SetSpeed[2]--;</p><p> if(SetSpeed[2]<0)</p><p> SetSpeed[2]=9;</p><p><b> }</b></p>&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計(論文)基于單片機的直流電機控制系統(tǒng)設計
- 基于單片機控制直流電機調速系統(tǒng)畢業(yè)設計
- 畢業(yè)設計---單片機控制直流電機調速系統(tǒng)
- 單片機控制直流電機調速系統(tǒng)畢業(yè)設計
- 畢業(yè)設計----51單片機控制直流電機
- 用單片機控制直流電機畢業(yè)設計
- 基于單片機控制直流電機調速系統(tǒng)畢業(yè)設計論文
- 基于單片機控制直流電機調速系統(tǒng)畢業(yè)設計論文
- 畢業(yè)設計--基于單片機的直流電機調速系統(tǒng)
- 畢業(yè)設計--基于單片機的直流電機調速系統(tǒng)
- 基于單片機的直流電機轉速pid控制系統(tǒng)設計_畢業(yè)設計論文
- 畢業(yè)設計---基于單片機的直流電機調速系統(tǒng)設計
- 基于單片機控制直流電機調速系統(tǒng)畢業(yè)設計論文
- 畢業(yè)設計---基于單片機的直流電機調速系統(tǒng)設計
- 畢業(yè)設計--基于單片機的直流電機調速系統(tǒng)設計
- 基于單片機的直流電機調速系統(tǒng)畢業(yè)設計
- 畢業(yè)設計---基于單片機的直流電機調速系統(tǒng)
- 基于單片機的直流電機轉速pid控制系統(tǒng)設計_畢業(yè)設計論文
- 基于單片機的直流電機控制設計
- 畢業(yè)設計--基于單片機的直流電機調速系統(tǒng)設計
評論
0/150
提交評論