基于AT89C51單片機(jī)的轉(zhuǎn)速控制系統(tǒng)設(shè)計(jì)_第1頁(yè)
基于AT89C51單片機(jī)的轉(zhuǎn)速控制系統(tǒng)設(shè)計(jì)_第2頁(yè)
基于AT89C51單片機(jī)的轉(zhuǎn)速控制系統(tǒng)設(shè)計(jì)_第3頁(yè)
基于AT89C51單片機(jī)的轉(zhuǎn)速控制系統(tǒng)設(shè)計(jì)_第4頁(yè)
基于AT89C51單片機(jī)的轉(zhuǎn)速控制系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于AT89C51單片機(jī)的轉(zhuǎn)速控制系統(tǒng)設(shè)計(jì) 重慶科技學(xué)院課程設(shè)計(jì)任務(wù)書設(shè)計(jì)題目:基于單片機(jī)的轉(zhuǎn)速控制系統(tǒng)設(shè)計(jì)學(xué)生姓名 課程名稱智能義器義表設(shè)計(jì)與調(diào)試專業(yè)班級(jí) 地 點(diǎn) 起止時(shí)間 設(shè)計(jì)內(nèi)容及要求要求設(shè)計(jì)的轉(zhuǎn)速控制系統(tǒng)完成以下功能:1.基本功能按鍵設(shè)定并顯示轉(zhuǎn)速,實(shí)時(shí)顯示實(shí)際轉(zhuǎn)速按鍵控制電機(jī)起停、正反轉(zhuǎn)PWM轉(zhuǎn)速閉環(huán)控制。設(shè)計(jì)參數(shù)1.轉(zhuǎn)速調(diào)節(jié)范圍:1500轉(zhuǎn)/分-3000轉(zhuǎn)/分2.測(cè)速誤差 10%進(jìn)度要求布置任務(wù)、方案設(shè)計(jì),硬件設(shè)計(jì)(1天)畫電路圖(1天)軟件設(shè)計(jì),畫流程圖(1天)程序設(shè)計(jì)和調(diào)試(6天)設(shè)計(jì)驗(yàn)收、撰寫報(bào)告(1天)詳見進(jìn)度安排表參考資料. 機(jī)械工業(yè)出版社. 2009.9統(tǒng)實(shí)訓(xùn)教程.重慶

2、:51單片機(jī)的直流電機(jī)PWM調(diào)速系統(tǒng).長(zhǎng)春工程學(xué)院學(xué)報(bào) 自然科學(xué)版 2009年第10卷第3期其它說(shuō)明.本表應(yīng)在每次實(shí)施前一周由負(fù)責(zé)教師填寫二份,院系審批后交院系辦備案,一份由負(fù)責(zé)教師留用。.若填寫內(nèi)容較多可另紙附后。3.一題多名學(xué)生共用的,在設(shè)計(jì)內(nèi)容、參數(shù)、要求等方面應(yīng)有所區(qū)別。教研室主任: 指導(dǎo)教師:鐘秉翔、張義輝摘要在工業(yè)自動(dòng)控制系統(tǒng)和各種智能產(chǎn)品中常常會(huì)用用電動(dòng)機(jī)進(jìn)行驅(qū)動(dòng)、傳動(dòng)和控制,而現(xiàn)代智能控制系統(tǒng)中,對(duì)電機(jī)的控制要求越來(lái)越精確和迅速,對(duì)環(huán)境的適應(yīng)要求越來(lái)越高。本設(shè)計(jì)以AT89C51單片機(jī)為核心,以獨(dú)立鍵盤做為輸入達(dá)到控制直流電機(jī)的啟停、速度,完成了基本要求和發(fā)揮部分的要求。在設(shè)計(jì)中

3、采用PWM技術(shù)和PID控制技術(shù)對(duì)電機(jī)進(jìn)行控制,通過(guò)對(duì)占空比的計(jì)算達(dá)到精確調(diào)速的目的。還利用了Labview8.5做為上位機(jī)對(duì)電機(jī)的實(shí)時(shí)轉(zhuǎn)速顯示監(jiān)控和用它來(lái)給電機(jī)設(shè)定轉(zhuǎn)速。關(guān)鍵詞:AT89C51ABSTRACTIn the industrial automation systems and a variety of smart products are often used to drive the motor, transmission and control, and modern intelligent control system for motor control requiremen

4、ts become more accurate and rapid, meet the increasing demands on the environment high. The design of AT89C51 microcontroller as the core, to separate the keyboard as input to control DC motor start and stop, speed, and the completion of the basic requirements and the requirements to play a part. PW

5、M technique used in the design and PID control technology to control the motor, through the calculation of duty cycle to achieve accurate speed control purposes. Also used as a host computer Labview8.5 real-time speed display of motor control and use it to set the motor speed.Keywords: AT89C51, DC m

6、otor, PID control, Labview1緒論課程設(shè)計(jì)題目 -基于單片機(jī)的轉(zhuǎn)速控制系統(tǒng)設(shè)計(jì)設(shè)計(jì)內(nèi)容及要求 基本功能按鍵設(shè)定并顯示轉(zhuǎn)速,實(shí)時(shí)顯示實(shí)際轉(zhuǎn)速按鍵控制電機(jī)起停、正反轉(zhuǎn)PWM轉(zhuǎn)速閉環(huán)控制。 擴(kuò)展功能實(shí)現(xiàn)與PC機(jī)的通訊:將轉(zhuǎn)速的設(shè)定值和實(shí)測(cè)值發(fā)送到PC機(jī)顯示,PC機(jī)可以設(shè)定速度,發(fā)送到單片機(jī) 設(shè)計(jì)參數(shù) 轉(zhuǎn)速調(diào)節(jié)范圍:1500轉(zhuǎn)/分-3000轉(zhuǎn)/分 測(cè)速誤差 10% 設(shè)計(jì)目的及意義本課程是測(cè)控技術(shù)與儀器本科專業(yè)通過(guò)這門課程的學(xué)習(xí)與實(shí)踐,能夠提出儀器系統(tǒng)的設(shè)計(jì)思路、論證設(shè)計(jì)方案具備技術(shù)實(shí)現(xiàn)能力基本上能夠處理實(shí)踐過(guò)程中出現(xiàn)的問(wèn)題并提出解決辦法提高理論付諸于實(shí)踐的能力,提高工程設(shè)計(jì)能力

7、和處理實(shí)際問(wèn)題的能力,開發(fā)創(chuàng)新能力??傮w方案規(guī)劃直流電機(jī)控制原理及特點(diǎn)對(duì)直流電機(jī)轉(zhuǎn)速的控制即可采用開環(huán)控制,也可采用閉環(huán)控制。與開環(huán)控制相比,速度控制閉環(huán)系統(tǒng)的機(jī)械特性有以下優(yōu)越性:閉環(huán)系統(tǒng)的機(jī)械特性與開環(huán)系統(tǒng)機(jī)械特性相比,其性能大大提高;理想空載轉(zhuǎn)速相同時(shí),閉環(huán)系統(tǒng)的靜差率(額定負(fù)載時(shí)電機(jī)轉(zhuǎn)速降落與理想空載轉(zhuǎn)速之比)要小得多;當(dāng)要求的靜差率相同時(shí), 閉環(huán)調(diào)速系統(tǒng)的調(diào)速范圍可以大大提高。直流電機(jī)的速度控制方案如圖1所示。+ -圖 1 直流電機(jī)速度控制方案直流電機(jī)調(diào)速控制方式選擇 電阻網(wǎng)絡(luò)或數(shù)字電位器采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)整電動(dòng)機(jī)的分壓,從而達(dá)到調(diào)速的目的。但是電阻網(wǎng)絡(luò)只能實(shí)現(xiàn)有級(jí)調(diào)速,而數(shù)

8、字電阻的元器件價(jià)格比較昂貴。更主要的問(wèn)題在于一般電動(dòng)機(jī)的電阻很小,但電流很大;分壓不僅會(huì)降低效率,而且實(shí)現(xiàn)很困難。 繼電器采用繼電器對(duì)電動(dòng)機(jī)的開或關(guān)進(jìn)行控制,通過(guò)開關(guān)的切換對(duì)小車的速度進(jìn)行調(diào)整。這個(gè)方案的優(yōu)點(diǎn)是電路較為簡(jiǎn)單,缺點(diǎn)是繼電器的響應(yīng)時(shí)間慢、機(jī)械結(jié)構(gòu)易損壞、壽命較短、可靠性不高。 達(dá)林頓組成的驅(qū)動(dòng)芯片采用由達(dá)林頓管組成的驅(qū)動(dòng)電路。用單片機(jī)控制達(dá)林頓管使之工作在占空比可調(diào)的開關(guān)狀態(tài),精確調(diào)整電動(dòng)機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高;橋型電路保證了可以簡(jiǎn)單地實(shí)現(xiàn)轉(zhuǎn)速和方向的控制;電子開關(guān)的速度很快,穩(wěn)定性也極佳,是一種廣泛采用的PWM調(diào)速技術(shù)。兼于上述三種方案調(diào)速特性

9、優(yōu)良、調(diào)整平滑、調(diào)速范圍廣、過(guò)載能力大2.3 PWM脈寬調(diào)制方式調(diào)脈寬的方式有三種:定頻調(diào)寬、定寬調(diào)頻和調(diào)寬調(diào)頻。采用了定頻調(diào)寬方式,因?yàn)椴捎眠@種方式,電動(dòng)機(jī)在運(yùn)轉(zhuǎn)時(shí)比較穩(wěn)定;并且在采用單片機(jī)產(chǎn)生PWM脈沖的軟件實(shí)現(xiàn)上比較方便。2.4直流電機(jī)速度獲取方式 霍爾傳感器由圖2可知,電機(jī)每轉(zhuǎn)一圈,每一相霍爾傳感器產(chǎn)生,且其周期與電機(jī)轉(zhuǎn)速成反比,因此可以利用霍爾傳感器信號(hào)得到電機(jī)的實(shí)際轉(zhuǎn)速。為盡可能縮短一次速度采樣的時(shí)間,可測(cè)得任意一相霍爾傳感器的一個(gè)正脈沖的寬度,則電機(jī)的實(shí)際轉(zhuǎn)速為:?V:速度 R/minN:每秒采樣的脈沖個(gè)數(shù) 電機(jī)轉(zhuǎn)一圈 圖2 霍爾傳感器信號(hào) 紅外對(duì)管由圖可知,電機(jī)每轉(zhuǎn)一圈,產(chǎn)生,

10、因此可以利用傳感器信號(hào)得到電機(jī)的實(shí)際轉(zhuǎn)速。為盡可能縮短一次速度采樣的時(shí)間,則電機(jī)的實(shí)際轉(zhuǎn)速為:? 電機(jī)轉(zhuǎn)1圈V:速度 R/minN:每秒采樣的脈沖個(gè)數(shù) 圖3 紅外對(duì)管信號(hào)基于上述兩種測(cè)速裝置,從測(cè)量精度和價(jià)格上考慮,選擇第二種測(cè)量方案,用紅外對(duì)管來(lái)測(cè)量電機(jī)轉(zhuǎn)速。總體設(shè)計(jì)框圖本系統(tǒng)采用AT89C51作為控制核心,用獨(dú)立鍵盤來(lái)選擇控制模式和數(shù)碼管來(lái)顯示設(shè)定轉(zhuǎn)速和測(cè)量轉(zhuǎn)速。由上述提供的方案和最后選擇結(jié)果,則用達(dá)林頓管組成的驅(qū)動(dòng)芯片作為本系統(tǒng)的驅(qū)動(dòng)電路和用紅外對(duì)管作為該系統(tǒng)的測(cè)量電路。 圖4 直流電機(jī)控制系統(tǒng)總體框圖2.6 人機(jī)界面設(shè)計(jì)硬件設(shè)計(jì)3.1 AT89C51芯片介紹 芯片特點(diǎn)AT89C51是美

11、國(guó)ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大AT89C51單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。圖5 AT89C51引腳圖?與MCS-51產(chǎn)品指令系統(tǒng)完全兼容?4k字節(jié)可重擦寫Flash閃速存儲(chǔ)器?1000次擦寫周期?全靜態(tài)操作:0Hz24MHz?三級(jí)加密程序存?1288字節(jié)內(nèi)部RAM?32個(gè)可

12、編程IO口線?2個(gè)16位定時(shí)計(jì)數(shù)器?6個(gè)中斷源?可編程串行UART通道?低功耗空閑和掉電模式 芯片功能概述AT89C51 提供以下標(biāo)準(zhǔn)功能:4k 字節(jié)Flash 閃速存儲(chǔ)器,128字節(jié)內(nèi)部RAM,32 個(gè)IO 口線,兩個(gè)16位定時(shí)計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。 AT89C51 有兩種可用軟件編程的省電模

13、式,它們是空閑模式和掉電工作模式。這兩種方式是控制專用寄存器PCON(即電源控制寄存器)中的PD(PCON.1)和IDL(PCON.0)位來(lái)實(shí)現(xiàn)的。PD 是掉電模式,當(dāng)PD 1 時(shí),激活掉電工作模式,單片機(jī)進(jìn)入掉電工作狀態(tài)。IDL是空閑等待方式,當(dāng)IDL 1,激活空閑工作模式,單片機(jī)進(jìn)入睡眠狀態(tài)。如需同時(shí)進(jìn)入兩種工作模式,即PD和IDL同時(shí)為1,則先激活掉電模式。在空閑工作模式狀態(tài),CPU保持睡眠狀態(tài)而所有片內(nèi)的外設(shè)仍保持激活狀態(tài),這種方式由軟件產(chǎn)生。此時(shí),片內(nèi)RAM和所有特殊功能寄存器的內(nèi)容保持不變??臻e模式可由任何允許的中斷請(qǐng)求或硬件復(fù)位終止。終止空閑工作模式的方法有兩種,其一是任何一條被

14、允許中斷的事件被激活,IDL(PCON.0)被硬件清除,即刻終止空閑工作模式。程序會(huì)首先響應(yīng)中斷,進(jìn)入中斷服務(wù)程序,執(zhí)行完中斷服務(wù)程序并緊隨RETI(中斷返回)指令后,下一條要執(zhí)行的指令就是使單片機(jī)進(jìn)入空閑模式那條指令后面的一條指令。其二是通過(guò)硬件復(fù)位也可將空閑工作模式終止。需要注意的是,當(dāng)由硬件復(fù)位來(lái)終止空閑工作模式時(shí),CPU 通常是從激活空閑模式那條指令的下一條指令開始繼續(xù)執(zhí)行程序的,要完成內(nèi)部復(fù)位操作,硬件復(fù)位脈沖要保持兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘周期)有效,在這種情況下,內(nèi)部禁止CPU訪問(wèn)片內(nèi)RAM,而允許訪問(wèn)其它端口。為了避免可能對(duì)端口產(chǎn)生意外寫入,激活空閑模式的那條指令后一條指令不應(yīng)是

15、一條對(duì)端口或外部存儲(chǔ)器的寫入指令。在掉電模式下,振蕩器停止工作,進(jìn)入掉電模式的指令是最后一條被執(zhí)行的指令,片內(nèi)RAM 和特殊功能寄存器的內(nèi)容在終止掉電模式前被凍結(jié)。退出掉電模式的唯一方法是硬件復(fù)位,復(fù)位后將重新定義全部特殊功能寄存器但不改變RAM中的內(nèi)容,在Vcc恢復(fù)到正常工作電平前,復(fù)位應(yīng)無(wú)效,且必須保持一定時(shí)間以使振蕩器重啟動(dòng)并穩(wěn)定工作。3.2 電機(jī)驅(qū)動(dòng)電路設(shè)計(jì) ULN2003D芯片介紹ULN2003D高壓大電流達(dá)林頓晶體管陣列系列產(chǎn)品就屬于這類可控大功率器件,由于這類器件功能強(qiáng)、應(yīng)用范圍語(yǔ)廣自動(dòng)化密集的的場(chǎng)合LN2003D是一個(gè)7路反向器電路,即當(dāng)輸入端為高電平時(shí)ULN2003輸出端為低

16、電平,當(dāng)輸入端為低電平時(shí)ULN2003輸出端為高電平,繼電器得電吸合。如圖所示 ULN2003D構(gòu)成的單向驅(qū)動(dòng)電路設(shè)計(jì)單片機(jī)輸出的電機(jī)控制信號(hào)由74LS14與非門把輸出信號(hào)反向再輸入U(xiǎn)LN2003D芯片的輸入端,由對(duì)應(yīng)的輸出端控制電機(jī)。圖7 電機(jī)驅(qū)動(dòng)電路3.3 按鍵模塊設(shè)計(jì)按鍵模塊由三個(gè)獨(dú)立按鍵組成,它們分別控制電機(jī)的速度增加、減小、停止。電機(jī)狀態(tài)的設(shè)定要點(diǎn)是按鍵的去抖動(dòng)處理。軟件法去抖動(dòng)的實(shí)質(zhì)是軟件延時(shí),即檢測(cè)到某一鍵狀態(tài)變化后延時(shí)一段時(shí)間,再檢測(cè)該按鍵的狀態(tài)是否保持著,如是則作為按鍵處理,否則,視為抖動(dòng),不予理睬。去抖動(dòng)的延時(shí)時(shí)間一般參考資料多描述為20ms左右,在實(shí)際應(yīng)用中應(yīng)大于20ms

17、。否則,會(huì)導(dǎo)致按一次多處理,影響程序正常執(zhí)行。圖8 按鍵接口電路3.4 數(shù)碼管顯示模塊設(shè)計(jì)數(shù)碼管要是用于數(shù)字的顯示。數(shù)碼管有共陰和共陽(yáng)的區(qū)分,單片機(jī)都可以進(jìn)行驅(qū)動(dòng),但是驅(qū)動(dòng)的方法卻不同。位數(shù)碼管循環(huán)電路是由1K的電阻、IN4148二極管和數(shù)碼管組成,電源+5V通過(guò)560的電阻直接給數(shù)碼管的7個(gè)段位供電,P0.0-P0.7對(duì)應(yīng)了兩個(gè)接數(shù)碼管的A,B,C,D,E,F,G和小數(shù)點(diǎn)位,。當(dāng)相應(yīng)的端口變成電平時(shí),驅(qū)動(dòng)相應(yīng)的S8550三極管會(huì)導(dǎo)通,+5V通過(guò)IN4148二極管和驅(qū)動(dòng)三極管給數(shù)碼管相應(yīng)的位供電,這時(shí)只要P0口送出數(shù)字的顯示代碼,數(shù)碼管就能正常顯示需要的數(shù)字圖9 數(shù)碼管顯示電路3.5 紅外對(duì)管

18、測(cè)速電路設(shè)計(jì)紅外對(duì)管,其中一個(gè)是發(fā)射管,一個(gè)是接受管,在電機(jī)測(cè)速作脈沖感應(yīng)器用,它的原理是,深色物的紅外反射率因不同的材料而不同,發(fā)射管發(fā)射出紅外線,在材料上反射回來(lái),由接受管接受。當(dāng)有信號(hào)反射回來(lái)時(shí)輸出低電平,沒(méi)有反射時(shí)輸出高電平。圖 10 紅外對(duì)管測(cè)速電路3.6 串口電路設(shè)計(jì)232芯片是美信公司專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的接口電路使用+5單電源供電。內(nèi)部結(jié)構(gòu)基本可分三個(gè)部分:第一部分是電荷泵電路由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12和-12兩個(gè)電源提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通

19、道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三部分是供電15腳GND、16腳VCC(+5)。4 軟件設(shè)計(jì)本程序主要分為6大塊,主程序、按鍵處理程序、刷新顯示程序、數(shù)碼管輸出程序、定時(shí)器0的中斷服務(wù)程序,串口中斷服務(wù)程序。主程

20、序主要做了系統(tǒng)初始化,定時(shí)器0的初始化和主循環(huán)等,可以把按鍵處理和刷新顯示程序及發(fā)送數(shù)據(jù)程序放到主循環(huán)中。4.1 主程序主程序主要做了系統(tǒng)初始化,定時(shí)器0的初始化、按鍵掃描、數(shù)碼管顯示定時(shí)向上位機(jī)發(fā)送數(shù)據(jù)和PWM輸出。圖12 主程序流程圖4.2外部中斷0服務(wù)程序外部中斷0主要用于對(duì)紅外對(duì)管產(chǎn)生的脈沖進(jìn)行計(jì)數(shù) 圖13 外部中斷0流程圖 4.3 定時(shí)器0中斷服務(wù)程序定時(shí)器0中斷程序中用來(lái)對(duì)數(shù)碼管顯示送段友和位碼,以及在固定周期內(nèi)計(jì)算轉(zhuǎn)速和進(jìn)行PID計(jì)算 。 圖14 定時(shí)器0程序流程圖4.4 PWM輸出程序PWM程序主要用來(lái)控制電機(jī)的轉(zhuǎn)速,它通過(guò)PID計(jì)算出來(lái) 的偏差來(lái)調(diào)整輸出脈沖的寬度來(lái)控制電機(jī)。

21、圖15 PWM輸出程序流程圖4.5 PID控制輸出程序當(dāng)電機(jī)轉(zhuǎn)速的設(shè)定值突然改變,或電機(jī)的轉(zhuǎn)速發(fā)生突變時(shí),會(huì)引起偏差的階躍,使增大,PID的輸出將急劇增加或減小,以至于超過(guò)控制量的上下限,電機(jī)的轉(zhuǎn)速雖然不斷上升,但由于控制量受到限制,其增長(zhǎng)的速度減慢,偏差E將比正常情況下持續(xù)更長(zhǎng)的時(shí)間保持在較大的偏差值,圖16 PID控制輸出流程圖4.6 串口中斷發(fā)送程序本文中的串口通信指的是單片機(jī)與上位機(jī)(PC機(jī))之間的串口通信,該通信主要用于測(cè)速模塊的調(diào)試以及在測(cè)量轉(zhuǎn)速時(shí),單片機(jī)能從上位機(jī)(PC機(jī))接收數(shù)據(jù)或者能將數(shù)據(jù)發(fā)回給上位機(jī)(PC機(jī)),以便觀察電機(jī)轉(zhuǎn)動(dòng)情況,或者獲得我們所需要的數(shù)據(jù)。在本設(shè)計(jì)中, 采

22、用的是AT89C51芯片的串口UART0來(lái)與PC機(jī)進(jìn)行串口通信。在串口UART0的配置中,定時(shí)/計(jì)數(shù)采用方式2是將兩個(gè)8位計(jì)數(shù)器TH1和TL1分成獨(dú)立的兩個(gè)部分,組成一個(gè)8位可自動(dòng)再裝入的定時(shí)器/計(jì)數(shù)器,由TL1作為8位計(jì)數(shù)器,TH1作為計(jì)數(shù)初值寄存器,設(shè)置初值時(shí)同時(shí)送TH1和TL1,當(dāng)TL1計(jì)數(shù)滿回0產(chǎn)生溢出,不僅置位TF1,而且控制TH1中的初值重新裝入TL1,繼續(xù)下一輪計(jì)數(shù),此信號(hào)送串行通信系統(tǒng),以設(shè)置串行通信波特率,波特率設(shè)置公式如式所示:波特率 2 SMOD* 溢出率 /32 。NYN Y圖17 串口發(fā)送程序流程圖4.7 串口中斷接收程序上位機(jī)控制單元解擴(kuò)出1bit數(shù)據(jù)后,產(chǎn)生一次中

23、斷。接收時(shí)首先采用16bits接收窗口、1bit滑動(dòng)方式來(lái)接收通信的同步幀頭0x09、0xAF,幀頭接收成功后,后續(xù)數(shù)據(jù)按每8bits一個(gè)字節(jié)的方式進(jìn)行截取,得到傳送的有效數(shù)據(jù),同時(shí)將得到的有效數(shù)據(jù)存儲(chǔ)在緩沖單元中;接收過(guò)程中,按有關(guān)的通信協(xié)議進(jìn)行地址判別、長(zhǎng)度接收、校驗(yàn)計(jì)算。地址相同的模塊對(duì)符合通信協(xié)議的數(shù)據(jù)進(jìn)行應(yīng)答,轉(zhuǎn)入發(fā)送態(tài)NY圖18 串口接收程序流程圖5 上位機(jī)軟件設(shè)計(jì)5.1 LABVIEW軟件簡(jiǎn)介L(zhǎng)ab VI EW 是美國(guó)國(guó)家儀器 NI 公司開發(fā)的一種基于圖形程序的虛擬儀表編程語(yǔ)言,在測(cè)試與測(cè)量、數(shù)據(jù)采集、儀器控制、數(shù)字信號(hào)分析、工廠自動(dòng)化等領(lǐng)域獲得了廣泛的應(yīng)用。LabVIEW程序稱

24、為虛擬儀器程序 簡(jiǎn)稱VI ,LabVIEW的強(qiáng)大功能在于層次化結(jié)構(gòu),用戶可以把創(chuàng)建的VI程序當(dāng)作子程序調(diào)用,以創(chuàng)建更復(fù)雜的程序,而且,調(diào)用階數(shù)可以是任意的。LabVIEW這種創(chuàng)建和調(diào)用子程序的方法使創(chuàng)建的程序模塊化,易于調(diào)試、理解和維護(hù)川。Lab VI EW 雖有接口卡的驅(qū)動(dòng)和管理程序,但主要是針對(duì)M公司自己生產(chǎn)的卡。對(duì)于普通的v0卡,可以用PORTIN和PORTOUT功能,但此法應(yīng)用簡(jiǎn)單,無(wú)法實(shí)現(xiàn)較復(fù)雜的接口功能;也可以采用動(dòng)態(tài)鏈接庫(kù),根據(jù)具體需要編寫適當(dāng)?shù)某绦?,靈活利用Lab-VIEW的各項(xiàng)功能。用戶可以自己編寫DLLS實(shí)現(xiàn)LabVIEW與硬件的鏈接川。用VC+十6.0編制動(dòng)態(tài)鏈接庫(kù),首先

25、生成DLL框架,Appwizard將自動(dòng)生成項(xiàng)目文件,但不產(chǎn)生任何代碼,所有代碼均需用戶自己鍵人。通用 串 行 總線 UniversalS erialB us,簡(jiǎn)稱USB 是1995年康柏、微軟、IBM, DEC等公司,公司,為了解決傳統(tǒng)總線的不足而推出的一種新型串行通信標(biāo)準(zhǔn)。該總線接口具有方便安裝、高帶寬、易擴(kuò)展等優(yōu)點(diǎn)。USB的另一大優(yōu)點(diǎn)是可以總線供電,在數(shù)據(jù)采集設(shè)備中耗電量通常不大,因此可以設(shè)計(jì)成總線供電。USB的規(guī)范能針對(duì)不同的性能價(jià)格比要求提供不同的選擇,以滿足不同的系統(tǒng)和部件及相應(yīng)不同的功能,從而給使用帶來(lái)極大方便。本文介紹LabVIEW高速數(shù)據(jù)采集系統(tǒng)的USB2.0 接口實(shí)現(xiàn)方法。

26、LABVIEW 軟件設(shè)計(jì) LabVIEW串口子VI為了在L A B V I E W 的串口通訊方面的研究有很多,大致可以總結(jié)為三種思路。第一種是使用VISA實(shí)現(xiàn)串口通訊,第二種是使用MSCOMM控件, 第三種是自己編寫動(dòng)態(tài)連接庫(kù)。本文利用LABVIEW 8.6版的VISA庫(kù)。LabVIEW串口子VI 是通過(guò)RS - 232 實(shí)現(xiàn)數(shù)據(jù)通信的。LabVIEW串口子VI有5 個(gè)串行通信節(jié)點(diǎn),分別實(shí)現(xiàn)串口初始化、串口寫、串口讀、檢測(cè)串口緩存、中斷等功能。 1 串口初始化節(jié)點(diǎn) Serial Port Init . vi 串口初始化節(jié)點(diǎn)用于對(duì)串口進(jìn)行參數(shù)設(shè)置,包括串口號(hào)、波特率、數(shù)據(jù)位、停止位、奇偶校驗(yàn)、

27、緩存大小和握手信號(hào)等。 2 串口寫節(jié)點(diǎn) Serial Port Write. vi 將需要傳送的數(shù)據(jù)通過(guò)輸出緩存發(fā)送至指定端。LabVIEW的串口子VI 只允許字符串讀寫。要讀寫數(shù)字,則要用到字符串與數(shù)字轉(zhuǎn)換節(jié)點(diǎn)Sting to Byte Array。 3 串口讀節(jié)點(diǎn) Serial Port Read. vi 從串口緩存中讀出所傳送的數(shù)據(jù)。 4 檢測(cè)串口輸入緩存節(jié)點(diǎn) Bytes at Serial Port .vi 在使用Serial Port Read 節(jié)點(diǎn)讀串口前,可先用該節(jié)點(diǎn)檢測(cè)當(dāng)前串口輸入緩存中已存的字節(jié)數(shù),然后由此指定Serial Port Read 節(jié)點(diǎn)從串口輸入緩存中讀出的字節(jié)數(shù)

28、,可以保證一次就將串口輸入緩存中的數(shù)據(jù)全部讀出。 5 串口中斷節(jié)點(diǎn) Serial Port Break. vi 將端口中斷一段時(shí)間,中斷時(shí)間可以設(shè)定。LabVIEW串口通訊程序圖19 LABVIEW通訊程序圖6硬件與軟件聯(lián)合調(diào)試6.1 硬件電路測(cè)試 圖20 電機(jī)最大轉(zhuǎn)速PWM電路輸出波形 6.2串口收發(fā)數(shù)據(jù)測(cè)試串口電路是連接PC機(jī)與通信模塊的橋梁,可借助串口調(diào)試助手對(duì)所設(shè)計(jì)的串口通信電路和通信模塊進(jìn)行測(cè)試。如圖5.1所示,通過(guò)串口調(diào)試助手,自動(dòng)向端口發(fā)送數(shù)據(jù)0xBE、0x01、0x02、0x03、0x04、0x05、0x06、0x07、0x08、0x09、0xED,數(shù)據(jù)經(jīng)串口電路被單片機(jī)通信模

29、塊接收,通信模塊接收到數(shù)據(jù)后,將數(shù)據(jù)進(jìn)行存儲(chǔ),同時(shí)又將所接收到的數(shù)據(jù)發(fā)送回來(lái),在串口調(diào)試助手的接收窗口上可以看到接收到的數(shù)據(jù)。圖21 串口調(diào)試助手工作界面總結(jié)本設(shè)計(jì)在硬件上采用了基于PWM技術(shù)的橋式驅(qū)動(dòng)電路,解決了電機(jī)驅(qū)動(dòng)的效率問(wèn)題,在軟件上也采用較為合理的系統(tǒng)結(jié)構(gòu)及算法,提高了單片機(jī)的使用效率,且具有一定的防飛能力。但該設(shè)計(jì)也有不足之處,主要是在關(guān)于速度的反饋上,無(wú)法提供較為直觀的速度表示方式,因此,有必要引入傳感器技術(shù)對(duì)速度進(jìn)行反饋,以rpm或rps表達(dá)當(dāng)前的轉(zhuǎn)速進(jìn)行顯示在直流電機(jī)驅(qū)動(dòng)器中采用PID算法,消除了一般PID調(diào)節(jié)器算法中的飽和現(xiàn)象,使電機(jī)調(diào)速穩(wěn)定,并具有快速跟隨性,同時(shí)也使電機(jī)

30、具有恒轉(zhuǎn)矩調(diào)速特性。LabVIEW圖形化編程語(yǔ)言,其軟件界面友好,操作簡(jiǎn)單,人機(jī)交互性強(qiáng),編程容易,方便快捷,擴(kuò)展性好,易于維護(hù)。所設(shè)計(jì)的系統(tǒng)具有穩(wěn)定時(shí)間快,穩(wěn)定精度高等特點(diǎn)。同傳統(tǒng)的單片機(jī)控制系統(tǒng)相比,采用虛擬儀器的方法大幅地縮減了開發(fā)周期,提高開發(fā)質(zhì)量,且性能好,簡(jiǎn)單,控制方便靈活。本文是在鐘秉翔老師和張義輝老師的精心指導(dǎo)和大力支持下完成的。鐘老師和張老師以其嚴(yán)謹(jǐn)求實(shí)的治學(xué)態(tài)度、高度的敬業(yè)精神、兢兢業(yè)業(yè)、孜孜以求的工作作風(fēng)和大膽創(chuàng)新的進(jìn)取精神對(duì)我產(chǎn)生重要影響。他們淵博的知識(shí)、開闊的視野和敏銳的思維給了我深深的啟迪。同時(shí),在此次設(shè)計(jì)過(guò)程中我也學(xué)到了許多知識(shí),實(shí)驗(yàn)技能有了很大的提高。參考文獻(xiàn)1

31、 王福瑞單片微機(jī)測(cè)控系統(tǒng)設(shè)計(jì)大全M北京:JL京航空航天大學(xué)出版社,19982 孫育才編單片微型計(jì)算機(jī)及其應(yīng)用M江蘇:東南大學(xué)出版社,19873 王曉明電動(dòng)機(jī)的單片機(jī)控制M北京:JL京航空航天大學(xué)出版社2OO24 徐愛(ài)鈞智能化測(cè)量控制儀表原理與設(shè)計(jì)M北京:北京航空航天大學(xué)出版社,19965 王琰FLASH單片機(jī)原理及應(yīng)用北京:電子工業(yè)出版社,1998許永和.USB外圍設(shè)備設(shè)計(jì)與應(yīng)用.北京航空航天大學(xué) 出版 社 ,2002. 硬件設(shè)計(jì).清華大學(xué)出版社,2002;15 9 18 5. LABVIEW 7 Express 實(shí)用技術(shù)教程M.中國(guó)鐵道出版社,2004. 孫寧. 基于LABVIEW與單片機(jī)的

32、教學(xué)實(shí)驗(yàn)系統(tǒng)J.中國(guó)儀器儀表,2005 12 .附錄一 硬件電路原理圖附錄二 程序源代碼#include #define uchar unsigned char#define uint unsigned int#define THCO 0xf8#define TLCO 0xcc /2msunsigned char code Duan 0x3F, 0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F ;/共陰極數(shù)碼管,0-9段碼表unsigned char Data_Buffer8 0,0,0,0,0,0,0,0 ;/數(shù)碼管顯示數(shù)值,數(shù)組變量定義unsigne

33、d char Data4 0,0,0,0 ;unsigned char Arry4 0,0,0,0 ;bitflag1 0 ;bit flag0 0;unsigned char i 0 ;sbit AddSpeed P11;sbit SubSpeed P12;sbit Stop P13;/按鍵調(diào)速sbit PWM_FC P10;/PWM控制端int e 0,e1 0,e2 0;/PID偏float uk 0,uk1 0.0,duk 0.0;/PID輸出值float Kp 5,Ki 1.5,Kd 0.9;/PID控制系數(shù)int out 0;unsigned int SpeedSet 2000;u

34、int cnt 0;uint Inpluse 0,num 0; /脈沖計(jì)數(shù)單元uint PWMTime 0;/脈沖寬度void SendString uint ch ;void PIDControl ;void SystemInit ;void delay uchar x ;void PWMOUT ;void SetSpeed ;void SegRefre ; void main SystemInit ; while 1 SetSpeed ; SegRefre ; PWMOUT ; if flag0 1 flag0 0 ; SendString num ; void PIDControl /P

35、ID偏差計(jì)算 e SpeedSet - num ; duk Kp* e - e1 + Ki*e + Kd* e - 2e1 + e2 /100 ; uk uk1 + duk ; out int uk ; if out 250 out 250 ; else if out 0 out 0 ; uk1 uk ; e2 e1 ; e1 e ; PWMTime out ; void delay uchar x uint i 0,j 0; for i x ; i 0 ; i- for j 50 ; j 0 ; j- ; void PWMOUT /PWm輸出 if cnt PWMTime PWM_FC 0

36、; else PWM_FC 1 ; if cnt 250 cnt 0 ; void SystemInit TMOD 0x21;/定時(shí)器0,計(jì)數(shù)器的初始化 TH0 THCO ; TL0 TLCO ; TR0 1 ; ET0 1 EX0 1 ; IT0 1 ; PCON 0x00 ; /方式一,8位數(shù)據(jù)位,一位起始位和一位結(jié)束位 SCON 0x50 ; /串口通信控制寄存器 模式一,收發(fā)使能 TH1 0xfd ;/波特率為9600,11.0592HZTL1 0xfd ; ES 1 ; TR1 1 ; EA 1 ;e 0 ;e1 0 ;e2 0 ; void SetSpeed /按鍵 速度設(shè)定 if

37、 AddSpeed 0 delay 200 ;/有鍵按下 if AddSpeed 0 SpeedSet + 100 ; if SpeedSet 9999 SpeedSet 0; if SubSpeed 0 /速度減 delay 200 ; if SubSpeed 0 SpeedSet - 100; /有鍵按下 if SpeedSet 0 SpeedSet 0; if Stop 0 /電機(jī)停止 delay 200 ; if Stop 0 SpeedSet 0 PWM_FC 1 void SegRefre /數(shù)碼管顯示刷新 Data_Buffer0 SpeedSet/1000 Data_Buffer1 SpeedSet%1000/100; Data_Buffer2 SpeedSet%100/10; Data_Buffer3 SpeedSet%10; Data_Buffer4 num/1000; Data_Buffer5 num%1000/

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論