直流電機(jī)PWM調(diào)速與控制設(shè)計(jì)報(bào)告_第1頁(yè)
直流電機(jī)PWM調(diào)速與控制設(shè)計(jì)報(bào)告_第2頁(yè)
直流電機(jī)PWM調(diào)速與控制設(shè)計(jì)報(bào)告_第3頁(yè)
直流電機(jī)PWM調(diào)速與控制設(shè)計(jì)報(bào)告_第4頁(yè)
直流電機(jī)PWM調(diào)速與控制設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、綜 合 設(shè) 計(jì) 報(bào) 告 單 位: 自 動(dòng) 化 學(xué) 院 學(xué)生姓名: 專(zhuān) 業(yè): 測(cè)控技術(shù)與儀器 班 級(jí): 0820801 學(xué) 號(hào): 指導(dǎo)老師: 成 績(jī): 設(shè)計(jì)時(shí)間: 2011 年 12 月 重慶郵電大學(xué)自動(dòng)化學(xué)院制一、題目直流電機(jī)調(diào)速與控制系統(tǒng)設(shè)計(jì)。二、技術(shù)要求設(shè)計(jì)直流電機(jī)調(diào)速與控制系統(tǒng),要求如下:1、學(xué)習(xí)直流電機(jī)調(diào)速與控制的基本原理;2、了解直流電機(jī)速度脈沖檢測(cè)原理;3、利用51單片機(jī)和合適的電機(jī)驅(qū)動(dòng)芯片設(shè)計(jì)控制器及速度檢測(cè)電路;4、使用C語(yǔ)言編寫(xiě)控制程序,通過(guò)實(shí)時(shí)串口能夠完成和上位機(jī)的通信;5、選擇合適控制平臺(tái),繪制系統(tǒng)的組建結(jié)構(gòu)圖,給出完整的設(shè)計(jì)流程圖。6、要求電機(jī)能實(shí)現(xiàn)正反轉(zhuǎn)控制;7、系統(tǒng)

2、具有實(shí)時(shí)顯示電機(jī)速度功能;8、電機(jī)的設(shè)定速度由電位器輸入;9、電機(jī)的速度調(diào)節(jié)誤差應(yīng)在允許的誤差范圍內(nèi)。三、給定條件1、直流電機(jī)驅(qū)動(dòng)原理,單片機(jī)原理及接口技術(shù)等參考資料;2、電阻、電容等各種分離元件、IC、直流電機(jī)、電源等;3、STC12C5A60S2單片機(jī)、LM298以及PC機(jī);四、設(shè)計(jì)1. 確定總體方案;2. 畫(huà)出系統(tǒng)結(jié)構(gòu)圖;3. 選擇以電機(jī)控制芯片和單片機(jī)及速度檢測(cè)電路,設(shè)計(jì)硬件電路;4. 設(shè)計(jì)串口及通信程序,完成和上位機(jī)的通信;5. 畫(huà)出程序流程圖并編寫(xiě)調(diào)試代碼,完成報(bào)告;直流電機(jī)調(diào)速與控制摘要:當(dāng)今社會(huì),電動(dòng)機(jī)作為最主要的機(jī)電能量轉(zhuǎn)換裝置,其應(yīng)用范圍已遍及國(guó)民經(jīng)濟(jì)的各個(gè)領(lǐng)域和人們的日常

3、生活。無(wú)論是在工農(nóng)業(yè)生產(chǎn),交通運(yùn)輸,國(guó)防,航空航天,醫(yī)療衛(wèi)生,商務(wù)和辦公設(shè)備中,還是在日常生活的家用電器和消費(fèi)電子產(chǎn)品(如電冰箱,空調(diào),DVD等)中,都大量使用著各種各樣的電動(dòng)機(jī)。據(jù)資料顯示,在所有動(dòng)力資源中,百分之九十以上來(lái)自電動(dòng)機(jī)。同樣,我國(guó)生產(chǎn)的電能中有百分之六十是用于電動(dòng)機(jī)的。電動(dòng)機(jī)與人的生活息息相關(guān),密不可分。電氣時(shí)代,電動(dòng)機(jī)的調(diào)速控制一般采用模擬法、PID控制等,對(duì)電動(dòng)機(jī)的簡(jiǎn)單控制應(yīng)用比較多。簡(jiǎn)單控制是指對(duì)電動(dòng)機(jī)進(jìn)行啟動(dòng),制動(dòng),正反轉(zhuǎn)控制和順序控制。這類(lèi)控制可通過(guò)繼電器,光耦、可編程控制器和開(kāi)關(guān)元件來(lái)實(shí)現(xiàn)。還有一類(lèi)控制叫復(fù)雜控制,是指對(duì)電動(dòng)機(jī)的轉(zhuǎn)速,轉(zhuǎn)角,轉(zhuǎn)矩,電壓,電流,功率等物

4、理量進(jìn)行控制。本電機(jī)控制系統(tǒng)基于51內(nèi)核的單片機(jī)設(shè)計(jì),采用LM298直流電機(jī)驅(qū)動(dòng)器,利用PWM脈寬調(diào)制控制電機(jī),并通過(guò)光耦管測(cè)速,經(jīng)單片機(jī)I/O口定時(shí)采樣,最后通過(guò)閉環(huán)反饋控制系統(tǒng)實(shí)現(xiàn)電機(jī)轉(zhuǎn)速的精確控制,其中電機(jī)的設(shè)定速度由電位器經(jīng)A/D通過(guò)輸入,系統(tǒng)的狀顯示與控制由上位機(jī)實(shí)現(xiàn)。經(jīng)過(guò)設(shè)計(jì)和調(diào)試,本控制系統(tǒng)能實(shí)現(xiàn)電機(jī)轉(zhuǎn)速較小誤差的控制,系統(tǒng)具有上位機(jī)顯示轉(zhuǎn)速和控制電機(jī)開(kāi)啟、停止和正反轉(zhuǎn)等功能。具有一定的實(shí)際應(yīng)用意義。關(guān)鍵字:直流電機(jī)、反饋控制、51內(nèi)核、PWM脈寬調(diào)制、LM298 一、 系統(tǒng)原理及功能概述1、 系統(tǒng)設(shè)計(jì)原理本電機(jī)控制系統(tǒng)采用基于51內(nèi)核的單片機(jī)設(shè)計(jì),主要用于電機(jī)的測(cè)速與轉(zhuǎn)速控制,

5、硬件方面設(shè)計(jì)有可調(diào)電源模塊,串口電路模塊、電機(jī)測(cè)速模塊、速度脈沖信號(hào)調(diào)理電路模塊、直流電機(jī)驅(qū)動(dòng)模塊等電路;軟件方面采用基于C語(yǔ)言的編程語(yǔ)言,能實(shí)現(xiàn)系統(tǒng)與上位機(jī)的通信,并實(shí)時(shí)顯示電機(jī)的轉(zhuǎn)速和控制電機(jī)的運(yùn)行狀態(tài),如開(kāi)啟、停止、正反轉(zhuǎn)等。單片機(jī)選用了51升級(jí)系列的STC12c5a60s2作為主控制器,該芯片完全兼容之前較低版本的所有51指令,同時(shí)它還自帶2路PWM控制器、2個(gè)定時(shí)器、2個(gè)串行口支持獨(dú)立的波特率發(fā)生器、3路可編程時(shí)鐘輸出、8路10位AD轉(zhuǎn)換器、一個(gè)SPI接口等,能非常方便的滿(mǎn)足本次電機(jī)控制的需求,其PWM端口用于輸出一定頻率且脈寬可調(diào)的PWM波用于控制電機(jī)轉(zhuǎn)速,單片機(jī)自帶的A/D端口作

6、為設(shè)定速度的模擬信號(hào)輸入口,定時(shí)器用于串口通信和速度的定時(shí)采樣以及上位機(jī)的定時(shí)顯示等。系統(tǒng)的電機(jī)驅(qū)動(dòng)單元選擇了LM298N大功率驅(qū)動(dòng)芯片,再利用TLP521光耦合器和整流二極管設(shè)計(jì)的驅(qū)動(dòng)電路能實(shí)現(xiàn)電器隔離與控制,能提高控制效率和精度極大減少了撓動(dòng)干擾,而且可以實(shí)現(xiàn)電機(jī)的正反裝和剎車(chē)功能。 系統(tǒng)測(cè)速模塊基于槽型光耦GK105設(shè)計(jì),將電機(jī)的轉(zhuǎn)速轉(zhuǎn)換成不同頻率的脈沖信號(hào),在經(jīng)過(guò)基于LM324的電壓比較器和74HC573鎖存器進(jìn)行信號(hào)波形的整形,最后通過(guò)檢測(cè)單片機(jī)的I/O口的脈沖實(shí)現(xiàn)速度的測(cè)量。11直流電機(jī)基本工作原理圖1.1直流電機(jī)的基本結(jié)夠圖12直流電機(jī)調(diào)速原理直流電機(jī)轉(zhuǎn)速n的表達(dá)式為: (1 -

7、 1)式中:U-電樞端電壓;I-電樞電流;R-電樞電路總電阻;-每極磁通量;K-與電機(jī)結(jié)構(gòu)有關(guān)的常數(shù),因此直流電機(jī)轉(zhuǎn)速n的控制方法有三種,主要以調(diào)壓調(diào)速為主。本控制器主要通過(guò)脈寬調(diào)制PWM來(lái)控制電動(dòng)機(jī)電樞電壓,實(shí)現(xiàn)調(diào)速。調(diào)脈寬的方式有三種:定頻調(diào)寬、定寬調(diào)頻和調(diào)寬調(diào)頻。本系統(tǒng)采用了定頻調(diào)脈寬方式的PWM控制,因?yàn)椴捎眠@種方式,電動(dòng)機(jī)在運(yùn)轉(zhuǎn)時(shí)比較穩(wěn)定;并且在采用單片機(jī)產(chǎn)生PWM脈沖的軟件實(shí)現(xiàn)上比較方便。對(duì)直流電機(jī)轉(zhuǎn)速的控制即可采用開(kāi)環(huán)控制,也可采用閉環(huán)控制。與開(kāi)環(huán)控制相比,速度控制閉環(huán)系統(tǒng)的機(jī)械特性有以下優(yōu)越性:閉環(huán)系統(tǒng)的機(jī)械特性與開(kāi)環(huán)系統(tǒng)機(jī)械特性相比,其性能大大提高;理想空載轉(zhuǎn)速相同時(shí),閉環(huán)系

8、統(tǒng)的靜差率(額定負(fù)載時(shí)電機(jī)轉(zhuǎn)速降落與理想空載轉(zhuǎn)速之比)要小得多;當(dāng)要求的靜差率相同時(shí), 閉環(huán)調(diào)速系統(tǒng)的調(diào)速范圍可以大大提高。直流電機(jī)的速度控制方案如圖1所示。轉(zhuǎn)速設(shè)定值轉(zhuǎn)速輸出偏差調(diào)節(jié)器驅(qū)動(dòng)電路直流電機(jī)+ -測(cè)速裝置圖 1 直流電機(jī)速度閉環(huán)控制方案二、 系統(tǒng)硬件設(shè)計(jì)1系統(tǒng)總體設(shè)計(jì)框圖本系統(tǒng)采用STC12C5A60S作為控制核心,用上位機(jī)顯示設(shè)定轉(zhuǎn)速和測(cè)量轉(zhuǎn)速以及控制電機(jī)。采用LM298驅(qū)動(dòng)芯片作為本系統(tǒng)的驅(qū)動(dòng)電路和用槽型光耦GK105作為該系統(tǒng)的測(cè)量電路??驁D如2所示。STC12C5A60S2單片機(jī)時(shí)鐘電路LM298驅(qū)動(dòng)電路UART串口電路直流電機(jī)上位機(jī)顯示與控制光耦測(cè)速管速度模擬量輸入電路信

9、號(hào)調(diào)理電路 電源模塊圖2 直流電機(jī)控制系統(tǒng)總體框圖2模塊電路及功能介紹2.1單片機(jī)最小系統(tǒng)電路單片機(jī)主要擅長(zhǎng)系統(tǒng)控制,而不適合做復(fù)雜的數(shù)據(jù)處理,在設(shè)計(jì)單片機(jī)最小系統(tǒng)時(shí)我們選用STC12C5A60S2位DIP-40封裝的單片機(jī)作為MCU。STC12C5A60S2芯片是有宏晶科技生產(chǎn)的單時(shí)鐘./機(jī)器周期(1T)的單片機(jī),具有64K的用戶(hù)程序存儲(chǔ)空間及1280字節(jié)的RAM,完全兼容之前較低版本的所有51指令,但速度快58倍,內(nèi)部集成有MAX801專(zhuān)用復(fù)位電路、同時(shí)它還自帶2路PWM控制器、2個(gè)定時(shí)器、2個(gè)串行口支持獨(dú)立的波特率發(fā)生器、3路可編程時(shí)鐘輸出、8路高速10位AD轉(zhuǎn)換器、一個(gè)SPI接口等,應(yīng)

10、用于電機(jī)控制等強(qiáng)干擾場(chǎng)合。本系統(tǒng)的單片機(jī)最小系統(tǒng)由時(shí)鐘電路、復(fù)位電路、電源電路、外圍總線(xiàn)接口等部分組成。圖3為單片機(jī)最小系統(tǒng)結(jié)構(gòu)框圖。 圖3 51最小系統(tǒng)電路2.1.1系統(tǒng)時(shí)鐘電路 單片機(jī)內(nèi)部具有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器。通常在引腳XTALl和XTAL2跨接石英晶體和兩個(gè)補(bǔ)償電容構(gòu)成自激振蕩器,系統(tǒng)時(shí)鐘電路結(jié)構(gòu)如圖6所示,可以根據(jù)情況選擇6MHz、8MHz或12MHz等頻率的石英晶體,本系統(tǒng)采用12MHz的晶振。補(bǔ)償電容通常選擇20-30pF左右的瓷片電容。2.1.2復(fù)位電路 單片機(jī)小系統(tǒng)采用上電自動(dòng)復(fù)位和手動(dòng)按鍵復(fù)位兩種方式實(shí)現(xiàn)系統(tǒng)的復(fù)位操作。上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位

11、操作。手動(dòng)復(fù)位要求在電源接通的條件下,在單片機(jī)運(yùn)行期間,用按鈕開(kāi)關(guān)操作使單片機(jī)復(fù)位。復(fù)位電路結(jié)構(gòu)如圖6所示。上電自動(dòng)復(fù)位通過(guò)電容充電來(lái)實(shí)現(xiàn)。手動(dòng)按鍵復(fù)位是通過(guò)按鍵將電阻與VCC接通來(lái)實(shí)現(xiàn)。2.2電機(jī)驅(qū)動(dòng)模塊直流電機(jī)驅(qū)動(dòng)采用常用的H橋電路,通過(guò)控制信號(hào)選通對(duì)管與否實(shí)現(xiàn)電機(jī)的正反轉(zhuǎn),并改變所加電壓的占空比來(lái)改變電機(jī)轉(zhuǎn)速。如圖4所示,這里采用電機(jī)驅(qū)動(dòng)專(zhuān)用芯片L298N,該芯片可驅(qū)動(dòng)兩路536V的直流電機(jī)或者一路四拍的步進(jìn)電機(jī)。同時(shí)在L298N與主控芯片間通過(guò)四路光耦TLP5214隔離消除干擾信號(hào)。在STC12C5A60S2上配置好串口、PWM,實(shí)現(xiàn)串口接收的數(shù)據(jù)直接賦值給PWM定時(shí)器CCAP1L、C

12、CAP1H。利用串口調(diào)試助手發(fā)送控制信息給STC12C5A60S2,同時(shí)輔助外界6V電源更改L298N的IN1和IN2共同完成L298N電機(jī)驅(qū)動(dòng)模塊的調(diào)試。 圖4 LM298N電機(jī)驅(qū)動(dòng)電路2.3直流電機(jī)測(cè)速電路2.3.1槽型光耦GK105測(cè)速電路圖 5 槽型光耦GK105電路圖 6 電機(jī)轉(zhuǎn)速編碼裝置如圖5和圖6所示,光電對(duì)管采用槽型光耦GK105電路由一只特殊的發(fā)光二極管和光電三極管構(gòu)成,當(dāng)二極管發(fā)出的光打在光電三極管的基極B上時(shí)三極管CE導(dǎo)通。而正常情況下二極管的光不能到達(dá)光電管的基極上,故通過(guò)裝在電機(jī)轉(zhuǎn)軸上得圓形編碼片即可實(shí)現(xiàn)對(duì)小車(chē)的測(cè)速。假設(shè)編碼片兒有n片個(gè)缺口,測(cè)得光電三極管的輸出脈沖

13、頻率為f,則車(chē)速=f/n。由圖7可知,電機(jī)每轉(zhuǎn)一圈, 槽型光耦產(chǎn)生4個(gè)脈沖,因此可以利用槽型光耦傳感器信號(hào)得到電機(jī)的實(shí)際轉(zhuǎn)速。為盡可能縮短一次速度采樣的時(shí)間,則電機(jī)的實(shí)際轉(zhuǎn)速為:V=(N/4)*60; V:速度 R/minN:每秒采樣的脈沖個(gè)數(shù) 圖7 電機(jī)轉(zhuǎn)1圈GK105光耦管信號(hào)2.3.2速度脈沖信號(hào)調(diào)理電路給電機(jī)加電讓其帶動(dòng)編碼盤(pán)旋轉(zhuǎn),將光電對(duì)管靠近編碼盤(pán),用示波器觀測(cè)輸出脈沖信號(hào)的有無(wú)與好壞。信號(hào)調(diào)理電路主要利用LM324運(yùn)算放大器設(shè)計(jì)的比較器,如圖8所示,調(diào)節(jié)比較器偏置電壓使脈沖最接近于方波且幅度大于3.3V。為了提高測(cè)速的精度,在信號(hào)后級(jí)添加比較器調(diào)理信號(hào)為標(biāo)準(zhǔn)的方波,調(diào)節(jié)比較器運(yùn)放

14、的偏置電壓使方波信號(hào)最適合于測(cè)速。 圖 8 基于LM324的信號(hào)調(diào)理電路2.4串口電路設(shè)計(jì)MAX232芯片是美信公司專(zhuān)門(mén)為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的接口電路,使用+5V單電源供電。其內(nèi)部結(jié)構(gòu)基本可分三個(gè)部分:第一部分是電荷泵電路,由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12V和-12V兩個(gè)電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道,由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳

15、(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(+5V)。電路如圖9所示。圖 9 串口電路圖2.5系統(tǒng)電源設(shè)計(jì)本系統(tǒng)要求有5V和67V的電源輸入,因此我們選用了LM317作為電源芯片。LM317作為輸出電壓可變的集成三端穩(wěn)壓塊,是一種使用方便、應(yīng)用廣泛的集成穩(wěn)壓塊。其應(yīng)用電路如圖10所示。圖11為電源濾波電路。圖10 3.3V穩(wěn)壓電路圖11 濾波電路穩(wěn)

16、壓電源的輸出電壓可用下式計(jì)算,Vo=1.25(1+R2/R1)。本系統(tǒng)中取R1為240n,R2取5K的可調(diào)電位器。通過(guò)調(diào)節(jié)R2的阻值大小,進(jìn)而可以改變輸出電壓的大小,實(shí)現(xiàn)電壓可調(diào),其可調(diào)范圍是Vo=1.25V37V。在應(yīng)用中,為了電路的穩(wěn)定工作,在一般情況下,還需要接二極管作為保護(hù)電路,防止電路中的電容放電時(shí)的高壓把317燒壞。2.6電機(jī)設(shè)定速度輸入電路本系統(tǒng)采用了簡(jiǎn)單的電位器,通過(guò)電位器將5V電源信號(hào)分壓在經(jīng)過(guò)單片機(jī)A/D端口輸入到CPU處理,實(shí)現(xiàn)電機(jī)速度手動(dòng)的可調(diào),其電路如圖12所示。圖12 電位器速度設(shè)置電路三、 系統(tǒng)軟件設(shè)計(jì)本程序主要分為6大塊,主程序、A/D轉(zhuǎn)換處理程序、PWM輸出程

17、序、串口顯示與電機(jī)狀態(tài)控制程序、定時(shí)器0的中斷服務(wù)程序,串口中斷服務(wù)程序。主程序主要做了系統(tǒng)初始化,定時(shí)器0的初始化和主循環(huán)等。配置STC12C5A60S2定時(shí)器0為定時(shí)器方式2、50ms計(jì)數(shù)器中斷,累計(jì)20次定時(shí)器0中斷為1秒,此時(shí)TL1即光電對(duì)管輸入的脈沖頻率,同時(shí)在此一秒內(nèi)觸發(fā)AD采集一次電源電壓Voltage送入內(nèi)存并通過(guò)運(yùn)算轉(zhuǎn)換成設(shè)定的速度值。PC終端的顯示也是沒(méi)隔一秒刷新一次。配置STC12C5A60S2串行口1為方式2、獨(dú)立波特率發(fā)生器9600、允許接收中斷。當(dāng)串口1接收到PC機(jī)數(shù)據(jù)轉(zhuǎn)入中斷處理程序,檢測(cè)接收到的數(shù)據(jù)以此來(lái)區(qū)分?jǐn)?shù)據(jù)是屬于哪種控制信號(hào)。配置STC12C5A60S2脈

18、寬調(diào)制PWM為8位、無(wú)中斷。主程序中循環(huán)執(zhí)行Pwm()函數(shù)實(shí)時(shí)更改PWM定時(shí)器CCAP1L、CCAP1H的值,實(shí)現(xiàn)對(duì)電機(jī)轉(zhuǎn)速的控制。1主程序主程序主要功能為系統(tǒng)初始化,定時(shí)器0的初始化和主循環(huán)等。流程圖如圖13所示 開(kāi)始系統(tǒng)初始化速度脈沖信號(hào)輸入I/O口掃描串口發(fā)送數(shù)據(jù)1S計(jì)時(shí)標(biāo)志速度及A/D值采樣PWM輸出結(jié)束否是 圖13 系統(tǒng)主程序流程圖2串口中斷發(fā)送程序本系統(tǒng)的串口通信指的是單片機(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ù)。如圖14所示

19、,在本設(shè)計(jì)中,采用的是STC12C5A60S2芯片的串口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ù)滿(mǎn)回0產(chǎn)生溢出,不僅置位TF1,而且控制TH1中的初值重新裝入TL1,繼續(xù)下一輪計(jì)數(shù),此信號(hào)送串行通信系統(tǒng),以設(shè)置串行通信波特率,波特率設(shè)置公式如式所示:波特率=2 SMOD*(溢出率)/32 。否發(fā)送第二字節(jié)數(shù)據(jù)1字節(jié)數(shù)據(jù)發(fā)送完畢 ?進(jìn)入發(fā)送中斷發(fā)送1byte數(shù)據(jù)1字節(jié)數(shù)據(jù)

20、發(fā)送完畢 ?是否中斷返回是圖14 串口發(fā)送程序流程圖3串口中斷接收程序 上位機(jī)控制單元解擴(kuò)出1bit數(shù)據(jù)后,產(chǎn)生一次中斷。接收時(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)。程序流程圖如圖15所示。否重組數(shù)據(jù)進(jìn)入接收中斷清零接收標(biāo)志1字節(jié)數(shù)據(jù)接收完畢 ?是中斷返回 圖15 串口接收程序流程圖4A/D轉(zhuǎn)換程序 A/D轉(zhuǎn)換程

21、序主要用于電機(jī)速度的輸入模擬信號(hào)的采集與轉(zhuǎn)換。程序流程圖如圖16所示。啟動(dòng)指定通道延時(shí)轉(zhuǎn)換結(jié)束?返回轉(zhuǎn)換結(jié)果否是 圖16 A/D轉(zhuǎn)換程序流程圖5PWM輸出程序PWM控制脈沖寬度調(diào)制技術(shù),即通過(guò)一系列脈沖的寬度調(diào)制來(lái)等效地獲得所需的波形(含形狀和幅值),程序主要用于控制電機(jī)轉(zhuǎn)速,他通過(guò)主程序的反饋算法計(jì)算出來(lái),然后調(diào)整脈沖寬度來(lái)控制電機(jī)。程序流程圖如圖17所示。設(shè)置寄存器CCON=0;設(shè)置PWM模式寄存器CMOD=0x00,及PWM頻率為系統(tǒng)時(shí)鐘/12設(shè)置允許PCA計(jì)數(shù)器計(jì)數(shù)標(biāo)志位CR設(shè)置寄存器PCA_PWM0=0x00;CCAPM0=0x42;設(shè)置寄存器CCAP0H,CCAP0L,調(diào)節(jié)脈沖寬度

22、圖17 PWM輸出程序流程圖6定時(shí)器0中斷服務(wù)程序 定時(shí)器0中斷程序主要用于1秒定時(shí)、轉(zhuǎn)速的計(jì)算、A/D值采集以及上位機(jī)顯示刷新。程序流程圖如圖18所示。入口計(jì)算轉(zhuǎn)速,讀取A/D,顯示刷新1秒計(jì)時(shí)標(biāo)志?返回否是計(jì)時(shí)賦初值 圖18定時(shí)器0中斷服務(wù)程序流程圖四、 系統(tǒng)調(diào)試及性能分析1. 系統(tǒng)硬件調(diào)試1.1如圖19為系統(tǒng)測(cè)速電路的采樣波形 圖19 經(jīng)整形后的速度脈沖波形1.2串口收發(fā)數(shù)據(jù)調(diào)試串口電路是連接PC機(jī)與通信模塊的橋梁,可借助串口調(diào)試助手對(duì)所設(shè)計(jì)的串口通信電路和通信模塊進(jìn)行測(cè)試。如圖5.1所示,通過(guò)串口調(diào)試助手,向端口分別發(fā)送數(shù)據(jù)0x01、0x02、0x03、0x04、0x05數(shù)據(jù)經(jīng)串口電路

23、被單片機(jī)接收,將數(shù)據(jù)進(jìn)行存儲(chǔ)判斷,決定是開(kāi)啟顯示和電機(jī)還是正反轉(zhuǎn)或是停止,同時(shí)將所出狀態(tài)及電機(jī)轉(zhuǎn)速發(fā)送回來(lái),在串口調(diào)試助手的接收窗口上可以看到接收到的數(shù)據(jù)。串口調(diào)試如圖20所示。 圖20 電機(jī)轉(zhuǎn)速及對(duì)應(yīng)的電壓顯示數(shù)據(jù)1.3實(shí)物展示 圖22 系統(tǒng)實(shí)物圖2系統(tǒng)測(cè)試數(shù)據(jù)處理2.1利用matlab對(duì)電機(jī)兩端電壓和轉(zhuǎn)速數(shù)據(jù)進(jìn)行曲線(xiàn)擬合實(shí)型電壓數(shù)據(jù):votlage_V=1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3 3.1 3.2 3.3 3.41 3.49 3.61 3.71 3.8 3.9 4 4.1 4.21 4.3 4.4 4

24、.51 4.6 4.7 4.8 4.9 5; 整型電壓數(shù)據(jù):votlage_D=77,82,87,92,97,102,108,113,118,123,128,133,138,143,148,153,159,164,169,175,179,185,190,195,200,205,210,216,220,225,231,236,241,246,251,255;測(cè)得速度數(shù)據(jù):speed=12,17,22,27,33,42,45,48,53,58,62,65,69,73,76,80,83,87,89,93,96,99,101,103,106,109,111,113,116,119,122,125,12

25、8,133,140,144;Matlab擬合命令:p=polyfit(votlage_V,speed,1);speed_poly1=p(1)*votlage_V+p(2);q=polyfit(votlage_D,speed,1);speed_poly2=q(1).*votlage_D+q(2);figure(1)plot(votlage_V,speed,'or',votlage_V,speed_poly1);grid ontitle('電壓V-轉(zhuǎn)速r/s')figure(2)plot(votlage_D,speed,'or',votlage_D,

26、speed_poly2);grid on title('電壓D-轉(zhuǎn)速r/s')擬合曲線(xiàn)如圖21所示: 圖21 電壓速度曲線(xiàn)如圖21所示,電機(jī)電壓與轉(zhuǎn)速基本成正比關(guān)系,所以可以按最小二乘法進(jìn)行線(xiàn)性擬合,得到電壓與轉(zhuǎn)速關(guān)系式為:(1)電壓為實(shí)型,轉(zhuǎn)速=34.5178*電壓V -28.91,其中(a=34.5178,b=-28.91);(2)電壓為整型,轉(zhuǎn)速=0.67373*電壓D-28.8715,其中(a=0.67373b=-28.8715);上面兩個(gè)關(guān)系式將作為電機(jī)控制的基本數(shù)學(xué)模型,有軟件算法實(shí)現(xiàn)電機(jī)輸出轉(zhuǎn)速對(duì)輸入電壓的跟蹤。2.2 不同轉(zhuǎn)速設(shè)定值下電機(jī)對(duì)應(yīng)的輸出轉(zhuǎn)速及誤差如表

27、1輸入轉(zhuǎn)速輸出轉(zhuǎn)速 絕對(duì)誤差輸入轉(zhuǎn)速輸出轉(zhuǎn)速 絕對(duì)誤差1213-17680-41719-28078-22219383812272528789-2333308993-4424029397-445423969424849-1999905355-2101102-15859-1103104-162620106105165632109112-36971-211111107376-31131121116119-312512501191172128130-2122126-41331312 表1 電機(jī)轉(zhuǎn)速誤差表23 電機(jī)輸出轉(zhuǎn)速誤差曲線(xiàn) 圖 23 電機(jī)輸出轉(zhuǎn)速相對(duì)電壓絕對(duì)誤差曲線(xiàn) 圖 24 電機(jī)輸出轉(zhuǎn)速相對(duì)電

28、壓的相對(duì)誤差曲線(xiàn)24 系統(tǒng)性能分析 對(duì)上面圖23、圖24兩個(gè)誤差曲線(xiàn)分析可以得出以下結(jié)論,一方面,當(dāng)電機(jī)兩端的電壓在1.5V4.8V范圍了變化時(shí),電機(jī)的轉(zhuǎn)速變化范圍在12R/S134R/S(即720R/mint8040R/mint)之間變化,當(dāng)電機(jī)兩端的電壓在1.5V以下時(shí),電機(jī)無(wú)法驅(qū)動(dòng),為電機(jī)的死區(qū)電壓,電機(jī)轉(zhuǎn)速變化基本符合實(shí)際情況。 另一方面,由于本系統(tǒng)自身設(shè)計(jì)本省存在著多種缺陷,所以測(cè)式結(jié)果產(chǎn)生了一定的誤差,電機(jī)轉(zhuǎn)速的絕對(duì)誤差基本在6V以下,其相對(duì)誤差根據(jù)兩端電壓范圍的不同呈現(xiàn)不同的趨勢(shì),當(dāng)電壓在1.5V1.8V左右,即電機(jī)轉(zhuǎn)速50R/S時(shí),電機(jī)輸出轉(zhuǎn)速的相對(duì)誤差16%,當(dāng)電機(jī)兩端電壓在

29、1.8V4.8V左右,即電機(jī)轉(zhuǎn)速60R/S時(shí),電機(jī)輸出轉(zhuǎn)速的相對(duì)誤差8%。所以系統(tǒng)綜合性能基本能滿(mǎn)足設(shè)計(jì)要求。五、 設(shè)計(jì)心得課程設(shè)計(jì)是培養(yǎng)我們綜合運(yùn)用所學(xué)知識(shí)發(fā)現(xiàn)、提出、分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)我們實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程。本次的課程設(shè)計(jì)是基于運(yùn)用所學(xué)單片機(jī)技術(shù)、傳感檢測(cè)技術(shù)、電機(jī)驅(qū)動(dòng)技術(shù)等方面的知識(shí),設(shè)計(jì)電機(jī)調(diào)速與控制系統(tǒng),很好的結(jié)合了當(dāng)今工業(yè)直流電機(jī)方面的實(shí)際應(yīng)用,相對(duì)于前幾學(xué)期的課程設(shè)計(jì),這次的題目綜合性更高、設(shè)計(jì)難度更大、實(shí)用性更強(qiáng),是對(duì)我們所學(xué)專(zhuān)業(yè)知識(shí)如單片機(jī)原理及接口技術(shù)、傳感器與檢測(cè)、C語(yǔ)言程序設(shè)計(jì)、直流電機(jī)驅(qū)動(dòng)原理等課程知識(shí)的綜合檢驗(yàn)與應(yīng)用,很好

30、的鍛煉了我們從單一模塊到系統(tǒng)設(shè)計(jì)與調(diào)試能力的轉(zhuǎn)變與提高,同時(shí)也讓增強(qiáng)了我們直流電機(jī)控制原理與應(yīng)用有了更深的認(rèn)識(shí)和體會(huì)。回顧起此次課程設(shè)計(jì),至今我仍感慨頗多,從選題到定稿,從理論到實(shí)踐,我們小組都付出了很多努力,也收獲了很多,在此次設(shè)計(jì)中不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)也使我懂得了理論與實(shí)際相結(jié)合的重要性,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能做出實(shí)際的有用的東西,從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。通過(guò)這次課程設(shè)計(jì)還鍛煉了我們的團(tuán)隊(duì)合作精神,只有大家在分工明確的基礎(chǔ)上齊心協(xié)力,才能

31、使團(tuán)隊(duì)獲得成就。在這次設(shè)計(jì)的過(guò)程中我們也遇到了很多困難,尤其是我們小組有兩個(gè)人都要考研,時(shí)間特別緊迫,還有就是這次在電機(jī)的控制其設(shè)計(jì)和測(cè)速模塊的設(shè)計(jì)上都遇到了很大的問(wèn)題,但是我們?cè)诶蠋煹闹笇?dǎo)下,我們小組積極討論,分工合作,合理安排時(shí)間,通過(guò)查閱資料學(xué)習(xí)相關(guān)的知識(shí),逐步突破了每一個(gè)技術(shù)難關(guān),最后比較好的獨(dú)立的完成了這次設(shè)計(jì)。通過(guò)這次課程設(shè)計(jì),我更發(fā)現(xiàn)了自己的很多不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,而且缺少自主分析問(wèn)題的能力,碰到問(wèn)題后有一種和逃避依賴(lài)心理。也讓我明白做電子類(lèi)設(shè)計(jì)每一步都要細(xì)心嚴(yán)謹(jǐn),不能馬虎。六、 參考文獻(xiàn)1李朝青編單片機(jī)原理及接口技術(shù)(簡(jiǎn)明修訂版)北京航空

32、航天大學(xué)出版社,19982胡向東編傳感技術(shù).重慶大學(xué)出版社,2006年第1版。3. 譚浩強(qiáng) C語(yǔ)言程序設(shè)計(jì). 北京:清華大學(xué)出版社,2002。8. 后閑哲也編 單片機(jī)C程序設(shè)計(jì)與實(shí)踐叢書(shū) 北京航空航天大學(xué)出版社 2008。七、 附錄程序:#include <stdio.h>#include <intrins.H>#include "STC_NEW_8051.H"typedef unsigned char INT8U;typedef unsigned int INT16U;typedef unsigned int INT8;/以下選擇 ADC 轉(zhuǎn)換速率

33、,只能選擇其中一種 / SPEED1 SPEED0 A/D轉(zhuǎn)換所需時(shí)間#define AD_SPEED 0x60 / 0110,0000 1 1 70 個(gè)時(shí)鐘周期轉(zhuǎn)換一次, / CPU工作頻率21MHz時(shí) A/D轉(zhuǎn)換速度約 300KHz/#define AD_SPEED 0x40 /0100,0000 1 0 140 個(gè)時(shí)鐘周期轉(zhuǎn)換一次/#define AD_SPEED 0x20 /0010,0000 0 1 280 個(gè)時(shí)鐘周期轉(zhuǎn)換一次/#define AD_SPEED 0x00 /0000,0000 0 0 420 個(gè)時(shí)鐘周期轉(zhuǎn)換一次/#define uchar unsigned char

34、/#define uint unsigned int#define P2M0 0x00#define P2M1 0x00 #define P0M0 0x00#define P0M1 0x00sbit caiji=P22; sbit led0=P20; sbit led1=P21;INT8 flag_uart=0,flag_on=0,flag_x=0,flag_xianshi=0,flag_ad=0,n1=0;INT8 ad_vall=0,ad_val=0,moto_speed=0,shudu=0,shisu=0;INT8U rec,cont=0,cont2=0; /串口、計(jì)數(shù)器變量float

35、ad_fl,a1=0,a2=0,b1=0,b2=0;INT8U get_AD_result(INT8U channel); /AD轉(zhuǎn)換函數(shù)聲明void delay0(INT8U delay_time); /延時(shí)函數(shù)聲明void delay(char xms);void delay0(INT8U delay_time); / 延時(shí)函數(shù)void timer_init() /定時(shí)器計(jì)數(shù)器初始化函數(shù) TMOD=0x21; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TH1=0xfd; TL1=0xfd; TR1=1; ET0=1; SM0=0; SM1=

36、1; REN=1; EA=1;ES=1;void ad_init() / 單片機(jī)AD 初始化函數(shù) P1ASF=0x01; /1111,1111, 將 P1 置成模AD AUXR1 &= 0x04; /0000,0100, 令 ADRJ=0 ADC_CONTR |= 0x80; /1000,0000 打開(kāi) A/D 轉(zhuǎn)換電源 void pwm_init()/ 單片機(jī)PWM相關(guān)寄存器 初始化函數(shù) CCON=0; CL=0;CH=0;CMOD=0x00; PCA_PWM0=0x00; CCAPM0=0x42;EPCnL=1, CCAPnL=FFH 時(shí)PWM固定輸出低 */;PCA_PWM1=0

37、x00;CCAPM1=0x42;CR=1; void PWM(INT8 a) INT8 xx; xx=256-a; CCAP0H=CCAP0L=0+xx; /P13 CCAP1H=CCAP1L=256-xx-5; /P14INT8 ceshu() /速度脈沖檢測(cè)函數(shù) if(caiji=0) n1=1; if(caiji=1)&&(n1=1) /脈沖上升沿檢測(cè) shudu+; n1=0; return shudu;void UART(INT8 a,INT8 b,float c) /串口函數(shù) if(flag_uart=1) /串口顯示標(biāo)志判斷 flag_uart=0; ES=0;

38、TI=1; switch(flag_on) /顯示模式及電機(jī)狀態(tài)控制命令判斷 case 0: puts("Turn on n"); led0=0;led1=1; TR0=1; _nop_();_nop_();_nop_();_nop_();break; case 1: _nop_();_nop_(); led0=0;led1=0; _nop_();_nop_(); led0=1;led1=0;break; case 2: _nop_();_nop_(); led0=0;led1=0; _nop_();_nop_(); led0=0;led1=1; break;case 3: printf("Turn off n"); led0=0;led1=0; TR0=0;break;case 4: puts("Error!n"); break; while(!TI); TI=0; ES=1; if(flag_xianshi=1) /串口顯示標(biāo)志判斷 flag_xianshi=0; ES=0; TI=1; printf("real_speed is %d, set_speed is %d, voltage is%fn",a,b,c); while(!TI); TI=0; ES=1;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論