Microsoft MVP성태의 닷넷 이야기
사물인터넷: 31. 커패시터와 RC 회로 [링크 복사], [링크+제목 복사]
조회: 547
글쓴 사람
정성태 (kevin13@chol.net)
홈페이지
첨부 파일

커패시터와 RC 회로

"짜릿짜릿 전자회로 DIY (2판) 뜯고 태우고 맛보고, 몸으로 배우는" 책의 그림 2-71 회로 실습을 보면 1000uF 용량의 커패시터를 사용하고 있어서 저도 이 부품을 구매했습니다.

50PK1000MEFCCC12.5X25
; https://www.eleparts.co.kr/goods/view?no=2627278

Capacitance: 1000uF
Voltage Rating: 50V
Product Range: PK Series
Capacitance Tolerance: ±20%
Capacitor Terminals: Radial Leaded
Diameter: 12.5mm
Lead Spacing: 5mm
Height: 25mm
Operating Temperature Min: -40°C
Operating Temperature Max: 85°C
Lifetime @ Temperature: 2000 hours @ 85°C
Capacitance Tolerance ±: ±20%
Packaging: Each
Ripple Current AC: 1350mA

(첨부 파일에 datasheet - 2321614.pdf가 있습니다.)

보통 전해 커패시터는 다리의 길이로 극을 알 수 있다고 하는데요, 배송되어온 제품이 다음과 같이 다리가 동일하게 잘려 있는 것입니다. ^^;

capacitor_1.png

극을 찾는 다른 방법이 있을까 찾아봤더니 다행히 ^^ 있습니다.

전해 콘덴서의 고장 여부 판별 방법 및 기능 총정리
; http://mon.futurepia.com/21

제가 올려놓은 사진을 보면 우측에 회색 띠가 있는데요, 그 부분 쪽으로 나온 다리가 음극인 것입니다. 자, 그럼 간단하게 다음과 같이 회로를 구성해 봅니다.

capacitor_2.png

그런 후 계측기로 커패시터 다리 양측의 전압을 재는데, 스위치를 누르면 금방 다음과 같이 바뀝니다.

[측정값]
+/-: 8.83V
커패시터: 8.83V

저항이 없는 상태이기 때문에 순식간에 8.83V로 채워지고 스위치를 떼면 그 이후부터 0.0x ~ 0.00x 단위의 전압이 누수가 되면서 떨어집니다. 그리고 양(+)극에 연결된 선을 GND로 옮긴 후(어떤 식으로든 커패시터를 배터리로 여기고 +/-를 연결하는 폐회로 구성) 다시 스위치를 누르면 순식간에 0V 전압으로 내려가는데 재미있는 것은 이번엔 0.0x ~ 0.00x 단위의 전압이 다시 올라가는 현상이 발생합니다.

이렇게 순간에 충전되고, 순간에 방전되는 것을 모두, 저항을 이용하면 제어가 가능합니다.

우선, 순간에 충전되지 않도록 회로를 다음과 같이 변경해 보겠습니다.

capacitor_3.png

이렇게 저항을 연결해 주면 "TC = R * C"라는 시상수(Time constant, 또는 시정수)" 함수에 따라 커패시터가 갖는 충전 용량의 63%를 원하는 시간에 채우도록 제어할 수 있습니다. 예를 들어, R = 1K, C = 1,000uF 이면 TC = 1000 * 0.001F = 1이 되므로 1초에 완전히 방전된 커패시터를 9V의 63%까지 채울 수 있습니다. (이후로 미분 방정식처럼 그런 과정이 연속됩니다.)

또한 순간에 방전되지 않도록 하는 것은 저항을 다음과 같이 병렬로 연결하면 됩니다.

capacitor_4.png

위와 같이 구성하면 S1 스위치를 닫는 경우 R1의 저항 크기에 따라 커패시터가 충전되는 속도가 달라지며, (S1을 떼고) S2 스위치를 닫으면 R2의 저항 크기에 따라 커패시터의 방전 속도가 달라집니다.

이렇게 구성한 회로를 RC(Resistor-Capacity) 네트워크라고 부른다는데 ^^ 저 같은 비전공자가 설명할 만한 내용이 아니므로 ^^ 이에 대해서는 다음의 글을 좀 더 읽어보시길 바랍니다.

RC회로의 응용(1)
; http://forum.falinux.com/zbxe/index.php?document_srl=792177

RC회로의 응용(2)
; http://forum.falinux.com/zbxe/index.php?document_srl=794104




이번엔 위의 회로에서 저항 옆에 LED 하나씩을 붙여 보겠습니다.

capacitor_5.png

복잡한 회로라고 생각이 드는데, 그냥 충전 시에 동작할 회로라면 아래의 S2 스위치가 그려진 부분은 없다고 생각하면 됩니다. 그 상태에서 상단의 S1 스위치를 닫으면 어떻게 될까요?

처음 C1 커패시터는 0V로 충전된 상태이기 때문에 시상수 함수의 규칙에 따라 (초기에는 빠르지만 이후) 서서히 충전이 될 것입니다. 충전이 되면서 자연스럽게 커패시터의 전압이 0V에서 9V 가까이까지 올라가게 됩니다. 예를 들어, 커패시터에 0V 일 때는 나머지 9V의 전압이 "R1 + LED2"에 걸리게 됩니다. 즉, 이해를 돕자면 커패시터가 0Ω에서 계속 저항값이 증가하는 부품이라고 생각하면 됩니다. 저항값이 올라가면서(즉, 충전이 이뤄지면서) 나머지 전압은 커패시터 이후의 부품들이 받게 되는 것입니다.

이 때문에, 위의 회로는 S1을 닫으면 LED2 부품이 밝아졌다가 서서히 빛을 잃어가게 됩니다.

이어서 방전을 해보겠습니다. 방전할 때, 커패시터는 DC 건전지라고 생각하면 됩니다. 그렇다면 위의 회로에서 (S1 스위치가 열리고) S2 스위치가 닫혔을 때 이번엔 커패시터에 충전된 전압이 R2, LED1 부품을 흐르면서 전원을 공급하게 됩니다. 따라서 LED1이 밝아졌다가 서서히 흐려지게 됩니다.

여기서 C1 커패시터의 용량을 0.33uF로 된 것을 연결해보겠습니다.

AL-CAP 0.33uF 50V   
; https://www.eleparts.co.kr/goods/view?no=3369510

전해콘덴서 85도
5x11mm,2000HRS

(첨부 파일에 datasheet - SHL.pdf가 있습니다.)

이 상태에서 S1 스위치를 닫으면 LED2가 순간적으로 깜빡하고는 커패시터의 용량이 금방 6.68V까지 충전됩니다. 그다음 (S1 스위치를 열고) S2 스위치를 닫으면 마찬가지로 LED1이 순간적으로 깜빡하고는 커패시터의 용량이 금방 0V에 가깝게 내려갑니다.

재미있는 것은, 이때 커패시터의 +/- 노드에 계측기를 연결한 경우입니다. 계측기를 (전압 측정 모드로) 연결하면 S1 스위치를 닫아 6.68V까지 충전한 다음 스위치를 열면 커패시터 자체의 누수라고 하기에는 너무 빠른 속도로 방전이 됩니다. 그래서 계측기 연결 상태에서는 S2 스위치를 빨리 테스트하지 않으면 LED1이 깜빡이는 것을 볼 수 없습니다.

이유는 이렇습니다. 제가 가진 계측기는 전압을 측정하기 위해 자체 저항을 10MΩ으로 연결하기 때문에 결국 커패시터에 저항을 병렬연결한 것이므로 커패시터가 방전을 시작하는 것입니다. 그런데 1000uF에 비해 0.33uf의 방전이 빠른 것은 시상수의 함수가 달라졌기 때문입니다.

10MΩ = 10000000Ω
1000uF = 0.001F
0.33uF = 0.00000033F

TC = R * C

10000000 * 0.001 = 10,000초
10000000 * 0.00000033 = 3.3초

따라서 3초 만에 기 충전되었던 전압에서 (1 - 0.63) 37%만큼의 전압으로 떨어지게 됩니다.




위의 내용을 이해하고, "짜릿짜릿 전자회로 DIY (2판) 뜯고 태우고 맛보고, 몸으로 배우는" 책의 101 페이지에 있는 회로도를 보면 이제 설명이 틀렸다는 것을 알 수 있습니다.

capacitor_6.png

책에서 위의 회로를 설명할 때 다음과 같이 시작합니다.

버튼 B를 눌렀다가 떼서 커패시터를 충전하면...

실은 "충전"이 아니라 "방전"입니다. 위의 회로에서 C1 커패시터를 기준으로 S1 스위치가 닫힘으로써 (저항 없는) 폐회로가 구성되었기 때문에 커패시터는 일순간에 방전해 버립니다.

그리고 이후의 설명도 약간 혼란스러운 면이 있습니다.

버튼 B를 눌렀다가 떼서 커패시터를 방전하면 계측기에 약 9VDC의 측정값이 나타나는데 커패시터의 위쪽 핀이 10K 저항을 지나 양극 버스와 연결되어 있기 때문이다. 커패시터가 DC를 차단하고 있기 때문에 커패시터에 걸리는 저항이 무한하고 양전하가 '갈 데가 없'는 것처럼 보인다.


저기서 계측기에 9VDC의 측정값이 나타나는 것은 저항의 연결이나 커패시터가 DC를 차단하고 있는 것과는 아무런 상관이 없습니다. 다시 말해, 저 회로에서 R1, C1 부품이 없어진다고 해도 여전히 9VDC의 측정값이 나옵니다. 왜냐하면 S2 스위치가 열려 있어 회로가 끊어져 있기 때문입니다. 위의 회로에서 C1은 S1을 눌러 방전한 상태이므로 0V 전압을 띠게 되므로 결과적으로 다음과 같은 회로의 전압을 재는 것과 같습니다. (그리고 그 끊어진 회로를 계측기가 10MΩ의 저항으로 직렬 연결하면서 전압을 측정한 것으로 이에 대해서는 "http://www.sysnet.pe.kr/2/0/11651" 글에서도 한 번 다뤘습니다.)

capacitor_7.png

따라서 저 회로에서 S2 스위치의 좌측과 음극의 전압을 재는 것이므로 자연스럽게 9V가 나오는 것은 당연합니다. 단지 이런 이유일뿐인데 그 설명을 "커패시터의 위쪽 핀이 10K 저항을 지나 양극 버스와 연결되어 있기 때문... 커패시터가 DC를 차단하고 있기 때문에 커패시터에 걸리는 저항이 무한..."이라고 장황하게 설명하니 왠지 10K 저항과 커패시터가 연결되어 있어 9V가 나오는 것처럼 이해할 수 있는 여지를 남긴 것입니다.

(첨부 파일은 이 글의 그림에 대한 fzz 파일입니다.)




커패시터의 활용이란, 결국 충전과 방전을 적절한 시기에 원하는 속도로 하도록 저항을 잘 연결하는 것이라 생각하는데요. 충전의 경우, DC 전압과 연결한 닫힘 회로가 필요하고 방전의 경우 DC 전압이 유입되지 않는 상황에서 어떤 식으로든 닫힘 회로가 필요합니다.

문제는, DC 전원 하에서 충전과 방전을 단일 폐회로에서 하는 것은 불가능하기 때문에 자연스럽게 병렬 회로를 비롯해 복잡한 구성을 가져갈 수밖에 없습니다. 아마도 그래서 더 커패시터가 연결된 회로를 이해하는 것이 어려울지도 모르겠습니다.




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





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

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

비밀번호

댓글 쓴 사람
 




[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
11785정성태11/21/201828디버깅 기술: 120. windbg 분석 사례 - ODP.NET 사용 시 Finalizer에서 System.AccessViolationException 예외 발생으로 인한 비정상 종료
11784정성태11/18/201887Graphics: 32. .NET으로 구현하는 OpenGL (7), (8) - Matrices and Uniform Variables, Model, View & Projection Matrices파일 다운로드1
11783정성태11/18/201880오류 유형: 504. 윈도우 환경에서 docker가 설치된 컴퓨터 간의 ping IP 주소 풀이 오류
11782정성태11/18/201891Windows: 152. 윈도우 10에서 사라진 "Adapters and Bindings" 네트워크 우선순위 조정 기능 - 두 번째 이야기
11781정성태11/17/201895개발 환경 구성: 422. SFML.NET 라이브러리 설정 방법파일 다운로드1
11780정성태11/17/201850오류 유형: 503. vcpkg install bzip2 빌드 에러 - "Error: Building package bzip2:x86-windows failed with: BUILD_FAILED"
11779정성태11/17/201885개발 환경 구성: 421. vcpkg 업데이트
11778정성태11/14/2018134.NET Framework: 803. UWP 앱에서 한 컴퓨터(localhost, 127.0.0.1) 내에서의 소켓 연결
11777정성태11/13/2018142오류 유형: 502. Your project does not reference "..." framework. Add a reference to "..." in the "TargetFrameworks" property of your project file and then re-run NuGet restore.
11776정성태11/13/201889.NET Framework: 802. Windows에 로그인한 계정이 마이크로소프트의 계정인지, 로컬 계정인지 알아내는 방법
11775정성태11/18/2018102Graphics: 31. .NET으로 구현하는 OpenGL (6) - Texturing파일 다운로드1
11774정성태11/13/2018161Graphics: 30. .NET으로 구현하는 OpenGL (4), (5) - Shader파일 다운로드1
11773정성태11/7/2018167Graphics: 29. .NET으로 구현하는 OpenGL (3) - Index Buffer파일 다운로드1
11772정성태11/6/2018192Graphics: 28. .NET으로 구현하는 OpenGL (2) - VAO, VBO파일 다운로드1
11771정성태11/5/2018163사물인터넷: 56. Audio Jack 커넥터의 IR 적외선 송신기 - 두 번째 이야기 [1]
11770정성태11/5/2018198Graphics: 27. .NET으로 구현하는 OpenGL (1) - OpenGL.Net 라이브러리파일 다운로드1
11769정성태11/5/2018158오류 유형: 501. 프로젝트 msbuild Publish 후 connectionStrings의 문자열이 $(ReplacableToken_...)로 바뀌는 문제
11768정성태11/2/2018189.NET Framework: 801. SOIL(Simple OpenGL Image Library) - Native DLL 및 .NET DLL 제공
11767정성태11/20/2018168사물인터넷: 55. New NodeMcu v3(ESP8266)의 IR LED (적외선 송신) 제어파일 다운로드1
11766정성태10/31/2018183사물인터넷: 54. 아두이노 환경에서의 JSON 파서(ArduinoJson) 사용법
11765정성태10/29/2018196개발 환경 구성: 420. Visual Studio Code - Arduino Board Manager를 이용한 사용자 정의 보드 선택
11764정성태10/26/2018287개발 환경 구성: 419. MIT 라이선스로 무료 공개된 Detours API 후킹 라이브러리
11763정성태10/25/2018160사물인터넷: 53. New NodeMcu v3(ESP8266)의 https 통신
11762정성태10/25/2018201사물인터넷: 52. New NodeMcu v3(ESP8266)의 http 통신파일 다운로드1
11761정성태10/25/2018184Graphics: 26. 임의 축을 기반으로 3D 벡터 회전파일 다운로드1
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...