基于Matlab的隨動(dòng)系統(tǒng)半實(shí)物仿真平臺(tái)設(shè)計(jì)_第1頁(yè)
基于Matlab的隨動(dòng)系統(tǒng)半實(shí)物仿真平臺(tái)設(shè)計(jì)_第2頁(yè)
基于Matlab的隨動(dòng)系統(tǒng)半實(shí)物仿真平臺(tái)設(shè)計(jì)_第3頁(yè)
基于Matlab的隨動(dòng)系統(tǒng)半實(shí)物仿真平臺(tái)設(shè)計(jì)_第4頁(yè)
基于Matlab的隨動(dòng)系統(tǒng)半實(shí)物仿真平臺(tái)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(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、第27卷第6期2006年12月Dec.2006文章編號(hào):167226987(20060620540203基于Matlab 的隨動(dòng)系統(tǒng)半實(shí)物仿真平臺(tái)設(shè)計(jì)隋樹(shù)林,于鐳,邵巍(青島科技大學(xué)自動(dòng)化與電子工程學(xué)院,山東青島,266042摘要:設(shè)計(jì)了一種基于Matlab 與DSP 的隨動(dòng)系統(tǒng)仿真平臺(tái)。系統(tǒng)利用Matlab 對(duì)DSP 端口進(jìn)行訪問(wèn),并對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行分析、處理和顯示。軟件部分采用Matlab 進(jìn)行程序編寫(xiě),發(fā)揮了Matlab 強(qiáng)大的數(shù)據(jù)處理功能,克服了VC 與Matlab 混合編程工作量大,結(jié)構(gòu)復(fù)雜的缺點(diǎn),又彌補(bǔ)了單獨(dú)用VC 編程處理數(shù)據(jù)能力弱的不足,較好的實(shí)現(xiàn)了對(duì)隨動(dòng)系統(tǒng)的半實(shí)物仿真和校驗(yàn)。

2、關(guān)鍵詞:Matlab ;DSP ;隨動(dòng)系統(tǒng);半實(shí)物仿真中圖分類號(hào):TP 211文獻(xiàn)標(biāo)識(shí)碼:ADesign of T racking System H ardw are 2in 2loopSimulation Platform B ased on MatlabSUI Shu 2lin ,YU Lei ,SHAO Wei(College of Automation and Electronic Engineering ,Qingdao University ofScience and Technology ,Qingdao 266042,China Abstract :The design of

3、a t racking system simulation platform based on Matlab and DSP is p resented in t his paper.In t he system ,Matlab is used to access DSP port ,analyze and p rocess t he real 2time data as well as show t he result s.In order to overcome t he shortcoming of complex st ruct ure and make up t he weaknes

4、s on processing data using VC language only ,t he software of t he system is programmed wit h Matlab t hat has pow 2erf ul f unction to process data.This system has been tested using hardware 2in 2loop sim 2ulation and a good result has been achieved.K ey w ords :Matlab ;DSP ;tracking system ;hardwa

5、re 2in 2loopsimulation 半實(shí)物仿真是計(jì)算機(jī)在進(jìn)行仿真時(shí)引入部分硬件實(shí)物進(jìn)行軟硬結(jié)合的仿真,是對(duì)各種復(fù)雜控制系統(tǒng)進(jìn)行初步測(cè)試的常用方法。本工作將Matlab 引入到隨動(dòng)系統(tǒng)仿真回路中進(jìn)行半實(shí)物仿真,并對(duì)控制參數(shù)進(jìn)行在線調(diào)整,改善系統(tǒng)的性能,為系統(tǒng)的開(kāi)發(fā)和校驗(yàn)提供了一個(gè)良好的平臺(tái)。1系統(tǒng)結(jié)構(gòu)基于Matlab 串口操作的實(shí)時(shí)PID 參數(shù)調(diào)節(jié)隨動(dòng)系統(tǒng)的結(jié)構(gòu)見(jiàn)圖1。圖1系統(tǒng)結(jié)構(gòu)圖Fig.1System structure操作指令、PID 參數(shù)、采樣頻率、點(diǎn)數(shù)以及運(yùn)動(dòng)模式等參數(shù)由Matlab 的交互式界面通過(guò)串口傳入DSP ,DSP 結(jié)合主動(dòng)、從動(dòng)電機(jī)經(jīng)過(guò)位置編收稿日期:200521

6、2202作者簡(jiǎn)介:隋樹(shù)林(1958,男,教授.第6期隋樹(shù)林等:基于Matlab的隨動(dòng)系統(tǒng)半實(shí)物仿真平臺(tái)設(shè)計(jì)碼器傳來(lái)的數(shù)據(jù)進(jìn)行處理計(jì)算,得到PWM模塊的輸出信號(hào),再經(jīng)驅(qū)動(dòng)電路放大后,驅(qū)動(dòng)電機(jī)運(yùn)動(dòng),在進(jìn)行閉環(huán)控制的同時(shí),Matalb也將位置信息實(shí)時(shí)的顯示出來(lái)。2Matlab編程2.1界面設(shè)計(jì)與編程Matlab的強(qiáng)項(xiàng)是矩陣和數(shù)值的計(jì)算,且提供了大量的實(shí)用工具箱,界面設(shè)計(jì)并不是它的強(qiáng)項(xiàng)。不過(guò)隨著Matlab版本的提高,對(duì)界面設(shè)計(jì)的支持也越來(lái)越好。最新的Matlab7.0的GU ID E新增加了對(duì)用戶界面面板和ActiveX控件的支持,其界面美化程度完全可以和VB相媲美1,2。可用兩種簡(jiǎn)單的方法進(jìn)行控件

7、回調(diào)m函數(shù)的創(chuàng)建。一種是在GU I的工具菜單里的GU I2Options選項(xiàng)里選擇Generate FIG2file and M file單選項(xiàng),然后在生成的m文件對(duì)應(yīng)的控件回調(diào)函數(shù)里編寫(xiě)響應(yīng)事件的程序;另一種是在該控件的call2 back屬性里設(shè)置callback函數(shù)名,然后在Matlab 工作路徑里建立同名的m函數(shù)。也可以通過(guò)編寫(xiě)M EX程序,對(duì)硬件進(jìn)行相應(yīng)的操作。若用Simulink進(jìn)行軟件設(shè)計(jì)則需要建立相應(yīng)的s函數(shù)3。2.2與DSP通信用作主機(jī)和從機(jī)的兩臺(tái)目標(biāo)機(jī)可以安裝串口卡或者以太網(wǎng)卡,通過(guò)RS232或TCP/IP協(xié)議進(jìn)行通信,也可通過(guò)U SB進(jìn)行通信4,特殊情況下也可以通過(guò)并口連

8、接5。本系統(tǒng)采用了串口通信,Matlab支持面向?qū)ο蠹夹g(shù),用一個(gè)對(duì)象將計(jì)算機(jī)串口封裝起來(lái),只要?jiǎng)?chuàng)建串口對(duì)象,對(duì)串口對(duì)象操作就是對(duì)串口操作。以下是“開(kāi)始”按鈕回調(diào)程序?qū)Υ谶M(jìn)行的操作:f unction buttonstartfcn(global b p i d p2i2d2time2count2s data; %聲明用到的全局變量p2=round(get(findobj(0,tag,sliderp,Value;%得到控制P參數(shù)的滑動(dòng)鍵的值%得到其他參數(shù)的值s=serial(COM1;%產(chǎn)生串口對(duì)象s,并且與串口COM1關(guān)聯(lián)set(s,BaudRate,19200;%設(shè)置s的波特率為19200s

9、et(findobj(0,tag,buttonstart,ena2 ble,off;%使開(kāi)始按鈕無(wú)效,以防兩次打開(kāi)該串口set(s,Outp utBufferSize,4096;%設(shè)置發(fā)送緩沖區(qū)的大小set(s,Inp utBufferSize,20000;%設(shè)置接受緩沖區(qū)的大小set(s,BytesAvailableFcnMode,byte;s.BytesAvailableFcnCount=16;s.BytesAvailableFcn=pidcallback;%接收16個(gè)字節(jié)響應(yīng)接收回調(diào)函數(shù)pidcallback s.RecordName=myrecord.t xt;s.RecordMode

10、=index;s.RecordDetail=verbo se;%生成接收數(shù)據(jù)的文本記錄文件s.Timeout=10;%設(shè)置10秒內(nèi)沒(méi)有接收滿數(shù)據(jù),則進(jìn)行超時(shí)處理fopen(s;%連接s和DSPfwrite(s,8p2a p2b i2a i2b d2a d2b time2,uint8;%向DSP傳輸控制指令和參數(shù)end回調(diào)函數(shù)pidcallback(里主要是調(diào)用f read (函數(shù)讀取接收緩沖區(qū)里由DSP通過(guò)串口發(fā)過(guò)來(lái)的數(shù)據(jù),并進(jìn)行實(shí)時(shí)畫(huà)圖操作。2.3曲線實(shí)時(shí)顯示Matlab沒(méi)有提供現(xiàn)成的函數(shù)來(lái)繪制實(shí)時(shí)的圖形,但是可以用Matlab中的drawnow函數(shù)來(lái)實(shí)現(xiàn)實(shí)時(shí)可視化過(guò)程。它可將用戶最后的設(shè)置

11、補(bǔ)充到圖形窗口中,用drawnow命令將最新的設(shè)置寫(xiě)入圖形句柄所對(duì)應(yīng)的圖形中,這樣,循環(huán)修改坐標(biāo)的值就可以得到實(shí)時(shí)的動(dòng)態(tài)圖像。2.4智能化過(guò)程的實(shí)現(xiàn)對(duì)于采集到的數(shù)據(jù),可以利用Matlab強(qiáng)大的數(shù)據(jù)處理功能進(jìn)行模型建立,參數(shù)優(yōu)化,智能控制等操作627。如果只利用Matlab本身函數(shù)庫(kù)中所帶的或自我編寫(xiě)的m文件、s文件進(jìn)行處理運(yùn)算,速度較慢,很可能滿足不了實(shí)時(shí)處理的要求,將m 文件或s文件編譯為帶有dll擴(kuò)展名的M EX文145青島科技大學(xué)學(xué)報(bào)第27卷件后,可以大大提高程序的運(yùn)行速度。3DSP 編程該系統(tǒng)采用的DSP 芯片是Motorola 公司的56807型號(hào)8。它是Motorola 公司的16

12、位DSP ,運(yùn)行速度可以達(dá)到每秒4×107條指令,它的PWM 模塊可以方便的對(duì)輸出電壓的脈寬進(jìn)行改變,經(jīng)放大后可以對(duì)直流伺服電機(jī)的轉(zhuǎn)速進(jìn)行調(diào)節(jié)。圖2是DSP 程序的流程圖。 圖2DSP 程序流程圖Fig.2The flow chart of DSPDSP 用read 函數(shù)從上位機(jī)讀取8個(gè)字節(jié)的指令到數(shù)組RX_DA TA ,分別用來(lái)接收開(kāi)始結(jié)束命令,PID 參數(shù),采樣周期,采樣點(diǎn)數(shù)等。read (SCI0,&RX_DA TA ,sizeof (RX_DA 2TA ;DSP 每次向串口發(fā)送16個(gè)字節(jié),用來(lái)傳輸兩個(gè)電機(jī)的位置參數(shù):X_DA TA0=P_L SB &0x00F

13、F ;TX_DA TA 1=(P _L SB >>8&0x00FF ;write (SCI0,&TX_DA TA ,sizeof (TX_DA 2TA ;4程序運(yùn)行結(jié)果圖3為采用PID 控制的電機(jī)運(yùn)動(dòng)的測(cè)量實(shí)例。根據(jù)繪制的采樣圖,可以方便觀察和記錄主動(dòng)和隨動(dòng)電機(jī)位置的變化,調(diào)節(jié)PID 參數(shù)。這個(gè)系統(tǒng)只是一個(gè)基于Matlab 的比較簡(jiǎn)單的串口實(shí)時(shí)操作實(shí)例,在此基礎(chǔ)上做進(jìn)一步的工作,可以通過(guò)分析階躍響應(yīng)函數(shù)曲線來(lái)確定各項(xiàng)性能,并與期望性能指標(biāo)比較,得出理想?yún)?shù),如能進(jìn)一步結(jié)合Simulink 或SISO 設(shè)計(jì)工具,則系統(tǒng)的智能化程度將大大提高。圖3程序運(yùn)行結(jié)果Fig.3

14、The result of t he program running5結(jié)語(yǔ)該系統(tǒng)充分利用了Matlab 與硬件連接的能力,結(jié)合Matlab 自身的優(yōu)勢(shì)搭建智能化平臺(tái),具有擴(kuò)展程度高,應(yīng)用靈活性強(qiáng)的特點(diǎn),對(duì)于隨動(dòng)系統(tǒng)的系統(tǒng)設(shè)計(jì),參數(shù)調(diào)節(jié)等都具有一定的實(shí)際意義。參考文獻(xiàn)1吳越華,馮昊.基于Matlab 圖形用戶界面的對(duì)話框設(shè)計(jì)的應(yīng)用J .福建電腦,2003(9:502542楊東勇,張容,陳敏智.圖形交互式離散控制系統(tǒng)教學(xué)環(huán)境的開(kāi)發(fā)J .浙江工業(yè)大學(xué)學(xué)報(bào),2000,28(2:12521293王萬(wàn)里,張文杰,王燕.在Windows 2000平臺(tái)下實(shí)現(xiàn)Matlab對(duì)硬件的訪問(wèn)J .計(jì)算機(jī)仿真,2004(5:23522384夏文芳,吳鴻修,李享元.基于U SB 的實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)及其在Matlab 中的應(yīng)用J .電子技術(shù)應(yīng)用,20

溫馨提示

  • 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)論