控制教程 —— 介紹篇:10.基於Simscape爲火車系統建模

在之前控制教程 —— 介紹篇:8.基於Simulink爲火車系統建模部分已經通過數學模型的方式對火車系統進行了建模和仿真,本教程將使用Simscape工具箱進行物理建模。
在Simscape庫中提供了非常多物理模塊,可以構建複雜的多狀態模型,卻無需像前面介紹的那樣需要應用牛頓第二定律等物理原理來構建數學模型,回顧一下之前的火車系統。
在這裏插入圖片描述

物理配置

正如之前描述的那樣,火車頭和車廂的質量分別由M1M2表示,火車頭和車廂採用剛度爲k的聯軸器連接,牽引力F表示火車頭提供的拉力,而mu代表滾動摩擦力。
在這裏插入圖片描述
該系統的參數如下:

  • M1 火車頭質量 1kg
  • M2 車廂質量 0.5 kg
  • k 彈簧常數 1 N/m
  • mu 摩擦係數 0.02 s/m
  • F 火車頭牽引力 1 N
  • g 重力加速度 9.8 m/s^2

通過在MATLAB命令窗口中輸入ssc_new來打開新的Simscape模型。如下所示
在這裏插入圖片描述
該模型的各模塊是:

  • 求解配置器模塊
  • PS-Simulink和Simulink-PS模塊(顯示爲雙箭頭/雙三角形)
  • 連接到PS-Simulink的示波器模塊

PS-Simulink和Simulink-PS模塊定義了Simulink的輸入輸出和Simscape的輸入輸出之間的轉換。

創建Simscape模型

要創建Simscape模型,需要向窗口中添加許多模塊:

  • 2個 Mass 模塊(分別命名爲 M1M2)
  • 1個 Translational Spring 模塊(命名爲spring)
  • 1個 Mechanical Translational Reference 模塊
  • 2個 Translational Damper 模塊(分別命名爲M1 frictionM2 friction)

將本教程開始的參數值分配給每個模塊,在這種情況下,我們使用平移阻尼器來模擬系統中的滾動摩擦。具體來說,我們將每個模塊的阻尼係數指定爲摩擦係數乘以法向力(mu*mass*g)。如果我們需要更復雜的摩擦模型,則可以改用平移摩擦模塊,如圖所示連接各個模塊,並將Scope命名爲Velocity
在這裏插入圖片描述
現在添加以下模塊到窗口中

  • 1個 Ideal Force Source 模塊(命名爲Force Source)
  • 1個 Signal Generator 模塊(命名爲Force Input)
  • 1個 Translational Motion Sensor 模塊

在信號發生器中,將波形選擇爲square,幅度設置爲-1,頻率設置爲0.001,單位選擇爲Hertz。按下CTRL-E,然後從彈出的窗口中將Type選擇爲Variable-stepSovler選擇爲auto,同時將Stop time配置爲1000
在這裏插入圖片描述

仿真結果

運行仿真(按下CTRL-T或按下綠色運行按鈕),然後打開Scope觀察速度的輸出。牽引力爲兩個過程,一個爲正,一個爲負。可以看出當施加正作用力時,發動機開始前進,然後再施加負作用力後的一段時間內,火車朝相反的方向運動。速度的輸出與控制教程 —— 介紹篇:8.基於Simulink爲火車系統建模中描述的結果完全一致。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章