전기 시스템 모델링

전기 시스템 모델링

https://honour.tistory.com/41

여기에서 기계부분말고 전기부분만 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의 유무에 관계없이 결과값엔 영향이 없다는 걸 보여주는 그래프임

몇 년전 학식때 사용했던 코드 그대로 들고왔음

지금 적으면 더 깔끔하게 적을 수 있을텐데 저땐 되게 못 적었었네

from http://honour.tistory.com/43 by ccl(S) rewrite - 2021-01-05 21:26:29