MATLAB/Simulink/Simscape에서 진공관 증폭기 시뮬레이션 1
동기
진공관 증폭기를 좋아합니다. 라고 해도 오디오 매니아가 아니기 때문에 일렉트릭 기타용 진공관 앰프입니다. 깨진 앰프를 야후 옥에서 사, 수리하고 사용하고 있습니다. Soldano는 입수했지만, Bogner의 Ecstacy와 Diezel의 VH-4S를 원한다.
LTSpice를 사용하여 진공관 앰프의 시뮬레이션이라든지 해봤지만, SIN파 스윕이라든지 단순한 일 밖에 할 수 없다. Simulink로 할 수 있다면 더 재미있을 수 있을까요?
LTSpice
유명한 무료 회로 시뮬레이터. 진공관의 심볼도 나돌고 있다. 명기라고 불리는 기타 앰프의 회로도는 나돌고 있기 때문에, 회로도 일으켜 시뮬레이션하는 것은 용이. 아래 그림은 Marshall 1987의 Pre부의 SIN파 100Hz 입력시의 응답 파형. 기타 앰프이므로 SIN파도 왜곡되어 이런 파형이 된다.
Simscape Electrical
Simscape Electrical은 Simscape의 전기 회로 라이브러리입니다. Simscape는 블록 다이어그램 시뮬레이터 Simulink의 물리적 모델링 라이브러리입니다. Simulink는 프로그램 환경 MATLAB의 시뮬레이션 옵션입니다. MATLAB의 손자 같은 것.
전기·전자회로 라이브러리는 한결같이 갖추어져 있지만, LTSpice와 다른 것은, 회로 심볼이 각사의 형번마다 있는 것은 아니고, 소자마다 밖에 없는 것. Simscape에서는 SPICE의 넷리스트나 심볼은 그대로 사용할 수 없기 때문에 또 이것이 귀찮다.
예를 들어 LTSpice라면 NPN 트랜지스터에서도 2SC1815(도시바)라든지 2SCR512(ROHM)라든가 메이커의 형번마다 라이브러리(심볼)가 준비되어 있는 것에 대해, Simscape Electrical에서는 NPN Bipolar Transister 1개.
그러므로 소자마다의 특성은 사용하는 부품마다 입력해 주어야 한다.
진공관 심볼을 Simscape로 가져오기
Simscape Electrical에는 subcircuit2ssc라는 명령이 있으며 SPICE 라이브러리를 가져올 수 있습니다.
이것을 사용해 어딘가에서 다운로드한 프리관 12AX7A의 심볼을 임포트해 보았다.
subcircuit2ssc('12AX7A.lib', '+mylibrary')
이제 Simscape 소스 코드를 만들 수 있기 때문에 빌드.
ssc_build('mylibrary')
그런 다음 이러한 블록이 생성됩니다.
외형이 좋지 않기 때문에, 그림을 써 블록의 마스크에 설정해 우선 임포트 완료.
시뮬레이션을위한 Simscape 모델 작성
시뮬레이션을 위해 모델 (회로도)을 만듭니다.
진공관의 대표적인 특성 Ep-Ip 특성을 취하기 위해 Plate 전압과 Grid 전압을 가변으로 하여 Plate 전류를 측정할 수 있는 모델을 만들었다.
MATLAB으로 Simscape 모델 구동
파라미터 스윕하면서 출력 특성을 취하기 위해 MATLAB 프로그램에서 Simscape 모델을 실행.
%% Parameter類
DCSW = 1;
VgStep = (-5:1:0);
VpStep = (0:20:500);
IpTable = zeros(length(VpStep), length(VgStep));
Ip = 0;
%% Simulation実行
set_param(gcs,'FastRestart','on') % 高速スタート
for n = 1:length(VgStep)
for nn = 1:length(VpStep)
Vg = VgStep(n);
Vp = VpStep(nn);
simOut = sim(gcs);
tmp = simOut.get('Ip'); % for FastRestart
IpTable(nn,n) = 1000*tmp(end); % A =>mA
end
plot(VpStep, IpTable(:,n), 'b.-'), grid on, hold on
end
title('Ep-Ip Characteristics')
xlabel('Ep(V)')
ylabel('Ip(mA)')
Simscape에서 진공관의 Ep-Ip 특성 획득
위의 MATLAB 코드를 실행하여 12AX7A의 Ep-Ip 특성을 잡았다. 책의 특성과 비교해도 원하는 특성이 나온다.
계속
Reference
이 문제에 관하여(MATLAB/Simulink/Simscape에서 진공관 증폭기 시뮬레이션 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/SacredTubes/items/ecd912c612f981173965
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
유명한 무료 회로 시뮬레이터. 진공관의 심볼도 나돌고 있다. 명기라고 불리는 기타 앰프의 회로도는 나돌고 있기 때문에, 회로도 일으켜 시뮬레이션하는 것은 용이. 아래 그림은 Marshall 1987의 Pre부의 SIN파 100Hz 입력시의 응답 파형. 기타 앰프이므로 SIN파도 왜곡되어 이런 파형이 된다.
Simscape Electrical
Simscape Electrical은 Simscape의 전기 회로 라이브러리입니다. Simscape는 블록 다이어그램 시뮬레이터 Simulink의 물리적 모델링 라이브러리입니다. Simulink는 프로그램 환경 MATLAB의 시뮬레이션 옵션입니다. MATLAB의 손자 같은 것.
전기·전자회로 라이브러리는 한결같이 갖추어져 있지만, LTSpice와 다른 것은, 회로 심볼이 각사의 형번마다 있는 것은 아니고, 소자마다 밖에 없는 것. Simscape에서는 SPICE의 넷리스트나 심볼은 그대로 사용할 수 없기 때문에 또 이것이 귀찮다.
예를 들어 LTSpice라면 NPN 트랜지스터에서도 2SC1815(도시바)라든지 2SCR512(ROHM)라든가 메이커의 형번마다 라이브러리(심볼)가 준비되어 있는 것에 대해, Simscape Electrical에서는 NPN Bipolar Transister 1개.
그러므로 소자마다의 특성은 사용하는 부품마다 입력해 주어야 한다.
진공관 심볼을 Simscape로 가져오기
Simscape Electrical에는 subcircuit2ssc라는 명령이 있으며 SPICE 라이브러리를 가져올 수 있습니다.
이것을 사용해 어딘가에서 다운로드한 프리관 12AX7A의 심볼을 임포트해 보았다.
subcircuit2ssc('12AX7A.lib', '+mylibrary')
이제 Simscape 소스 코드를 만들 수 있기 때문에 빌드.
ssc_build('mylibrary')
그런 다음 이러한 블록이 생성됩니다.
외형이 좋지 않기 때문에, 그림을 써 블록의 마스크에 설정해 우선 임포트 완료.
시뮬레이션을위한 Simscape 모델 작성
시뮬레이션을 위해 모델 (회로도)을 만듭니다.
진공관의 대표적인 특성 Ep-Ip 특성을 취하기 위해 Plate 전압과 Grid 전압을 가변으로 하여 Plate 전류를 측정할 수 있는 모델을 만들었다.
MATLAB으로 Simscape 모델 구동
파라미터 스윕하면서 출력 특성을 취하기 위해 MATLAB 프로그램에서 Simscape 모델을 실행.
%% Parameter類
DCSW = 1;
VgStep = (-5:1:0);
VpStep = (0:20:500);
IpTable = zeros(length(VpStep), length(VgStep));
Ip = 0;
%% Simulation実行
set_param(gcs,'FastRestart','on') % 高速スタート
for n = 1:length(VgStep)
for nn = 1:length(VpStep)
Vg = VgStep(n);
Vp = VpStep(nn);
simOut = sim(gcs);
tmp = simOut.get('Ip'); % for FastRestart
IpTable(nn,n) = 1000*tmp(end); % A =>mA
end
plot(VpStep, IpTable(:,n), 'b.-'), grid on, hold on
end
title('Ep-Ip Characteristics')
xlabel('Ep(V)')
ylabel('Ip(mA)')
Simscape에서 진공관의 Ep-Ip 특성 획득
위의 MATLAB 코드를 실행하여 12AX7A의 Ep-Ip 특성을 잡았다. 책의 특성과 비교해도 원하는 특성이 나온다.
계속
Reference
이 문제에 관하여(MATLAB/Simulink/Simscape에서 진공관 증폭기 시뮬레이션 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/SacredTubes/items/ecd912c612f981173965
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Simscape Electrical에는 subcircuit2ssc라는 명령이 있으며 SPICE 라이브러리를 가져올 수 있습니다.
이것을 사용해 어딘가에서 다운로드한 프리관 12AX7A의 심볼을 임포트해 보았다.
subcircuit2ssc('12AX7A.lib', '+mylibrary')
이제 Simscape 소스 코드를 만들 수 있기 때문에 빌드.
ssc_build('mylibrary')
그런 다음 이러한 블록이 생성됩니다.
외형이 좋지 않기 때문에, 그림을 써 블록의 마스크에 설정해 우선 임포트 완료.
시뮬레이션을위한 Simscape 모델 작성
시뮬레이션을 위해 모델 (회로도)을 만듭니다.
진공관의 대표적인 특성 Ep-Ip 특성을 취하기 위해 Plate 전압과 Grid 전압을 가변으로 하여 Plate 전류를 측정할 수 있는 모델을 만들었다.
MATLAB으로 Simscape 모델 구동
파라미터 스윕하면서 출력 특성을 취하기 위해 MATLAB 프로그램에서 Simscape 모델을 실행.
%% Parameter類
DCSW = 1;
VgStep = (-5:1:0);
VpStep = (0:20:500);
IpTable = zeros(length(VpStep), length(VgStep));
Ip = 0;
%% Simulation実行
set_param(gcs,'FastRestart','on') % 高速スタート
for n = 1:length(VgStep)
for nn = 1:length(VpStep)
Vg = VgStep(n);
Vp = VpStep(nn);
simOut = sim(gcs);
tmp = simOut.get('Ip'); % for FastRestart
IpTable(nn,n) = 1000*tmp(end); % A =>mA
end
plot(VpStep, IpTable(:,n), 'b.-'), grid on, hold on
end
title('Ep-Ip Characteristics')
xlabel('Ep(V)')
ylabel('Ip(mA)')
Simscape에서 진공관의 Ep-Ip 특성 획득
위의 MATLAB 코드를 실행하여 12AX7A의 Ep-Ip 특성을 잡았다. 책의 특성과 비교해도 원하는 특성이 나온다.
계속
Reference
이 문제에 관하여(MATLAB/Simulink/Simscape에서 진공관 증폭기 시뮬레이션 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/SacredTubes/items/ecd912c612f981173965
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
파라미터 스윕하면서 출력 특성을 취하기 위해 MATLAB 프로그램에서 Simscape 모델을 실행.
%% Parameter類
DCSW = 1;
VgStep = (-5:1:0);
VpStep = (0:20:500);
IpTable = zeros(length(VpStep), length(VgStep));
Ip = 0;
%% Simulation実行
set_param(gcs,'FastRestart','on') % 高速スタート
for n = 1:length(VgStep)
for nn = 1:length(VpStep)
Vg = VgStep(n);
Vp = VpStep(nn);
simOut = sim(gcs);
tmp = simOut.get('Ip'); % for FastRestart
IpTable(nn,n) = 1000*tmp(end); % A =>mA
end
plot(VpStep, IpTable(:,n), 'b.-'), grid on, hold on
end
title('Ep-Ip Characteristics')
xlabel('Ep(V)')
ylabel('Ip(mA)')
Simscape에서 진공관의 Ep-Ip 특성 획득
위의 MATLAB 코드를 실행하여 12AX7A의 Ep-Ip 특성을 잡았다. 책의 특성과 비교해도 원하는 특성이 나온다.
계속
Reference
이 문제에 관하여(MATLAB/Simulink/Simscape에서 진공관 증폭기 시뮬레이션 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/SacredTubes/items/ecd912c612f981173965
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(MATLAB/Simulink/Simscape에서 진공관 증폭기 시뮬레이션 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/SacredTubes/items/ecd912c612f981173965텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)