Microsoft MVP성태의 닷넷 이야기
사물인터넷: 32. 9V 전압에서 테스트하는 PN2222A 트랜지스터 [링크 복사], [링크+제목 복사]
조회: 2443
글쓴 사람
정성태 (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

비밀번호

댓글 쓴 사람
 




... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
11912정성태5/23/20191524VS.NET IDE: 137. Visual Studio 2019 버전 16.1부터 리눅스 C/C++ 프로젝트에 추가된 WSL 지원
11911정성태5/23/20191630VS.NET IDE: 136. Visual Studio 2019 - 리눅스 C/C++ 프로젝트에 인텔리센스가 동작하지 않는 경우
11910정성태5/24/20193148Math: 50. C# - MathNet.Numerics의 Matrix(행렬) 연산파일 다운로드1
11909정성태5/25/20192185.NET Framework: 837. C# - PLplot 사용 예제 [1]파일 다운로드1
11908정성태5/22/20191437.NET Framework: 836. C# - Python range 함수 구현파일 다운로드1
11907정성태6/4/20191133오류 유형: 541. msbuild - MSB4024 The imported project file "...targets" could not be loaded
11906정성태5/21/2019959.NET Framework: 835. .NET Core/C# - 리눅스 syslog에 로그 남기는 방법
11905정성태5/21/20191383.NET Framework: 834. C# - 폴더 경로 문자열에서 "..", "." 표기를 고려한 최종 문자열을 얻는 방법 - 두 번째 이야기
11904정성태5/21/20192966.NET Framework: 833. C# - Open Hardware Monitor를 이용한 CPU 온도 정보파일 다운로드1
11903정성태5/21/20191602오류 유형: 540. .NET Core - System.PlatformNotSupportedException: The named version of this synchronization primitive is not supported on this platform.
11902정성태5/21/20191059오류 유형: 539. mstest 실행 시 "The directory name is invalid." 오류 발생
11901정성태5/21/20191830오류 유형: 538. msbuild 오류 - Could not find a part of the path '%LOCALAPPDATA%\Temp\2\.NETFramework,Version=v4.0.AssemblyAttributes.cs'
11900정성태3/12/20201712오류 유형: 537. "sfc /scannow" 실행 중 시스템이 부팅되는 현상
11899정성태5/17/20191808Linux: 9. Linux에서 윈도우의 OutputDebugString 대신 사용할 수 있는 syslog [1]
11898정성태5/20/20191896VC++: 130. C++ string의 c_str과 data 함수의 차이점 [3]
11897정성태5/16/20193575오류 유형: 536. Visual Studio - "Developer Pack"을 설치했는데도 "대상 프레임워크" 목록에 나오지 않는 경우 [1]
11896정성태5/15/20192668개발 환경 구성: 440. C#, C++ - double의 Infinity, NaN 표현 방식파일 다운로드1
11895정성태5/12/20191791.NET Framework: 832. ML.NET Model Builder - 회귀(Regression), 다중 분류(Multi-class classification) 예제파일 다운로드1
11894정성태5/12/20192514VS.NET IDE: 135. Visual Studio - ML.NET Model Builder 소개 [1]
11893정성태5/10/20191893오류 유형: 535. C# 6.0 이상의 문법을 컴파일 시 오류가 발생한다면?
11892정성태5/10/20191294웹: 38. HTTP Cookie의 expires 시간 형식(RFC7231)
11891정성태8/12/20201602.NET Framework: 831. (번역글) .NET Internals Cookbook Part 12 - Memory structure, attributes, handles
11890정성태5/8/20191270개발 환경 구성: 439. "Visual Studio Enterprise is required to execute the test." 메시지와 관련된 코드 기록
11889정성태5/8/20191438개발 환경 구성: 438. mstest, QTAgent의 로그 파일 설정 방법
11888정성태5/8/20193146.NET Framework: 830. C# - 비동기 호출을 취소하는 CancellationToken의 간단한 예제 코드파일 다운로드1
11887정성태5/8/20191829.NET Framework: 829. C# - yield 문을 사용할 수 있는 메서드의 조건
... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...