国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

永磁同步電機控制自動代碼生成的研究

2021-10-20 10:41吳政江李建貴黃玉祥
機械設計與制造 2021年10期
關鍵詞:代碼生成控制算法代碼

吳政江,李建貴,黃玉祥

(1.武漢理工大學機電工程學院,湖北 武漢430070;2.湖北江山重工有限責任公司,湖北 襄陽441057)

1 引言

由于永磁同步電機具有效率高、調速范圍大、體積小、發(fā)熱小等優(yōu)點,現(xiàn)已廣泛應用在新能源汽車上,隨著新能源汽車制造技術的飛速發(fā)展,對PMSM性能的控制要求也越來越高,人們也越來越要求新能源汽車的安全性、可操作性和特定功能,這對于汽車嵌入式系統(tǒng)的開發(fā)也就越來越嚴格[1]。為了滿足不同電動汽車上的控制需求,如今已將很多智能控制算法應用到了電機控制中,并取得了很好的控制效果。

控制算法的推陳出新對其嵌入式代碼實現(xiàn)提出了很大的挑戰(zhàn),同時電機控制代碼的規(guī)模和復雜度將成倍增加。傳統(tǒng)的嵌入式系統(tǒng)開發(fā)與控制算法是分開設計與實現(xiàn)的,仿真模型調試成功后需要手工編寫控制代碼,這樣的開發(fā)方式不僅效率低下,而且魯棒性也差。

采用基于模型開發(fā)的方法(MBD)可以有效降低電機控制算法開發(fā)的難度,在MATLAB環(huán)境下通過建模和仿真來獲得從需求到設計、實現(xiàn)和測試,使系統(tǒng)模型成為開發(fā)過程的核心?;谒x控制算法在Simulink環(huán)境下搭建控制系統(tǒng)仿真模型,按照功能要求進行配置優(yōu)化后,將仿真模型轉化為嵌入式代碼生成模型再自動生成目標程序代碼,在整個過程中不需要手動編寫程序,這明顯提高了開發(fā)效率。傳統(tǒng)電機控制嵌入式系統(tǒng)開發(fā)模式與基于模型開發(fā)方法的對比如表1所示[2]。

表1 傳統(tǒng)開發(fā)模式與基于模型開發(fā)方法的對比Tab.1 Comparison Between Traditional and Model-Based Development Method of Embedded System Model

現(xiàn)采用MBD的方法,以基于模糊自適應PID控制算法的永磁同步電機控制系統(tǒng)為例說明其開發(fā)流程。首先介紹了MBD電機控制系統(tǒng)開發(fā)流程,其次介紹了模糊自適應PID控制算法原理及Matlab模糊控制器的設計,在Simulink中建立了基于該算法的PMSM矢量控制模型,并把調試成功的仿真模型轉化為嵌入式代碼生成模型,最后將自動生成的代碼導入TMS320F28335控制箱進行測試,以驗證代碼的正確性和高效性。

2 MBD電機控制系統(tǒng)開發(fā)流程

MBD是以實時軟件為開發(fā)平臺,實現(xiàn)快速的算法建模、微控制器驅動集成、代碼自動生成、軟件/處理器/硬件在環(huán)測試等,MBD電機控制系統(tǒng)開發(fā)的實現(xiàn)過程,如圖1所示[3]。首先在Simulink環(huán)境中構建電機控制系統(tǒng)的仿真模型,然后將模型改成可以用于自動代碼生成的模型,緊接著把生成的代碼下載到DSP開發(fā)板中編譯運行。在整個過程中,只需搭建模型,完成系統(tǒng)的設計,使用嵌入式代碼的全自動生成技術,不需手工編寫代碼,即可獲得實用高效的控制代碼。

圖1 MBD電機控制系統(tǒng)開發(fā)實現(xiàn)過程Fig.1 MBD Motor Control System Development Process

3 模糊自適應PID控制器設計

模糊自適應PID控制算法主體思想是將模糊控制中的模糊推理與傳統(tǒng)PID控制結合起來,利用模糊控制規(guī)則對PID的參數(shù)進行自適應整定,使被控對象保持在良好的動、靜態(tài)穩(wěn)定狀態(tài),根據(jù)不同偏差e和偏差變化率ec,即時輸出新的PID參數(shù),與傳統(tǒng)的PID控制相比,該算法更加靈活和穩(wěn)定[4]。

3.1 輸入量的模糊化

模糊控制器的輸入為設定轉速與反饋轉速誤差e和其誤差變化率ec,輸出量為比例、積分、微分的修正系數(shù)Δkp,Δki,Δkd。在系統(tǒng)運行的不同時刻,e和ec值是不斷變化的,由模糊自適應PID控制器原理可知,在不同時刻均有最適合的PID參數(shù)輸出[5]。

模糊控制器處理的模糊語言變量,所以需要將輸入量模糊化才能利用模糊規(guī)則實時修改PID的三個參數(shù),選取模糊集合{NB,NM,NS,ZO,PS,PM,PB}作 為 輸 入 量e、ec和 輸 出 量Δkp、Δki、Δkd的取值范圍??梢詤⒄瘴墨I[5]建立各個變量的模糊規(guī)則表,之后再對e和ec進行模糊化處理,可得出相應的隸屬度,利用所得出的隸屬度及相應隸屬度的橫坐標帶入下式再求出Δkp、Δki、Δkd。

式中:kp、ki、kd-PID控制器的設定值。

3.2 模糊控制器的設計

在Matlab的在Command Window輸入fuzzy命令,回車,添加兩個輸入變量e和ec,三個輸出變量Δkp、Δki和Δkd,規(guī)定每個變量的取值范圍,以Δki為例說明其隸屬度函數(shù)及取值范圍的選取,如圖2(a)所示。按照既定的模糊規(guī)則表,添加Δkp、Δki、Δkd的模糊規(guī)則,完成之后,點擊view-Rule,任意拖動e或者ec的刻度線,Δkp、Δki、Δkd的值會不斷變化,如圖2(b)所示。

4 系統(tǒng)建模與代碼自動生成

4.1 搭建基于模糊自適應PID算法仿真模型

采用id=0的控制方式搭建的PMSM矢量控制仿真模型,控制框圖如圖3所示[6],其中在轉速環(huán)控制中引入模糊自適應PID控制算法,它的輸出為q軸電流參考值;電流環(huán)控制采用PID控制器,它的輸出為d,q軸電壓參考值;逆變器采用SVPWM調制方式。

圖3 PMSM id=0矢量控制框圖Fig.3 PMSM id=0 Vector Control Block Diagram

依據(jù)以上分析,搭建的PMSM控制系統(tǒng)仿真模型,如圖4所示。模糊自適應PID算法的模型,如圖4(a)所示?;诖怂惴ǖ腜MSM控制系統(tǒng)仿真模型,如圖4(b)所示。

圖4 PMSM控制系統(tǒng)仿真模型Fig.4 PMSM Control System Simulation Model

4.2 系統(tǒng)仿真

仿真參數(shù)設定如下:設定轉速3000r/min,相電阻R=18.7Ω;定子繞組自感L=0.026H;轉動慣量J=2.26e-5kg.m2,仿真中設置的輸入電壓為400V,仿真時長為0.75s,并在0.6s時加入負載,仿真得到的轉速波形如圖5所示,從波形可以看出,電機速度響應快,無超調,加入負載后,速度波動較小,并能很快恢復到穩(wěn)定狀態(tài),進而也驗證了模糊自適應PID控制算法的優(yōu)越性。

圖5 PMSM仿真速度波形Fig.5 PMSM Simulation Speed Waveform

4.3 代碼生成與運行測試

4.3.1 自動生成代碼的一般流程

自動代碼生成的一般流程,如圖6所示。首先是代碼生成解析,從model.slx轉換到model.rtw,解析出來的.rtw是一個文這里件,它描述了所有輸入、輸出、參數(shù)、狀態(tài)等模型的配置和屬性信息;其次是目標語言編譯,Embedded Coder會使用Target Language Compiler是代碼生成工具去執(zhí)行.tlc文件,將model.rtw轉換到model.c和model.h文件,其中還包括與算法相關聯(lián)的main文件。Embedded Target for the TI TMS320C2000 DSP Platform產品為TI C2000 DSP實時應用開發(fā)的整個過程,從概念設計到代碼的軟件測試整個流程都提供了支持,將現(xiàn)有C代碼與標準控制庫模塊整合,可實現(xiàn)設計效率最大化,這也提供了一種非??焖俚碾姍C驅動設計方法。

圖6 自動代碼生成流程Fig.6 Automatic Code Generation Process

在上述仿真模型的基礎上去掉硬件連接部分,利用DMC模塊和IQmath模塊搭建嵌入式代碼生成模型,如圖7(a)所示。其中FOC控制模型,如圖7(b)所示。因為,DMC中的PID、Clark變換、Park變換、反Park變換等模塊的輸入信號都需是定點Q格式,所以還要對輸入信號進行規(guī)范化和格式化,以ADC采樣數(shù)據(jù)處理模塊為例,如圖7(c)所示,通過圖示各個模塊可完成對數(shù)據(jù)的定點處理[7]。

圖7 代碼生成模型的建立Fig.7 Code Generation Model Creation

4.3.2 嵌入式代碼生成模型的建立

在生成代碼之前可以根據(jù)Model Advisor檢查意見對模型進行優(yōu)化,一般可以增加代碼的可讀性,提高代碼的執(zhí)行效率。優(yōu)化配置完成后,在圖7所示的代碼生產模型中,點擊Simulink界面的Build Model按鈕,即可一次性生成控制代碼。

5 代碼測試與結果分析

將控制代碼導入到TMS320F28335控制箱,編譯并運行,編譯結果,如圖8所示。實驗在CCS軟件中監(jiān)測電流采樣值、矢量控制中的各個變量數(shù)據(jù)及轉速波形,如圖9所示。

圖8 代碼編譯結果Fig.8 Code Compilation Result

圖9 數(shù)據(jù)監(jiān)測與轉速波形Fig.9 Data Monitoring and Speed Waveform

實驗結果表明,引入模糊自適應PID控制算法后,使得電機具有更優(yōu)的動態(tài)性能,速度波形與仿真結果基本相符,可以看出代碼運行正確。

6 結語

主要研究了基于模型開發(fā)方法的PMSM控制代碼自動生成的詳細過程,在電機控制的速度環(huán)中引入了模糊自適應PID算法,建立了控制系統(tǒng)仿真模型并轉化成了嵌入式代碼生成模型,最后將生成的代碼導入到試驗箱進行了測試,代碼成功運行。由此可見將基于模型設計的開發(fā)方法運用到PMSM控制系統(tǒng)的開發(fā)中,可高效完成核心控制算法的開發(fā)與驗證工作,能大大縮短了開發(fā)周期。

猜你喜歡
代碼生成控制算法代碼
Lustre語言可信代碼生成器研究進展
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
基于ARM+FPGA的模塊化同步控制算法研究
代碼生成技術在軟件開發(fā)中的應用
基于XML的代碼自動生成工具
一種優(yōu)化的基于ARM Cortex-M3電池組均衡控制算法應用
一種非圓旋轉工件支撐裝置控制算法
仁化县| 平凉市| 武鸣县| 蒙山县| 六安市| 清原| 宁晋县| 蕲春县| 防城港市| 葫芦岛市| 韶山市| 武川县| 连城县| 醴陵市| 胶州市| 普定县| 平塘县| 正阳县| 横山县| 裕民县| 垫江县| 白朗县| 双江| 正安县| 榕江县| 梓潼县| 连江县| 孟村| 盱眙县| 伽师县| 铜山县| 玛纳斯县| 通榆县| 漳平市| 玉林市| 福海县| 台中市| 沙湾县| 银川市| 青海省| 尼木县|