張新豐,陳 慧
(同濟大學汽車學院,上海 201804)
嵌入式控制系統在各種工業產品中,已經越來越普及。比如在汽車中,就包括了發動機控制系統、制動防抱死系統、穩定性控制系統、自動變速箱控制系統、電子助力轉向系統和車身控制系統等。在飛機和火車等各種復雜的機電系統中,控制器扮演者越來越重要的角色。現代車輛的控制器數量一般在20~30個,而高端車上已突破150個,已經占汽車總成本的30%[1,2],在航空航天器上則更多。
V型開發流程是一種基于數字仿真工具進行離線仿真、基于控制器原型和硬件在環設備對控制算法和硬件進行快速驗證的開發流程,在汽車、航空航天和工業自動化等領域得到了很大的應用。因此控制器V型開發模式教學,對于推廣控制器設計工程領域的先進方式和方法,特別是培養機電系統開發的工程師,具有重要的意義。控制器開發方法的實踐性很強,但因為V型開發模式需要控制系統數字仿真軟件、快速原型設備、自動代碼生成工具和硬件在環仿真測試系統等工具支持,若使用商業開發設備進行教學代價較高,資金上無法滿足要求[3]。
本文結合“控制系統仿真與設計”課程教學改革實踐,總結了如何對嵌入式控制系統,特別是控制器設計中出現的新方法流程——V型開發流程,進行教學的經驗,重點論述如何進行實驗教學內容設計及實驗教學系統開發與搭建。
傳統的嵌入式系統控制器開發方法存在開發周期長、可靠性差及開發費高的問題[4]:①基于文本格式的設計要求,阻礙信息快速傳遞不明確的技術要求將導致錯誤和誤解,使技術資料在后續的項目中較難再利用;②錯誤定位的代價高:有些錯誤在設計階段已存在,一般會到后期才被發現;③需要專門的硬件來測試軟件:樣機試制費大,違背同步開發理念;④手工軟件開發的投入產出率低、可靠性差、勞動強度大以及易導致人為錯誤。
嵌入式控制系統的開發往往包括硬件(傳感器、執行器和電路等)和軟件兩部分,V型開發模式能使得控制器軟件能獨立完成。控制器V型開發模式實際上是一個標準化的開發流程過程,其組成如圖1所示。

圖1 V型開發流程
圖1所示的V型開發模式有五個基本環節。包括:①需求分析與離線仿真—主要通過對系統的性能進行定義,包括傳感器和執行器信號接口、控制目標和控制精度等,并采用離線仿真的方法,設計控制算法。②快速控制器原型—是在離線仿真中已完成設計的控制算法,可以利用通用控制設備(比如xPC,autobox和dspace等)作為控制器使用,驗證控制算法的有效性;③自動代碼生成—直接將已經驗證過的離線仿真算法生成嵌入式系統代碼,編譯后燒寫進控制器;④硬件在環HIL(Hardware In Loop)仿真測試—在產品級控制器上實現控制算法之后,需要對其進行徹底測試;⑤系統集成與標定—對最終的控制系統實現參數標定和匹配。
與傳統控制器開發相比,V型開發模式具有很多優勢:①通過快速控制器原型,可以在早期開發階段完成對控制算法的驗證,不借助控制器硬件,大大加快了硬件的開發;②自動代碼生成使得離線仿真環境下的算法和實際嵌入式系統中的算法實現無縫銜接,算法的修改和更新能馬上在嵌入式系統上實現;③硬件在環仿真測試,能使得控制器在所有零部件成型之前完成對控制器軟硬件系統的驗證。
總之,V型開發模式由于大大縮短了開發周期,降低了開發成本,被許多嵌入式控制系統生產行業及工程研究領域采用。
本文介紹的V型開發模式的實驗教學以有刷直流電機為控制對象,采用速度閉環反饋,控制系統原理框圖如圖2所示。圖中PID控制器計算出控制電壓,使得電機在擾動力矩干擾下維持期望轉速。

圖2 直流電機速度反饋控制系統原理
Matlab數值分析軟件工具,相比于其他控制器仿真與設計軟件(比如 Etas、Mathematica和 Maple等)具有易學、編程簡單等優點,最關鍵的是它支持多種快速控制器原型及嵌入式系統,也是本實驗系統所采用的離線仿真工具。
比如,美國國家儀器公司(NI)開發的LabVIEW圖形化數據采集和儀器控制軟件及接口控制模塊,德國dSPACE公司開發的基于Matlab/Simulink和dspace/autobox的控制器快速原型開發工具,還有基于xPC的快速控制器原型工具。
本實驗教學系統對控制器原型的功能要求不高,并希望能借助實驗室原有PC系統搭建完成,因此采用了在PC上安裝數據板卡,采用基于Realtime Windows Target工具實現快速控制器原型的方法。這個實驗要求學生將設計好的PID控制器編譯成Windows可執行代碼,在Windows平臺下借助I/O板卡,實時控制電機。
在自動代碼生成環節,由于Matlab對TI系列微處理器的各種資源支持較為豐富,因此選擇以TI的TMS2808DSP芯片為嵌入式系統。對硬件在環測試采用PC機模擬被控對象,采集控制器的輸出信號,經過對被控對象的模擬輸出傳感器信號。本實驗系統可以在可控的條件下,對控制器進行反復測試。
在控制器開發中常常采用基于CAN總線的在線標定工具(比如CANape)和CCP(CAN Calibration Protocal)標定協議,但該工具成本昂貴,目前暫時很難在實踐教學中推廣普及,因此本實驗采用基于Simulink的RTDX工具,直接基于JTAG調試器,構建數據交換通道,實現對嵌入式控制軟件進行實時標定。實驗要求學生能基于Matlab開發標定的軟件,標定控制器參數。
實驗系統的關鍵是搭建PC機和接口卡,并設計能用于上述開發流程中第③和第⑤個實驗環節的嵌入式系統。PC機與接口卡直接通過選型購買獲得。為了能在同一實驗箱中實現快速控制器原型及嵌入式控制實驗,需要重用其中部分的電路,因此對所需設計的電路進行了模塊化設計。實驗系統硬件臺如圖3所示。

圖3 實驗系統硬件平臺
實驗系統如圖所示,由帶I/O板卡的PC機和實驗箱構成。PC機安裝Matlab/Simulink軟件,是進行離線仿真的工具。
I/O板卡是用于電機控制信號輸出和速度脈沖信號采集的信號接口板卡,PC機與之構成了基于Realtime Windows Target的快速控制器原型工具。
實驗箱中包括:①用于給電機驅動模塊供電24V及給嵌入式系統核心板供電5V的電源模塊;②直流電機驅動模塊,用于直流電機驅動及轉速信號調理;③嵌入式目標系統模塊,包括嵌入式最小系統;④目標選擇模型,通過模塊上的跳線來選擇采用快速控制器原型作為控制器還是嵌入式系統作為控制器;⑤輸入輸出控制模塊,用數碼管顯示期望轉速和實際轉速,并使用可變電阻作為期望轉速。
實驗箱中的虛線←…→為信號線連接。目標選擇模塊可選擇連通Con1或Con2實現使用快速控制器原型,還是嵌入式系統作為控制器控制電機的運行,實驗箱實物如圖3(b)所示。
在控制器V型開發模式實驗教學開展的過程中,需要軟件工具支持。在離線仿真環節、快速控制器原型環節和自動代碼生成環節,采用Simulink商業軟件,因此只需開發控制器設計的教學示范程序和標定用軟件。基于Simulink的電機控制數學仿真示范程序如圖4所示。

圖4 Simulink數學仿真模型
電機模型可表示成帶常數的一階慣性環節,并直接取用Simulink中的PID控制器,給定期望轉速,進行仿真。基于Simulink的可自動代碼生成的電機轉速控制器范程序如圖5所示。

圖5 Simulink自動代碼生成的控制器模型
采用Simulink的Real Time WorkShop的DSP目標支持軟件包,將電機模型用真實電機替換掉:①期望轉速由控制器內存設定;②電機轉速由eCAP(脈沖捕捉模塊)獲得;③電壓輸出由PID控制器給出,輸入到ePWM(脈寬調制)模塊中,該示范代碼可直接生成目標系統可執行代碼。
工業上通用的控制器標定工具,一般都基于總線的標定協議,比如CCP(CAN Cdibration Protocol)協議和KWP(Key Word Protocol)協議等。實現的工具有CANape等,這些工具功能強大、價格昂貴,在教學使用中很難普及。因此,這里采用基于NI開發的Simulink/RTDX模塊,通過JTAG接口實現嵌入式芯片與上位機之間的數據互訪,達到在線標定的目的。RTDX是NI開發的一個用于測試和分析算法的組件[5],可以通過它獲取或設置DSP內存數值,改變程序的運行特征,并可在不停止程序的情況下改變其中的參數。
利用該實驗系統首先在“控制系統仿真與設計”課程中進行了演示示范教學,效果與以往的基于文字圖片講授V型開發模式方式的教學方法相比具有形象、直觀和互動性強等優點。結果表明,學生對該知識與方法掌握變快、動手能力提高。
[1] 湯姆o登頓(英)著,于京諾,宋進桂,楊占鵬等譯.汽車電氣與電子控制系統(原書第3版)[M].北京:機械工業出版社,2008
[2] 張新豐.汽車智能電器系統[D].北京:清華大學,2009
[3] 王莉,陳虹.自動控制原理"虛擬實驗系統開發[J].南京:電氣電子教學學報,2011,33(4):71-73
[4] 約克o肖福勒,托馬斯o左勞卡(德)著,張聚 等譯.汽車軟件工程--原理o過程o方法o工具[M].北京:電子工業出版社,2008
[5] The MathWorks,Inc.Target Support Package-TC2[EB/DK].Natick,Massachusetts,2008