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

下載本文檔

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

文檔簡介

綜合設(shè)計報告單位:自動化學(xué)院學(xué)生姓名:專業(yè):測控技術(shù)與儀器班級:0820801學(xué)號:指導(dǎo)老師:成績:設(shè)計時間:年12月重慶郵電大學(xué)自動化學(xué)院制一、題目直流電機(jī)調(diào)速與控制系統(tǒng)設(shè)計。二、技術(shù)要求設(shè)計直流電機(jī)調(diào)速與控制系統(tǒng),要求如下:1、學(xué)習(xí)直流電機(jī)調(diào)速與控制的基本原理;2、了解直流電機(jī)速度脈沖檢測原理;3、利用51單片機(jī)和合適的電機(jī)驅(qū)動芯片設(shè)計控制器及速度檢測電路;4、使用C語言編寫控制程序,經(jīng)過實(shí)時串口能夠完成和上位機(jī)的通信;5、選擇合適控制平臺,繪制系統(tǒng)的組建結(jié)構(gòu)圖,給出完整的設(shè)計流程圖。6、要求電機(jī)能實(shí)現(xiàn)正反轉(zhuǎn)控制;7、系統(tǒng)具有實(shí)時顯示電機(jī)速度功能;8、電機(jī)的設(shè)定速度由電位器輸入;9、電機(jī)的速度調(diào)節(jié)誤差應(yīng)在允許的誤差范圍內(nèi)。三、給定條件 1、《直流電機(jī)驅(qū)動原理》,《單片機(jī)原理及接口技術(shù)》等參考資料; 2、電阻、電容等各種分離元件、IC、直流電機(jī)、電源等; 3、STC12C5A60S2單片機(jī)、LM298以及PC機(jī)四、設(shè)計1.確定總體方案;2.畫出系統(tǒng)結(jié)構(gòu)圖;3.選擇以電機(jī)控制芯片和單片機(jī)及速度檢測電路,設(shè)計硬件電路;4.設(shè)計串口及通信程序,完成和上位機(jī)的通信;5.畫出程序流程圖并編寫調(diào)試代碼,完成報告;直流電機(jī)調(diào)速與控制摘要:當(dāng)今社會,電動機(jī)作為最主要的機(jī)電能量轉(zhuǎn)換裝置,其應(yīng)用范圍已遍及國民經(jīng)濟(jì)的各個領(lǐng)域和人們的日常生活。無論是在工農(nóng)業(yè)生產(chǎn),交通運(yùn)輸,國防,航空航天,醫(yī)療衛(wèi)生,商務(wù)和辦公設(shè)備中,還是在日常生活的家用電器和消費(fèi)電子產(chǎn)品(如電冰箱,空調(diào),DVD等)中,都大量使用著各種各樣的電動機(jī)。據(jù)資料顯示,在所有動力資源中,百分之九十以上來自電動機(jī)。同樣,中國生產(chǎn)的電能中有百分之六十是用于電動機(jī)的。電動機(jī)與人的生活息息相關(guān),密不可分。電氣時代,電動機(jī)的調(diào)速控制一般采用模擬法、PID控制等,對電動機(jī)的簡單控制應(yīng)用比較多。簡單控制是指對電動機(jī)進(jìn)行啟動,制動,正反轉(zhuǎn)控制和順序控制。這類控制可經(jīng)過繼電器,光耦、可編程控制器和開關(guān)元件來實(shí)現(xiàn)。還有一類控制叫復(fù)雜控制,是指對電動機(jī)的轉(zhuǎn)速,轉(zhuǎn)角,轉(zhuǎn)矩,電壓,電流,功率等物理量進(jìn)行控制。本電機(jī)控制系統(tǒng)基于51內(nèi)核的單片機(jī)設(shè)計,采用LM298直流電機(jī)驅(qū)動器,利用PWM脈寬調(diào)制控制電機(jī),并經(jīng)過光耦管測速,經(jīng)單片機(jī)I/O口定時采樣,最后經(jīng)過閉環(huán)反饋控制系統(tǒng)實(shí)現(xiàn)電機(jī)轉(zhuǎn)速的精確控制,其中電機(jī)的設(shè)定速度由電位器經(jīng)A/D經(jīng)過輸入,系統(tǒng)的狀顯示與控制由上位機(jī)實(shí)現(xiàn)。經(jīng)過設(shè)計和調(diào)試,本控制系統(tǒng)能實(shí)現(xiàn)電機(jī)轉(zhuǎn)速較小誤差的控制,系統(tǒng)具有上位機(jī)顯示轉(zhuǎn)速和控制電機(jī)開啟、停止和正反轉(zhuǎn)等功能。具有一定的實(shí)際應(yīng)用意義。關(guān)鍵字:直流電機(jī)、反饋控制、51內(nèi)核、PWM脈寬調(diào)制、LM298系統(tǒng)原理及功能概述系統(tǒng)設(shè)計原理本電機(jī)控制系統(tǒng)采用基于51內(nèi)核的單片機(jī)設(shè)計,主要用于電機(jī)的測速與轉(zhuǎn)速控制,硬件方面設(shè)計有可調(diào)電源模塊,串口電路模塊、電機(jī)測速模塊、速度脈沖信號調(diào)理電路模塊、直流電機(jī)驅(qū)動模塊等電路;軟件方面采用基于C語言的編程語言,能實(shí)現(xiàn)系統(tǒng)與上位機(jī)的通信,并實(shí)時顯示電機(jī)的轉(zhuǎn)速和控制電機(jī)的運(yùn)行狀態(tài),如開啟、停止、正反轉(zhuǎn)等。單片機(jī)選用了51升級系列的STC12c5a60s2作為主控制器,該芯片完全兼容之前較低版本的所有51指令,同時它還自帶2路PWM控制器、2個定時器、2個串行口支持獨(dú)立的波特率發(fā)生器、3路可編程時鐘輸出、8路10位AD轉(zhuǎn)換器、一個SPI接口等,能非常方便的滿足本次電機(jī)控制的需求,其PWM端口用于輸出一定頻率且脈寬可調(diào)的PWM波用于控制電機(jī)轉(zhuǎn)速,單片機(jī)自帶的A/D端口作為設(shè)定速度的模擬信號輸入口,定時器用于串口通信和速度的定時采樣以及上位機(jī)的定時顯示等。系統(tǒng)的電機(jī)驅(qū)動單元選擇了LM298N大功率驅(qū)動芯片,再利用TLP521光耦合器和整流二極管設(shè)計的驅(qū)動電路能實(shí)現(xiàn)電器隔離與控制,能提高控制效率和精度極大減少了撓動干擾,而且能夠?qū)崿F(xiàn)電機(jī)的正反裝和剎車功能。系統(tǒng)測速模塊基于槽型光耦GK105設(shè)計,將電機(jī)的轉(zhuǎn)速轉(zhuǎn)換成不同頻率的脈沖信號,在經(jīng)過基于LM324的電壓比較器和74HC573鎖存器進(jìn)行信號波形的整形,最后經(jīng)過檢測單片機(jī)的I/O口的脈沖實(shí)現(xiàn)速度的測量。1.1直流電機(jī)基本工作原理圖1.1直流電機(jī)的基本結(jié)夠圖1.2直流電機(jī)調(diào)速原理直流電機(jī)轉(zhuǎn)速n的表示式為:(1-1)式中:U-電樞端電壓;I-電樞電流;R-電樞電路總電阻;Φ-每極磁通量;K-與電機(jī)結(jié)構(gòu)有關(guān)的常數(shù),因此直流電機(jī)轉(zhuǎn)速n的控制方法有三種,主要以調(diào)壓調(diào)速為主。本控制器主要經(jīng)過脈寬調(diào)制PWM來控制電動機(jī)電樞電壓,實(shí)現(xiàn)調(diào)速。調(diào)脈寬的方式有三種:定頻調(diào)寬、定寬調(diào)頻和調(diào)寬調(diào)頻。本系統(tǒng)采用了定頻調(diào)脈寬方式的PWM控制,因為采用這種方式,電動機(jī)在運(yùn)轉(zhuǎn)時比較穩(wěn)定;而且在采用單片機(jī)產(chǎn)生PWM脈沖的軟件實(shí)現(xiàn)上比較方便。對直流電機(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)速相同時,閉環(huán)系統(tǒng)的靜差率(額定負(fù)載時電機(jī)轉(zhuǎn)速降落與理想空載轉(zhuǎn)速之比)要小得多;當(dāng)要求的靜差率相同時,閉環(huán)調(diào)速系統(tǒng)的調(diào)速范圍能夠大大提高。直流電機(jī)的速度控制方案如圖1所示。轉(zhuǎn)速設(shè)定值轉(zhuǎn)速輸出偏差轉(zhuǎn)速設(shè)定值轉(zhuǎn)速輸出偏差調(diào)節(jié)器驅(qū)動電路直流電機(jī) + 調(diào)節(jié)器驅(qū)動電路直流電機(jī)-測速裝置測速裝置圖1直流電機(jī)速度閉環(huán)控制方案系統(tǒng)硬件設(shè)計1.系統(tǒng)總體設(shè)計框圖本系統(tǒng)采用STC12C5A60S作為控制核心,用上位機(jī)顯示設(shè)定轉(zhuǎn)速和測量轉(zhuǎn)速以及控制電機(jī)。采用LM298驅(qū)動芯片作為本系統(tǒng)的驅(qū)動電路和用槽型光耦GK105作為該系統(tǒng)的測量電路??驁D如2所示。STCSTC12C5A60S2時鐘電路LM298驅(qū)動電時鐘電路LM298驅(qū)動電路UART串口電路UART串口電路直流電機(jī)直流電機(jī)上位機(jī)顯示與控制光耦測速上位機(jī)顯示與控制光耦測速管速度模擬量輸入電路信號調(diào)理電路速度模擬量輸入電路信號調(diào)理電路電源模塊電源模塊圖2直流電機(jī)控制系統(tǒng)總體框圖2.模塊電路及功能介紹2.1單片機(jī)最小系統(tǒng)電路單片機(jī)主要擅長系統(tǒng)控制,而不適合做復(fù)雜的數(shù)據(jù)處理,在設(shè)計單片機(jī)最小系統(tǒng)時我們選用STC12C5A60S2位DIP-40封裝的單片機(jī)作為MCU。STC12C5A60S2芯片是有宏晶科技生產(chǎn)的單時鐘./機(jī)器周期(1T)的單片機(jī),具有64K的用戶程序存儲空間及1280字節(jié)的RAM,完全兼容之前較低版本的所有51指令,但速度快5—8倍,內(nèi)部集成有MAX801專用復(fù)位電路、同時它還自帶2路PWM控制器、2個定時器、2個串行口支持獨(dú)立的波特率發(fā)生器、3路可編程時鐘輸出、8路高速10位AD轉(zhuǎn)換器、一個SPI接口等,應(yīng)用于電機(jī)控制等強(qiáng)干擾場合。本系統(tǒng)的單片機(jī)最小系統(tǒng)由時鐘電路、復(fù)位電路、電源電路、外圍總線接口等部分組成。圖3為單片機(jī)最小系統(tǒng)結(jié)構(gòu)框圖。圖351最小系統(tǒng)電路2.1.1系統(tǒng)時鐘電路單片機(jī)內(nèi)部具有一個高增益反相放大器,用于構(gòu)成振蕩器。一般在引腳XTALl和XTAL2跨接石英晶體和兩個補(bǔ)償電容構(gòu)成自激振蕩器,系統(tǒng)時鐘電路結(jié)構(gòu)如圖6所示,能夠根據(jù)情況選擇6MHz、8MHz或12MHz等頻率的石英晶體,本系統(tǒng)采用12MHz的晶振。補(bǔ)償電容一般選擇20-30pF左右的瓷片電容。2.1.2復(fù)位電路單片機(jī)小系統(tǒng)采用上電自動復(fù)位和手動按鍵復(fù)位兩種方式實(shí)現(xiàn)系統(tǒng)的復(fù)位操作。上電復(fù)位要求接通電源后,自動實(shí)現(xiàn)復(fù)位操作。手動復(fù)位要求在電源接通的條件下,在單片機(jī)運(yùn)行期間,用按鈕開關(guān)操作使單片機(jī)復(fù)位。復(fù)位電路結(jié)構(gòu)如圖6所示。上電自動復(fù)位經(jīng)過電容充電來實(shí)現(xiàn)。手動按鍵復(fù)位是經(jīng)過按鍵將電阻與VCC接通來實(shí)現(xiàn)。2.2電機(jī)驅(qū)動模塊直流電機(jī)驅(qū)動采用常見的H橋電路,經(jīng)過控制信號選通對管與否實(shí)現(xiàn)電機(jī)的正反轉(zhuǎn),并改變所加電壓的占空比來改變電機(jī)轉(zhuǎn)速。如圖4所示,這里采用電機(jī)驅(qū)動專用芯片L298N,該芯片可驅(qū)動兩路5‐36V的直流電機(jī)或者一路四拍的步進(jìn)電機(jī)。同時在L298N與主控芯片間經(jīng)過四路光耦TLP521‐4隔離消除干擾信號。在STC12C5A60S2上配置好串口、PWM,實(shí)現(xiàn)串口接收的數(shù)據(jù)直接賦值給PWM定時器CCAP1L、CCAP1H。利用串口調(diào)試助手發(fā)送控制信息給STC12C5A60S2,同時輔助外界6V電源更改L298N的IN1和IN2共同完成L298N電機(jī)驅(qū)動模塊的調(diào)試。圖4LM298N電機(jī)驅(qū)動電路2.3直流電機(jī)測速電路2.3圖5槽型光耦GK105電路圖6電機(jī)轉(zhuǎn)速編碼裝置如圖5和圖6所示,光電對管采用槽型光耦GK105電路由一只特殊的發(fā)光二極管和光電三極管構(gòu)成,當(dāng)二極管發(fā)出的光打在光電三極管的基極B上時三極管CE導(dǎo)通。而正常情況下二極管的光不能到達(dá)光電管的基極上,故經(jīng)過裝在電機(jī)轉(zhuǎn)軸上得圓形編碼片即可實(shí)現(xiàn)對小車的測速。假設(shè)編碼片兒有n片個缺口,測得光電三極管的輸出脈沖頻率為f,則車速=f/n。由圖7可知,電機(jī)每轉(zhuǎn)一圈,槽型光耦產(chǎn)生4個脈沖,因此能夠利用槽型光耦傳感器信號得到電機(jī)的實(shí)際轉(zhuǎn)速。為盡可能縮短一次速度采樣的時間,則電機(jī)的實(shí)際轉(zhuǎn)速為:V=(N/4)*60;V:速度R/minN:每秒采樣的脈沖個數(shù)圖7電機(jī)轉(zhuǎn)1圈GK105光耦管信號2.3給電機(jī)加電讓其帶動編碼盤旋轉(zhuǎn),將光電對管靠近編碼盤,用示波器觀測輸出脈沖信號的有無與好壞。信號調(diào)理電路主要利用LM324運(yùn)算放大器設(shè)計的比較器,如圖8所示,調(diào)節(jié)比較器偏置電壓使脈沖最接近于方波且幅度大于3.3V。為了提高測速的精度,在信號后級添加比較器調(diào)理信號為標(biāo)準(zhǔn)的方波,調(diào)節(jié)比較器運(yùn)放的偏置電壓使方波信號最適合于測速。圖8基于LM324的信號調(diào)理電路2.4串口電路設(shè)計MAX232芯片是美信公司專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計的接口電路,使用+5V單電源供電。其內(nèi)部結(jié)構(gòu)基本可分三個部分:第一部分是電荷泵電路,由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12V和-12V兩個電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道,由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。其中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(+5V)。電路如圖9所示。 圖9串口電路圖2.5系統(tǒng)電源設(shè)計本系統(tǒng)要求有5V和6—7V的電源輸入,因此我們選用了LM317作為電源芯片。LM317作為輸出電壓可變的集成三端穩(wěn)壓塊,是一種使用方便、應(yīng)用廣泛的集成穩(wěn)壓塊。其應(yīng)用電路如圖10所示。圖11為電源濾波電路。圖103.3V穩(wěn)壓電路圖11濾波電路穩(wěn)壓電源的輸出電壓可用下式計算,Vo=1.25(1+R2/R1)。本系統(tǒng)中取R1為240n,R2取5K的可調(diào)電位器。經(jīng)過調(diào)節(jié)R2的阻值大小,進(jìn)而能夠改變輸出電壓的大小,實(shí)現(xiàn)電壓可調(diào),其可調(diào)范圍是Vo=1.25V—37V。在應(yīng)用中,為了電路的穩(wěn)定工作,在一般情況下,還需要接二極管作為保護(hù)電路,防止電路中的電容放電時的高壓把317燒壞。2.6電機(jī)設(shè)定速度輸入電路本系統(tǒng)采用了簡單的電位器,經(jīng)過電位器將5V電源信號分壓在經(jīng)過單片機(jī)A/D端口輸入到CPU處理,實(shí)現(xiàn)電機(jī)速度手動的可調(diào),其電路如圖12所示。圖12電位器速度設(shè)置電路系統(tǒng)軟件設(shè)計本程序主要分為6大塊,主程序、A/D轉(zhuǎn)換處理程序、PWM輸出程序、串口顯示與電機(jī)狀態(tài)控制程序、定時器0的中斷服務(wù)程序,串口中斷服務(wù)程序。主程序主要做了系統(tǒng)初始化,定時器0的初始化和主循環(huán)等。配置STC12C5A60S2定時器0為定時器方式2、50ms計數(shù)器中斷,累計20次定時器0中斷為1秒,此時TL1即光電對管輸入的脈沖頻率,同時在此一秒內(nèi)觸發(fā)AD采集一次電源電壓Voltage送入內(nèi)存并經(jīng)過運(yùn)算轉(zhuǎn)換成設(shè)定的速度值。PC終端的顯示也是沒隔一秒刷新一次。配置STC12C5A60S2串行口1為方式2、獨(dú)立波特率發(fā)生器9600、允許接收中斷。當(dāng)串口1接收到PC機(jī)數(shù)據(jù)轉(zhuǎn)入中斷處理程序,檢測接收到的數(shù)據(jù)以此來區(qū)分?jǐn)?shù)據(jù)是屬于哪種控制信號。配置STC12C5A60S2脈寬調(diào)制PWM為8位、無中斷。主程序中循環(huán)執(zhí)行Pwm()函數(shù)實(shí)時更改PWM定時器CCAP1L、CCAP1H的值,實(shí)現(xiàn)對電機(jī)轉(zhuǎn)速的控制。1.主程序主程序主要功能為系統(tǒng)初始化,定時器0的初始化和主循環(huán)等。流程圖如圖13所示開始開始系統(tǒng)初始化速度脈沖信號輸入I/O口掃描串口發(fā)送數(shù)據(jù)1S計時標(biāo)志速度及A/D值采樣PWM輸出結(jié)束否是圖13系統(tǒng)主程序流程圖2.串口中斷發(fā)送程序本系統(tǒng)的串口通信指的是單片機(jī)與上位機(jī)(PC機(jī))之間的串口通信,該通信主要用于測速模塊的調(diào)試以及在測量轉(zhuǎn)速時,單片機(jī)能從上位機(jī)(PC機(jī))接收數(shù)據(jù)或者能將數(shù)據(jù)發(fā)回給上位機(jī)(PC機(jī)),以便觀察電機(jī)轉(zhuǎn)動情況,或者獲得我們所需要的數(shù)據(jù)。如圖14所示,在本設(shè)計中,采用的是STC12C5A60S2芯片的串口UART0來與PC機(jī)進(jìn)行串口通信。在串口UART0的配置中,定時/計數(shù)采用方式2是將兩個8位計數(shù)器TH1和TL1分成獨(dú)立的兩個部分,組成一個8位可自動再裝入的定時器/計數(shù)器,由TL1作為8位計數(shù)器,TH1作為計數(shù)初值寄存器,設(shè)置初值時同時送TH1和TL1,當(dāng)TL1計數(shù)滿回0產(chǎn)生溢出,不但置位TF1,而且控制TH1中的初值重新裝入TL1,繼續(xù)下一輪計數(shù),此信號送串行通信系統(tǒng),以設(shè)置串行通信波特率,波特率設(shè)置公式如式所示:波特率=2SMOD*(溢出率)/32。否否發(fā)送第二字節(jié)數(shù)據(jù)1字節(jié)數(shù)據(jù)發(fā)送完畢?進(jìn)入發(fā)送中斷發(fā)送1byte數(shù)據(jù)1字節(jié)數(shù)據(jù)發(fā)送完畢?是否中斷返回是圖14串口發(fā)送程序流程圖3.串口中斷接收程序上位機(jī)控制單元解擴(kuò)出1bit數(shù)據(jù)后,產(chǎn)生一次中斷。接收時首先采用16bits接收窗口、1bit滑動方式來接收通信的同步幀頭0x09、0xAF,幀頭接收成功后,后續(xù)數(shù)據(jù)按每8bits一個字節(jié)的方式進(jìn)行截取,得到傳送的有效數(shù)據(jù),同時將得到的有效數(shù)據(jù)存儲在緩沖單元中;接收過程中,按有關(guān)的通信協(xié)議進(jìn)行地址判別、長度接收、校驗計算。地址相同的模塊對符合通信協(xié)議的數(shù)據(jù)進(jìn)行應(yīng)答,轉(zhuǎn)入發(fā)送態(tài)。程序流程圖如圖15所示。否否重組數(shù)據(jù)進(jìn)入接收中斷清零接收標(biāo)志1字節(jié)數(shù)據(jù)接收完畢?是中斷返回圖15串口接收程序流程圖4.A/D轉(zhuǎn)換程序A/D轉(zhuǎn)換程序主要用于電機(jī)速度的輸入模擬信號的采集與轉(zhuǎn)換。程序流程圖如圖16所示。啟動指定通道啟動指定通道延時轉(zhuǎn)換結(jié)束?返回轉(zhuǎn)換結(jié)果否是圖165.PWM輸出程序PWM控制——脈沖寬度調(diào)制技術(shù),即經(jīng)過一系列脈沖的寬度調(diào)制來等效地獲得所需的波形(含形狀和幅值),程序主要用于控制電機(jī)轉(zhuǎn)速,她經(jīng)過主程序的反饋算法計算出來,然后調(diào)整脈沖寬度來控制電機(jī)。程序流程圖如圖17所示。設(shè)置寄存器設(shè)置寄存器CCON=0;設(shè)置PWM模式寄存器CMOD=0x00,及PWM頻率為系統(tǒng)時鐘/12設(shè)置允許PCA計數(shù)器計數(shù)標(biāo)志位CR設(shè)置寄存器PCA_PWM0=0x00;CCAPM0=0x42;設(shè)置寄存器CCAP0H,CCAP0L,調(diào)節(jié)脈沖寬度圖17PWM輸出程序流程圖6.定時器0中斷服務(wù)程序定時器0中斷程序主要用于1秒定時、轉(zhuǎn)速的計算、A/D值采集以及上位機(jī)顯示刷新。程序流程圖如圖18所示。入口入口計算轉(zhuǎn)速,讀取A/D,顯示刷新1秒計時標(biāo)志?返回否是計時賦初值圖18定時器0中斷服務(wù)程序流程圖系統(tǒng)調(diào)試及性能分析1.系統(tǒng)硬件調(diào)試1.1如圖19為系統(tǒng)測速電路的采樣波形圖19經(jīng)整形后的速度脈沖波形1.2串口收發(fā)數(shù)據(jù)調(diào)試串口電路是連接PC機(jī)與通信模塊的橋梁,可借助串口調(diào)試助手對所設(shè)計的串口通信電路和通信模塊進(jìn)行測試。如圖5.1所示,經(jīng)過串口調(diào)試助手,向端口分別發(fā)送數(shù)據(jù)0x01、0x02、0x03、0x04、0x05數(shù)據(jù)經(jīng)串口電路被單片機(jī)接收,將數(shù)據(jù)進(jìn)行存儲判斷,決定是開啟顯示和電機(jī)還是正反轉(zhuǎn)或是停止,同時將所出狀態(tài)及電機(jī)轉(zhuǎn)速發(fā)送回來,在串口調(diào)試助手的接收窗口上能夠看到接收到的數(shù)據(jù)。串口調(diào)試如圖20所示。圖20電機(jī)轉(zhuǎn)速及對應(yīng)的電壓顯示數(shù)據(jù)1.3實(shí)物展示圖22系統(tǒng)實(shí)物圖2.系統(tǒng)測試數(shù)據(jù)處理2.1利用matlab對電機(jī)兩端電壓和轉(zhuǎn)速數(shù)據(jù)進(jìn)行曲線擬合實(shí)型電壓數(shù)據(jù):votlage_V=[1.51.61.71.81.922.12.22.32.42.52.62.72.82.933.13.23.33.413.493.613.713.83.944.14.214.34.44.514.64.74.84.95];整型電壓數(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];測得速度數(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,128,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);gridontitle('電壓V-----轉(zhuǎn)速r/s')figure(2)plot(votlage_D,speed,'or',votlage_D,speed_poly2);gridontitle('電壓D-----轉(zhuǎn)速r/s')擬合曲線如圖21所示:圖21電壓—速度曲線如圖21所示,電機(jī)電壓與轉(zhuǎn)速基本成正比關(guān)系,因此能夠按最小二乘法進(jì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.67373 b=-28.8715);上面兩個關(guān)系式將作為電機(jī)控制的基本數(shù)學(xué)模型,有軟件算法實(shí)現(xiàn)電機(jī)輸出轉(zhuǎn)速對輸入電壓的跟蹤。2.2不同轉(zhuǎn)速設(shè)定值下電機(jī)對應(yīng)的輸出轉(zhuǎn)速及誤差如表1輸入轉(zhuǎn)速輸出轉(zhuǎn)速絕對誤差輸入轉(zhuǎn)速輸出轉(zhuǎn)速絕對誤差1213-17680-41719-28078-22219383812272528789-2333308993-4424029397-445423969424849-1999905355-2101102-15859-1103104-162620106105165632109112-36971-211111107376-31131121116119-312512501191172128130-2122126-41331312表1電機(jī)轉(zhuǎn)速誤差表2.3電機(jī)輸出轉(zhuǎn)速誤差曲線圖23電機(jī)輸出轉(zhuǎn)速相對電壓絕對誤差曲線圖24電機(jī)輸出轉(zhuǎn)速相對電壓的相對誤差曲線2.4系統(tǒng)性能分析對上面圖23、圖24兩個誤差曲線分析能夠得出以下結(jié)論,一方面,當(dāng)電機(jī)兩端的電壓在1.5V~4.8V范圍了變化時,電機(jī)的轉(zhuǎn)速變化范圍在12R/S~134R/S(即720R/mint~8040R/mint)之間變化,當(dāng)電機(jī)兩端的電壓在1.5V以下時,電機(jī)無法驅(qū)動,為電機(jī)的死區(qū)電壓,電機(jī)轉(zhuǎn)速變化基本符合實(shí)際情況。另一方面,由于本系統(tǒng)自身設(shè)計本省存在著多種缺陷,因此測式結(jié)果產(chǎn)生了一定的誤差,電機(jī)轉(zhuǎn)速的絕對誤差基本在6V以下,其相對誤差根據(jù)兩端電壓范圍的不同呈現(xiàn)不同的趨勢,當(dāng)電壓在1.5V~1.8V左右,即電機(jī)轉(zhuǎn)速≤50R/S時,電機(jī)輸出轉(zhuǎn)速的相對誤差≤16%,當(dāng)電機(jī)兩端電壓在1.8V~4.8V左右,即電機(jī)轉(zhuǎn)速≥60R/S時,電機(jī)輸出轉(zhuǎn)速的相對誤差≤8%。因此系統(tǒng)綜合性能基本能滿足設(shè)計要求。設(shè)計心得課程設(shè)計是培養(yǎng)我們綜合運(yùn)用所學(xué)知識發(fā)現(xiàn)、提出、分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對我們實(shí)際工作能力的具體訓(xùn)練和考察過程。本次的課程設(shè)計是基于運(yùn)用所學(xué)單片機(jī)技術(shù)、傳感檢測技術(shù)、電機(jī)驅(qū)動技術(shù)等方面的知識,設(shè)計電機(jī)調(diào)速與控制系統(tǒng),很好的結(jié)合了當(dāng)今工業(yè)直流電機(jī)方面的實(shí)際應(yīng)用,相對于前幾學(xué)期的課程設(shè)計,這次的題目綜合性更高、設(shè)計難度更大、實(shí)用性更強(qiáng),是對我們所學(xué)專業(yè)知識如《單片機(jī)原理及接口技術(shù)》、《傳感器與檢測》、《C語言程序設(shè)計》、《直流電機(jī)驅(qū)動原理》等課程知識的綜合檢驗與應(yīng)用,很好的鍛煉了我們從單一模塊到系統(tǒng)設(shè)計與調(diào)試能力的轉(zhuǎn)變與提高,同時也讓增強(qiáng)了我們直流電機(jī)控制原理與應(yīng)用有了更深的認(rèn)識和體會。回顧起此次課程設(shè)計,至今我仍感慨頗多,從選題到定稿,從理論到實(shí)踐,我們小組都付出了很多努力,也收獲了很多,在此次設(shè)計中不但能夠鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。經(jīng)過這次課程設(shè)計也使我懂得了理論與實(shí)際相結(jié)合的重要性,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能做出實(shí)際的有用的東西,從而提高自己的實(shí)際動手能力和獨(dú)立思考的能力。經(jīng)過這次課程設(shè)計還鍛煉了我們的團(tuán)隊合作精神,只有大家在分工明確的基礎(chǔ)上齊心協(xié)力,才能使團(tuán)隊獲得成就。在這次設(shè)計的過程中我們也遇到了很多困難,特別是我們小組有兩個人都要考研,時間特別緊迫,還有就是這次在電機(jī)的控制其設(shè)計和測速模塊的設(shè)計上都遇到了很大的問題,可是我們在老師的指導(dǎo)下,我們小組積極討論,分工合作,合理安排時間,經(jīng)過查閱資料學(xué)習(xí)相關(guān)的知識,逐步突破了每一個技術(shù)難關(guān),最后比較好的獨(dú)立的完成了這次設(shè)計。經(jīng)過這次課程設(shè)計,我更發(fā)現(xiàn)了自己的很多不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,而且缺少自主分析問題的能力,碰到問題后有一種和逃避依賴心理。也讓我明白做電子類設(shè)計每一步都要細(xì)心嚴(yán)謹(jǐn),不能馬虎。參考文獻(xiàn)1.李朝青編.《單片機(jī)原理及接口技術(shù)》(簡明修訂版).北京航空航天大學(xué)出版社,19982.胡向東編《傳感技術(shù)》.重慶大學(xué)出版社,第1版。3.譚浩強(qiáng)《C語言程序設(shè)計》.北京:清華大學(xué)出版社,。8.后閑哲也編《單片機(jī)C程序設(shè)計與實(shí)踐叢書》北京航空航天大學(xué)出版社。附錄程序:#include<stdio.h>#include<intrins.H>#include"STC_NEW_8051.H"typedefunsignedcharINT8U;typedefunsignedintINT16U;typedefunsignedintINT8;//以下選擇ADC轉(zhuǎn)換速率,只能選擇其中一種//SPEED1SPEED0A/D轉(zhuǎn)換所需時間#defineAD_SPEED0x60//0110,00001170個時鐘周期轉(zhuǎn)換一次,//CPU工作頻率21MHz時A/D轉(zhuǎn)換速度約300KHz//#defineAD_SPEED0x40//0100,000010140個時鐘周期轉(zhuǎn)換一次//#defineAD_SPEED0x20//0010,000001280個時鐘周期轉(zhuǎn)換一次//#defineAD_SPEED0x00//0000,000000420個時鐘周期轉(zhuǎn)換一次//#defineucharunsignedchar//#defineuintunsignedint#define P2M00x00#defineP2M10x00#define P0M00x00#defineP0M10x00sbitcaiji=P2^2;sbitled0=P2^0;sbitled1=P2^1;INT8flag_uart=0,flag_on=0,flag_x=0,flag_xianshi=0,flag_ad=0,n1=0;INT8ad_vall=0,ad_val=0,moto_speed=0,shudu=0,shisu=0;INT8Urec,cont=0,cont2=0; //串口、計數(shù)器變量floatad_fl,a1=0,a2=0,b1=0,b2=0;INT8Uget_AD_result(INT8Uchannel); //AD轉(zhuǎn)換函數(shù)聲明voiddelay0(INT8Udelay_time);//延時函數(shù)聲明voiddelay(charxms);voiddelay0(INT8Udelay_time);//延時函數(shù)voidtimer_init() //定時器計數(shù)器初始化函數(shù){TMOD=0x21;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=0xfd;TL1=0xfd;TR1=1;ET0=1;SM0=0;SM1=1;REN=1;EA=1;ES=1;}voidad_init() //單片機(jī)AD初始化函數(shù){P1ASF=0x01;//1111,1111,將P1置成模ADAUXR1&=~0x04;//0000,0100,令A(yù)DRJ=0ADC_CONTR|=0x80;//1000,0000打開A/D轉(zhuǎn)換電源}voidpwm_init() //單片機(jī)PWM相關(guān)寄存器初始化函數(shù){CCON=0;CL=0; CH=0; CMOD=0x00;PCA_PWM0=0x00;CCAPM0=0x42;EPCnL=1,CCAPnL=FFH時PWM固定輸出低*/; PCA_PWM1=0x00; CCAPM1=0x42; CR=1;}voidPWM(INT8a){INT8xx;xx=256-a; CCAP0H=CCAP0L=0+xx;//P13CCAP1H=CCAP1L=256-xx-5; //P14}INT8ceshu() //速度脈沖檢測函數(shù){if(caiji==0) {n1=1;}if((caiji==1)&&(n1==1)) //脈沖上升沿檢測 {shudu++;n1=0;} returnshudu;}voidUART(INT8a,INT8b,floatc) //串口函數(shù){if(flag_uart==1) //串口顯示標(biāo)志判斷{flag_uart=0;ES=0;TI=1; switch(flag_on) //顯示模式及電機(jī)狀態(tài)控制命令判斷 { case0:puts("Turnon\n"); led0=0;led1=1;TR0=1;_nop_();_nop_();_nop_();_nop_();break;case1: _nop_();_nop_(); led0=0;led1=0;_nop_();_nop_();led0=1;led1=0; break; case2:_nop_();_nop_(); led0=0;led1=0;_nop_();_nop_();led0=0;led1=1; break; case3:printf("Turnoff\n"); led0=0;led1=0;TR0=0; break; case4: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_speedis%d,set_speedis%d,voltageis%f\n",a,b,c); while(!TI); TI=0;ES=1; }}voidmain() //主函數(shù)部分{INT8shedin=180; INT8shesu1=0,uk1,uk=180,k1=0,uk2=0; ad_init(); //單片機(jī)AD初始化timer_init(); //單片機(jī)定時器串口等寄存

溫馨提示

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

最新文檔

評論

0/150

提交評論