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

来源: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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...