산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 산업기술

전기 회로의 컴퓨터 시뮬레이션

컴퓨터는 특히 과학 및 공학 분야에서 적절하게 사용된다면 강력한 도구가 될 수 있습니다. 소프트웨어는 컴퓨터에 의한 전기 회로 시뮬레이션을 위해 존재하며 이러한 프로그램은 회로 설계자가 실제로 실제 회로를 구축하기 전에 아이디어를 테스트할 수 있도록 하여 많은 시간과 비용을 절약하는 데 매우 유용할 수 있습니다.

이러한 동일한 프로그램은 전자공학을 처음 배우는 학생에게 환상적인 도움이 될 수 있으므로 실제 회로를 조립할 필요 없이 빠르고 쉽게 아이디어를 탐색할 수 있습니다. 물론 실제 회로를 실제로 만들고 테스트하는 것을 대체할 수는 없지만 컴퓨터 시뮬레이션은 학생이 변경 사항을 실험하고 회로에 미치는 영향을 확인할 수 있도록 하여 학습 과정에 확실히 도움이 됩니다.

이 책 전체에서 중요한 개념을 설명하기 위해 회로 시뮬레이션의 컴퓨터 출력물을 자주 통합할 것입니다. 컴퓨터 시뮬레이션의 결과를 관찰함으로써 학생은 추상적인 수학적 분석을 겁내지 않고 회로 동작을 직관적으로 파악할 수 있습니다.

SPICE를 사용한 회로 시뮬레이션

컴퓨터에서 회로를 시뮬레이션하기 위해 SPICE라는 특정 프로그램을 사용합니다. 이 프로그램은 텍스트 목록을 통해 컴퓨터에 회로를 설명함으로써 작동합니다. 본질적으로 이 목록은 일종의 컴퓨터 프로그램이며 SPICE 언어의 구문 규칙을 따라야 합니다.

그런 다음 컴퓨터는 회로를 설명하는 텍스트 목록을 해석하고 자세한 수학적 분석 결과를 텍스트 형식으로 출력하는 SPICE 프로그램을 처리하거나 "실행"하는 데 사용됩니다. SPICE 사용에 대한 많은 세부 사항은 더 많은 정보를 원하는 사람들을 위해 이 책 시리즈의 5권("참조")에 설명되어 있습니다. 여기서는 기본 개념을 소개하고 SPICE를 지금까지 읽은 이 간단한 회로의 분석에 적용하겠습니다.

먼저 컴퓨터에 SPICE가 설치되어 있어야 합니다. 무료 프로그램으로서 일반적으로 인터넷에서 다운로드할 수 있으며 다양한 운영 체제에 적합한 형식으로 제공됩니다. 이 책에서는 사용 편의성을 위해 SPICE의 이전 버전 중 하나인 버전 2G6을 사용합니다.

다음으로 SPICE가 분석할 회로가 필요합니다. 이 장의 앞부분에서 설명한 회로 중 하나를 시도해 보겠습니다. 다음은 회로도입니다.

이 간단한 회로는 배터리와 함께 직접 연결된 저항으로 구성됩니다. 우리는 배터리의 전압(10볼트)과 저항의 저항(5Ω)을 알고 있지만 회로에 대해서는 아무것도 모릅니다. 이 회로를 SPICE에 설명하면 옴의 법칙(I=E/R)을 사용하여 회로에 얼마나 많은 전류가 있는지 알려줄 수 있어야 합니다.

SPICE는 텍스트 기반 프로그램입니다.

SPICE는 개략도나 다른 형태의 그래픽 설명을 직접적으로 이해할 수 없습니다. SPICE는 텍스트 기반 컴퓨터 프로그램이며 회로를 구성 요소와 연결 지점으로 설명해야 합니다. 회로의 각 고유 연결 지점은 "노드" 번호로 SPICE에 대해 설명됩니다. 시뮬레이션할 회로에서 서로 전기적으로 공통인 점은 동일한 번호를 공유하여 지정됩니다.

이전 섹션에 제공된 정의에 따라 이러한 숫자를 "노드" 번호가 아닌 "와이어" 번호로 생각하는 것이 도움이 될 수 있습니다. 이것은 컴퓨터가 무엇이 무엇에 연결되어 있는지 아는 방법입니다. 공통 배선 또는 노드 번호를 공유함으로써. 이 예제 회로에는 두 개의 "노드", 즉 상단 와이어와 하단 와이어만 있습니다. SPICE는 회로 어딘가에 노드 0이 있어야 하므로 와이어 0과 1에 레이블을 지정합니다.

위의 그림에서는 공통 노드 번호를 공유하는 공통 포인트의 개념을 강조하기 위해 각 와이어 주위에 여러 "1" 및 "0" 레이블을 표시했지만 여전히 텍스트 설명이 아닌 그래픽 이미지입니다. SPICE는 분석을 진행하기 전에 구성 요소 값과 노드 번호가 텍스트 형식으로 제공되어야 합니다.

텍스트 편집기를 사용하여 SPICE 파일 만들기<

컴퓨터에서 텍스트 파일을 만들려면 텍스트 편집기라는 프로그램을 사용해야 합니다. . 워드 프로세서와 마찬가지로 텍스트 편집기를 사용하면 텍스트를 입력하고 입력한 내용을 컴퓨터의 하드 디스크에 저장된 파일 형식으로 기록할 수 있습니다. 텍스트 편집기에는 워드 프로세서의 서식 지정 기능이 없습니다(기울임꼴 없음). , 굵게 , 또는 밑줄이 그어진 문자), SPICE와 같은 프로그램은 이 추가 정보로 무엇을 해야할지 모르기 때문에 이것은 좋은 일입니다. 선택한 키보드 문자 외에는 아무 것도 기록되지 않은 일반 텍스트 파일을 생성하려면 텍스트 편집기를 사용하는 것이 좋습니다.

DOS 또는 Windows와 같은 Microsoft 운영 체제를 사용하는 경우 시스템에서 몇 가지 텍스트 편집기를 쉽게 사용할 수 있습니다. DOS에는 이전 편집이 있습니다. 명령 프롬프트에서 edit를 입력하여 호출할 수 있는 텍스트 편집 프로그램. Windows(3.x/95/98/NT/Me/2k/XP)에서는 메모장 텍스트 편집기는 주식 선택입니다.

다른 많은 텍스트 편집 프로그램을 사용할 수 있으며 일부는 무료입니다. 우연히 Vim이라는 무료 텍스트 편집기를 사용하고 있습니다. , Windows 95 및 Linux 운영 체제 모두에서 실행합니다. 어떤 편집기를 사용하는지는 별로 중요하지 않으므로 이 섹션의 스크린샷이 귀하의 것과 같지 않더라도 걱정하지 마십시오. 여기서 중요한 정보는 입력하는 내용입니다. , 어떤 편집자가 아니라 당신은 우연히 사용합니다.

SPICE에 대한 이 간단한 2성분 회로를 설명하기 위해 먼저 텍스트 편집기 프로그램을 호출하고 회로에 대한 "제목" 줄을 입력하겠습니다.

"v"("전압 소스")로 시작하는 텍스트 줄을 입력하여 배터리의 각 단자가 연결되는 와이어(노드 번호) 및 배터리 전압을 식별하여 컴퓨터에 배터리를 설명할 수 있습니다. , 다음과 같이:

이 텍스트 줄은 노드 1과 0, 직류(DC), 10볼트 사이에 연결된 전압 소스가 있음을 SPICE에 알려줍니다. 이것이 컴퓨터가 배터리에 관해 알아야 할 모든 것입니다. 이제 저항을 살펴보겠습니다. SPICE에서는 저항을 문자 "r", 두 노드(연결 지점)의 수, 저항(옴)으로 설명해야 합니다. 이것은 컴퓨터 시뮬레이션이므로 저항에 대한 정격 전력을 지정할 필요가 없습니다. "가상" 구성 요소의 좋은 점 중 하나는 과도한 전압이나 전류로 인해 손상되지 않는다는 것입니다!

이제 SPICE는 노드 1과 0 사이에 5Ω 값으로 연결된 저항이 있음을 알게 됩니다. 이 매우 짧은 텍스트 줄은 컴퓨터에 배터리와 동일한 두 노드(1 및 0) 사이에 저항 값이 5Ω인 저항("r")이 연결되어 있음을 알려줍니다.

회로 설명의 끝을 나타내기 위해 이 SPICE 명령 모음에 .end 문을 추가하면 SPICE가 필요로 하는 모든 정보가 하나의 파일에 수집되어 처리할 준비가 됩니다. 컴퓨터 파일의 텍스트 줄로 구성된 이 회로 설명은 기술적으로 netlist로 알려져 있습니다. , 또는 :

텍스트 편집기 파일을 SPICE로 이동

필요한 모든 SPICE 명령 입력을 마치면 SPICE가 호출될 때 참조할 항목이 있도록 컴퓨터 하드 디스크의 파일에 "저장"해야 합니다. 이것은 나의 첫 번째 SPICE 넷리스트이므로 "circuit1.cir"(실제 이름은 임의적임)이라는 파일 이름으로 저장하겠습니다.

운영 체제의 파일 이름 규칙을 위반하지 않는 한, 첫 번째 SPICE 넷리스트의 이름을 완전히 다른 이름으로 지정할 수 있습니다. 확장자:12345678.123) DOS에서.

SPICE를 호출하려면(circuit1.cir netlist 파일의 내용을 처리하도록 지시) 텍스트 편집기를 종료하고 명령 프롬프트(Microsoft 사용자의 경우 "DOS 프롬프트")에 액세스해야 합니다. 준수해야 하는 컴퓨터의 운영 체제입니다.

프로그램을 호출하는 이 "원시적인" 방법은 "포인트 앤 클릭" 그래픽 환경에 익숙한 컴퓨터 사용자에게는 구식으로 보일 수 있지만 작업을 수행하는 매우 강력하고 유연한 방법입니다.

SPICE를 사용하여 여기에서 수행하는 작업은 단순한 형태의 컴퓨터 프로그래밍이며, 단순히 마우스를 사용하여 아이콘 이미지를 클릭하는 것과 달리 컴퓨터에 텍스트 형식의 명령을 따르는 것이 더 편해집니다. 컴퓨터를 지배하게 될 것입니다.

명령 프롬프트에서 다음 명령을 입력한 다음 [Enter] 키를 누르십시오(이 예는 파일 이름 circuit1.cir를 사용합니다. 넷리스트 파일에 대해 다른 파일 이름을 선택한 경우 대체):

<사전>스파이스

다음은 [Enter] 키를 누르기 직전에 내 컴퓨터(Linux 운영 체제 실행)에서 보이는 방법입니다.

이 명령을 실행하기 위해 [Enter] 키를 누르자 마자 SPICE 출력의 텍스트가 컴퓨터 화면에서 스크롤되어야 합니다. 다음은 내 컴퓨터에서 SPICE가 출력하는 것을 보여주는 스크린샷입니다(전체 텍스트를 표시하기 위해 "터미널" 창을 늘렸습니다. 일반 크기 터미널을 사용하면 텍스트가 한 페이지 길이를 쉽게 초과합니다):

SPICE는 제목 줄과 .end 문으로 완성된 넷리스트의 반복으로 시작합니다. 시뮬레이션의 중간쯤에 노드 0을 기준으로 모든 노드의 전압이 표시됩니다. 이 예에서는 노드 0이 아닌 하나의 노드만 있으므로 여기에 전압이 표시됩니다(10.0000볼트).

그런 다음 각 전압 소스를 통과하는 전류를 표시합니다. 전체 회로에 하나의 전압 소스만 있기 때문에 해당 소스를 통과하는 전류만 표시합니다. 이 경우 소스 전류는 2A입니다. SPICE가 전류를 분석하는 방식의 기이함으로 인해 2A의 값은 음(-) 2A로 출력됩니다.

컴퓨터 분석 보고서의 마지막 텍스트 줄은 "총 전력 손실"이며 이 경우 "2.00E+01" 와트:2.00 x 101 또는 20와트로 지정됩니다. SPICE는 대부분의 수치를 일반(고정 소수점) 표기법이 아닌 과학 표기법으로 출력합니다.

처음에는 이것이 더 혼란스러워 보일 수 있지만 실제로는 매우 크거나 작은 숫자가 포함될 때 덜 혼란스럽습니다. 과학적 표기법에 대한 자세한 내용은 이 책의 다음 장에서 다룰 것입니다.

SPICE와 같은 "기본" 텍스트 기반 프로그램을 사용할 때의 이점 중 하나는 처리되는 텍스트 파일이 다른 파일 형식, 특히 다른 회로 시뮬레이션 소프트웨어에서 사용되는 그래픽 형식에 비해 매우 작다는 것입니다.

또한 SPICE의 출력이 일반 텍스트라는 사실은 SPICE의 출력을 추가로 조작할 수 있는 다른 텍스트 파일로 보낼 수 있음을 의미합니다. 이를 위해 컴퓨터 운영 체제에 명령을 다시 실행하여 SPICE를 호출합니다. 이번에는 출력을 "output.txt"라고 하는 파일로 리디렉션합니다.

SPICE는 이전과 같이 컴퓨터 화면에 출력되는 텍스트 스트림 없이 이번에는 "자동으로" 실행됩니다. 새 파일 output1.txt가 생성되며, 이 파일은 텍스트 편집기나 워드 프로세서를 사용하여 열고 변경할 수 있습니다. 이 그림에서는 동일한 텍스트 편집기(Vim ) 이 파일을 열려면:

이제 이 파일을 자유롭게 편집하고 관련 없는 텍스트(예:날짜와 시간을 표시하는 "배너")를 삭제하고 회로 분석과 관련이 있다고 생각되는 텍스트만 남길 수 있습니다.

적절하게 편집하고 동일한 파일 이름(이 예에서는 output.txt)으로 다시 저장하면 텍스트를 거의 모든 컴퓨터 시스템의 보편적인 파일 형식인 "일반 텍스트"와 같은 모든 종류의 문서에 붙여넣을 수 있습니다. 다음과 같이 "스크린샷" 그래픽 이미지가 아니라 이 책의 텍스트에 직접 포함할 수도 있습니다.

나의 첫 번째 서킷 v 1 0 dc 10 1 0 5 .끝 노드 전압 (1) 10.0000 전압 소스 전류 이름 현재 v -2.000E+00 총 전력 손실 2.00E+01 와트 

덧붙여서, 이것은 이 책 시리즈의 SPICE 시뮬레이션에서 텍스트 출력에 선호되는 형식입니다:그래픽 스크린샷 이미지가 아닌 실제 텍스트로.

SPICE의 값 변경

시뮬레이션에서 구성 요소 값을 변경하려면 넷리스트 파일(circuit1.cir)을 열고 회로의 텍스트 설명에서 필요한 수정을 수행한 다음 해당 변경 사항을 동일한 파일 이름에 저장하고 다음 위치에서 SPICE를 다시 호출해야 합니다. 명령 프롬프트.

텍스트 파일을 편집하고 처리하는 이 프로세스는 모든 컴퓨터 프로그래머에게 친숙한 것입니다. 내가 SPICE를 가르치는 것을 좋아하는 이유 중 하나는 학습자가 컴퓨터 프로그래머처럼 생각하고 작업할 수 있도록 준비시키기 때문입니다. 컴퓨터 프로그래밍은 고급 전자 작업의 중요한 영역이기 때문에 좋습니다.

앞서 우리는 옴의 법칙을 사용하여 어떤 일이 일어날지 수학적으로 예측하는 전기 회로의 세 가지 변수(전압, 전류 또는 저항) 중 하나를 변경한 결과를 조사했습니다. 이제 SPICE를 사용하여 동일한 작업을 수행하여 계산해 보겠습니다.

마지막 예제 회로의 전압을 10볼트에서 30볼트로 세 배로 늘리고 회로 저항을 변경하지 않고 유지하면 전류도 세 배가 될 것으로 예상합니다. 첫 번째 파일을 덮어쓰지 않도록 넷리스트 파일의 이름을 변경해 보겠습니다.

이렇게 하면 둘 다 나중에 사용할 수 있도록 컴퓨터의 하드 드라이브에 저장된 회로 시뮬레이션 버전. 다음 텍스트 목록은 이 수정된 넷리스트에 대한 SPICE의 출력이며 내 컴퓨터 화면의 그래픽 이미지가 아닌 일반 텍스트 형식입니다.

두 번째 예시 회로 v 1 0 dc 30 1 0 5 .끝 노드 전압 (1) 30.0000 전압 소스 전류 이름 현재 v -6.000E+00 총 전력 손실 1.80E+02 와트 

예상한 대로 전류는 전압이 증가함에 따라 3배가 되었습니다. 전류는 이전에 2A였으나 지금은 6A(-6.000 x 100)로 증가했습니다. 또한 회로의 총 전력 손실이 어떻게 증가했는지 주목하십시오. 이전에는 20와트였지만 지금은 180와트(1.8 x 102)입니다.

전력이 전압의 제곱과 관련되어 있다는 사실을 기억하면(줄의 법칙:P=E2/R) 이는 의미가 있습니다. 회로 전압을 세 배로 늘리면 전력이 9배(32 =9) 증가해야 합니다. 9 곱하기 20은 실제로 180이므로 SPICE의 출력은 실제로 우리가 전기 회로의 전력에 대해 알고 있는 것과 상관 관계가 있습니다.

SPICE에서 댓글 작성

이 간단한 회로가 광범위한 배터리 전압에 대해 어떻게 응답하는지 확인하려면 SPICE 내에서 고급 옵션 중 일부를 호출할 수 있습니다. 여기에서는 ".dc" 분석 옵션을 사용하여 배터리 전압을 0에서 100볼트까지 5볼트 증분으로 변경하여 모든 단계에서 회로 전압과 전류를 출력하겠습니다.

별 기호("*")로 시작하는 SPICE 넷리스트의 줄은 주석입니다. . 즉, 회로 분석과 관련된 작업을 컴퓨터에 지시하지 않고 넷리스트 텍스트를 읽는 사람을 위한 참고 사항일 뿐입니다.

세 번째 예시 회로 v 1 0 1 0 5 * ".dc" 문은 "v" 공급을 스윕하도록 스파이스에게 지시합니다. *5볼트 단계로 0~100볼트의 전압. .dc v 0 100 5 .print dc v(1) i(v) .끝 

인쇄 및 플롯 명령

이 SPICE 넷리스트의 .print 명령은 분석의 각 단계에 해당하는 숫자 열을 인쇄하도록 SPICE에 지시합니다.

<이전>v i(v) 0.000E+00 0.000E+00 5.000E+00 -1.000E+00 1.000E+01 -2.000E+00 1.500E+01 -3.000E+00 2.000E+01 -4.000E+00 2.500E+01 -5.000E+00 3.000E+01 -6.000E+00 3.500E+01 -7.000E+00 4.000E+01 -8.000E+00 4.500E+01 -9.000E+00 5.000E+01 -1.000E+01 5.500E+01 -1.100E+01 6.000E+01 -1.200E+01 6.500E+01 -1.300E+01 7.000E+01 -1.400E+01 7.500E+01 -1.500E+01 8.000E+01 -1.600E+01 8.500E+01 -1.700E+01 9.000E+01 -1.800E+01 9.500E+01 -1.900E+01 1.000E+02 -2.000E+01

netlist 파일을 다시 편집하고 .print 명령을 .plot 명령으로 변경하면 SPICE는 텍스트 문자로 구성된 대략적인 그래프를 출력합니다.

<사전>범례:+ =v#가지 -------------------------------------------------- ---------------------- 스윕 v#branch-2.00e+01 -1.00e+01 0.00e+00 ----------|------------------------|--- ----------------------| 0.000e+00 0.000e+00 . . + 5.000e+00 -1.000e+00 . . + . 1.000e+01 -2.000e+00 . . + . 1.500e+01 -3.000e+00 . . + . 2.000e+01 -4.000e+00 . . + . 2.500e+01 -5.000e+00 . . + . 3.000e+01 -6.000e+00 . . + . 3.500e+01 -7.000e+00 . . + . 4.000e+01 -8.000e+00 . . + . 4.500e+01 -9.000e+00 . . + . 5.000e+01 -1.000e+01 . + . 5.500e+01 -1.100e+01 . + . . 6.000e+01 -1.200e+01 . + . . 6.500e+01 -1.300e+01 . + . . 7.000e+01 -1.400e+01 . + . . 7.500e+01 -1.500e+01 . + . . 8.000e+01 -1.600e+01 . + . . 8.500e+01 -1.700e+01 . + . . 9.000e+01 -1.800e+01 . + . . 9.500e+01 -1.900e+01 . + . . 1.000e+02 -2.000e+01 + . . ----------|------------------------|--- ----------------------| 스윕 v#branch-2.00e+01 -1.00e+01 0.00e+00

두 출력 형식 모두에서 왼쪽 숫자 열은 한 번에 5볼트씩 0볼트에서 100볼트로 증가하므로 각 간격의 배터리 전압을 나타냅니다. 오른쪽 열의 숫자는 각 전압에 대한 회로 전류를 나타냅니다. 이 숫자를 자세히 살펴보면 각 쌍 사이의 비례 관계를 알 수 있습니다.

옴의 법칙(I=E/R)은 회로 저항이 정확히 5Ω이기 때문에 각각의 전류 값이 각 전압 값의 1/5인 모든 경우에 적용됩니다. 다시 말하지만, 이 SPICE 분석에서 전류에 대한 음수는 다른 어떤 것보다 더 기이합니다. 달리 명시되지 않는 한 각 숫자의 절대값에 주의하십시오.

SPICE 데이터를 해석하고 변환하는 컴퓨터 프로그램

SPICE의 비그래픽 데이터 출력을 해석하고 그래픽 플롯으로 변환할 수 있는 컴퓨터 프로그램도 있습니다. 이러한 프로그램 중 하나는 육두구입니다. , 그리고 그 출력은 다음과 같습니다:

Nutmeg가 저항 전압 v(1)(노드 1과 노드 0의 묵시적 기준점 사이의 전압)을 양의 기울기(왼쪽 아래에서 오른쪽 위)가 있는 선으로 표시하는 방법에 유의하십시오. SPICE 사용에 능숙해졌는지 여부는 이 책에서 SPICE를 적용하는 것과 관련이 없습니다.

중요한 것은 SPICE 생성 보고서에서 숫자가 의미하는 바를 이해하는 것입니다. 앞으로 나올 예제에서 혼선을 없애기 위해 SPICE의 수치 결과에 주석을 달고 전기 회로의 동작을 이해하는 데 도움이 되는 이 놀라운 도구의 힘을 풀기 위해 최선을 다할 것입니다.

관련 워크시트:

<울>
  • 기본 전기 워크시트
  • 기본 DC 워크시트
  • 기본 네트워크 분석 워크시트
  • 기본 AC 워크시트
  • 기본 반도체 워크시트
  • 기본 아날로그 회로 워크시트
  • 기본 디지털 회로 워크시트

  • 산업기술

    1. SPICE 소개
    2. SPICE 프로그래밍의 기초
    3. 회로 구성요소
    4. 모터 제어 회로
    5. 다중 조합 회로 사용
    6. 증폭기 회로
    7. 전기 회로의 전력
    8. 직렬 병렬 회로의 공진
    9. 전기 회로 구축
    10. 다양한 유압 회로 소개