對自動變速器的控制器建模

来源:https://www.cnblogs.com/52geek/archive/2019/02/23/10424708.html
-Advertisement-
Play Games

此示例說明如何使用 Simulink® 對汽車傳動系統建模。Stateflow® 通過表示變速器控制邏輯來增強 Simulink 模型。Simulink 為動態系統和過程的建模和模擬提供了強大的環境。但在許多系統中,更改模式或調用新增益規律等監管功能必須響應可能發生的事件以及隨時間發展變化的情況。因 ...


此示例說明如何使用 Simulink® 對汽車傳動系統建模。Stateflow® 通過表示變速器控制邏輯來增強 Simulink 模型。Simulink 為動態系統和過程的建模和模擬提供了強大的環境。但在許多系統中,更改模式或調用新增益規律等監管功能必須響應可能發生的事件以及隨時間發展變化的情況。因此,環境需要一種能夠管理這些多重模式和不斷發展變化的情況的語言。在以下示例中,Stateflow 通過在自動變速中執行擋位選擇功能來展示其在這一能力方面的優勢。通過在 Simulink 模塊圖中合併 Stateflow 模塊,此功能與傳動系統動態自然且直觀地結合在一起。

分析和物理原理

圖 1 顯示了典型汽車傳動系統中的功率流。幾個非線性常微分方程對發動機、四速自動變速器和車輛進行建模。此示例中討論的模型直接將圖 1 中的模塊實現為模塊化 Simulink 子系統。另一方面,變速器控制單元 (TCU) 中的邏輯和決策不適合用廣為接受的方程表示。TCU 更適用於 Stateflow 表示。Stateflow 監視與系統中的重要關係相對應的事件,併在事件發生時採取適當的措施。

 

 

圖 1:傳動系統的通用模塊圖

節氣門開度是發動機的輸入之一。發動機與液力變矩器的泵輪相聯,並通過液力變矩器與變速器耦合(參見方程 1)。

方程 1

液力變矩器的輸入-輸出特征可以表示為發動機轉速和渦輪轉速的函數。在此示例中,功率流的方向始終假定為從泵輪到渦輪(參見方程 2)。

方程 2

變速器模型通過靜態齒輪比實現(假定換擋時間短)(參見方程 3)。

方程 3

主減速比、轉動慣量和動態變化的負載,共同構建了整車動力學模型。(參見方程 4)

方程 4

負載扭矩包括道路負載和制動扭矩。道路負載是摩擦損失和空氣動力損失之和(參見方程 5)。

方程 5

模型根據圖 2 所示的規律設定變速器的換擋點。對於給定擋位下的給定節氣門,升擋時具有唯一的車輛速度。降擋時類似。

 

 

圖 2:換擋規律

建模

打開此模型,請在 MATLAB® 終端中鍵入 sldemo_autotrans。初始條件在模型工作區中設置。

該模型的頂層圖如圖 3 所示。要運行模擬,請按模型視窗中的工具欄上的 Play 按鈕。請註意,模型將相關數據以名為 sldemo_autotrans_output 的數據結構體記錄到 MATLAB 工作區中。記錄的信號具有藍色指示標記(參見圖 3)。在運行模擬後,您可以通過在 MATLAB 命令行視窗中輸入 sldemo_autotrans_output 來查看數據結構體的組成。另請註意,單位顯示在子系統圖標和信號線上。要瞭解有關 Simulink 中的單位的詳細信息,請參閱 Simulink 單位

圖 3:模型圖和採樣模擬結果(超車動作)

建模

圖 3 所示的 Simulink 模型由代表發動機、變速器和車輛的模塊組成,並且額外有一個換擋邏輯模塊,用於控制變速器的傳動比。模型的用戶輸入由節氣門(以百分比給出)和制動扭矩(以 ft-lb 為單位給出)組成,通過 ManeuversGUI 界面可以輸入節氣門和制動扭矩。

Engine 子系統包含一個二維表,該二維表對發動機扭矩與節氣門和發動機轉速的關係進行插值。圖 4 顯示了複合的 Engine 子系統。在模型中雙擊此子系統可查看其結構。

圖 4:Engine 子系統

TorqueConverter 和 TransmissionRatio 模塊構成了 Transmission 子系統,如圖 5 所示。在模型視窗中雙擊 Transmission 子系統可查看其組件。

圖 5:Transmission 子系統

TorqueConverter 是一個封裝子系統,它實現了方程 2。要打開此子系統,請右鍵點擊它,然後從下拉菜單中選擇 Mask > Look Under Mask。封裝需要速度比 (Nin/Ne) 向量以及 K 繫數 (f2) 和扭矩比 (f3) 的向量。圖 6 顯示了 TorqueConverter 子系統的實現。

圖 6:液力變矩器子系統

變速器速比模塊根據表 1 確定傳動比,並根據方程 3 計算出變速器的輸出扭矩和輸入轉速,如圖 7 所示的子系統模型在扭矩和轉速方面體現了傳動比。

表 1:變速器齒輪比

gear     Rtr = Nin/Ne
 1         2.393
 2         1.450
 3         1.000
 4         0.677

圖 7:變速器齒輪比子系統

標記為 ShiftLogic 的 Stateflow 模塊實現變速器的擋位選擇。在模型視窗中雙擊 ShiftLogic 可打開 Stateflow 圖。利用 Model Explorer 將輸入定義為節氣門和車輛速度,將輸出定義為所需的擋位數。兩個用虛線圍起來的 AND 狀態跟蹤擋位狀態和擋位選擇過程的狀態。整體圖作為一個離散時間系統執行,每 40 毫秒採樣一次。圖 8 所示的 Stateflow 圖展示了模塊的功能。

圖 8:變速器換擋邏輯的 Stateflow 圖

可以在模擬期間通過啟用 Stateflow 調試器中的動畫來觀察換擋邏輯行為。selection_state(始終處於活動狀態)通過執行其 during 函數所示的計算來開始。該模型根據擋位和節氣門的瞬時值計算升擋和降擋速度閾值。在處於 steady_state 時,模型將這些值與當前車輛速度進行比較以確定是否需要換擋。如果需要,它將進入確認狀態之一(upshifting 或 downshifting),該狀態會記錄進入該狀態的時間。

如果車輛速度不再滿足換擋條件,當處於確認狀態時,模型將忽略換擋並轉移回 steady_state。這樣可以防止外部雜訊情況導致的換擋。如果換擋條件在 TWAIT 個時刻的持續時間內保持有效,模型將通過下聯接點轉移,並且根據當前擋位,將廣播換擋事件。隨後,模型在通過一個中央聯接點轉移後再次激活 steady_state。廣播到 gear_selection 狀態的換擋事件將激活到適當新擋位的轉移。

例如,如果車輛以 25% 的節氣門開度在第二擋行進,狀態 second 在 gear_state 內處於活動狀態,steady_state 在 selection_state 中處於活動狀態。後者的 during 函數會發現應在車輛超過 30 mph 時升擋。在滿足此條件的時刻,模型進入 upshifting 狀態。在此狀態下,如果車輛速度在 TWAIT 個時刻內保持 30 mph 以上,模型將滿足引至右下聯接點的轉移條件。這也滿足在從這裡轉移至 steady_state 時的條件 [|gear == 2|],因此模型此時會從 upshifting 整體轉移至 steady_state,並將事件 UP 廣播為轉移操作。最終,在 gear_state 中從二擋轉移到三擋,從而完成換擋邏輯。

Vehicle 子系統(圖 9)使用凈扭矩來計算加速度,並對其積分以計算車輛速度(根據方程 4 和方程 5)。Vehicle 子系統為封裝子系統。要查看 Vehicle 模塊的結構,請右鍵點擊它,然後從下拉菜單中選擇 Mask > Look Under Mask。在封裝菜單中輸入的參數,包括主減速比、摩擦阻力繫數和空氣動力阻力繫數、車輪半徑、整車慣量以及初始變速器輸出轉速。

圖 9:Vehicle 子系統(封裝)

結果

模擬中使用的發動機扭矩圖和液力變矩器特性如圖 10 和圖 11 所示。

圖 10:發動機扭矩圖

圖 11:液力變矩器特性(參見圖 5 和方程 2)

第一個模擬(超車動作)使用表 2 中給出的節氣門規律(此數據經過線性插值)。

表 2:第一個模擬(超車動作)的節氣門規律

Time (sec)    Throttle (%)
  0             60
 14.9           40
 15            100
100              0
200              0

第一列對應的是時間;第二列對應的是節氣門開度(百分比)。在這種情況下,未施加制動(制動扭矩為零)。車輛速度從零開始,發動機轉速從 1000 RPM 開始。圖 12 顯示了使用預設參數的基準結果圖。如果駕駛員在 t=0 時節氣門開度給到 60%,發動機會立即以超過其雙倍轉速的方式予以響應。這會在液力變矩器上產生低轉速比,從而得到大扭矩比(參見圖 6 和圖 11)。車輛快速加速(沒有對輪胎滑移進行建模),並且發動機和車輛會一直提速直至大約 t = 2 sec 時,此時將從 1 擋升至 2 擋。發動機轉速特性曲線驟降,然後恢復加速。2 擋升至 3 擋和 3 擋升至 4 擋分別在大約 4 秒鐘和 8 秒鐘時發生。請註意,由於整車慣量較大,車輛速度要平滑得多。

圖 12:超車動作模擬時間歷史記錄

在 t=15sec 時,駕駛員將節氣門開度給到 100%,這可能是超車動作的典型情況。變速器降至 3 擋,發動機轉速從大約 2600 RPM 跳至大約 3700 RPM。因此,發動機扭矩會略微增加,變速器的機械效益也會略微增大。在持續重節氣門下,車輛加速至大約 100 mph,然後在大約 t = 21 sec 換擋至超速擋。在模擬的其餘部分,車輛以第四擋位行駛。雙擊 ManeuversGUI 模塊並使用圖形界面更改節氣門和制動歷史記錄。

關閉模型

關閉模型並清除生成的數據。

結論

此基本系統可以通過模塊化的方式輕鬆增強,例如將發動機或變速器替換為更複雜的模型。因此,我們可以在此結構內通過漸進式優化來構建大型系統。Stateflow 控制邏輯與 Simulink 信號處理的無縫集成使我們能夠構造高效且直觀的模型。

關註公眾號: MATLAB基於模型的設計 (ID:xaxymaker) ,每天推送MATLAB學習最常見的問題,每天進步一點點,業精於勤荒於嬉

 打開微信掃一掃哦!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 上一篇我們說到大文件的分片下載、斷點續傳、秒傳,有的博友就想看分片下載,我們也來總結一下下載的幾種方式,寫的比較片面,大家見諒^_^。 下載方式: 1、html超鏈接下載; 2、後臺下載(四種方法:返回filestream、返回file、TransmitTile方法、Response分塊下載)。 1 ...
  • //定義變數 bool a = false; //正則表達式 string b = @" ^ (13[0 - 9] | 14[5 | 7] | 15[0 | 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9] | 18[0 | 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9]) ...
  • 最近正在使用SUSE系統,因為項目環境是沒有外網的。 網上查找SUSE的資料比較少,於是整理了一下,希望對有需要的人有一點點幫助。 "SUSE12Sp3安裝配置.net core 生產環境(1) IP,DNS,網關,SSH,GIT" "SUSE12Sp3安裝配置.net core 生產環境(2) 離 ...
  • listbox使用DataSource進行數據綁定和刪除,大家肯定都會,寫這個隨筆只是因為。。。。這是一年半以前剛進公司的我遺留的bug,現在看看當時竟然沒有解決 - -現在寫個測試程式,寫個隨筆記錄一下,當時萌新的我。。。首先聲明瞭一個類,要綁定的類型。 //聲明一個全局集合 public Lis ...
  • 定時任務 Wpf.Quartz.Demo.1已經能運行了,本節開始用wpf搭界面。 準備工作: 1.界面選擇MahApp.Metro 在App.xaml添加資源 <Application.Resources> <ResourceDictionary> <ResourceDictionary.Merg ...
  • Quartz 是個開源的作業調度框架. 安裝:Install-Package Quartz 官網文檔地址:https://www.quartz-scheduler.net/documentation/quartz-3.x/tutorial/using-quartz.html 資源比較多,這裡不做介紹 ...
  • Arduino IDE是最難用又最好用的單片機IDE,沒有之一!難用之處在於沒有自動補全(這一點最是難受,但又最是無處說理),庫文檔也常常不全,時不時就要開Source Insight看看庫文件的源代碼,很是麻煩;好用之處則在於庫管理和開發板管理極為方便,調用某個庫的時候需要#include的頭文件 ...
  • 1.Linux命令: ls >查看列表(藍色為文件夾,白色為文件) ls -a >顯示包括隱藏文件的所有文件 ls -l >以列表的形式顯示 ls -lh >類似於ls -l ls -i >顯示編號 sl、LS >跑火車 la >查看所有目錄及文件 ls > a.text >重定向 cmatrix ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...