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的打開方式
- 在指令行視窗中直接輸入simulink
- 在上方菜單欄首頁中,點選simulink
建立新的模型
一般也就隻會用到這個Blank Model。

電氣、 控制常用的庫
-
simulink
這個是最重要的,基礎的、數學的
-
Simscape
這個是電氣、控制的常用庫
這些庫就是我們進行圖形化程式設計的,拖拉拽的子產品。我大概記錄一些,不過還是多用用試試就曉得了。
- 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: 示波器,波形顯示
- simulink/Continous:連續子產品,積分微分,二階積分,pid,傳遞函數
- simulink/Dashboard:人機互動的 界面相關的
- simulink/Discontinuities:隻有Quantizer常用一點
- simulink/Discrete:離散形式的一些子產品,做仿真z變換的用的較少。
- simulink/Logic and Bit Operations:簡單的邏輯
- simulink/Lookup Tables:查表相關的函數
- simulink/Math operations:數學相關的,常用的,加減乘除等等
- simulink/Signal :信号相關的
- simulink/sinks:顯示,儲存等等的
- simulink/source:pwm,波等等的,階躍
- simulink/user-Defined Functions:使用者自定義
- fcn: 最簡單的
- matlab function: 考慮采樣,if else
- S-Function:功能負載,卡爾曼濾波,最小二乘法。
一個簡單仿真_PID
PID的仿真。用庫裡的PID子產品,然後自己搭建一個PID子產品。
首先需要大概會用到什麼
- 一個階躍(Step)
- PID子產品(PID controller)
- 傳遞函數(Transfer fcn)
- 示波器(scope)
- 求和(sum)
如果熟悉simulink的子產品名字,可以直接在空白處,輸入子產品名字。
不熟悉,需要到子產品庫裡找。
這樣就搭建了一個針對這個傳遞函數的控制調節模型。
輕按兩下PID即可設定控制器參數,設定KP=26,KI=65,KD=0的波形:
如何搭建自己搭建一個簡單的PID子產品。
需要用的子產品
- 增益
- 積分
- 微分
- 求和
上面是用matlab的子產品,下面是自己搭的。然後看下波形對比,也是一樣的:
最後可以把它生成一個subsystem。
如何對subsystem進行參數設定接口
- 先在增益子產品中,将kp,ki,kd的值進行參數化
1_simulink簡單入門_simulink仿真PID控制 - 對生成的subsystem右鍵進行Mask的建立
1_simulink簡單入門_simulink仿真PID控制 - 編輯mask
1_simulink簡單入門_simulink仿真PID控制 - 點選子產品,就可以實作這樣的效果了
1_simulink簡單入門_simulink仿真PID控制
matlab,simulink需要多使用,才能用的熟。
被抛棄的寫随筆公衆号改寫技術文章了,感興趣的可以關注公衆号:王崇衛