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

병렬 회로에서의 커패시터

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

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 at outlook.com

비밀번호

댓글 작성자
 




... 16  17  18  19  20  21  [22]  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
13069정성태5/26/20229257.NET Framework: 2019. C# - .NET에서 제공하는 3가지 Timer 비교 [2]
13068정성태5/24/20227720.NET Framework: 2018. C# - 일정 크기를 할당하는 동안 GC를 (가능한) 멈추는 방법 [1]파일 다운로드1
13067정성태5/23/20227063Windows: 206. Outlook - 1년 이상 지난 메일이 기본적으로 안 보이는 문제
13066정성태5/23/20226382Windows: 205. Windows 11 - Windows + S(또는 Q)로 뜨는 작업 표시줄의 검색 바가 동작하지 않는 경우
13065정성태5/20/20227078.NET Framework: 2017. C# - Windows I/O Ring 소개 [2]파일 다운로드1
13064정성태5/18/20226627.NET Framework: 2016. C# - JIT 컴파일러의 인라인 메서드 처리 유무
13063정성태5/18/20227054.NET Framework: 2015. C# - 인라인 메서드(inline methods)
13062정성태5/17/20227839.NET Framework: 2014. C# - async/await 그리고 스레드 (4) 비동기 I/O 재현파일 다운로드1
13061정성태5/16/20226655.NET Framework: 2013. C# - FILE_FLAG_OVERLAPPED가 적용된 파일의 읽기/쓰기 시 Position 관리파일 다운로드1
13060정성태5/15/20229086.NET Framework: 2012. C# - async/await 그리고 스레드 (3) Task.Delay 재현파일 다운로드1
13059정성태5/14/20227595.NET Framework: 2011. C# - CLR ThreadPool의 I/O 스레드에 작업을 맡기는 방법 [1]파일 다운로드1
13058정성태5/13/20227515.NET Framework: 2010. C# - ThreadPool.SetMaxThreads 사용법
13057정성태5/12/20229187오류 유형: 812. 파이썬 - ImportError: cannot import name ...
13056정성태5/12/20226366.NET Framework: 2009. C# - async/await 그리고 스레드 (2) MyTask의 호출 흐름 [2]파일 다운로드1
13055정성태5/11/20229253.NET Framework: 2008. C# - async/await 그리고 스레드 (1) MyTask로 재현 [11]파일 다운로드1
13054정성태5/11/20226777.NET Framework: 2007. C# - 10진수 숫자를 담은 문자열을 숫자로 변환하는 방법 [11]파일 다운로드1
13053정성태5/10/20226400.NET Framework: 2006. C# - GC.KeepAlive 메서드의 역할
13052정성태5/9/20226406.NET Framework: 2005. C# - 생성한 참조 개체가 언제 GC의 정리 대상이 될까요?
13051정성태5/8/20226362.NET Framework: 2004. C# XingAPI - ACF 검색 결과로 구한 CSV 파일을 통해 퀀트 종목 찾기파일 다운로드1
13050정성태5/6/20226386.NET Framework: 2003. C# - COM 개체의 이벤트 핸들러에서 발생하는 예외에 대한 CLR의 특별 대우파일 다운로드1
13049정성태5/6/20225372오류 유형: 811. GoLand - Error: Cannot find package
13048정성태5/6/20226489오류 유형: 810. "ASUS TUF GAMING B550M-PLUS (WI-FI)" 모델에서 블루투스 장치가 인식이 안 되는 문제
13047정성태5/6/20226480오류 유형: 809. Speech Recognition could not start
13046정성태5/5/20226755.NET Framework: 2002. C# XingAPI - ACF 파일을 이용한 퀀트 종목 찾기(t1857)
13045정성태5/5/20226824.NET Framework: 2001. C# XingAPI - 주식 종목에 따른 PBR, PER, ROE 구하는 방법(t3341 예제)
13044정성태5/4/20226294오류 유형: 808. error : clang++ exited with code 127
... 16  17  18  19  20  21  [22]  23  24  25  26  27  28  29  30  ...