胡麗楠,陳國金,陳慧鵬,金紹勛
(杭州電子科技大學(xué)機(jī)械工程學(xué)院,浙江杭州310018)
目前,市場上含有嵌入式系統(tǒng)的產(chǎn)品已經(jīng)深入到工作、生活的方方面面。傳統(tǒng)的嵌入式系統(tǒng)開發(fā)的工作流程主要分為相互獨(dú)立的需求分析、設(shè)計(jì)、實(shí)現(xiàn)與測試4 個(gè)階段。其開發(fā)流程中技術(shù)規(guī)范采用電子文檔或者紙質(zhì)文檔描述系統(tǒng)對象,系統(tǒng)設(shè)計(jì)開發(fā)人員常存在理解偏差,同時(shí)在實(shí)現(xiàn)階段通常需要手工編寫代碼,因此工作效率低,同時(shí),不可避免地會(huì)引入人為失誤。而且,上述問題在最后的測試階段才能發(fā)現(xiàn),這樣不但會(huì)增加成本而且會(huì)延誤開發(fā)周期?;谀P偷脑O(shè)計(jì)為工程師們提供了一種通用的開發(fā)與測試平臺(tái),使得傳統(tǒng)系統(tǒng)開發(fā)的4 個(gè)階段有機(jī)結(jié)合在一起,通過系統(tǒng)設(shè)計(jì)過程中一系列的測試和驗(yàn)證可以保證及時(shí)發(fā)現(xiàn)、查找并修改系統(tǒng)存在的錯(cuò)誤[1-3]。
本研究通過搭建基于模型的設(shè)計(jì)仿真平臺(tái),建立線控轉(zhuǎn)向執(zhí)行電機(jī)控制模型并對其進(jìn)行轉(zhuǎn)速和轉(zhuǎn)向的仿真測試。
基于模型的設(shè)計(jì)開發(fā)過程以一個(gè)系統(tǒng)為模型中心,通過模型提煉出可執(zhí)行的規(guī)范,進(jìn)行設(shè)計(jì)與仿真及代碼自動(dòng)生成、測試與驗(yàn)證[4-5]??蓤?zhí)行的規(guī)范是系統(tǒng)級模型,是被控對象和控制系統(tǒng)的統(tǒng)一描述,能夠與設(shè)計(jì)的目標(biāo)清晰地溝通,并且允許通過仿真對規(guī)范要求進(jìn)行可行性和兼容性分析。
基于模型的設(shè)計(jì)是一種快速、高效的開發(fā)動(dòng)態(tài)系統(tǒng)的方法,相對于傳統(tǒng)系統(tǒng)開發(fā)流程,它的優(yōu)勢在于:
(1)模型是可執(zhí)行的規(guī)范,取代了紙質(zhì)文檔規(guī)范,在整個(gè)系統(tǒng)開發(fā)過程中遵循統(tǒng)一環(huán)境下的統(tǒng)一模型,通過仿真計(jì)算,在設(shè)計(jì)初期就可以針對設(shè)計(jì)思想進(jìn)行驗(yàn)證;
(2)在統(tǒng)一的開發(fā)測試平臺(tái)上,允許產(chǎn)品從需求分析階段就開始驗(yàn)證,并做到持續(xù)不斷的驗(yàn)證與測試,通過仿真、驗(yàn)證和測試,可以考察系統(tǒng)不同組件對整個(gè)系統(tǒng)的影響,在開發(fā)過程中確保系統(tǒng)的性能指標(biāo);
(3)采用自動(dòng)代碼生成技術(shù),擺脫繁瑣的代碼編寫和調(diào)試工作,開發(fā)者把主要精力放在算法和測試方法的研究上,嵌入式代碼的生成和驗(yàn)證過程則留給計(jì)算機(jī)自動(dòng)去完成。
目前國際上主流的基于模型設(shè)計(jì)的軟件主要有SCADE 和Matlab,并且它們都成功地應(yīng)用于大型項(xiàng)目的開發(fā)上[6]。Matlab 是美國MathWorks 公司出品的商業(yè)化數(shù)學(xué)軟件,用于動(dòng)態(tài)系統(tǒng)和嵌入式系統(tǒng)的多領(lǐng)域仿真和基于模型的設(shè)計(jì)仿真。MathWorks 公司還為Matlab 提供了新的控制系統(tǒng)模型圖形輸入與仿真工具Simulink,Simulink 提供了高效、易用、開放的模塊化建模環(huán)境,鼓勵(lì)協(xié)作,彌補(bǔ)了傳統(tǒng)的設(shè)計(jì)和開發(fā)工具的不足[7]。因此,本研究使用Matlab/Simulink 建立相應(yīng)的電機(jī)測試控制模型。MathWorks 經(jīng)過和TI 公司多年的合作,共同開發(fā)出了嵌入式代碼集成開發(fā)Embedded Coder 統(tǒng)一模塊,使得針對目標(biāo)板嵌入式代碼開發(fā)更具統(tǒng)一性、系統(tǒng)性和完整性。目前,Matlab 支持TI C2000、C5000、C6000 系列芯片,鑒于TI C2000 在控制領(lǐng)域強(qiáng)大的優(yōu)勢,本研究采用C2000 系列作為處理芯片。在C2000 系列芯片中,由于TMS320 F28335 芯片為浮點(diǎn)構(gòu)架,與其他DSP 控制芯片相比,DSP 程序運(yùn)算性能優(yōu)越、編程結(jié)構(gòu)簡單、代碼長度短、運(yùn)算精度高[8]。因此,本研究采用TMS320 F28335 作為硬件仿真平臺(tái)。
基于Simulink 和TMS320 F28335 仿真平臺(tái)的設(shè)計(jì)流程如下:
(1)根據(jù)需求分析建立相應(yīng)的Simulink 系統(tǒng)模型;
(2)對模型進(jìn)行編譯下載并生成代碼,將所生成的代碼下載到目標(biāo)板上;
(3)目標(biāo)板對模型代碼進(jìn)行運(yùn)行、測試與驗(yàn)證。
線控轉(zhuǎn)向系統(tǒng)中,TMS320 F28335 目標(biāo)板接收并處理方向盤轉(zhuǎn)角信號,轉(zhuǎn)向執(zhí)行電機(jī)從TMS320 F28335 目標(biāo)板中獲取經(jīng)過控制算法處理后的轉(zhuǎn)向執(zhí)行指令,完成相應(yīng)的轉(zhuǎn)向動(dòng)作。為方便對轉(zhuǎn)向執(zhí)行電機(jī)進(jìn)行測試,這里采用角度傳感器代替方向盤組件。目標(biāo)開發(fā)板模擬量接收的范圍為0~3 V,筆者設(shè)置1.5 V為轉(zhuǎn)向執(zhí)行電機(jī)正反轉(zhuǎn)基準(zhǔn),通過將實(shí)際的模擬量和1.5 V 基準(zhǔn)進(jìn)行比較,轉(zhuǎn)換為角度傳感器轉(zhuǎn)角矢量θ。Stateflow 通過對θ 進(jìn)行分析,判斷電機(jī)的轉(zhuǎn)向。角度傳感器轉(zhuǎn)角矢量θ、轉(zhuǎn)向執(zhí)行電機(jī)電壓控制模擬量Voltage 和高、低電平Logical_level 有如下關(guān)系:
式(1)為分段式邏輯控制,通過Simulink 中的Stateflow 邏輯建??梢詫?shí)現(xiàn)。Stateflow 是有限狀態(tài)機(jī)的圖形實(shí)現(xiàn)工具,它使用流程圖和狀態(tài)轉(zhuǎn)移圖等概念,用以解決復(fù)雜的監(jiān)控邏輯問題[9]。用戶可以通過圖形化工具實(shí)現(xiàn)在不同狀態(tài)之間的轉(zhuǎn)換,Stateflow 通常直接嵌入到Simulink 仿真模型中并在仿真初始化階段將邏輯圖形通過編譯程序轉(zhuǎn)換成C 語言,使兩者有機(jī)地結(jié)合在一起[10]。角度傳感器轉(zhuǎn)角矢量θ、轉(zhuǎn)向執(zhí)行電機(jī)電壓控制模擬量Voltage 和高、低電平Logical_level 之間的邏輯關(guān)系通過Stateflow 搭建邏輯圖形如圖1所示。
圖1 Stateflow 邏輯控制圖
針對轉(zhuǎn)向執(zhí)行電機(jī)的測試建立的Simulink 目標(biāo)機(jī)模型如圖2所示。其中的Stateflow block 模塊即為邏輯控制模塊。由于F28335 內(nèi)部進(jìn)行的運(yùn)算都是數(shù)字量運(yùn)算,為了方便地進(jìn)行邏輯判斷以及給出模擬量輸出,需要在模型中根據(jù)模數(shù)轉(zhuǎn)換自行封裝設(shè)置模數(shù)轉(zhuǎn)換子系統(tǒng)和數(shù)模轉(zhuǎn)換子系統(tǒng),通過direction_excute 模塊輸出高低電平。另外,為方便在電腦主機(jī)中實(shí)時(shí)觀測到相關(guān)的數(shù)據(jù),本研究在模型中添加串口發(fā)送模塊SCI Transmit,將角度傳感器輸出電壓、角度傳感器轉(zhuǎn)角矢量和轉(zhuǎn)向執(zhí)行電機(jī)模擬控制電壓分別發(fā)送給電腦主機(jī)進(jìn)行觀測。
圖2 Simulink 目標(biāo)機(jī)模型
Simulink 主機(jī)模型包括串口接收模塊SCI Receive、串口通訊設(shè)置模塊SCI Setup 和顯示模塊,它的主要功能是實(shí)時(shí)接收采集目標(biāo)機(jī)傳遞過來的信號并進(jìn)行監(jiān)控和分析。其模型圖如圖3所示。
圖3 Simulink 主機(jī)模型
本研究在完成轉(zhuǎn)向執(zhí)行電機(jī)控制模型的建立的基礎(chǔ)上對其進(jìn)行了測試和驗(yàn)證,主要包括對電腦主機(jī)、仿真器、目標(biāo)板、角度傳感器、轉(zhuǎn)向執(zhí)行電機(jī)驅(qū)動(dòng)器、轉(zhuǎn)向執(zhí)行電機(jī)和直流電源的測試,對Simulink 轉(zhuǎn)向電機(jī)控制模型進(jìn)行編譯、自動(dòng)代碼生成、連接并下載到目標(biāo)板上,角度傳感器的角度變化即為轉(zhuǎn)向執(zhí)行電機(jī)控制信號源。為方便對角度傳感器輸出電壓、傳感器角度矢量以及目標(biāo)板電機(jī)控制電壓的實(shí)時(shí)獲取,本研究在目標(biāo)機(jī)模型中設(shè)置串口通信模塊將上述實(shí)時(shí)數(shù)據(jù)通過串口通信進(jìn)行數(shù)據(jù)交互并在電腦主機(jī)端實(shí)時(shí)接收并動(dòng)態(tài)顯示。這樣既可以保證在測試過程中目標(biāo)板接收模擬量不超過量程,另外也可將所得的數(shù)據(jù)和實(shí)際電機(jī)工作情況進(jìn)行對比。
轉(zhuǎn)向執(zhí)行電機(jī)測試過程中電腦主機(jī)通過串口通信接收到的數(shù)據(jù)如圖4所示。
圖4 電機(jī)測試對應(yīng)數(shù)據(jù)圖
從圖4所示的傳感器輸出電壓和角度傳感器轉(zhuǎn)角矢量曲線對比可知,當(dāng)轉(zhuǎn)動(dòng)角度傳感器改變輸出電壓信號時(shí),角度傳感器轉(zhuǎn)角矢量大小也將發(fā)生變化。通過模型中設(shè)置的對應(yīng)算法轉(zhuǎn)換使得電機(jī)控制電壓產(chǎn)生對應(yīng)的輸出。因?yàn)檗D(zhuǎn)向執(zhí)行電機(jī)的模擬電壓控制量為0~2 V,當(dāng)電機(jī)控制電壓超過2 V 的時(shí)候則達(dá)到飽和值維持不變直到其小于2 V。當(dāng)傳感器輸出電壓低于1.5 V時(shí),角度傳感器轉(zhuǎn)角矢量方向隨之發(fā)生變化,從而使得輸出高低電平發(fā)生變化,進(jìn)而控制電機(jī)改變轉(zhuǎn)動(dòng)方向。
本研究通過基于模型的設(shè)計(jì)對線控轉(zhuǎn)向系統(tǒng)轉(zhuǎn)向執(zhí)行電機(jī)進(jìn)行測試,在Simulink 環(huán)境中搭建了電機(jī)的控制模型,將模型編譯、下載到目標(biāo)板中進(jìn)行測試與驗(yàn)證。所得到的數(shù)據(jù)以及測試效果表明,通過采用基于模型的設(shè)計(jì)對轉(zhuǎn)向執(zhí)行電機(jī)進(jìn)行測試,避免了對目標(biāo)板人工編寫程序代碼,從而縮短了測試及開發(fā)周期,同時(shí)驗(yàn)證了轉(zhuǎn)向執(zhí)行電機(jī)能夠在本研究所建立的電機(jī)控制模型控制作用下正常工作,為汽車線控轉(zhuǎn)向系統(tǒng)的研究提供了理論基礎(chǔ)。
[1]俞張輝,張自強(qiáng),顧美康.基于模型的設(shè)計(jì)思想加速電梯
控制算法開發(fā)[J].電子科技,2011,24(8):28-30.
[2]DUMA R,DOBRA P,ABRUDEAN M,et al.Rapid prototyping of control systems using embedded target for TI C2000 DSP[C]//Proceedings of 2007 Mediterranean Conference on Control and Automation.Athens:Institute of Electrical and Electronics Engineer Computer Society,2007.
[3]劉 杰.基于模型的設(shè)計(jì)及其嵌入式實(shí)現(xiàn)[M].北京:北京航空航天大學(xué)出版社,2010.
[4]華 镕.基于模型設(shè)計(jì)的控制程序自動(dòng)生成[J].國內(nèi)外機(jī)電一體化技術(shù),2010(6):22-23.
[5]TONY L.基于模型的機(jī)電系統(tǒng)設(shè)計(jì)[J].工業(yè)設(shè)計(jì),2009(4):48-50.
[6]施 嶸.Simulink/Stateflow 仿真原理和實(shí)現(xiàn)的研究[D].成都:電子科技大學(xué)計(jì)算機(jī)學(xué)院,2011:3-26.
[7]李占鋒.汽車電子轉(zhuǎn)向系統(tǒng)轉(zhuǎn)向執(zhí)行電機(jī)的控制研究[D].西安:長安大學(xué)地測學(xué)院,2007:36-37.
[8]陳 高,楊家強(qiáng).基于TMS320F28335 的永磁同步電機(jī)數(shù)字化矢量控制器設(shè)計(jì)[J].機(jī)電工程,2011,28(9):1091-1094.
[9]王 蓓,趙廷弟.應(yīng)用Stateflow 技術(shù)的安全性建模與仿真[J].北京航空航天大學(xué)學(xué)報(bào),2011,37(11):1415-1420.
[10]劉 杰.基于模型的設(shè)計(jì)-MSP430/F28027/F28335 DSP篇[M].北京:國防工業(yè)出版社,2011.