智慧型控制 Intelligent Control

PID 控制的 Simulink 示範

這段是老師錄製的 Simulink 操作示範(RoboDemo 錄影,以 Ruffle 播放):在 Simulink 中建立 PID 控制迴路並觀察響應。

▶ 在 Colab 開啟原課程的 MATLAB 程式已改寫成 Python 筆記本(第 5、6 節:pid.mdl、mylib.mdl、MCKPID.mdl、MCKPIDDetail.mdl),可以直接在瀏覽器執行、修改參數。⬇ 下載 PID.ipynb

練習 Practice

  1. 開啟 pid.mdl:以訊號產生器驅動自建的 PID 子系統(三個增益 P、I、D,分別接比例、積分器、微分器後加總),對照示範操作一次。
  2. 練習自行製作 mylib.mdl 中的 MCK_System:質量–彈簧–阻尼器(\(m\ddot x + c\dot x + kx = f\))的子系統。
  3. 以 MCKPID.mdl 為 MCK 系統加上 PID 位置控制,比較不同 \(K_p\)、\(K_i\)、\(K_d\) 的響應;MCKPIDDetail.mdl 把 PID 展開在最上層,比例、積分、微分三項各接一個示波器,可以分別看每一項的輸出。

提示:MCK 系統的轉移函數是 \(X(s)/F(s) = 1/(ms^2+cs+k)\),和直流馬達例題一樣是二階系統,P、I、D 三項的影響趨勢相同(見 PID 主頁的表格)。(提示為補充)