新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于MATLAB的控制系統(tǒng)實時仿真平臺設計

基于MATLAB的控制系統(tǒng)實時仿真平臺設計

——
作者:張曉東 王海泉 王東云 時間:2013-06-26 來源:電子產(chǎn)品世界 收藏

  控制程序的構(gòu)建

本文引用地址:http://butianyuan.cn/article/146822.htm

  利用上文封裝的D/A模塊和提供的板A/D驅(qū)動模塊,再加上針對不同對象設計并完成全數(shù)字仿真驗證的控制算法模塊,可進行控制程序模塊的構(gòu)建。

  其中DSP的AD轉(zhuǎn)換模塊包括軟件啟動方式、EVAEVB以及外部引腳方式等多種啟動方式,而利用事件管理器(EV)中的通用定時器GP啟動ADC無疑是最直接的,借助通用定時器,利用其下溢、周期匹配和比較匹配等多種模式可產(chǎn)生觸發(fā)ADC信號,只需在提供的C281x PWM模塊的ADC Start Event和Waveform period中做出相應設置即可,如圖4所示。需要注意的是,DSP的AD模塊完成輸入信號的模數(shù)轉(zhuǎn)換之后,會將結(jié)果存放于DSP處理器的結(jié)果寄存器中[6]。這就需要由CPU定時讀取結(jié)果寄存器,此間隔時間可在如圖5所示的ADC模塊參數(shù)設置的Sample time一項中予以指定。

  工控機的自動代碼生成實現(xiàn)

  xPC目標

  xPC Target是MathWorks公司提供和發(fā)行的一個基于RTW體系框架的附加產(chǎn)品,可將Intel 80x86/Pentium計算機或PC兼容機轉(zhuǎn)變?yōu)橐粋€實時系統(tǒng),該目標系統(tǒng)與/Simulnk無縫集成,支持大多數(shù)Simulink模塊的實時代碼生成,同樣提供了包括研華在內(nèi)的眾多I/O板卡的驅(qū)動模塊,在該目標環(huán)境下可對目標機運行程序進行在線調(diào)參,實現(xiàn)數(shù)據(jù)實時顯示和記錄,是用于產(chǎn)品原型開發(fā)、測試和配置實時系統(tǒng)的PC機解決途徑[7]

  針對xPC目標的工控機代碼生成

  本系統(tǒng)中的被控對象仿真機使用研華工控機,并通過ISA總線的、包含有16路A/D通道和2路D/A通道的研華PCL-812PG數(shù)據(jù)采集卡與DSP控制器的A/D和D/A連接實現(xiàn)數(shù)據(jù)傳輸。

  (1)要實現(xiàn)工控機的自動代碼生成,首先應在工控機中啟動xPC Target目標環(huán)境:MALTAB軟件為xPC目標環(huán)境提供了包括需要外加啟動盤的BootfloppyDosloader方式、CDBoot方式和通過網(wǎng)絡連接啟動的NetworkBoot方式等在內(nèi)的多種啟動方式。本系統(tǒng)以U盤為載體、采用Dosloader方式啟動目標環(huán)境,這就要先利用USBoot軟件將U盤制作為DOS啟動盤,再借助xPC目標瀏覽器(xPC Target Explorer)配置目標機相關(guān)參數(shù)(啟動方式、通信模式等)并將目標環(huán)境設置的相關(guān)文件拷貝到做好的DOS啟動盤上從而完成xPC Target目標啟動盤的制作。

  (2)工控機應用程序開發(fā)

  MATLAB為xPC目標系統(tǒng)提供了包括本系統(tǒng)所使用的研華PCL-812PG數(shù)據(jù)采集卡在內(nèi)的A/D、D/A、D/I、D/O、RS-232、ARINC429等模塊的Simulink驅(qū)動程序模塊。利用提供的A/D與D/A驅(qū)動模塊,結(jié)合被控對象模型即可構(gòu)建如圖6的被控對象仿真機應用程序模塊并進行代碼的生成和下載。同時,還可以通過xPC目標瀏覽器與目標機進行連接,對仿真時的數(shù)據(jù)進行記錄和導出。

  實驗驗證

  為了對所構(gòu)建的硬件在回路仿真系統(tǒng)性能進行驗證,本文以直流電機為對象,在利用系統(tǒng)辨識方法建立如式1的速度離散化模型(以電壓為輸入、以測速發(fā)電機轉(zhuǎn)速所對應的實測電壓為輸出)的基礎上,確定其離散PID控制器參數(shù)kp/ki/kd分別為0.5/4/0.01,并在PC機下進行了以幅值為2的階躍信號為輸入的MATLAB全數(shù)字仿真。從如圖7所示的仿真結(jié)果可以看出,閉環(huán)系統(tǒng)調(diào)節(jié)時間大約為1秒,沒有穩(wěn)態(tài)誤差,而且當系統(tǒng)在第3秒加入一個幅值為0.1的干擾時,系統(tǒng)在控制器的作用下能夠在0.5秒內(nèi)克服干擾的影響,證實了該控制算法的性能。
??????? ?

  為了進一步驗證控制系統(tǒng)性能,將構(gòu)建的對象仿真機和控制器的應用程序借助RTW實現(xiàn)自動代碼生成和下載,并進行期望值為2V時的硬件在回路仿真,仿真結(jié)果如圖8所示。顯然,與全數(shù)字仿真結(jié)果相比,硬件在回路仿真的輸出仍能較好的跟蹤輸入信號,上升過程較平穩(wěn),調(diào)節(jié)時間1.5秒,比全數(shù)字仿真略長,穩(wěn)態(tài)值存在最大幅值2%的輕微波動。總體看來,控制效果較全數(shù)字仿真略有下降,而起因是由于硬件在回路仿真系統(tǒng)中,信號在DSP和工控機之間進行A/D和D/A轉(zhuǎn)換過程的精度和能量損失。

  結(jié)論

  本文在解決了S函數(shù)封裝、應用程序模塊構(gòu)建等問題的基礎上,以DSP與工控機為核心、構(gòu)建了能實現(xiàn)任何復雜對象控制器仿真驗證的、基于MATLAB/RTW和自動代碼生成技術(shù)的硬件在回路仿真系統(tǒng)。針對電機對象模型和控制算法的硬件在回路仿真結(jié)果證實了由于A/D、D/A轉(zhuǎn)換的精度損失,相比于全數(shù)字仿真該平臺性能有輕微下降,但硬件平臺的性能仍然是可靠有效的。

  參考文獻:
  [1] 齊振恒,孫中杰,李濤. RTW嵌入式代碼自動生成機制與代碼結(jié)構(gòu)分析[J].計算機測量與控制,2010,18,(3):639-642
  [2] 侯躍恩.基于DSP的伺服控制系統(tǒng)設計與實現(xiàn)[D].武漢理工大學,2009
  [3] 李根,唐臻宇,耿海翔,金佛榮.基于MATLAB/RTW的控制系統(tǒng)一體化新型設計方法[J].中國測試,2010,36,(1):75-78
  [4] MATLAB User's Guide Version 7.5[R].The Math Works Inc,2007
  [5] 程雪飛,王強,彭繼慎.基于S函數(shù)的專家PID控制器的實現(xiàn)[J].儀器儀表用戶,2006,13(2):86-87
  [6] 蘇奎峰,呂強,常天慶,張永秀. TMS320X281X DSP原理及C程序開發(fā)[M].北京航空航天大學出版社,2008
  [7] 進兵.基于xPC Target的無人機飛行控制軟件快速原型設計[D].南京航空航天大學,2009

pid控制相關(guān)文章:pid控制原理


c++相關(guān)文章:c++教程


pid控制器相關(guān)文章:pid控制器原理


汽車防盜機相關(guān)文章:汽車防盜機原理

上一頁 1 2 3 4 下一頁

關(guān)鍵詞: MATLAB 實時仿真 DSP 201307

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉