Microsoft MVP성태의 닷넷 이야기
사물인터넷: 31. 커패시터와 RC 회로 [링크 복사], [링크+제목 복사]
조회: 13928
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
(연관된 글이 1개 있습니다.)

커패시터와 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Ω의 저항으로 직렬 연결하면서 전압을 측정한 것으로 이에 대해서는 "https://www.sysnet.pe.kr/2/0/11651" 글에서도 한 번 다뤘습니다.)

capacitor_7.png

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

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




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

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

1F = 1C / 1V (전위를 1V 상승시키는데 1[C]의 전하가 필요한 용량)

전해 (극성, 높은 커패시턴스, 낮은 정격전압)
  알루미늄(Aluminum) - 직류 또는 100kHz 미만 교류 회로의 전원 노이즈 필터 또는 바이패스 용도, 높은 용량, 저주파수
  탄탈(Tantalum) - 주파수 특성 우수 - 노이즈 리미트, 바이패스, 커플링 회로, 전원필터 회로, 역전압에 취약, 비교적 높은 용량
비전해 (무극성, 낮은 커패시턴스)
  세라믹(Ceramic)
  필름(Film)
  마이카(Mica)
기타
  칩 (칩 세라믹, 칩 전해, 칩 탄탈륨)
  슈퍼 (울트라, 전기이중층 커패시터) - 배터리 역할, 가전제품에 광범위하게 사용
  배리어블 - 일정한 범위 내에서 용량 변화 가능

정전용량(EIA Code 표시법)
  474 - 47 * 104 = 470,000[pF] = 470[nF] = 0.47[uF]
  4R7 - 4.7[pF]
  1R5 - 1.5[pF]
  202 - 20 * 102 = 2,000[pf] = 2[nF] = 0.002[uF]
  336 - 33 * 106 = 33,000,000[pF] = 33,000[nF] = 33[uF]

오차(EIA Code 표시법)
  J - +-5% (탄탈, 세라믹, 필름)
  K - +-10% (탄탈, 세라믹, 필름)
  M - +-20% (알루미늄, 세라믹)

정격전압(EIA Code 표시법)
  2A - 2(10의 승수), A(1) = 100 * 1 = 100V
  3C - 3(10의 승수), C(1.6) = 1000 * 1.6 = 1600V
  2E - 2(10의 승수), E(2.5) = 100 * 2.5 = 250V
  2G - 2(10의 승수), G(4) = 100 * 4 = 400V
12KV - 12,000V

리드 타입
  - Radial Lead Type (긴 노드가 +)
  - Axial Lead Type (+ 쪽의 오목한 홈)
  - Chip Type (+ 쪽의 굵은 선 마킹)

병렬 연결 - 허용전압(내압)은 작은 값을 따르고, 합성 용량은 커지고,
직렬 연결 - 허용전압(내압) 증가, 합성 용량은 작아짐




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

[연관 글]






[최초 등록일: ]
[최종 수정일: 6/19/2021]

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/20227719.NET Framework: 2018. C# - 일정 크기를 할당하는 동안 GC를 (가능한) 멈추는 방법 [1]파일 다운로드1
13067정성태5/23/20227061Windows: 206. Outlook - 1년 이상 지난 메일이 기본적으로 안 보이는 문제
13066정성태5/23/20226380Windows: 205. Windows 11 - Windows + S(또는 Q)로 뜨는 작업 표시줄의 검색 바가 동작하지 않는 경우
13065정성태5/20/20227078.NET Framework: 2017. C# - Windows I/O Ring 소개 [2]파일 다운로드1
13064정성태5/18/20226625.NET Framework: 2016. C# - JIT 컴파일러의 인라인 메서드 처리 유무
13063정성태5/18/20227053.NET Framework: 2015. C# - 인라인 메서드(inline methods)
13062정성태5/17/20227838.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/20229083.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/20227514.NET Framework: 2010. C# - ThreadPool.SetMaxThreads 사용법
13057정성태5/12/20229187오류 유형: 812. 파이썬 - ImportError: cannot import name ...
13056정성태5/12/20226365.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/20226399.NET Framework: 2006. C# - GC.KeepAlive 메서드의 역할
13052정성태5/9/20226404.NET Framework: 2005. C# - 생성한 참조 개체가 언제 GC의 정리 대상이 될까요?
13051정성태5/8/20226360.NET Framework: 2004. C# XingAPI - ACF 검색 결과로 구한 CSV 파일을 통해 퀀트 종목 찾기파일 다운로드1
13050정성태5/6/20226384.NET Framework: 2003. C# - COM 개체의 이벤트 핸들러에서 발생하는 예외에 대한 CLR의 특별 대우파일 다운로드1
13049정성태5/6/20225372오류 유형: 811. GoLand - Error: Cannot find package
13048정성태5/6/20226488오류 유형: 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  ...