胡麗楠,陳國金,陳慧鵬,金紹勛
(杭州電子科技大學機械工程學院,浙江杭州310018)
目前,市場上含有嵌入式系統的產品已經深入到工作、生活的方方面面。傳統的嵌入式系統開發的工作流程主要分為相互獨立的需求分析、設計、實現與測試4 個階段。其開發流程中技術規范采用電子文檔或者紙質文檔描述系統對象,系統設計開發人員常存在理解偏差,同時在實現階段通常需要手工編寫代碼,因此工作效率低,同時,不可避免地會引入人為失誤。而且,上述問題在最后的測試階段才能發現,這樣不但會增加成本而且會延誤開發周期。基于模型的設計為工程師們提供了一種通用的開發與測試平臺,使得傳統系統開發的4 個階段有機結合在一起,通過系統設計過程中一系列的測試和驗證可以保證及時發現、查找并修改系統存在的錯誤[1-3]。
本研究通過搭建基于模型的設計仿真平臺,建立線控轉向執行電機控制模型并對其進行轉速和轉向的仿真測試。
基于模型的設計開發過程以一個系統為模型中心,通過模型提煉出可執行的規范,進行設計與仿真及代碼自動生成、測試與驗證[4-5]。可執行的規范是系統級模型,是被控對象和控制系統的統一描述,能夠與設計的目標清晰地溝通,并且允許通過仿真對規范要求進行可行性和兼容性分析。
基于模型的設計是一種快速、高效的開發動態系統的方法,相對于傳統系統開發流程,它的優勢在于:
(1)模型是可執行的規范,取代了紙質文檔規范,在整個系統開發過程中遵循統一環境下的統一模型,通過仿真計算,在設計初期就可以針對設計思想進行驗證;
(2)在統一的開發測試平臺上,允許產品從需求分析階段就開始驗證,并做到持續不斷的驗證與測試,通過仿真、驗證和測試,可以考察系統不同組件對整個系統的影響,在開發過程中確保系統的性能指標;
(3)采用自動代碼生成技術,擺脫繁瑣的代碼編寫和調試工作,開發者把主要精力放在算法和測試方法的研究上,嵌入式代碼的生成和驗證過程則留給計算機自動去完成。
目前國際上主流的基于模型設計的軟件主要有SCADE 和Matlab,并且它們都成功地應用于大型項目的開發上[6]。Matlab 是美國MathWorks 公司出品的商業化數學軟件,用于動態系統和嵌入式系統的多領域仿真和基于模型的設計仿真。MathWorks 公司還為Matlab 提供了新的控制系統模型圖形輸入與仿真工具Simulink,Simulink 提供了高效、易用、開放的模塊化建模環境,鼓勵協作,彌補了傳統的設計和開發工具的不足[7]。因此,本研究使用Matlab/Simulink 建立相應的電機測試控制模型。MathWorks 經過和TI 公司多年的合作,共同開發出了嵌入式代碼集成開發Embedded Coder 統一模塊,使得針對目標板嵌入式代碼開發更具統一性、系統性和完整性。目前,Matlab 支持TI C2000、C5000、C6000 系列芯片,鑒于TI C2000 在控制領域強大的優勢,本研究采用C2000 系列作為處理芯片。在C2000 系列芯片中,由于TMS320 F28335 芯片為浮點構架,與其他DSP 控制芯片相比,DSP 程序運算性能優越、編程結構簡單、代碼長度短、運算精度高[8]。因此,本研究采用TMS320 F28335 作為硬件仿真平臺。
基于Simulink 和TMS320 F28335 仿真平臺的設計流程如下:
(1)根據需求分析建立相應的Simulink 系統模型;
(2)對模型進行編譯下載并生成代碼,將所生成的代碼下載到目標板上;
(3)目標板對模型代碼進行運行、測試與驗證。
線控轉向系統中,TMS320 F28335 目標板接收并處理方向盤轉角信號,轉向執行電機從TMS320 F28335 目標板中獲取經過控制算法處理后的轉向執行指令,完成相應的轉向動作。為方便對轉向執行電機進行測試,這里采用角度傳感器代替方向盤組件。目標開發板模擬量接收的范圍為0~3 V,筆者設置1.5 V為轉向執行電機正反轉基準,通過將實際的模擬量和1.5 V 基準進行比較,轉換為角度傳感器轉角矢量θ。Stateflow 通過對θ 進行分析,判斷電機的轉向。角度傳感器轉角矢量θ、轉向執行電機電壓控制模擬量Voltage 和高、低電平Logical_level 有如下關系:

式(1)為分段式邏輯控制,通過Simulink 中的Stateflow 邏輯建模可以實現。Stateflow 是有限狀態機的圖形實現工具,它使用流程圖和狀態轉移圖等概念,用以解決復雜的監控邏輯問題[9]。用戶可以通過圖形化工具實現在不同狀態之間的轉換,Stateflow 通常直接嵌入到Simulink 仿真模型中并在仿真初始化階段將邏輯圖形通過編譯程序轉換成C 語言,使兩者有機地結合在一起[10]。角度傳感器轉角矢量θ、轉向執行電機電壓控制模擬量Voltage 和高、低電平Logical_level 之間的邏輯關系通過Stateflow 搭建邏輯圖形如圖1所示。

圖1 Stateflow 邏輯控制圖
針對轉向執行電機的測試建立的Simulink 目標機模型如圖2所示。其中的Stateflow block 模塊即為邏輯控制模塊。由于F28335 內部進行的運算都是數字量運算,為了方便地進行邏輯判斷以及給出模擬量輸出,需要在模型中根據模數轉換自行封裝設置模數轉換子系統和數模轉換子系統,通過direction_excute 模塊輸出高低電平。另外,為方便在電腦主機中實時觀測到相關的數據,本研究在模型中添加串口發送模塊SCI Transmit,將角度傳感器輸出電壓、角度傳感器轉角矢量和轉向執行電機模擬控制電壓分別發送給電腦主機進行觀測。

圖2 Simulink 目標機模型
Simulink 主機模型包括串口接收模塊SCI Receive、串口通訊設置模塊SCI Setup 和顯示模塊,它的主要功能是實時接收采集目標機傳遞過來的信號并進行監控和分析。其模型圖如圖3所示。

圖3 Simulink 主機模型
本研究在完成轉向執行電機控制模型的建立的基礎上對其進行了測試和驗證,主要包括對電腦主機、仿真器、目標板、角度傳感器、轉向執行電機驅動器、轉向執行電機和直流電源的測試,對Simulink 轉向電機控制模型進行編譯、自動代碼生成、連接并下載到目標板上,角度傳感器的角度變化即為轉向執行電機控制信號源。為方便對角度傳感器輸出電壓、傳感器角度矢量以及目標板電機控制電壓的實時獲取,本研究在目標機模型中設置串口通信模塊將上述實時數據通過串口通信進行數據交互并在電腦主機端實時接收并動態顯示。這樣既可以保證在測試過程中目標板接收模擬量不超過量程,另外也可將所得的數據和實際電機工作情況進行對比。
轉向執行電機測試過程中電腦主機通過串口通信接收到的數據如圖4所示。

圖4 電機測試對應數據圖
從圖4所示的傳感器輸出電壓和角度傳感器轉角矢量曲線對比可知,當轉動角度傳感器改變輸出電壓信號時,角度傳感器轉角矢量大小也將發生變化。通過模型中設置的對應算法轉換使得電機控制電壓產生對應的輸出。因為轉向執行電機的模擬電壓控制量為0~2 V,當電機控制電壓超過2 V 的時候則達到飽和值維持不變直到其小于2 V。當傳感器輸出電壓低于1.5 V時,角度傳感器轉角矢量方向隨之發生變化,從而使得輸出高低電平發生變化,進而控制電機改變轉動方向。
本研究通過基于模型的設計對線控轉向系統轉向執行電機進行測試,在Simulink 環境中搭建了電機的控制模型,將模型編譯、下載到目標板中進行測試與驗證。所得到的數據以及測試效果表明,通過采用基于模型的設計對轉向執行電機進行測試,避免了對目標板人工編寫程序代碼,從而縮短了測試及開發周期,同時驗證了轉向執行電機能夠在本研究所建立的電機控制模型控制作用下正常工作,為汽車線控轉向系統的研究提供了理論基礎。
[1]俞張輝,張自強,顧美康.基于模型的設計思想加速電梯
控制算法開發[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]劉 杰.基于模型的設計及其嵌入式實現[M].北京:北京航空航天大學出版社,2010.
[4]華 镕.基于模型設計的控制程序自動生成[J].國內外機電一體化技術,2010(6):22-23.
[5]TONY L.基于模型的機電系統設計[J].工業設計,2009(4):48-50.
[6]施 嶸.Simulink/Stateflow 仿真原理和實現的研究[D].成都:電子科技大學計算機學院,2011:3-26.
[7]李占鋒.汽車電子轉向系統轉向執行電機的控制研究[D].西安:長安大學地測學院,2007:36-37.
[8]陳 高,楊家強.基于TMS320F28335 的永磁同步電機數字化矢量控制器設計[J].機電工程,2011,28(9):1091-1094.
[9]王 蓓,趙廷弟.應用Stateflow 技術的安全性建模與仿真[J].北京航空航天大學學報,2011,37(11):1415-1420.
[10]劉 杰.基于模型的設計-MSP430/F28027/F28335 DSP篇[M].北京:國防工業出版社,2011.