[컨트롤 공학] Scielab로 판선도를 그려봤습니다!
개요
제어 시뮬레이션에서 MATLAB는 자주 사용되지만 MATLAB가 쓴 무료 소프트웨어에는 Sccilab(Silab)이 있다.
Scielab라면 자유롭기 때문에 자신의 취미에 따라 쉽게 놀 수 있고 학생들도 사용할 수 있다. (요즘은 파이톤도 파이톤control을 사용할 수 있고 컨트롤 시뮬레이션을 할 수 있기 때문에 파이톤control에 관해서는 기회가 된다면 접촉하고 싶다.)
다른 한편, 인터넷의 정보는 단점일 가능성이 매우 적다. 오늘날, 나는 Scielab로 제어에 필요한 판선도를 묘사하고 싶다.
나이키스트 사선도 여기 모아.
https://qiita.com/trami/items/9fd130779fc0e0adc1bf
작업 환경
이른바 판선도
판선도는 주파수 전달 함수의 이득과 상위, 각주파수를 가리킨다ω가로축을 위한 도표는 전자는 이득선도, 후자는 상위선도를 나타낸다.
이득 그래프의 세로 축은 $20\log{10]|G(j\omega)|$단위로 데시벨(dB), 위상도 세로축은 위상${\angle}G(j\omega)$단위(°)로 표시됩니다. 또한 가로축은 대각 주파수 $\omega$대수축 눈금 $\log위에서 넓은 범위를 나타낼 수 있는 $\omega달러를 채택하다.
전달 함수 정의
우선 전달 함수를 정의하면 주문이라고 생각할 수 있다.
전달 함수 가정G(s)=\frac{1}{s^2+2s+3}\
미리 준비하다.s = %s; //記号変数の定義
Gs = 1/(s^2 + 2*s + 3) //伝達関数の定義
G = syslin('c', Gs); //連続時間システムの定義
바둑판 선그림 그리기
전달 함수를 정의했으니 바로 판선도를 그리고 싶습니다.
그럼에도 불구하고 Scielab의 경우 한 줄에 판선도를 그립니다.bode(G)
그럼 여러 가지 요소를 복습하면서 판선도를 그려봅시다.
비례원소
G(s) = K
우선, 비례 요소. 이 자체는 설명이 필요 없다고 생각하지만, Scielab에서 실행할 때 주의해야 한다.K = 1;
Gs = K
sysilin: 매개 변수 #2의 형식이 올바르지 않습니다. 선형 상태 공간이나 전달 함수를 지정하십시오.
정확히 아래와 같다.K = 1;
Gs = K / s^0
Scielab로 실행하면 위와 같은 판선도를 얻을 수 있습니다. 이것은 전체 통로 필터입니다. (전역이 필터를 통과합니다.)
여기서 주의해야 할 점은 Scielab의 가로축은 각 주파수 $\omega$이 아니라 주파수 $f$f로 표시되어 있다는 점입니다. 각 주파수로 변환할 수도 있지만 부작용이 커서 추천하지 않습니다.
겸사겸사 말씀드리지만, 완전히 잡담입니다. Scielab는 C 언어와 달리 문장 끝의 분호입니다. (;)안 넣어도 안 틀려요.
적분 원소
G(s) = \frac{1}{s}\
다음은 포인트 요소로 어렵지 않지만 중요하다.Gs = 1/s
통제할 곳은 두 개다.
이득 곡선도의 경사율은 $-20$dB/dec
우선 전달 함수를 정의하면 주문이라고 생각할 수 있다.
전달 함수 가정
G(s)=\frac{1}{s^2+2s+3}\
미리 준비하다.s = %s; //記号変数の定義
Gs = 1/(s^2 + 2*s + 3) //伝達関数の定義
G = syslin('c', Gs); //連続時間システムの定義
바둑판 선그림 그리기
전달 함수를 정의했으니 바로 판선도를 그리고 싶습니다.
그럼에도 불구하고 Scielab의 경우 한 줄에 판선도를 그립니다.bode(G)
그럼 여러 가지 요소를 복습하면서 판선도를 그려봅시다.
비례원소
G(s) = K
우선, 비례 요소. 이 자체는 설명이 필요 없다고 생각하지만, Scielab에서 실행할 때 주의해야 한다.K = 1;
Gs = K
sysilin: 매개 변수 #2의 형식이 올바르지 않습니다. 선형 상태 공간이나 전달 함수를 지정하십시오.
정확히 아래와 같다.K = 1;
Gs = K / s^0
Scielab로 실행하면 위와 같은 판선도를 얻을 수 있습니다. 이것은 전체 통로 필터입니다. (전역이 필터를 통과합니다.)
여기서 주의해야 할 점은 Scielab의 가로축은 각 주파수 $\omega$이 아니라 주파수 $f$f로 표시되어 있다는 점입니다. 각 주파수로 변환할 수도 있지만 부작용이 커서 추천하지 않습니다.
겸사겸사 말씀드리지만, 완전히 잡담입니다. Scielab는 C 언어와 달리 문장 끝의 분호입니다. (;)안 넣어도 안 틀려요.
적분 원소
G(s) = \frac{1}{s}\
다음은 포인트 요소로 어렵지 않지만 중요하다.Gs = 1/s
통제할 곳은 두 개다.
이득 곡선도의 경사율은 $-20$dB/dec
bode(G)
G(s) = K
K = 1;
Gs = K
K = 1;
Gs = K / s^0
G(s) = \frac{1}{s}\
Gs = 1/s
한 개의 적분기가 $-20$dB/dec, $90^{circ} 달러로 지연됩니다.
그럼 두 개의 적분기는??
당연히 $-40달러 dB/dec, $180^{circ}이 뒤떨어졌습니다.
미분원소
G(s) = s
다음은 미분 요소로 물리적으로 실현될 수 없기 때문에 그리 중요하지 않으니 우선 열거해 봅시다.비례 요소와 같이 분모에 s^0을 넣는 것을 잊지 마세요.
Gs = s / s^0
이것은 적분기와 완전히 상반된다.
일차 지연 요소
G(s) = \frac{K}{1+Ts}\
그 다음은 일차 지연 요인으로 매우 중요하다.K는 비례 상수, T는 시간 상수입니다. RC 회로는 $T=1/CR$, RL 회로는 $T=L/R입니다. 시간 상수는 최종치에 도달한 $63.2%입니다.
T = 1;
K = 1;
Gs = K / (1 + T * s)
억압해야 할 부분이 많다.
일급진원소
G(s) = K(1+Ts)
다음은 1단계 진입 요인이다. 우리도 미분 요인과 마찬가지로 그리 중요하지 않지만, 나는 열거할 것이다.K는 비례 상수이고 T는 시간 상수이다.
T = 1;
K = 1;
Gs = K * (1 + T*s) / s^0
이것은 지연 요인과 상반되는 행위다.
2차 지연 요소
G(s) = \frac{(\omega_n)^2}{s^2+2\zeta\omega_ns+(\omega _n)^2}\
다음은 차등 요인이다. 이것도 중요하다.$\omega_n달러는 고유 각도 주파수이고 $\zeta는 감쇠 상수입니다.
그러면 우리는 0, 1에 비해 판선도를 그려 보려고 한다. 쇠퇴계수는 사실상 정값이지만, 지금은 이상적으로 0이다.
z = 1;
wn = 1;
Gs = 1 / (s^2 + 2*z*wn*s + wn^2)
z = 0;
wn = 1;
Gs = 1 / (s^2 + 2*z*wn*s + wn^2)
억압해야 할 부분이 많다.
감쇠 계수는 $1/\sqrt{2}\sim0입니다.$0dB 미만
시간 낭비 요인
G(s) = \exp(-Ls)
마지막으로 시간 낭비 요인이다.나는 Scielab로 이것을 그리고 싶었지만 오류가 발생했다. 지수 함수가 선형이 아니기 때문일 수도 있다. 근사한 데이터를 써야 할지도 모르지만 필자는 능력이 부족해서 보자마자 보충하고 싶었다.
[추기 2019.6.11]
역시 시간적 요소가 선형이 아니기 때문에 직접 그릴 수 없고, 다른 사이트에 사기와 고민이 있기 때문에 다시 한 번 명확하게 쓴다.
Scielab에서 시간 요소는 선형이 아니므로 직접 그릴 수 없습니다!
잘못된 시간 요소를 그리려면 전송 함수를 다항식과 비슷하게 하려면 데이터 근사성을 사용해야 합니다. 이 데이터는 MATLAB에 데이터 근사성을 위한 함수pade와 비슷하지만 Scielab은 아닌 것 같습니다.
데이터의 근사성에 관해서 나는 시간이 있을 때 다시 종합하고 싶다.
총결산
Scielab를 사용하면 쉽게 플롯을 그릴 수 있다. 플롯이라면 계산기를 사용하지 않아도 쉽게 그릴 수 있지만 확인하면 딱 좋지 않을까? 계산기 없이 그리기 힘든 넥스트 플롯과 안정여유 등을 정리해보자.
[나이키스트 사선도] https://qiita.com/trami/items/9fd130779fc0e0adc1bf
Reference
이 문제에 관하여([컨트롤 공학] Scielab로 판선도를 그려봤습니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/trami/items/14423f29c394ce5f44b0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여([컨트롤 공학] Scielab로 판선도를 그려봤습니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/trami/items/14423f29c394ce5f44b0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)