Microsoft MVP성태의 닷넷 이야기
사물인터넷: 42. 사물인터넷 - 트랜지스터 다중 전압 테스트 [링크 복사], [링크+제목 복사]
조회: 11330
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일

사물인터넷 - 트랜지스터 다중 전압 테스트

지난번에 다룬 PN2222A 트랜지스터를,

9V 전압에서 테스트하는 PN2222A 트랜지스터
; https://www.sysnet.pe.kr/2/0/11659

다시 한번 다음의 구성으로 다뤄보겠습니다.

tx_multisource_power_1.png

이 상태에서 공급 전압이 3.3V인 경우 다음과 같은 결과를 얻게 됩니다.

[측정값]
공급 전원: 3.261V

컬렉터 측 R1 1KΩ: 1.284V
베이스 측 R2 1KΩ: 0.637V
이미터 측 R3 1KΩ: 2.023V

B - E: 0.653V
C - E: 0.024V

전류:

컬렉터 측 R1 1KΩ: 1.30mA
베이스 측 R2 1KΩ: 0.65mA
이미터 측 R3 1KΩ: 1.96mA (IC + IB)

R2 - (B-E) - R3 구간의 총 전압: 0.637V + 0.653V + 2.023V = 3.313V
R1 - (C-E) - R3 구간의 총 전압: 1.284V + 0.024V + 2.023V = 3.331V

다음의 책에 의하면,

짜릿짜릿 전자회로 DIY (2판) 뜯고 태우고 맛보고, 몸으로 배우는
; http://www.yes24.com/24/goods/33342224

108 페이지 글에 베타 값에 대해 다음과 같이 설명하고 있습니다.

...베이스로 들어갔다가 이미터로 나오는 '전류'를 점검해보면 아주 큰 차이를 확인할 수 있다... 트랜지스터는 베이스에 들어가는 전류를 200:1 이상 증폭시킨다. 이를 트랜지스터의 '베타 값'이라고 부르며...


반면 다음의 후속책에 보면,

짜릿짜릿 전자회로 DIY 플러스
; http://www.yes24.com/24/goods/33354574

IC를 IB로 나눈 값을 베타 값이라고 설명하고 있습니다. 다른 문서를 참고했을 때,

실험 6. 트랜지스터 특성 실험
; http://ocw.dongyang.ac.kr/cms_ocw/electsystem/5374/note/5_06.pdf

베타 값은 IC를 IB로 나눈 것이 맞는 것 같습니다.

그런데, 위의 테스트에 의하면 IC / IB == 1.30mA / 0.65mA == 2배 정도뿐이 안 됩니다. 책에서는 보통 200:1 이상을 설명하는데 겨우 2배라니... 이에 대한 설명은 당연히 에너지 보존 법칙을 따르기 때문으로 보입니다. R1 + (C-E) + R3 구간을 (최소) 2.0K의 저항을 갖는다고 봤을 때 많아야 (3.3V / 2.0K = )1.65mA를 넘는 전류가 컬렉터에 흐를 수는 없는 것입니다. 그리고 계산 값인 1.65mA가 아닌 1.30mA인 것은 아마도 트랜지스터 자체와 기타 구간의 저항 합계에 따른 손실이라고 보면 대충 비슷한 수치로 보입니다.

이어서 공급 전압을 5V로 바꿨을 때 다음과 같은 결과를 볼 수 있고,

[측정값]
공급 전원: 4.95V

컬렉터 측 R1 1KΩ: 1.854V
베이스 측 R2 1KΩ: 1.195V
이미터 측 R3 1KΩ: 3.073V

B - E: 0.674V
C - E: 0.018V

전류:

컬렉터 측 R1 1KΩ: 1.87mA
베이스 측 R2 1KΩ: 1.20mA
이미터 측 R3 1KΩ: 3.10mA (IC + IB)

R2 - (B-E) - R3 구간의 총 전압: 1.195V + 0.674V + 3.073V = 4.942V
R1 - (C-E) - R3 구간의 총 전압: 1.854V + 0.018V + 3.073V = 4.945V

베타 값은 1.56배 정도 됩니다.




혹시 200:1 증폭을 재현해 볼 수 있을까요? 그래서 다음과 같이 회로를 구성해 봤습니다.

tx_multisource_power_2.png

[측정값]
공급 전원: 3.255V

컬렉터 측: 전압 강하 없음
베이스 측 R2 100KΩ: 2.209V
이미터 측 R3 100 Ω: 0.385V

B - E: 0.651V
C - E: 2.862V

전류:

컬렉터 측: 3.93mA
베이스 측 R2 100KΩ: 0.00mA
이미터 측 R3 100Ω: 3.90mA (IC + IB)

R2 - (B-E) - R3 구간의 총 전압: 2.209 + 0.651 + 0.385 = 3.245
(컬렉터 입력) - (C-E) - R3 구간의 총 전압: 0 + 2.862 + 0.385 = 3.247

컬렉터 측이 3.93mA인데, 200:1이라고 가정하면 0.01965mA가 베이스 측에 있어야 하는데 19uA이기 때문에 0.1mA 정확도를 가진 제 계측기로는 측정이 안돼 0으로 나오고 있습니다.

전류량을 늘리기 위해 공급 전원을 9V로 하려고 했는데 건전지가 어느새 6.92V만을 ^^; 제공하게 닳아버렸습니다. 어쨌든 이 상태로 측정해 보면.

[측정값]
공급 전원: 6.92V

컬렉터 측: 전압 강하 없음
베이스 측 R2 100KΩ: 4.92V
이미터 측 R3 100 Ω: 0.877V

B - E: 0.665V
C - E: 5.51V

전류:

컬렉터 측: 9.0mA
베이스 측 R2 100KΩ: 0.03mA
이미터 측 R3 100Ω: 8.93mA (IC + IB)

R2 - (B-E) - R3 구간의 총 전압: 4.92 + 0.665 + 0.877 = 6.462V
(컬렉터 입력) - (C-E) - R3 구간의 총 전압: 5.51 + 0.877 = 6.387V

200:1로 보면 컬렉터 측의 9.0mA에 따라 베이스 측은 0.045mA가 걸려야 하는데 0.03mA면 대략 비슷하게 나옵니다.




이번엔, 다중 전원 소스로 테스트해보겠습니다.

tx_multisource_power_3.png

측정값은 다음과 같이 나옵니다.

[측정값]
공급 전원 컬렉터 측: 4.92V
공급 전원 베이스 측: 3.249V

컬렉터 측 R1 1KΩ: 4.28V
베이스 측 R2 1KΩ: 1.934V
이미터 측 R3 100Ω: 0.621V

B - E: 0.692V
C - E: 0.020V

전류:

컬렉터 측 R1 1KΩ: 4.34mA 
베이스 측 R2 1KΩ: 1.94mA
이미터 측 R3 100Ω: 6.27mA (IC + IB)

R2 - (B-E) - R3 구간의 총 전압: 1.934 + 0.692 + 0.621 = 3.247V
R1 - (C-E) - R3 구간의 총 전압: 4.28 + 0.020 + 0.621 = 4.921V

베타 값은 2.2371... 정도인데 200:1이 안 나오는 것은 현재 전원 공급 상태에서 이게 최대이기 때문인 것 같습니다. 지난 글의 결과를 보면,

다중 전원의 소스를 가진 회로
; https://www.sysnet.pe.kr/2/0/11686

3.3V인 경우 1K 저항에서 3.28mA가 나오고, 5V인 경우 1K에서 5.01mA가 나왔습니다. 따라서 이번 환경은 컬렉터 측 회로 기준으로 1.1K 저항과 0.020V의 C-E 전압 강하를 고려하면 5.01mA에서 4.34mA로 나오는 것이 대충 맞는 것 같습니다.

게다가 R3에 모인 6.27mA는 "다중 전원의 소스를 가진 회로" 글에서 설명한 데로 중첩된 것을 고려하면 IC + IB로 계산되는 것이 당연합니다.




위의 회로에서 이미터 측 100Ω 저항을 없애면 다음과 같습니다.

[측정값]
공급 전원 컬렉터 측: 4.92V
공급 전원 베이스 측: 3.248V

컬렉터 측 R1 1KΩ: 4.90V
베이스 측 R2 1KΩ: 2.541V
이미터 측 R3 : (none)

B - E: 0.703V
C - E: 0.018V

전류:

컬렉터 측 R1 1KΩ: 4.97mA
베이스 측 R2 1KΩ: 2.56mA
이미터 측 R3 : 7.48mA (IC + IB)

R2 - (B-E) - R3 구간의 총 전압: 2.541 + 0.703 + 0 = 3.244
R1 - (C-E) - R3 구간의 총 전압: 4.90 + 0.018 + 0 = 4.918

반면 이미터 측 100Ω은 두고 컬렉터 측 저항을 없애면 다음과 같습니다.

[측정값]
공급 전원 컬렉터 측: 4.92V
공급 전원 베이스 측: 3.248V

컬렉터 측 R1 : (none)
베이스 측 R2 1KΩ: 0.133V
이미터 측 R3 100Ω: 2.411V

B - E: 0.688V
C - E: 2.467V

전류:

컬렉터 측 : 24.62mA
베이스 측 R2 1KΩ: 0.12mA
이미터 측 R3 100Ω: 23.10mA (!= IC + IB)

R2 - (B-E) - R3 구간의 총 전압: 0.133 + 0.688 + 2.411 = 3.232
R1 - (C-E) - R3 구간의 총 전압: 0 + 2.467 + 2.411 = 4.878

특이하게 이미터 측의 전류가 컬렉터 측의 전류보다 낮습니다. 그렇긴 한데 IC와 IB의 비율이 205:1 정도 됩니다. 베이스 측의 입력 전류가 0.12mA인데 원래 3.3V 입력으로 출력이 23.10mA를 얻으려면 저항이 140Ω 정도로 낮아야 합니다. 그런데 1KΩ에서도 이미터 출력으로 23.10mA를 얻었으니 베이스 입력에 따른 컬렉터 측의 도움을 얻어 가능해진 것입니다.

그렇다면 반대로, 이미터 측 100Ω 저항을 없애고 이것을 컬렉터 측으로 연결해 보겠습니다.

[측정값]
공급 전원 컬렉터 측: 4.87V
공급 전원 베이스 측: 3.223V

컬렉터 측 R1 100Ω: 4.77V
베이스 측 R2 1KΩ: 2.461V
이미터 측 R3 : (none)

B - E: 0.746V
C - E: 0.083V

전류:

컬렉터 측 R1 1KΩ: 45.0mA
베이스 측 R2 1KΩ: 2.47mA
이미터 측 R3 100Ω: 46.5mA (IC + IB)

R2 - (B-E) - R3 구간의 총 전압: 2.461 + 0.746 + 0 = 3.207V
R1 - (C-E) - R3 구간의 총 전압: 4.77 + 0.083 + 0 = 4.853V

베타 값은 18배 정도이고 베이스 회로 기준으로 2.461V 전압과 1K 저항을 감안하면 2.47mA 전류가 나오는 것이 맞습니다. 또한 컬렉터 측도 4.87V 전압에 100Ω 저항이니 45.0mA가 나옵니다.

재미있는 것은, 컬렉터 측 회로로 보면 바로 이전 실험과 마찬가지로 100Ω 저항이 걸린 것은 마찬가지인데 이미터가 아닌 컬렉터로 옮긴 것으로 인해 발열이 더 심해졌습니다. 이미터 측의 저항이 없으므로 베이스에서 흐르는 전류가 더 많아졌고 이에 따라 컬렉터 측은 C-E 구간이 거의 0V에 가까워져 5V의 모든 전압을 100Ω 하나에 받게 되므로 발열이 나타나게 된 것입니다. (잠시 동안의 테스트가 아닌 한 위의 회로는 권장하지 않습니다.)

마지막으로, 이미터와 컬렉터 측의 저항을 모두 100Ω으로 해봤습니다.

[측정값]
공급 전원 컬렉터 측: 4.89V
공급 전원 베이스 측: 3.24V

컬렉터 측 R1 100Ω: 2.327V
베이스 측 R2 1KΩ:  0.175V
이미터 측 R3 100Ω: 2.352V

B - E: 0.703V
C - E: 0.205V

전류:

컬렉터 측 R1 1KΩ: 23.19mA
베이스 측 R2 1KΩ:  0.16mA
이미터 측 R3 100Ω: 22.77mA (IC + IB)

R2 - (B-E) - R3 구간의 총 전압: 0.175 + 0.703 + 2.352 = 3.23V
R1 - (C-E) - R3 구간의 총 전압: 2.327 + 0.205 + 2.352 = 4.884V

베타 값은 144이고, 역시 이번에도 이미터에 비해 컬렉터 측의 전류가 더 높습니다.




"실험 6. 트랜지스터 특성 실험" 문서에 보면, 트랜지스터의 3가지 동작 영역에 대한 설명이 자세하게 나와 있습니다.

차단 동작 영역(cutoff region)
선형 동작 영역(linear region)
포화 동작 영역(saturation region

이 중에서 차단과 포화를 이용하면 스위치로서의 동작이고, 선형 동작 영역은 IC/IB의 비율이 트랜지스터의 베타 값으로 증폭되는 구간에 해당합니다.

휴~~~ 여기까지 하고 나니까, 이제야 트랜지스터의 동작에 대해 대충 감이 오는 것 같습니다. ^^ 그러니까, 결국 스위치로서의 동작이 있는 것이고 전류가 증폭되는 것은 "다중 전원의 소스를 가진 회로"에 따른 중첩 효과를 트랜지스터의 특성과 맞물려 이해하면 되는 것입니다.

(첨부 파일은 이 글의 회로도를 그린 fzz 파일을 포함합니다.)




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







[최초 등록일: ]
[최종 수정일: 9/11/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)
13018정성태3/29/20226918.NET Framework: 1185. C# - Unsafe.AsPointer가 반환한 포인터는 pinning 상태일까요? [5]
13017정성태3/28/20226767.NET Framework: 1184. C# - GC Heap에 위치한 참조 개체의 주소를 알아내는 방법 - 두 번째 이야기 [3]
13016정성태3/27/20227585.NET Framework: 1183. C# 11에 추가된 ref 필드의 (우회) 구현 방법파일 다운로드1
13015정성태3/26/20228943.NET Framework: 1182. C# 11 - ref struct에 ref 필드를 허용 [1]
13014정성태3/23/20227566VC++: 155. CComPtr/CComQIPtr과 Conformance mode 옵션의 충돌 [1]
13013정성태3/22/20225884개발 환경 구성: 641. WSL 우분투 인스턴스에 파이썬 2.7 개발 환경 구성하는 방법
13012정성태3/21/20225229오류 유형: 803. C# - Local '...' or its members cannot have their address taken and be used inside an anonymous method or lambda expression
13011정성태3/21/20226685오류 유형: 802. 윈도우 운영체제에서 웹캠 카메라 인식이 안 되는 경우
13010정성태3/21/20225649오류 유형: 801. Oracle.ManagedDataAccess.Core - GetTypes 호출 시 "Could not load file or assembly 'System.DirectoryServices.Protocols...'" 오류
13009정성태3/20/20227191개발 환경 구성: 640. docker - ibmcom/db2 컨테이너 실행
13008정성태3/19/20226459VS.NET IDE: 176. 비주얼 스튜디오 - 솔루션 탐색기에서 프로젝트를 선택할 때 csproj 파일이 열리지 않도록 만드는 방법
13007정성태3/18/20226145.NET Framework: 1181. C# - Oracle.ManagedDataAccess의 Pool 및 그것의 연결 개체 수를 알아내는 방법파일 다운로드1
13006정성태3/17/20227161.NET Framework: 1180. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 remuxing.c 예제 포팅
13005정성태3/17/20226061오류 유형: 800. C# - System.InvalidOperationException: Late bound operations cannot be performed on fields with types for which Type.ContainsGenericParameters is true.
13004정성태3/16/20226088디버깅 기술: 182. windbg - 닷넷 메모리 덤프에서 AppDomain에 걸친 정적(static) 필드 값을 조사하는 방법
13003정성태3/15/20226226.NET Framework: 1179. C# - (.NET Framework를 위한) Oracle.ManagedDataAccess 패키지의 성능 카운터 설정 방법
13002정성태3/14/20226978.NET Framework: 1178. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 http_multiclient.c 예제 포팅
13001정성태3/13/20227362.NET Framework: 1177. C# - 닷넷에서 허용하는 메서드의 매개변수와 호출 인자의 최대 수
13000정성태3/12/20226941.NET Framework: 1176. C# - Oracle.ManagedDataAccess.Core의 성능 카운터 설정 방법
12999정성태3/10/20226436.NET Framework: 1175. Visual Studio - 프로젝트 또는 솔루션의 Clean 작업 시 응용 프로그램에서 생성한 파일을 함께 삭제파일 다운로드1
12998정성태3/10/20226048.NET Framework: 1174. C# - ELEMENT_TYPE_FNPTR 유형의 사용 예
12997정성태3/10/202210357오류 유형: 799. Oracle.ManagedDataAccess - "ORA-01882: timezone region not found" 오류가 발생하는 이유
12996정성태3/9/202215571VS.NET IDE: 175. Visual Studio - 인텔리센스에서 오버로드 메서드를 키보드로 선택하는 방법
12995정성태3/8/20227880.NET Framework: 1173. .NET에서 Producer/Consumer를 구현한 BlockingCollection<T>
12994정성태3/8/20227181오류 유형: 798. WinDbg - Failed to load data access module, 0x80004002
12993정성태3/4/20226962.NET Framework: 1172. .NET에서 Producer/Consumer를 구현하는 기초 인터페이스 - IProducerConsumerCollection<T>
... 16  17  18  19  20  21  22  23  [24]  25  26  27  28  29  30  ...