2020-09-02から1日間の記事一覧

MatlabでPIDチューニング

opts = pidtuneOptions('CrossoverFrequency',32,'PhaseMargin',90); [C, info] = pidtune(P, 'pid', opts) ここでいうクロスオーバー周波数は位相公差角周波数のことでよいのか

D制御器の影響

clear; close all; clc; s = tf('s'); P = 1/(s^2 + 10*s + 20); t = 0:0.01:2; rs = []; sts = []; os = []; ses = []; Kps = []; maxk=1000; for Kp=1:maxk C = pid(0,0,Kp); T = feedback(C*P,1); [y,~]=step(T); info = stepinfo(T); Kps = [Kps Kp]; rs…

I制御器の影響

clear; close all; clc; s = tf('s'); P = 1/(s^2 + 10*s + 20); t = 0:0.01:2; rs = []; sts = []; os = []; ses = []; Kps = []; for Kp=1:1000 C = pid(0,Kp,0); T = feedback(C*P,1); [y,~]=step(T,t); info = stepinfo(T); Kps = [Kps Kp]; rs = [rs in…

P制御器の影響

ctms.engin.umich.edu 以下の表の検証 clear; close all; clc; Kp = 1; Ki = 1; Kd = 1; s = tf('s'); P = 1/(s^2 + 10*s + 20); t = 0:0.01:2; rs = []; sts = []; os = []; ses = []; Kps = []; for Kp=1:1000 C = pid(Kp); T = feedback(C*P,1); [y,~]=st…

2次遅れ系の極、ステップ応答、根軌跡

clear;close all; k_dc = 1; w_n = 10; zeta = 0.2 s = tf('s'); G1 = k_dc*w_n^2/(s^2 + 2*zeta*w_n*s + w_n^2); subplot(3,1,1); pzmap(G1) xlim([-40,0]); pole(G1) subplot(3,1,2); step(G1,2); ylim([0,1.5]); subplot(3,1,3); rlocus(G1); xlim([-40,0…

Matlabのグラフの文字のフォントサイズ、プロットの線を太くするコマンドを作成

以下のファイルを~/Documents/MATLABに作成した。bigで呼び出せる。 big.m set(findall(gcf,'-property','FontSize'),'FontSize',20); set(findall(gcf,'-property','MarkerSize'),'MarkerSize',14); set(findall(gcf,'Type','Line'),'LineWidth',2); grid;>…