Microsoft MVP성태의 닷넷 이야기
사물인터넷: 35. 병렬 회로에서의 커패시터 [링크 복사], [링크+제목 복사]
조회: 1961
글쓴 사람
홈페이지
첨부 파일

병렬 회로에서의 커패시터

커패시터는 (시간이 주어진다면) 입력 전압만큼 충전이 됩니다. 예를 들어, 다음의 회로를 보면,

capacitor_parallel_1.png

회로 전압이 8.73V 일 때, C1도 8.73V만큼 충전이 됩니다. 그리고 다음과 같이 병렬 회로를 구성해도,

capacitor_parallel_2.png

8.61V 전압으로 약간 내려가긴 했지만 금방 충전이 됩니다.

하지만 위의 회로에서 다음과 같이 저항을 하나 추가하면,

capacitor_parallel_3.png

(R3와 Battery 구간의 전류는 4.36mA) 이젠 C1에 4.31V 정도만 충전이 됩니다. 대략, R3와 R1이 50:50으로 전압을 나눠 갖은 정도입니다. 조금 생각해 보면 이해가 됩니다. 원래는 R1 || R2의 구간이 병렬 회로이기 때문에 500Ω 정도의 저항이 있을 것이므로 R3 : (R1 || R2) 구간의 전압은 1K:500 정도로 나뉘어야 됩니다. 즉, 8.73V 입력 전압일 때,

[R1 || R2 전압]
1500:500 = 8.73:x
x = 2.91V

[R3 전압]
1500:1000 = 8.73:x
x = 5.82V

이렇게 전압 배분이 되어야 합니다. 하지만, 일단 전원이 인가되면 C1이 충전될수록 점점 더 저항이 올라가는 효과가 발생합니다. 그래서 R1 || R2 병렬 회로의 합성 저항값이 올라가게 되고 이 때문에 2.91V를 넘어 전압을 받게 됩니다. 하지만 병렬 회로의 합성 저항은 아무리 커야 낮은 쪽 저항의 값에 수렴하게 됩니다. 가령 합성 저항의 공식에 위의 회로에서 (R1 || R2)의 합성 저항이 1K가 되도록 만들려면,

1000 = (1000 * x) / (1000 + x)
1000 * (1000 + x) = 1000x
1000 * 1000 + 1000x = 1000x
1000 * 1000 ≠ 0 // 합성 저항이 1K로는 정의할 수 없음.

999 = (1000 * x) / (1000 + x)
999 * (1000 + x) = 1000x
999 * 1000 + 999x = 1000x
999 * 1000 = x
999000 = x         // 합성 저항을 500에서 999로 끌어올리는데 1MΩ 정도의 저항이 필요

그러니까, (1K || 1K) 병렬 회로에서의 합성 저항이 1K가 되려면 C1의 저항이 무한대가 되는 시점(다시 말해 단선이나 다름없는 시점)이고, 그제서야 전체적으로는 직렬 회로처럼 되어 1K:1K 비율의 전압 및 저항으로 나뉘게 되고 결국 C1에 충전할 수 있는 전압의 양은 1/2 정도가 되는 것입니다.




그럼 다음과 같이 LED를 하나 추가해 보면 어떻게 될까요?

capacitor_parallel_4.png

측정해 보면 LED에 2.496V의 전압이 있습니다. 따라서 전체 8.72V에서 2.496V를 제외한 6.224V를 절반으로 나눈 3.112V가 충전될 것입니다. 실제로 측정해 보니 3.083V가 나왔습니다.




또는 이런 식으로 연결하면 어떻게 될까요?

capacitor_parallel_5.png

그럼 (극이 없는) ceramic capacitor는 S1 스위치가 눌린 경우 왼쪽을 양(+) 극을 갖는 충전 상태가 됩니다. 그리곤 S1 스위치를 열면 C1 - R1 - R2의 폐회로가 있기 때문에,

1KΩ = 1000Ω
2.2uF = 0.0000022F

TC = R * C

TC = 2000 * 0.0000022 = 0.0044초

순식간에 방전됩니다. 반면 S2 스위치를 닫는 경우에는 오른쪽을 양(+) 극을 갖는 충전 상태가 되고 S2 스위치를 열면 C1 - R2 - R1의 폐회로가 있기 때문에 마찬가지로 빠르게 방전됩니다.




위의 회로에서 "R2"만 470KΩ으로 저항을 바꿔보겠습니다.

capacitor_parallel_6.png

S1을 누르면 R1을 경유해 충전되므로 1KΩ 저항에 따른 시상수 함숫값으로 충전이 빠르게 이뤄지지만 스위치를 떼었을 때는 (1K + 470K)에 해당하는 시상수 함숫값이 나오기 때문에 방전은 느리게 이뤄집니다.

반면, S2를 누른 경우에는 R2를 경유해 충전되므로 470K 저항에 따른 시상수 함숫값이 나와 충전이 느리게 이뤄지고 방전 시에도 +1K가 더해져 약간 더 느린 속도로 진행합니다.

S1의 On/Off
    C1 - 고속 충전, 저속 방전

S2의 On/Off
    C1 - 저속 충전, 저속 방전

그렇다면, 한 쪽 스위치(예를 들어 S1 스위치를 닫아 충전한 다음, S1 스위치)를 열어 저속 방전 시에 다른 쪽 스위치(예를 들어 S2 스위치)를 누르면 어떻게 될까요? 그럼 고속 방전이 이뤄지는데 아마도 방전 방향과 같게 전류도 흐르므로 속도를 높여주는 것 같습니다.

그래도 또 하나 테스트할 것이 있습니다. 저 상황에서 S1을 누르면 고속 충전이 되는데 그 눌린 상태에서 S2를 누르면 어떻게 될까요? S1을 누르면 C1 왼쪽이 양(+) 극을 띠고 고속 충전된 상태에서 S2가 함께 눌리면 C1으로의 저항값이 무한대이기 때문에 R1으로 흐르던 전류는 S2로 곧바로 흘러 버립니다. C1은 R1으로부터 유입되던 전류가 끊겨 버려 방전을 하기 시작하는데 C1 - S2 - S1으로의 폐회로가 단락되기 때문에 순간 방전을 하게 됩니다. 재미있게도 R2를 통한 충전이 발생하지는 않는다는 점입니다. 아마도 R2에서 S1으로의 경로가 GND로 접지되기 때문에 C1으로의 전류가 흐르지 않는 것 같습니다. 즉, C1은 말 그대로 0V의 상태로 충전도 방전도 하지 않는 상태로 빠집니다. (계측기로 C1의 왼쪽에 +, 오른쪽에 - 탐침을 두고 측정해 보면 전압이 0.008V 나옵니다.)

참고로, S2를 누르고 S1을 눌러도 같은 상태로 빠지며 C1의 전압은 동일하게 0.008V에서 멈춥니다.




또 하나 해볼까요? 다음과 같이 트랜지스터를 넣어두면 어떻게 될까요?

capacitor_parallel_7.png

스위치의 상태에 따른 C1의 전압은 다음과 같습니다.

+/-: 8.73V

계측기 탐침 [+]: C1 [Left]
계측기 탐침 [-]: C1 [Right]

[계측기를 C1에 병렬연결했으므로 방전 시 영향이 있음]

S1 ON: 8.03V 고속 충전 (1K 저항과 병렬로 베이스-이미터 연결)
S1 OFF: 저속 방전 (R1 - R2 - C1의 연결로 470K 저항의 영향)

S2 ON: -8.17V 저속 충전 (R2 - C1의 연결로 470K 저항의 영향)
S2 OFF: 저속 방전 (R2 - R1 - C1의 연결로 470K 저항의 영향)

S1 ON + S2 ON인 경우 C1의 전압: -0.628V

참고로 R3의 경우 방전 시에 베이스에서 컬렉터로 전류가 흐르지는 못하므로 아무런 영향을 주지 않습니다.

그렇다면 트랜지스터의 상태는 S1, S2의 열고 닫힘에 어떻게 반응할까요?

우선, S1이 닫히면 배터리 양(+) 극 => R1 => C1 => Q1 Base => Q1 Emitter로의 경로가 개방되므로 스위치가 켜집니다. 하지만, 곧 C1이 충전되면서 저항이 증가해 R1의 전압은 0V가 되고 C1은 8.01V까지 상승합니다. 그래도 Q1은 스위치가 켜진 상태를 유지하는데 R2로부터의 전류 유입이 있기 때문입니다. 이미터가 GND에 곧바로 연결되어 있으므로 Base -> Emitter의 전압은 운영 전압인 0.67V 정도를 S1이 닫혀 있는 동안 유지합니다.

반면 S1이 열리고, S2만 닫히면 어떻게 될까요? 이런 경우에는 S1 스위치가 닫혀 있기 때문에 Emitter로의 경로가 끊어져 있으므로 베이스로 전류가 흐르지 않게 되어 당연히 Q1 스위치는 언제나 꺼져 있게 됩니다.

그렇다면 S1이 닫힌 상태에서 S2를 닫으면 어떻게 될까요? S1이 닫히면서 Q1의 Base => Emitter는 연결되고, 이 상태에서 S2가 닫히면 C1의 왼쪽이 GND와 바로 연결되면서 R2로부터 전류가 잠시 흐르게 되고 C1 역시 방전이 됩니다. 따라서 잠깐 음(-) 전압 상태로 바뀌었다가 (저속 충전에 의해) C1이 충전되면서 저항이 커지게 되고 이내 R2의 전류 흐름은 Q1의 베이스로 향하게 됩니다. 결국 잠시 스위치가 꺼졌다가 다시 열리게 됩니다.

이 상태를 이미터에 LED를 연결하면 눈으로 확인할 수 있습니다. S1을 닫아 LED 불이 켜진 상태에서 S2를 닫으면 잠시 LED가 꺼졌다가 잠시 후 다시 밝아집니다.

(첨부 파일은 이 글의 그림에 사용된 fzz 원본입니다.)




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]





[최초 등록일: ]
[최종 수정일: 8/21/2018 ]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer@outlook.com

비밀번호

댓글 쓴 사람
 




... [16]  17  18  19  20  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
11833정성태5/14/20191518개발 환경 구성: 431. Visual Studio 2019 - CMake를 이용한 공유/실행(so/out) 리눅스 프로젝트 설정파일 다운로드1
11832정성태3/4/20191197오류 유형: 524. Visual Studio CMake - rsync: connection unexpectedly closed
11831정성태3/4/2019953오류 유형: 523. Visual Studio 2019 - 새 창으로 뜬 윈도우를 닫을 때 비정상 종료
11830정성태2/26/2019892오류 유형: 522. 이벤트 로그 - Error opening event log file State. Log will not be processed. Return code from OpenEventLog is 87.
11829정성태12/12/20191024개발 환경 구성: 430. 마이크로소프트의 CoreCLR 프로파일러 예제 빌드 방법 - 리눅스 환경 [1]
11828정성태2/26/20192018개발 환경 구성: 429. Component Services 관리자의 RuntimeBroker 설정이 2개 있는 경우
11827정성태2/26/20191390오류 유형: 521. Visual Studio - Could not start the 'rsync' command on the remote host, please install it using your system package manager.
11826정성태2/26/20191060오류 유형: 520. 우분투에 .NET Core SDK 설치 시 패키지 의존성 오류
11825정성태2/25/20192968개발 환경 구성: 428. Visual Studio 2019 - CMake를 이용한 리눅스 빌드 환경 설정 [1]
11824정성태2/25/20191553오류 유형: 519. The SNMP Service encountered an error while accessing the registry key SYSTEM\CurrentControlSet\Services\SNMP\Parameters\TrapConfiguration. [1]
11823정성태2/21/20191066오류 유형: 518. IIS 관리 콘솔이 뜨지 않는 문제
11822정성태2/20/20191059오류 유형: 517. docker에 설치한 MongoDB 서버로 연결이 안 되는 경우
11821정성태2/20/20191158오류 유형: 516. Visual Studio 2019 - This extension uses deprecated APIs and is at risk of not functioning in a future VS update. [1]
11820정성태2/20/20193386오류 유형: 515. 윈도우 10 1809 업데이트 후 "User Profiles Service" 1534 경고 발생
11819정성태2/20/20191418Windows: 158. 컴퓨터와 사용자의 SID(security identifier) 확인 방법
11818정성태2/20/20191636VS.NET IDE: 131. Visual Studio 2019 Preview의 닷넷 프로젝트 빌드가 20초 이상 걸리는 경우 [2]
11817정성태2/17/20191335오류 유형: 514. WinDbg Preview 실행 오류 - Error : DbgX.dll : WindowsDebugger.WindowsDebuggerException: Could not load dbgeng.dll
11816정성태2/17/20191237Windows: 157. 윈도우 스토어 앱(Microsoft Store App)을 명령행에서 직접 실행하는 방법
11815정성태2/14/20191578오류 유형: 513. Visual Studio 2019 - VSIX 설치 시 "The extension cannot be installed to this product due to prerequisites that cannot be resolved." 오류 발생
11814정성태2/12/20191015오류 유형: 512. VM(가상 머신)의 NT 서비스들이 자동 시작되지 않는 문제
11813정성태2/12/20191270.NET Framework: 809. C# - ("Save File Dialog" 등의) 대화 창에 확장 속성을 보이는 방법
11812정성태1/2/2020941오류 유형: 511. Windows Server 2003 VM 부팅 후 로그인 시점에 0xC0000005 BSOD 발생
11811정성태2/11/20191356오류 유형: 510. 서버 운영체제에 NVIDIA GeForce Experience 실행 시 wlanapi.dll 누락 문제
11810정성태2/11/20191015.NET Framework: 808. .NET Profiler - GAC 모듈에서 GAC 비-등록 모듈을 참조하는 경우의 문제
11809정성태2/11/20191259.NET Framework: 807. ClrMD를 이용해 메모리 덤프 파일로부터 특정 인스턴스를 참조하고 있는 소유자 확인
11808정성태2/8/20191777디버깅 기술: 123. windbg - 닷넷 응용 프로그램의 메모리 누수 분석
... [16]  17  18  19  20  21  22  23  24  25  26  27  28  29  30  ...