LTSpice 자동화


15

배터리 구동 식 부스트 컨버터를 사용하고 있으며 여러 배터리 유형 (다양한 전압 / 내부 저항). 내가 (상대적으로) 많은 양의 운영 시간을 시뮬레이션하고 있기 때문에 시뮬레이션 파일은 시간이 걸리는 것은 말할 것도없이 상당히 중요 해지고 있습니다. 구성 요소 값을 프로그래밍 방식으로 변경하고 시뮬레이션을 다시 실행하고 데이터 (전압 또는 전류와 같은 값)를 캡처 할 수 있도록 LTSpice를 자동화하고 싶습니다. 나는 그것을 알고있다 :

  • WAV 파일을 사용하여 프로그램에서 데이터를 입력 / 출력 할 수 있습니다
  • 명령 줄에서 프로그램을 실행할 수 있습니다

지금까지 내 최선의 선택은 내 목표를 달성하는 방식 으로이 두 가지 옵션과 내 코드 / 스크립트를 함께 사용하는 것처럼 보이지만 이미 더 나은 방법이 있는지 궁금합니다.

누구든지 LTSpice를 자동화했거나 그것을 위해 어떤 종류의 자동화 API가 작성되었는지 알고 있습니까 (제조업체 또는 타사)?

이상적으로는 원하는 매개 변수를 제공하고 제약 조건에 대한 "최적의"솔루션을 찾을 때까지 다양한 구성 요소 값을 시도하도록 솔버를 갖고 싶습니다.


Linear FAE는 무엇을 말했습니까? 나는 그들에게 먼저 물어볼 것이다.
Brian Carlton

1
.STEP 및 .PARAM 명령에 대해 알고 있습니까? 그것이 당신이 원하는 것을 정확하게 얻을 수 있는지 확실하지 않지만, 관심이 있다면 몇 가지 예를 들어 답을 게시 할 것입니다.
Oli Glaser

1
이 질문은 전자 디자인에 관한 것이 아니기 때문에 주제가 아닌 것으로 보입니다.
레온 헬러

12
SPICE가 디자인의 일부가 아닌 어떤 행성의 @LeonHeller?
플레이스 홀더

1
Monte Carlo 옵션이이 옵션에 완벽하게 적합하다는 것을 알 수 있습니다. 다른 매개 변수를 Schmoo 할 수 있고 변형을 표시 할 수도 있습니다. LT-Spice는 SPICE가 이것을 기본적으로 지원하여 이것을 비활성화했을 수도 있습니다. 거기서 시작
플레이스 홀더

답변:


15

시뮬레이션을 여러 번 실행하고 여러 구성 요소 값을 변경하는 것은 하나만 변경하는 것보다 조금 더 복잡합니다 (나쁘지 않음)

하나의 값을 변경하는 개념은 다음과 같습니다.

  • 가장 오른쪽에있는 SPICE 지시문 아이콘을 사용하여 .param 문을 추가하십시오 (예 : 저항 값) .param X=R
  • 이를 사용하려면 저항 값에 {x}를 입력 한 다음 예 .step param X 100 500 50를 들어 100에서 500 사이의 값을 50 씩 증가시키기 위해 포함 시키십시오.

예:

단계 예

결과:

그래프

여러 값의 경우 내가 찾은 유일한 방법은 X의 값 목록을 사용하고 테이블 문을 사용하는 것입니다. 이것은 아마도 예제와 함께 가장 잘 설명 될 것입니다 (사용 된 명령에 대한 도움말을 읽는 것이 여기에 도움이 될 것입니다). 그러나 테이블 명령 구문은 table (index, x1, y1, x2, y2, .... xn, yn) 형식이며 인덱스를 입력으로 사용하고 제공된 x를 기준으로 x = index에 대한 보간 값을 반환합니다. y 쌍.

내 시뮬레이션 중 하나에서 3 가지 구성 요소 값을 변경하면서 12 가지 시뮬레이션을 수행해야했습니다. 명령은 다음과 같습니다.

.step param X list 1 2 3 4 5 6 7 8 9 10 11 12
.param Rin1 = table(X, 1, 1,1p, 2, 1p, 3, 1p, 4, 4478, 5, 4080, 6, 3400, 7, 2200, 8, 1p, 9, 1p, 10, 1p, 11, 1p, 12, 1p)
.param Rin2 = table(X, 1, 4997, 2, 4997, 3, 4997, 4, 499, 5, 897, 6, 1577, 7, 2777,  8, 4997, 9, 4997, 10, 4997, 11, 4997, 12, 4997)
.param Tval = table(X, 1, 56, 2, 56, 3, 27, 4, 1G, 5, 1G, 6, 1G, 7, 1G, 8, 1G, 9, 330, 10, 330, 11, 120, 12, 120)
.param Kval = table(X, 1, 316, 2, 147, 3, 147, 4, 6340, 5, 6340, 6, 6340, 7, 6340, 8, 6340, 9, 6340, 10, 825, 11, 825, 12, 316)

결과:

이득 예

바라건대, 원하는 값을 채울 때 필요한 SPICE 명령을 생성하는 스크립트를 생성 할 수 있습니다. 또는 템플릿을 만듭니다 (예 : 위의 내용을 복사하여 몇 가지 다른 시뮬레이션에 붙여넣고 값을 변경했습니다).

위의 원하는 것을하지 않는 경우, 어쩌면 또한 이용하는 게 도움이 될 수있는 NI의 Multisim을 같은 (나는 확실히 그들이 얼마나 유용하지 않다하지만 나는 그것이 일부 배치 시뮬레이션 옵션이 생각하는) 볼 LTSPice 포럼에서 다른 사람이 더 나은 방법을 알고 있는지 확인하십시오.


3
이것은 내가 원하는만큼 깨끗하지는 않지만 무료 소프트웨어의 경우 그들이 뼈를 던졌다는 것에 감사 할 수 있습니다. 이 기술을 시연 해 주셔서 감사합니다. 이것은 내가 찾고있는 것에 더 가까이 갈 것입니다.
Joel B

1
감사합니다. 시뮬레이션을 이해하는 데 도움이되었습니다. 이제 어떤 시뮬레이션이 어떤 시뮬레이션인지 알 수 있도록 플롯에 범례를 배치하는 방법을 알아 내야합니다.

8

실제로 명령 줄에서 LTSpice를 실행하고 과도 시뮬레이션을 실행하는 것이 가능하다고 생각합니다.

windoze에서 :

cd <wherever LTSpice is installed on your computer>
scad3.exe -Run -b MyCircuit.asc

Linux에서 :

cd ~/.wine/drive_c/Program Files (x86)/LTC/LTspiceIV
wine ./scad3.exe -Run -b MyCircuit.asc

1
이것은 훌륭한 발견입니다! 나는 이제 이것을 자동화 된 디자인에 어떻게 사용할 수 있는지 브레인 스토밍하고 있습니다.
Joel B

1
@JoelB : 예, 제가 사용하는 것이기도합니다. 1) GUI는 달리이 느린 2 그래서, 솔버는 당신이 GUI에서 원하는 "진행 보고서를"이없는), 단일 스레드 실행 : 불행하게도 몇 가지 단점이 있습니다
blondiepassesby

3

LTSpice는 -b명령 행 스위치를 사용하여 배치 모드로 실행할 수 있습니다 .

LTSpice 도움말 파일에서 :

-b : 배치 모드로 실행합니다. 예를 들어 "scad3.exe -b deck.cir"은 파일 deck.raw에 데이터를 남깁니다.

.raw 출력을 읽고 해석하는 방법은 독자를위한 연습으로 남아 있습니다.

또한 명령 행 스위치 중 다음을 참고하십시오.

-ascii : ASCII .raw 파일을 사용하십시오. 프로그램 성능이 심각하게 저하됩니다.


그래도 정확히 어떻게 실행합니까? 즉 명령 줄 모드입니다. 나는 보통 Windows 사용자가 아니며 Windows 시스템 에서이 작업을 수행하는 방법을 모른다.
Tropical_Peach

1
나는 그런 식으로 그것을 실행 한 적이 없습니다. 직접 시험 해봐야합니다. 명령 창 (시작 메뉴의 'cmd.exe')을 열거 나 테스트 순서를 지정하는 데 사용하는 언어에서 실행할 수 있습니다.
광자

matlab을 사용하는 경우 .raw 파일을 변환하는 스크립트가 있습니다 mathworks.com/matlabcentral/fileexchange/…
Voltage Spike

3

" LTSpice 큐 관리자 " 에서 이미 확인 했습니까 ? ( 링크는 귀하가 소프트웨어를 다운로드 할 수있는 내 웹 사이트로 리디렉션되지만, 오늘 닫혀있는 포럼에서 원래 프로그램을 공유 한 저자는 아닙니다. 내 웹 사이트를 통해 공유하는 것이 소프트웨어를 되살리는 방법입니다 ).

이 도구는 과거에 많은 도움이되었습니다. 많은 시뮬레이션 파일을 준비하고 대기열 방식으로 실행할 수 있습니다.

LTSpice 큐 관리자


큐잉은 자동화가 아닙니다.
Harry Svensson 19.26에

1
필요한 자동화가 대기열에 있으면 확실합니다! 이것은 OP의 문제를 직접 해결합니다.
Daniel

1
이것이 귀하가 작성하지 않은 폐쇄 소스 소프트웨어 인 경우, 사용자가 이해할 수있는 것으로 생각할 것입니다.
Dave Tweed

1

그것이 단지 LT Spice이어야하고 GUI를 지나갈 수 없다면 스크립트 프로그램 AutoIt을 추천합니다. active-x-DDE-COM.dll이 부족한 중요한 Windows 응용 프로그램을 자동화하는 데 사용했습니다. 파일 대기, Windows 버튼 누름, 메뉴 항목, 인수가있는 프로그램 호출 등을 설정하도록 설정할 수 있습니다.

살펴보십시오 :

http://www.autoitscript.com/site/

http://www.autoitscript.com/forum/

스크립트 프로그램에 대한 비용을 지불하고 싶다면 Winbatch에 갈 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.