天天看點

1_simulink簡單入門_simulink仿真PID控制

1_simulink簡單入門_simulink仿真PID控制

2_simulink搭建RCL_電阻電感電容子產品

畢業前想去做物聯網還是或者linux,結果玩了一年多的電機控制,早就深知matlab/simulink繞不過的,拖到現在,下班晚上再把大學自控做實驗用的matlab撿起來,再去b站學習simulink。做控制,matlab/simulink是繞不過的,這是個很強大的仿真工具。

如果初學simulink,做電機控制的,我推薦b站的:CELEC(陳誠電氣)

https://space.bilibili.com/493190982/video

姑且說是simulink是圖形化的程式設計。那麼程式設計學習最快的方式,就是邊系統學習邊實踐邊探索。

c語言采用面向對象思想實作的pid子產品:

https://blog.csdn.net/qq_38190041/article/details/119276490

simulink的打開方式

  1. 在指令行視窗中直接輸入simulink
  2. 在上方菜單欄首頁中,點選simulink

建立新的模型

一般也就隻會用到這個Blank Model。

1_simulink簡單入門_simulink仿真PID控制

電氣、 控制常用的庫

1_simulink簡單入門_simulink仿真PID控制
  1. simulink

    這個是最重要的,基礎的、數學的

  2. Simscape

    這個是電氣、控制的常用庫

這些庫就是我們進行圖形化程式設計的,拖拉拽的子產品。我大概記錄一些,不過還是多用用試試就曉得了。

  1. simulink/Commonly Used Blocks
    • Bus Creator:總線器,不同信号組合成一個輸出信号(一個資料結構,像數組,結構體)
    • Bus Selector:與Bus Creator相反、分解。
    • Constant: 常數,恒定值。
    • Data Type Conversion: 資料轉換器
    • Delay:延時子產品。
    • Demux: 組合信号分解
    • Mux:多個信号組合
    • Discrete-Time Integrator: 離散積分器
    • Gain:增益,比例(比如在機關變換,系數)
    • In1: 生成子子產品的時候,信号的輸入
    • Integrator: 積分器
    • logical Operator: 邏輯與或
    • Out1: 子系統輸出常用的輸出信号
    • Product: 乘法器
    • Relational operator: 小于等于
    • stauration: 限幅飽和
    • Scope: 示波器,波形顯示
  2. simulink/Continous:連續子產品,積分微分,二階積分,pid,傳遞函數
  3. simulink/Dashboard:人機互動的 界面相關的
  4. simulink/Discontinuities:隻有Quantizer常用一點
  5. simulink/Discrete:離散形式的一些子產品,做仿真z變換的用的較少。
  6. simulink/Logic and Bit Operations:簡單的邏輯
  7. simulink/Lookup Tables:查表相關的函數
  8. simulink/Math operations:數學相關的,常用的,加減乘除等等
  9. simulink/Signal :信号相關的
  10. simulink/sinks:顯示,儲存等等的
  11. simulink/source:pwm,波等等的,階躍
  12. simulink/user-Defined Functions:使用者自定義
    • fcn: 最簡單的
    • matlab function: 考慮采樣,if else
    • S-Function:功能負載,卡爾曼濾波,最小二乘法。

一個簡單仿真_PID

PID的仿真。用庫裡的PID子產品,然後自己搭建一個PID子產品。

首先需要大概會用到什麼

  • 一個階躍(Step)
  • PID子產品(PID controller)
  • 傳遞函數(Transfer fcn)
  • 示波器(scope)
  • 求和(sum)

如果熟悉simulink的子產品名字,可以直接在空白處,輸入子產品名字。

1_simulink簡單入門_simulink仿真PID控制

不熟悉,需要到子產品庫裡找。

這樣就搭建了一個針對這個傳遞函數的控制調節模型。

1_simulink簡單入門_simulink仿真PID控制

輕按兩下PID即可設定控制器參數,設定KP=26,KI=65,KD=0的波形:

1_simulink簡單入門_simulink仿真PID控制

如何搭建自己搭建一個簡單的PID子產品。

需要用的子產品

  1. 增益
  2. 積分
  3. 微分
  4. 求和
1_simulink簡單入門_simulink仿真PID控制

上面是用matlab的子產品,下面是自己搭的。然後看下波形對比,也是一樣的:

1_simulink簡單入門_simulink仿真PID控制

最後可以把它生成一個subsystem。

1_simulink簡單入門_simulink仿真PID控制

如何對subsystem進行參數設定接口

  1. 先在增益子產品中,将kp,ki,kd的值進行參數化
    1_simulink簡單入門_simulink仿真PID控制
  2. 對生成的subsystem右鍵進行Mask的建立
    1_simulink簡單入門_simulink仿真PID控制
  3. 編輯mask
    1_simulink簡單入門_simulink仿真PID控制
  4. 點選子產品,就可以實作這樣的效果了
    1_simulink簡單入門_simulink仿真PID控制

matlab,simulink需要多使用,才能用的熟。

被抛棄的寫随筆公衆号改寫技術文章了,感興趣的可以關注公衆号:王崇衛

1_simulink簡單入門_simulink仿真PID控制

繼續閱讀