亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Matlab的運(yùn)動(dòng)控制系統(tǒng)實(shí)驗(yàn)平臺(tái)設(shè)計(jì)

        2024-04-01 02:38:02徐建明支文龍周家豪
        關(guān)鍵詞:實(shí)驗(yàn)模型設(shè)計(jì)

        徐建明,支文龍,周家豪

        (浙江工業(yè)大學(xué) 信息工程學(xué)院,杭州 310023)

        0 引言

        運(yùn)動(dòng)控制系統(tǒng)課程是高校自動(dòng)化專業(yè)一門(mén)很重要的專業(yè)課程,該課程是一門(mén)綜合了多學(xué)科的綜合性課程,具有很強(qiáng)的實(shí)踐性和應(yīng)用性[1]。因此實(shí)驗(yàn)操作對(duì)于該課程非常重要,通過(guò)在課程中結(jié)合實(shí)驗(yàn)對(duì)于學(xué)生學(xué)習(xí)直流與交流電機(jī)的調(diào)速系統(tǒng)理論知識(shí)有很大的幫助,與此同時(shí)在實(shí)驗(yàn)設(shè)計(jì)電機(jī)驅(qū)動(dòng)控制系統(tǒng)過(guò)程中學(xué)生實(shí)踐能力也能夠得到提高。

        在傳統(tǒng)的運(yùn)動(dòng)控制系統(tǒng)實(shí)驗(yàn)教學(xué)中,一般常見(jiàn)的實(shí)驗(yàn)方式有:一種是在實(shí)驗(yàn)室中,對(duì)電機(jī)的基本參數(shù)進(jìn)行測(cè)量,通過(guò)工程設(shè)計(jì)的方法設(shè)計(jì)出電流調(diào)節(jié)器和轉(zhuǎn)速調(diào)節(jié)器,然后在實(shí)驗(yàn)臺(tái)上進(jìn)行接線,調(diào)參等操作來(lái)實(shí)現(xiàn)對(duì)電機(jī)的控制。另一種是在Matlab/Simulink中搭建控制模型,通過(guò)仿真的模式來(lái)對(duì)控制系統(tǒng)進(jìn)行研究[2]。兩種方式都有一定的局限性,前者側(cè)重實(shí)際應(yīng)用,因此在實(shí)驗(yàn)前需要經(jīng)過(guò)繁瑣的設(shè)計(jì)與計(jì)算;后者側(cè)重仿真,結(jié)果會(huì)偏于理想化。

        針對(duì)運(yùn)動(dòng)控制系統(tǒng)課程實(shí)驗(yàn)平臺(tái)的不足,國(guó)內(nèi)外對(duì)于運(yùn)動(dòng)控制系統(tǒng)課程實(shí)驗(yàn)平臺(tái)設(shè)計(jì)的研究也有不少。文獻(xiàn)[3]介紹了一種基于 TMS320F2812 DSK 的低成本電機(jī)控制測(cè)試臺(tái)。文獻(xiàn)[4]介紹了一種用于設(shè)計(jì)和實(shí)現(xiàn)嵌入式控制軟件的實(shí)驗(yàn)平臺(tái)。文獻(xiàn)[5]將Matlab/Simulink和SimPowerSystems工具箱引入到了運(yùn)動(dòng)控制系統(tǒng)課程的實(shí)驗(yàn)教學(xué)中。文獻(xiàn)[6]介紹了將Matlab/Simulink仿真與實(shí)際硬件設(shè)備控制相結(jié)合的實(shí)驗(yàn)平臺(tái)。文獻(xiàn)[7]從運(yùn)動(dòng)控制系統(tǒng)課程特點(diǎn)和實(shí)踐環(huán)節(jié)各類實(shí)驗(yàn)的特點(diǎn)分析入手來(lái)建設(shè)實(shí)驗(yàn)平臺(tái)。文獻(xiàn)[8]介紹了一種新型的快速控制原型系統(tǒng),該系統(tǒng)將控制類課程仿真與動(dòng)手實(shí)踐相結(jié)合,學(xué)生通過(guò)該系統(tǒng)可以專注于控制系統(tǒng)設(shè)計(jì)、仿真和實(shí)驗(yàn)控制驗(yàn)證,而不是單純編程。文獻(xiàn)[9]介紹了一種永磁同步電機(jī)控制系統(tǒng)的實(shí)驗(yàn)平臺(tái),該平臺(tái)實(shí)現(xiàn)了仿真和硬件平臺(tái)控制的結(jié)合。

        基于模型設(shè)計(jì)(MBD,model based design)是一種系統(tǒng)工程方法,其基本思想是通過(guò)對(duì)系統(tǒng)進(jìn)行建模、仿真和驗(yàn)證,實(shí)現(xiàn)對(duì)系統(tǒng)的整個(gè)周期設(shè)計(jì)、開(kāi)發(fā)和測(cè)試的自動(dòng)化管理[10]。MBD在工程實(shí)踐中應(yīng)用廣泛,包括航空、汽車、醫(yī)療器械等領(lǐng)域[11-12]。MBD的重點(diǎn)是建模語(yǔ)言和工具的研究,在建模工具方面,Simulink是應(yīng)用最廣泛的基于模型設(shè)計(jì)的工具之一,dSPACE、NI LabVIEW、Rhapsody等軟件也是MBD工程實(shí)踐中使用最多的工具[13-14]。此外,研究者還致力于探索新的建模語(yǔ)言和工具,以提高M(jìn)BD的建模效率和可靠性[15]。

        除了上述的應(yīng)用領(lǐng)域之外,MBD還可以用于嵌入式系統(tǒng)的開(kāi)發(fā)[16-17]。嵌入式系統(tǒng)的開(kāi)發(fā)和測(cè)試比一般的軟件開(kāi)發(fā)更加復(fù)雜和困難,MBD可以提高嵌入式系統(tǒng)的開(kāi)發(fā)效率和質(zhì)量,縮短開(kāi)發(fā)周期,降低開(kāi)發(fā)成本[18-19]。相對(duì)于傳統(tǒng)的嵌入式設(shè)計(jì)開(kāi)發(fā)模式,基于模型設(shè)計(jì)的開(kāi)發(fā)模式以模型作為中心,從模型搭建到代碼自動(dòng)生成一體化實(shí)現(xiàn)了高度自動(dòng)化的開(kāi)發(fā)流程[20]。這種開(kāi)發(fā)模式的優(yōu)點(diǎn)在于用戶只需在模型上根據(jù)需求設(shè)置寄存器的工作方式就可以自動(dòng)生成用于工程應(yīng)用的C代碼。這不僅加快了開(kāi)發(fā)過(guò)程,還免去了手寫(xiě)代碼可能帶來(lái)的程序漏洞。同時(shí),這種模式提供了接口來(lái)連接算法模型,讓嵌入式工程師更專注于算法設(shè)計(jì),真正實(shí)現(xiàn)了高效開(kāi)發(fā)[21]。

        本文使用Matlab軟件中的可視化仿真工具Simulink,用基于模型設(shè)計(jì)的方法來(lái)設(shè)計(jì)一個(gè)運(yùn)動(dòng)控制系統(tǒng)的實(shí)驗(yàn)平臺(tái),實(shí)驗(yàn)平臺(tái)主要由PC端、驅(qū)動(dòng)器和控制對(duì)象三部分構(gòu)成。用戶通過(guò)Matlab/Simulink對(duì)控制對(duì)象搭建仿真模型,并在Matlab/Simulink環(huán)境中對(duì)仿真模型進(jìn)行仿真且對(duì)仿真結(jié)果進(jìn)行分析,當(dāng)?shù)玫嚼硐氲男Ч麜r(shí)再對(duì)其進(jìn)行軟件在環(huán)仿真與處理器在環(huán)仿真驗(yàn)證。最后在PC端環(huán)境中將模型控制算法自動(dòng)生成C代碼工程形式,使用Keil5編譯環(huán)境對(duì)C代碼工程編譯后載入以STM32為主控的驅(qū)動(dòng)器中進(jìn)行實(shí)物驗(yàn)證。用戶通過(guò)操作實(shí)驗(yàn)平臺(tái)可實(shí)現(xiàn)從建模仿真到實(shí)物驗(yàn)證實(shí)驗(yàn)一體化。

        1 平臺(tái)功能與總體方案介紹

        1.1 平臺(tái)功能

        實(shí)驗(yàn)平臺(tái)主要由PC端、驅(qū)動(dòng)器和控制對(duì)象三部分構(gòu)成,如圖1所示。用戶在PC端使用Matlab/Simulink軟件平臺(tái)可進(jìn)行對(duì)被控對(duì)象的建模仿真操作。當(dāng)仿真結(jié)果達(dá)到理想效果時(shí),在PC端使用Matlab/Simulink軟件和STM32CubeMX軟件將模型生成C代碼工程,最后使用Keil5編譯環(huán)境對(duì)生成的C代碼工程編譯并載入到驅(qū)動(dòng)器中執(zhí)行實(shí)物測(cè)試的功能。

        圖1 實(shí)驗(yàn)平臺(tái)

        1.2 PC端環(huán)境配置

        實(shí)驗(yàn)平臺(tái)的PC端主要為用戶提供構(gòu)建控制對(duì)象模型、STM32微處理器配置以及代碼自動(dòng)生成的環(huán)境。在設(shè)計(jì)實(shí)驗(yàn)平臺(tái)時(shí)需要對(duì)PC端的環(huán)境進(jìn)行配置,主要是安裝Matlab、STM32CubeMX和Keil5這3個(gè)軟件。其中Matlab/Simulink是實(shí)驗(yàn)平臺(tái)PC端運(yùn)行環(huán)境的核心,實(shí)驗(yàn)平臺(tái)的模型搭建與代碼自動(dòng)生成都在Matlab/Simulink中運(yùn)行。

        實(shí)驗(yàn)平臺(tái)中驅(qū)動(dòng)器使用的微處理器是ST公司的STM32G474VET6,由于Simulink的模型庫(kù)管理器中沒(méi)有STM32相關(guān)的模型功能塊,因此需要在Matlab/Simulink中安裝ST公司開(kāi)發(fā)的STM32-MAT/TARGET embedded target工具箱。STM32-MAT/TARGET是Simulink中包含STM32功能模塊的硬件庫(kù),在安裝該硬件庫(kù)后Simulink的模型庫(kù)管理器中會(huì)添加STM32對(duì)應(yīng)功能模塊的模型,如ADC library、GPIO library、MCU CONFIG library、TIMERS library等等。其中MCU CONFIG模塊是STM32微處理器模塊,該模塊是Matlab/Simulink與STM32CubeMX之間的“橋梁”,在Simulink中設(shè)置更新STM32CubeMX的路徑后通過(guò)MCU CONFIG模塊可以啟動(dòng)STM32CubeMX軟件。

        2 平臺(tái)硬件設(shè)計(jì)

        圖2為系統(tǒng)平臺(tái)驅(qū)動(dòng)器的硬件設(shè)計(jì)總體框圖,總體分為兩個(gè)部分:以STM32微處理器為主控的控制電路部分和驅(qū)動(dòng)電路部分。其中,控制電路的微處理器為 STM32,其主要對(duì)整個(gè)驅(qū)動(dòng)控制系統(tǒng)進(jìn)行任務(wù)分配和控制??刂颇K主要負(fù)責(zé)處理傳感器模塊采集回來(lái)的數(shù)據(jù)并對(duì)其進(jìn)行計(jì)算處理,如編碼器電路采集的電機(jī)轉(zhuǎn)子位置信息和轉(zhuǎn)速信息以及電流采集電路采集的電流信息。驅(qū)動(dòng)模塊主要通過(guò)接收控制模塊傳輸?shù)男盘?hào)來(lái)改變驅(qū)動(dòng)電路的狀態(tài)實(shí)現(xiàn)對(duì)電機(jī)的控制,并將電機(jī)的運(yùn)行數(shù)據(jù)反饋給控制模塊。電源模塊主要將輸入電源電壓通過(guò)升壓或降壓轉(zhuǎn)換為電路中各個(gè)模塊所需的電壓,對(duì)電路中各個(gè)模塊進(jìn)行供電。

        圖2 系統(tǒng)平臺(tái)驅(qū)動(dòng)器硬件框架圖

        3 基于模型設(shè)計(jì)的開(kāi)發(fā)流程

        實(shí)驗(yàn)平臺(tái)利用Matlab軟件平臺(tái)的Simulink結(jié)合ST公司開(kāi)發(fā)的針對(duì)STM32微處理器的Simulink庫(kù)STM32-MAT target工具箱實(shí)現(xiàn)從建立運(yùn)動(dòng)控制系統(tǒng)的仿真模型到自動(dòng)生成可讀寫(xiě)和可移植的C代碼工程文件,并在STM32微處理器上實(shí)際運(yùn)行。整個(gè)設(shè)計(jì)的流程大致分為5個(gè)步驟:

        1)建立仿真模型進(jìn)行模型在環(huán)仿真(MIL,model in the loop),建模仿真是一種模擬、分析和預(yù)測(cè)實(shí)際系統(tǒng)運(yùn)行的一種方法,其與實(shí)驗(yàn)有一定的區(qū)別。對(duì)于一些復(fù)雜的控制系統(tǒng),相對(duì)成本較高,通過(guò)建立仿真模型可以預(yù)測(cè)系統(tǒng)可能出現(xiàn)的問(wèn)題和風(fēng)險(xiǎn),提前采取措施以減少事故和損失。因此建模仿真可以提高系統(tǒng)的效率、減少風(fēng)險(xiǎn)和成本,優(yōu)化方案選擇,從而為系統(tǒng)的研究和決策提供有力支持。

        2)軟件在環(huán)仿真(SIL,software in the loop),軟件在環(huán)仿真是一種系統(tǒng)級(jí)仿真技術(shù),它通過(guò)在計(jì)算機(jī)上運(yùn)行虛擬系統(tǒng)來(lái)評(píng)估和驗(yàn)證嵌入式軟件的性能和功能。

        3)處理器在環(huán)仿真(PIL,processorin theloop),處理器在環(huán)仿真是一種廣泛應(yīng)用于嵌入式系統(tǒng)開(kāi)發(fā)中的仿真技術(shù)。在PIL仿真中,嵌入式處理器和相關(guān)外設(shè)被實(shí)際連接到仿真環(huán)境中,并與運(yùn)行在主機(jī)計(jì)算機(jī)上的軟件模擬器進(jìn)行交互。

        4)模型設(shè)置生成代碼的優(yōu)化,Matlab/Simulink平臺(tái)在基于模型設(shè)計(jì)中提供了兩方面的優(yōu)化方式:一種是通過(guò)改變模塊之間信號(hào)線的存儲(chǔ)類型從而改變代碼生成時(shí)的變量類型方式;另一種是在搭建控制算法模型時(shí)利用結(jié)構(gòu)化的思想將整個(gè)模型分解成一個(gè)個(gè)子系統(tǒng),并將代碼生成在自定義的文件的自定義函數(shù)中,以便于移植和調(diào)用[22]。以SVPWM算法為例,SVPWM算法模型設(shè)置生成代碼的優(yōu)化配置與其生成的代碼如圖3(a)所示,優(yōu)化后的生成代碼以函數(shù)形式單獨(dú)生成在自定義的文件中,函數(shù)名為自定義的名稱(如圖3(b)所示)。

        圖3 模型生成代碼的優(yōu)化配置

        5)配置微處理器模型的參數(shù)結(jié)合控制算法的模型利用MATLAB/Simulink自動(dòng)生成代碼,將其應(yīng)用到實(shí)驗(yàn)平臺(tái)進(jìn)行測(cè)試。

        4 基于模型設(shè)計(jì)的運(yùn)動(dòng)控制系統(tǒng)實(shí)驗(yàn)的案例

        以永磁同步電機(jī)的轉(zhuǎn)速、電流雙閉環(huán)控制系統(tǒng)為例,使用基于模型設(shè)計(jì)的方法,按照模型在環(huán)仿真、軟件在環(huán)仿真、處理器在環(huán)仿真最后到實(shí)驗(yàn)平臺(tái)進(jìn)行實(shí)物測(cè)試的順序來(lái)詳細(xì)介紹實(shí)驗(yàn)平臺(tái)如何實(shí)現(xiàn)從仿真到實(shí)物測(cè)試并通過(guò)實(shí)驗(yàn)結(jié)果來(lái)驗(yàn)證實(shí)驗(yàn)平臺(tái)的可行性。

        4.1 調(diào)節(jié)器設(shè)計(jì)

        在工程設(shè)計(jì)中,轉(zhuǎn)速、電流雙閉環(huán)控制系統(tǒng)的設(shè)計(jì)原則是先設(shè)計(jì)內(nèi)環(huán)再設(shè)計(jì)外環(huán),一般先設(shè)計(jì)電流環(huán),將其作為內(nèi)環(huán),確定電流調(diào)節(jié)器的設(shè)計(jì)方案后,把電流環(huán)等效成外環(huán)的一個(gè)環(huán)節(jié),再設(shè)計(jì)外環(huán)即轉(zhuǎn)速環(huán)[23]。

        對(duì)于電流環(huán)來(lái)說(shuō),它是控制系統(tǒng)的內(nèi)環(huán),主要負(fù)責(zé)控制電機(jī)的電流,因此電流環(huán)的好壞直接決定系統(tǒng)的穩(wěn)定與否。在電流瞬變的過(guò)程中,反電動(dòng)勢(shì)可以暫時(shí)被認(rèn)為是基本不變的,這是因?yàn)殡娏髯兓臅r(shí)間尺度遠(yuǎn)遠(yuǎn)快于電機(jī)轉(zhuǎn)速的變化時(shí)間尺度。因此,在瞬態(tài)過(guò)程中,可以忽略反電動(dòng)勢(shì)的作用,將電機(jī)視為一個(gè)純電阻負(fù)載進(jìn)行分析,簡(jiǎn)化控制系統(tǒng)的建模和控制器的設(shè)計(jì)。如圖4(a)所示為忽略反電動(dòng)勢(shì)影響的電流環(huán)動(dòng)態(tài)結(jié)構(gòu)圖。

        圖4 電流環(huán)結(jié)構(gòu)圖

        在電機(jī)控制過(guò)程中,通常需要進(jìn)行數(shù)字信號(hào)處理和模擬信號(hào)轉(zhuǎn)換。如圖4(b)所示,圖中A表示數(shù)字量電壓轉(zhuǎn)換為模擬量電壓的比值系數(shù),通過(guò)換算可將數(shù)字量電壓轉(zhuǎn)換成對(duì)應(yīng)的模擬電壓輸出給電機(jī)。B表示模擬量電流轉(zhuǎn)換為數(shù)字量電流的比值系數(shù),通過(guò)換算可將電機(jī)采樣的模擬電流信號(hào)轉(zhuǎn)換成對(duì)應(yīng)的數(shù)字量用于控制器內(nèi)部的計(jì)算。根據(jù)對(duì)應(yīng)關(guān)系通過(guò)公式(1)可得出A和B的值。

        (1)

        在公式(1)中,Vbus為母線電壓,kop為對(duì)應(yīng)電流傳感器上的電流與電壓的比值。在設(shè)計(jì)電流環(huán)時(shí),將其按照典型一型系統(tǒng)來(lái)設(shè)計(jì),所以采用PI調(diào)節(jié)器作為電流環(huán)的調(diào)節(jié)器。

        在設(shè)計(jì)速度環(huán)時(shí),將電流環(huán)作為其整個(gè)環(huán)節(jié)中的一個(gè)一階慣性環(huán)節(jié)來(lái)代替,速度環(huán)的動(dòng)態(tài)結(jié)構(gòu)圖如圖5所示。

        圖5 速度環(huán)動(dòng)態(tài)結(jié)構(gòu)圖

        為了消除轉(zhuǎn)速靜差并提高控制系統(tǒng)響應(yīng)速度和穩(wěn)定性,需要在負(fù)載擾動(dòng)作用點(diǎn)前添加一個(gè)積分環(huán)節(jié),并將其納入轉(zhuǎn)速調(diào)節(jié)器中。這將使系統(tǒng)能夠快速消除靜差,以提高系統(tǒng)響應(yīng)速度和穩(wěn)定性。由于轉(zhuǎn)速環(huán)開(kāi)環(huán)傳遞函數(shù)中已經(jīng)包含一個(gè)積分環(huán)節(jié)在擾動(dòng)作用點(diǎn)后面,因此需要設(shè)計(jì)成典型Ⅱ型系統(tǒng)[23],因此轉(zhuǎn)速調(diào)節(jié)器(ASR)也采用PI調(diào)節(jié)器。

        電流調(diào)節(jié)器和速度調(diào)節(jié)器具體設(shè)計(jì)方法參考文獻(xiàn)[23]中第四章的電流調(diào)節(jié)器與轉(zhuǎn)速調(diào)節(jié)器的設(shè)計(jì)部分。在設(shè)計(jì)調(diào)節(jié)器時(shí)需要注意的是:因?yàn)殡娏鳝h(huán)作為內(nèi)環(huán),其輸出值直接影響電機(jī)的電流,因此速度環(huán)的輸出值通常作為電流環(huán)的參考值。在速度環(huán)輸出的參考值經(jīng)過(guò)電流環(huán)控制后,得到電機(jī)的實(shí)際電流值,為了保證電機(jī)的安全運(yùn)行,需要對(duì)速度調(diào)節(jié)器的輸出值進(jìn)行限幅。在系統(tǒng)啟動(dòng)時(shí),由于電機(jī)的轉(zhuǎn)速為零,內(nèi)環(huán)控制器的輸出為最大值,如果沒(méi)有飽和限幅的約束,將會(huì)導(dǎo)致輸出電壓超過(guò)電機(jī)額定電壓,從而產(chǎn)生過(guò)大的電流,這可能會(huì)損壞電機(jī)或其他部件。因此,引入飽和限幅可以避免這種情況的發(fā)生,通過(guò)限制輸出電壓和電流來(lái)控制電機(jī)的加速度,減少啟動(dòng)過(guò)程中的超調(diào)量和啟動(dòng)電流的波動(dòng)。雖然飽和限幅可能會(huì)降低系統(tǒng)的響應(yīng)速度和啟動(dòng)效率,但是它可以有效地保護(hù)電機(jī)和系統(tǒng)組件,提高系統(tǒng)的可靠性和穩(wěn)定性。

        4.2 模型在環(huán)仿真

        對(duì)控制對(duì)象建立模型是實(shí)驗(yàn)流程的第一步,也是很重要的一個(gè)步驟。在建立模型時(shí)通過(guò)對(duì)被控對(duì)象參數(shù)進(jìn)行分析,利用Simulink中的物理建模工具箱(Simscape、Simmechanics、Simdriveline等)構(gòu)建控制對(duì)象模型,根據(jù)控制對(duì)象選擇合適的逆變器建立滿足需求的系統(tǒng)控制模型[24-25]。由于本次實(shí)驗(yàn)案例中的控制對(duì)象是永磁同步電機(jī),因此在構(gòu)建控制算法模型中使用了電壓空間矢量脈寬調(diào)制算法(SVPWM,space vector pulse width modulation)。如圖6所示為永磁同步電機(jī)的矢量控制框圖,其中控制對(duì)象模型只在仿真的階段中使用,在代碼生成時(shí)只對(duì)控制算法模型進(jìn)行生成C代碼的操作。

        圖6 矢量控制框圖

        根據(jù)矢量控制框圖,在Matlab/Simulink中建立仿真模型如圖7所示,搭建Clark坐標(biāo)變換模塊、Park坐標(biāo)變換模塊及其逆變換模塊、ACR調(diào)節(jié)器與ASR調(diào)節(jié)器模塊以及SVPWM控制算法模塊等構(gòu)成控制算法模型(如圖7(a)所示)。在控制算法模型中SpeedRef作為設(shè)定值為轉(zhuǎn)速調(diào)節(jié)器提供轉(zhuǎn)速目標(biāo)參考值;速度給定值與電機(jī)提供的三相電流值、轉(zhuǎn)子速度和位置為控制算法模型的輸入;輸出作為STM32的 CCR寄存器的設(shè)定值,通過(guò)改變CCR寄存器的值可以改變PWM輸出的脈寬從而控制電機(jī)的轉(zhuǎn)速。將控制算法模型封裝成新的模塊,命名為Speed and current double closed-loop control(如圖7(b)所示),在后續(xù)的SIL仿真和PIL仿真中通過(guò)直接調(diào)用該模塊進(jìn)行實(shí)驗(yàn)測(cè)試。

        圖7 MIL仿真

        4.3 軟件在環(huán)仿真

        軟件在環(huán)仿真具體的實(shí)現(xiàn)是通過(guò)建立軟件在環(huán)仿真模型,在SIL仿真中,硬件系統(tǒng)被替換為虛擬的模擬器或仿真器,而系統(tǒng)的軟件部分運(yùn)行在這個(gè)仿真環(huán)境中。這種仿真技術(shù)可以在早期階段驗(yàn)證系統(tǒng)的軟件部分的正確性和性能,從而降低系統(tǒng)集成的風(fēng)險(xiǎn)和成本。如圖8(a)所示,將圖7中的控制算法部分模型添加到待測(cè)模型Model中,在Simulink環(huán)境下將待測(cè)模型設(shè)置為SIL模式。在仿真運(yùn)行時(shí),SIL模型會(huì)調(diào)用外部實(shí)驗(yàn)平臺(tái)中的編譯器環(huán)境,將模型生成C代碼形式(如圖8(b)所示)在編譯器中運(yùn)行并將結(jié)果輸送到Simulink仿真環(huán)境中。在設(shè)計(jì)軟件在環(huán)仿真時(shí),將SIL模型與原模型并聯(lián)在一起仿真,在輸入相同的給定信號(hào)時(shí),比較兩個(gè)模型的輸出結(jié)果來(lái)判斷模型生成代碼的功能與其是否等效。

        圖8 SIL仿真

        通過(guò)圖9可以看出SIL仿真輸出轉(zhuǎn)速曲線基本貼合給定轉(zhuǎn)速曲線,且輸出轉(zhuǎn)速與MIL模式的輸出轉(zhuǎn)速差值基本穩(wěn)定在5 rpm左右,最大不超過(guò)16 rpm。SIL仿真測(cè)試結(jié)果表明通過(guò)SIL仿真可以驗(yàn)證生成的控制算法代碼在Simulink環(huán)境中與模型功能基本一致且能夠穩(wěn)定的運(yùn)行。

        圖9 SIL仿真輸出轉(zhuǎn)速

        4.4 處理器在環(huán)仿真

        在PIL仿真中,嵌入式處理器和相關(guān)外設(shè)被實(shí)際連接到仿真環(huán)境中,并與運(yùn)行在主機(jī)計(jì)算機(jī)上的軟件模擬器進(jìn)行交互。這種仿真技術(shù)利用Simulink使模型與硬件平臺(tái)協(xié)同工作,控制算法的模型在Simulink中以Normal仿真模式和PIL仿真模式兩種不同的模式運(yùn)行,Normal仿真模式以模型在環(huán)仿真形式在Simulink平臺(tái)中運(yùn)行,PIL仿真模式需要將PIL模型先生成嵌入式C代碼的形式,然后將其編譯為目標(biāo)文件載入到硬件平臺(tái)中去,硬件平臺(tái)與PC端通過(guò)串口通信方式建立連接,建立Simulink與硬件平臺(tái)中上微處理器之間的通信通路。在仿真運(yùn)行過(guò)程中Simulink的信號(hào)源模塊將當(dāng)前信號(hào)通過(guò)串口傳遞給硬件平臺(tái)的微處理器,經(jīng)過(guò)微處理器計(jì)算之后再將信號(hào)通過(guò)串口回傳到Simulink模型中,然后Simulink的信號(hào)源模塊再傳入下一個(gè)采樣點(diǎn)信號(hào),重復(fù)上述操作。將PIL仿真結(jié)果與MIL模式仿真的結(jié)果進(jìn)行比較,通過(guò)測(cè)試在給定相同的輸入?yún)?shù)兩種仿真模式下的輸出值并做對(duì)比看其差值是否在合理范圍內(nèi)來(lái)驗(yàn)證系統(tǒng)的性能和功能[25]。

        在對(duì)圖8(a)中模型進(jìn)行SIL仿真驗(yàn)證后,將其控制算法模塊部分改成PIL模式,并在Simulink平臺(tái)中通過(guò)Code generation 下的STM32 options中更新STM32CubeMX的路徑。在仿真運(yùn)行之前,Simulink平臺(tái)會(huì)根據(jù)路徑啟動(dòng)STM32CubeMX并配置硬件平臺(tái)微處理器串口通訊的對(duì)應(yīng)參數(shù)。利用STM32CubeMX將其生成C工程文件并利用Keil5編譯環(huán)境對(duì)工程文件編譯并載入到微處理器中驗(yàn)證其能否在微處理器中正常運(yùn)行,最后確定硬件平臺(tái)與PC端串口通訊正常之后在Simulink平臺(tái)中運(yùn)行模型仿真,并通過(guò)在Simulink中通過(guò)調(diào)用Scope模塊獲取PIL仿真的結(jié)果與MIL仿真的結(jié)果。

        從圖10可以直觀的看出在相同的給定轉(zhuǎn)速下,PIL仿真輸出的轉(zhuǎn)速與MIL模式仿真輸出的轉(zhuǎn)速軌跡基本吻合,且兩者的誤差穩(wěn)定在8 rpm以內(nèi)。PIL仿真測(cè)試結(jié)果表明通過(guò)PIL仿真可以驗(yàn)證生成的控制算法代碼在Simulink環(huán)境中與模型功能基本一致且能夠穩(wěn)定的運(yùn)行,進(jìn)一步驗(yàn)證了控制算法模型及其生成的C代碼工程的可行性。

        圖10 PIL仿真

        4.5 實(shí)驗(yàn)平臺(tái)實(shí)物測(cè)試

        模型經(jīng)過(guò)PIL仿真測(cè)試驗(yàn)證后,利用實(shí)驗(yàn)平臺(tái)的真實(shí)環(huán)境對(duì)控制算法的可行性進(jìn)行驗(yàn)證,將實(shí)驗(yàn)平臺(tái)中的驅(qū)動(dòng)器和永磁同步電機(jī)替代仿真模型中模擬的控制對(duì)象部分。為了達(dá)到和仿真類似的效果,仿真中的電流反饋環(huán)節(jié)與轉(zhuǎn)速反饋環(huán)節(jié)將由硬件平臺(tái)中的傳感器以及采樣電路代替。在生成C代碼工程前,需要配置STM32微處理器的相關(guān)參數(shù)以及搭建STM32微處理器外設(shè)程序的相關(guān)模型。

        通過(guò)Matlab/Simulink界面在Model Configuration Parameters中將Code Gengration的系統(tǒng)目標(biāo)文件(System target file)更改為stm32.tlc。然后設(shè)置更新STM32 Options中的兩個(gè)路徑STM32CubeMX installation path和Installed Full Path。STM32CubeMX的路徑更新后,在Simulink中添加MCU config功能塊,通過(guò)MCU config功能塊中的Start STM32CubeMX configuration tool選項(xiàng)便可啟動(dòng)STM32CubeMX軟件對(duì)微處理器參數(shù)進(jìn)行設(shè)置修改。確認(rèn)微處理器參數(shù)后,在Simulink界面點(diǎn)擊Build Model進(jìn)行C代碼生成操作,Matlab/Simulink會(huì)結(jié)合STM32CubeMX軟件自動(dòng)生成STM32工程文件。將生成的STM32工程文件放在Keil5環(huán)境中編譯并載入驅(qū)動(dòng)器的微處理器中,最后通過(guò)實(shí)驗(yàn)平臺(tái)進(jìn)行實(shí)物測(cè)試。

        本次實(shí)驗(yàn)使用矢量控制(如圖6所示)的方法來(lái)搭建永磁同步電機(jī)轉(zhuǎn)速、電流雙閉環(huán)控制系統(tǒng)模型??刂葡到y(tǒng)模型中的微處理器芯片選擇的是意法半導(dǎo)體的STM32G-474VET6,代碼自動(dòng)生成的模型整體結(jié)構(gòu)如圖11(a)所示,在設(shè)計(jì)搭建模型時(shí)從生成程序代碼運(yùn)行邏輯的角度考慮,將本次實(shí)驗(yàn)的執(zhí)行程序放在ADC的EOC(End Of Conversion)事件和Timers的Break事件兩個(gè)中斷中去執(zhí)行。其中定時(shí)器的break中斷放在TIM1的BRK中斷中,為了防止實(shí)驗(yàn)平臺(tái)在進(jìn)行實(shí)物測(cè)試實(shí)驗(yàn)時(shí)電路中出現(xiàn)過(guò)流損壞電路的事件發(fā)生;將控制算法部分模型放在ADC的EOC中斷中,以確保在執(zhí)行控制算法程序時(shí)ADC已采集到反饋的電流并更新結(jié)束。

        圖11 STM32控制模型圖

        在對(duì)定時(shí)器的參數(shù)進(jìn)行配置時(shí),除了配置輸出PWM控制電機(jī)的參數(shù)外,還需要額外配置一個(gè)通道(該通道不需要設(shè)置輸出)作為ADC的外部觸發(fā)源用來(lái)觸發(fā)ADC的采樣。此外將TIM3設(shè)置為編碼器模式(Encoder Mode + index),其中TIM3的通道1和通道2作為增量式編碼器A相與B相的采集接口;ADC1的通道1和通道5分別作為電機(jī)B相電流和C相電流采集接口;TIM1的通道1、通道2和通道3與其互補(bǔ)通道作為PWM輸出接口(如圖11(b)所示)。

        在Matlab/Simulink中模型自動(dòng)生成代碼的過(guò)程時(shí),模型生成的代碼通常會(huì)使用結(jié)構(gòu)體來(lái)表示模型中的各個(gè)模塊及其信號(hào)連接關(guān)系。這些結(jié)構(gòu)體在程序運(yùn)行時(shí)會(huì)被實(shí)例化為具體的變量,并通過(guò)變量名來(lái)調(diào)用結(jié)構(gòu)體成員。在對(duì)模型進(jìn)行代碼優(yōu)化時(shí),將部分復(fù)雜的仿真模型設(shè)置為可重復(fù)使用的功能(Reusable function)。

        相對(duì)于非可重復(fù)使用的功能(Noreusable function),對(duì)于一些復(fù)雜的仿真模型來(lái)說(shuō)Reusable function模式的性能會(huì)更好。在代碼可讀性方面,Nonreusable function模式的程序可能會(huì)包含多個(gè)單獨(dú)的函數(shù),相比之下,Reusable function模式的程序會(huì)更易于理解。對(duì)于電機(jī)控制來(lái)說(shuō),處理器的運(yùn)行時(shí)間是非常關(guān)鍵的,因此需要盡可能地優(yōu)化代碼,在對(duì)參數(shù)類型進(jìn)行設(shè)置時(shí),根據(jù)模型之間的信號(hào)關(guān)系可考慮將參數(shù)類型設(shè)為定點(diǎn)數(shù)的形式以減少計(jì)算時(shí)間和提高控制性能。

        在模型中根據(jù)需求對(duì)代碼的優(yōu)化操作設(shè)置后進(jìn)行仿真的最后一步操作:生成代碼。使用Keil5編譯環(huán)境對(duì)生成的C代碼工程文件進(jìn)行編譯并載入STM32微處理器。在電機(jī)運(yùn)行時(shí)通過(guò)串口將電機(jī)實(shí)時(shí)速度傳送到PC端,如圖12(b)所示,對(duì)比圖7(c)仿真中速度曲線可以看出,在平臺(tái)實(shí)物測(cè)試中電機(jī)的實(shí)時(shí)輸出轉(zhuǎn)速曲線與仿真基本一致,驗(yàn)證了實(shí)驗(yàn)平臺(tái)的可行性。

        圖12 實(shí)驗(yàn)平臺(tái)實(shí)物測(cè)試

        5 結(jié)束語(yǔ)

        本文針對(duì)傳統(tǒng)運(yùn)動(dòng)控制系統(tǒng)課程實(shí)驗(yàn)平臺(tái)的不足,設(shè)計(jì)了一個(gè)基于Matlab的運(yùn)動(dòng)控制系統(tǒng)的實(shí)驗(yàn)平臺(tái)。首先給出了實(shí)驗(yàn)平臺(tái)的總體設(shè)計(jì)方案并介紹了實(shí)驗(yàn)平臺(tái)的功能及其硬件結(jié)構(gòu);然后介紹了實(shí)驗(yàn)平臺(tái)應(yīng)用基于模型的設(shè)計(jì)方法實(shí)現(xiàn)代碼自動(dòng)生成,并對(duì)基于模型設(shè)計(jì)的開(kāi)發(fā)流程進(jìn)行了詳細(xì)的闡述;最后通過(guò)案例永磁同步電機(jī)轉(zhuǎn)速、電流雙閉環(huán)控制系統(tǒng)在實(shí)驗(yàn)平臺(tái)經(jīng)過(guò)模型在環(huán)仿真、軟件在環(huán)仿真、處理器在環(huán)仿真最后到實(shí)驗(yàn)平臺(tái)進(jìn)行實(shí)物測(cè)試的流程來(lái)驗(yàn)證實(shí)驗(yàn)平臺(tái)的優(yōu)點(diǎn)及其可行性和有效性。

        猜你喜歡
        實(shí)驗(yàn)模型設(shè)計(jì)
        一半模型
        記一次有趣的實(shí)驗(yàn)
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        做個(gè)怪怪長(zhǎng)實(shí)驗(yàn)
        瞞天過(guò)?!律O(shè)計(jì)萌到家
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        3D打印中的模型分割與打包
        NO與NO2相互轉(zhuǎn)化實(shí)驗(yàn)的改進(jìn)
        1000部精品久久久久久久久| 国产精品日韩av一区二区| 大奶白浆视频在线观看| 日射精情感性色视频| 狠狠噜天天噜日日噜| 特一级熟女毛片免费观看| 美腿丝袜视频在线观看| 国产三级a三级三级| 欧美日韩一区二区综合| 国产香蕉尹人综合在线观| 日本一区二区三区在线观看免费 | 蜜桃视频在线免费观看完整版| av成人一区二区三区| 成年女人a毛片免费视频| 精品久久久久久久久久久aⅴ| 国产亚洲av人片在线播放| 亚洲综合中文字幕日韩| 人妻少妇无码精品视频区| 尤物yw无码网站进入| 性色av成人精品久久| 美女丝袜美腿玉足视频| 99视频30精品视频在线观看| 国产白丝在线| 亚洲日本一区二区在线观看| 亚洲高清中文字幕视频| 人人爽久久涩噜噜噜av| 久久半精品国产99精品国产| 蜜桃人妻午夜精品一区二区三区| 亚洲日韩成人无码| 性xxxx视频播放免费| 欧美亚洲尤物久久综合精品| av免费资源在线观看| 夜夜揉揉日日人人青青| 国产精品亚洲一区二区无码国产| av免费一区在线播放| 亚洲成av人片女在线观看| 色欲av自慰一区二区三区| 日本高清色惰www在线视频| 精品国产亚洲一区二区三区四区| 国产精品免费av片在线观看| 国产草草视频|