Microsoft MVP성태의 닷넷 이야기
사물인터넷: 32. 9V 전압에서 테스트하는 PN2222A 트랜지스터 [링크 복사], [링크+제목 복사]
조회: 2597
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일

9V 전압에서 테스트하는 PN2222A 트랜지스터

드디어 ^^ "짜릿짜릿 전자회로 DIY (2판) 뜯고 태우고 맛보고, 몸으로 배우는" 책에서 다루고 있는 트랜지스터를 구입했습니다.

PN2222A
; https://www.eleparts.co.kr/goods/view?no=642947

Transistors Bipolar (BJT) NPN Gen Pur SW

(첨부 파일에 datasheet - pn2221-2222a-11964.pdf가 있습니다.)

[그림 출처: https://en.wikipedia.org/wiki/2N2222]
pn2222a_1.jpg

C1815 트랜지스터의 경우 다리 모양이 ECB 순이어서 책의 내용을 실습하면서 좀 헷갈렸는데 이제는 실수할 여지가 줄었습니다. ^^

일단 트랜지스터에 대한 실습은 C1815를 다루면서 했기 때문에,

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

단지, 지난번 회로를 다음과 같이 바꿔주는 정도만 하면 됩니다. (참고로, 그새 9V 건전지가 닳아서 8.6V 만 나옵니다. ^^)

pn2222a_2.png

+/- 전체 회로 미동작: 8.69V
+/- 전체 회로 동작: 8.69V

GND - Base: 8.69V
GND - Collector: 8.69V
GND - Emitter: 7.97V
GND - LED(+)

GND - 100K 저항: 6.01V

따라서, LED는 7.97V - 6.01V = 1.96V
        Base - Emitter 구간은 8.69V - 7.97V = 0.72V

저항[Right] - LED[Left] 구간의 Emitter 전류: 0.04mA

Base가 Emitter보다 0.7V 정도 높아야 한다는 것과 일치합니다. 그렇다면 C1815 트랜지스터의 경우에는 0.5V 정도의 차이만 난다면 동작하는 것이 맞는 것 같습니다. 전류의 경우 200:1의 증폭이라면,

200:1 = 0.04mA:x
200x = 0.04mA
x = 0.0002mA

베이스 입력 전류가 0.0002mA라는 것인데 제 계측기의 측정 범위를 벗어나므로 측정으로 확인할 수는 없습니다. 대신 저항을 1K로 낮추고 Emitter 측의 전류를 측정하면 5.32mA가 나왔고 5.32 / 200 = 0.0266mA가 베이스 측에 측정되어야 하는데 (아마도 제 계측기의 정밀도가 0.1mA이므로) 정확하지 않게 0.01mA가 계측되었습니다.




재미 삼아서, 트랜지스터의 입력 중 컬렉터의 선을 제거하면 어떻게 될까요? 여전히 베이스 - 이미터 간 연결은 잘 됩니다. 게다가 마치 그냥 선을 연결한 것과 다름없이 동작합니다. 실제로 전류 값을 측정해도 다음과 같이 입력과 출력이 동일합니다.

베이스 측의 입력 전류: 5.23mA
이미터 측의 출력 전류: 5.23mA

베이스 측의 전압: 8.62V
이미터 측의 전압: 7.90V (차이: 0.72V)

그러니까, 트랜지스터의 각 노드 간 연결을 정리해 보면 이렇습니다. (혹시 틀린 사항 있으면 덧글 부탁드립니다. ^^)

베이스 - 이미터: 베이스가 이미터보다 0.7V 만 높으면 낮은 저항처럼 동작
                컬렉터에 전압이 있는 경우 베이스로부터의 유입되는 전류가 이미터 대비 200:1의 비율로 낮춰짐

컬렉터 - 이미터: 평상시에는 단선
                하지만 베이스에 전압이 이미터보다 0.7V 높게 들어오면 베이스 대신 이미터로 전류를 흘려보냄
                일단 스위치가 켜지면 이 구간의 내부 저항은 거의 0에 가깝게 됨.
                이미터 측의 전압은 베이스로부터 0.7V 낮은 전압 (컬렉터 측의 전압과는 무관)

그 외에 계측기로 각 EBC에 대해 탐침으로 저항을 측정해 보면,

[-] 탐침 B
    [+] 탐침 E - 23.80MΩ
    [+] 탐침 C - 14.47MΩ

[-] 탐침 C
    [+] 탐침 B - (측정 불가)
    [+] 탐침 E - (측정 불가)

[-] 탐침 E
    [+] 탐침 C - (측정 불가)
    [+] 탐침 B - (측정 불가)

C1815와 마찬가지로 Base에 대해서만 나타나고 저항값은 좀 더 낮은 정도입니다.

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




마지막으로 토글형 스위치 소개로 마무리하겠습니다. 제가 구매한 것은 2가지 제품이었는데, 우선 아래의 것은 "기판용"이라고 되어 있고 실제로 브레드보드의 홀에 맞습니다.

AT1D-2M3.jpg

AT1D-2M3 기판용 소형토글스위치
; https://www.eleparts.co.kr/goods/view?no=32411

만능기판에 사용가능한 소형토글스위치

ON-ON(OFF)
제조사: DECO
회로: SPDT
스위치 기능: ON-ON
정격전압-AC: 48V
정격전압-DC: 48V
정격전류: 0.4A
조명: 비조광
종단타입: PCB 스루홀
IP등급/Seal: Sealed
실장타입: 스루홀

(첨부 파일에 datasheet - AT1D.jpg가 있습니다.)

문제는, 핀의 길이가 3.3mm라고 되어 있는데 너무 짧아서 브레드보드에서 토글을 힘줘서 시키면 (매번) 부품이 빠져나와서 도저히 쓸 수가 없습니다. 반면 또 다른 토글 스위치로 구매했던 아래의 제품은,

CS12ANW03.jpg

CS12ANW03 - SWITCH, SLIDE, SPDT, 3A, 250V, TH
; https://www.eleparts.co.kr/goods/view?no=3043331

제조사: NKK SWITCHES
시리즈: CS
회로: SPDT
스위치 기능: On-On
액추에이터 타입: 표준
종단타입: PC 핀
실장타입: 스루홀

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

기판 용이 아니지만, 제법 힘을 주면 브레드보드에 들어갑니다. 그런데 브레드보드 용 핀의 규격이 아니기 때문에 적당한 자리 하나 찾아서 그냥 꼽아 놓고 쓰는 것이 좋을 정도입니다.

그러니까... 딱히 브레드보드 용으로 적합한 토글 스위치 제품을 찾지는 못했는데, 그나마 위의 2개 제품에서는 아래의 것이 더 나은 정도입니다. (혹시 알고 있는 제품 있으면 추천 부탁드립니다. ^^)




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

[연관 글]





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

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

비밀번호

댓글 쓴 사람
 




[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
12427정성태11/24/202037.NET Framework: 975. .NET Core를 직접 호스팅해 (runtimeconfig.json 없이) EXE만 배포해 실행파일 다운로드1
12426정성태11/24/202011오류 유형: 685. WinDbg Preview - error InitTypeRead
12425정성태11/24/202010VC++: 141. Visual C++ - "Treat Warnings As Errors" 옵션이 꺼져 있는데도 일부 경고가 에러 처리되는 경우
12424정성태11/24/202027VC++: 140. C++의 연산자 동의어(operator synonyms), 대체 토큰
12423정성태11/22/202072.NET Framework: 974. C# 9.0 - (16) 제약 조건이 없는 형식 매개변수 주석(Unconstrained type parameter annotations)파일 다운로드1
12422정성태11/21/202039.NET Framework: 973. .NET 5, .NET Framework에서만 허용하는 UnmanagedCallersOnly 사용예파일 다운로드1
12421정성태11/23/202062.NET Framework: 972. DNNE가 출력한 NE DLL을 직접 생성하는 방법파일 다운로드1
12420정성태11/19/202025오류 유형: 684. Visual C++ - MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
12419정성태11/23/202080VC++: 139. Visual C++ - .NET Core의 nethost.lib와 정적 링크파일 다운로드1
12418정성태11/19/202026오류 유형: 683. Visual C++ - error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MDd_DynamicDebug'파일 다운로드1
12417정성태11/19/202027오류 유형: 682. Visual C++ - warning LNK4099: PDB '...pdb' was not found with '...lib(pch.obj)' or at '...pdb'; linking object as if no debug info
12416정성태11/19/202016오류 유형: 681. Visual C++ - error LNK2001: unresolved external symbol _CrtDbgReport
12415정성태11/19/202070.NET Framework: 971. UnmanagedCallersOnly 특성과 DNNE 사용파일 다운로드1
12414정성태11/20/202092VC++: 138. x64 빌드에서 extern "C"가 아닌 경우 ___cdecl name mangling 적용 [4]파일 다운로드1
12413정성태11/17/202079.NET Framework: 970. .NET 5 / .NET Core - UnmanagedCallersOnly 특성을 사용한 함수 내보내기파일 다운로드1
12412정성태11/21/202070.NET Framework: 969. .NET Framework 및 .NET 5 - UnmanagedCallersOnly 특성 사용파일 다운로드1
12411정성태11/12/202062오류 유형: 680. C# 9.0 - Error CS8889 The target runtime doesn't support extensible or runtime-environment default calling conventions.
12410정성태11/12/202088디버깅 기술: 174. windbg - System.TypeLoadException 예외 분석 사례
12409정성태11/12/2020108.NET Framework: 968. C# 9.0의 Function pointer를 이용한 함수 주소 구하는 방법파일 다운로드1
12408정성태11/9/202064(예약)
12407정성태11/9/202096.NET Framework: 967. "clr!JIT_DbgIsJustMyCode" 호출이 뭘까요?
12406정성태11/22/2020197.NET Framework: 966. C# 9.0 - (15) 최상위 문(Top-level statements) [1]파일 다운로드1
12405정성태11/22/2020134.NET Framework: 965. C# 9.0 - (14) 부분 메서드에 대한 새로운 기능(New features for partial methods)파일 다운로드1
12404정성태11/22/2020131.NET Framework: 964. C# 9.0 - (13) 모듈 이니셜라이저(Module initializers)파일 다운로드1
12403정성태11/22/2020141.NET Framework: 963. C# 9.0 - (12) foreach 루프에 대한 GetEnumerator 확장 메서드 지원(Extension GetEnumerator)파일 다운로드1
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...