전기 시스템 모델링
전기 시스템 모델링
네이버 블로그에서 쓰다가 티스토리로 넘어왔다 근데 넘어와도 글 잘 안 쓸거 같은데 그래도 일단 써봄 저번엔 스프링-댐퍼 시스템에 대해서 알아봤으니 이번엔 전기 시스템에 대해서 알아보자
honour.tistory.com
여기에서 기계부분말고 전기부분만 MATLAB으로 모델링한 코드
clc, clear, close all
b = (4.05*2*pi*1000/60)^-1;
r = 0.115;
k_b = (581*2*pi/60)^-1;
k_i = 16.4/1000;
j = 139/1000/10000;
l = 0.024/1000;
v = 12;
omega1 = 0;
time1 = 0;
omega2 = 0;
time2 = 0;
dt = .00001;
s1 = -((b*l+j*r)/(2*j*l)) + (sqrt((b*l+r*j)^2 - 4*(j*l)*(b*r+k_i*k_b))/(2*j*l));
s2 = -((b*l+j*r)/(2*j*l)) - (sqrt((b*l+r*j)^2 - 4*(j*l)*(b*r+k_i*k_b))/(2*j*l));
s = -(b*r+k_b*k_i)/(j*r);
A = s1/s2 + 1;
B = (s2/s1 - 1)^-1;
for n = 1:1:6000
omega1(n+1) = -(A*k_i*v/(b*r+k_b*k_i))*exp(s1*time1(n)) + ...
(B*k_i*v/(b*r+k_b*k_i))*exp(s2*time1(n)) + (k_i*v)/(b*r+k_b*k_i);
time1(n+1) = time1(n) + dt;
omega2(n+1) = -(k_i*v/(b*r+k_b*k_i))*exp(s*time2(n)) + (k_i*v)/(b*r+k_b*k_i);
time2(n+1) = time2(n) + dt;
end
tau1 = abs(1/s1);
tau2 = abs(1/s2);
tau = abs(1/s);
plot(time1,omega1,'r',time2,omega2,'k--','linewidth',2)
xlabel('Time (s)')
ylabel('Angular Velocity (rad/s)')
legend('Motor with the inductance','Motor without the inductance','location','best')
grid on
이 코드를 돌리면 나오는 결과값 아직 잘 작동하는듯
인덕터 L이 R에 비해 엄청나게 작을때는 L의 유무에 관계없이 결과값엔 영향이 없다는 걸 보여주는 그래프임
몇 년전 학식때 사용했던 코드 그대로 들고왔음
지금 적으면 더 깔끔하게 적을 수 있을텐데 저땐 되게 못 적었었네