Arduino로 트랜지스터 (BJT) 및 MOSFET을 연결하는 방법

문제를 제거하기 위해 도구를 사용해보십시오





BJT와 같은 전력 장치 및 Arduino 출력이있는 MOSFET의 인터페이스는 Arduino의 저전력 출력을 통해 고전력 부하를 전환 할 수있는 중요한 구성입니다.

이 기사에서는 BJT 및 MOSFET과 같은 트랜지스터를 마이크로 컨트롤러 또는 Arduino와 함께 사용하거나 연결하는 올바른 방법에 대해 자세히 설명합니다.



이러한 단계는 '레벨 시프터' 이 단계는 관련 출력 매개 변수에 대해 전압 레벨을 낮은 지점에서 높은 지점으로 변경하기 때문입니다. 예를 들어 여기에서는 선택한 12V 부하에 대해 Arduino 5V 출력에서 ​​MOSFET 12V 출력으로 레벨 시프트가 구현됩니다.

Arduino가 아무리 잘 프로그래밍되거나 코딩되어 있어도 트랜지스터 또는 외부 하드웨어와 올바르게 통합되지 않으면 시스템이 비효율적으로 작동하거나 시스템과 관련된 구성 요소가 손상 될 수 있습니다.



따라서 MOSFET 및 BJT와 같은 외부 활성 구성 요소를 마이크로 컨트롤러와 함께 사용하는 올바른 방법을 이해하고 학습하여 최종 결과가 효과적이고 매끄럽고 효율적이되도록하는 것이 매우 중요합니다.

Arduino와 트랜지스터의 인터페이스 방법을 논의하기 전에 BJT 및 MOSFET의 기본 특성과 작동을 배우는 것이 유용 할 것입니다.

트랜지스터의 전기적 특성 (바이폴라)

BJT는 바이폴라 접합 트랜지스터를 나타냅니다.

BJT의 기본 기능은 외부 전압 트리거에 응답하여 연결된 부하를 켜는 것입니다. 부하는 입력 트리거에 비해 전류가 대부분 더 무겁다 고 가정합니다.

따라서 BJT의 기본 기능은 낮은 전류 입력 트리거에 응답하여 더 높은 전류 부하를 켜는 것입니다.

기술적으로 이것은 또한 트랜지스터의 바이어스 이는 의도 된 기능을 위해 트랜지스터를 작동하기 위해 전류와 전압을 사용하는 것을 의미하며,이 바이어스는 가장 최적의 방식으로 수행되어야합니다.

BJT에는 3 개의 리드 또는 3 개의 핀, 즉베이스, 이미 터, 컬렉터가 있습니다.

기본 핀은 작은 전압 및 전류의 형태로 외부 입력 트리거를 공급하는 데 사용됩니다.

이미 터 핀은 항상 접지 또는 음극 공급 라인에 연결됩니다.

컬렉터 핀은 양극 공급 장치를 통해 부하에 연결됩니다.

BJT는 NPN과 PNP의 두 가지 극성으로 찾을 수 있습니다. 기본 핀 구성은 위에서 설명한대로 NPN과 PNP 모두에 대해 동일합니다. 단 반대가되는 DC 공급 극성을 제외하고는 다릅니다.

그만큼 BJT의 핀아웃을 이해할 수 있습니다. 다음 이미지를 통해 :

위 이미지에서 NPN 및 PNP 트랜지스터 (BJT)의 기본 핀아웃 구성을 볼 수 있습니다. NPN의 경우 이미 터는 접지선이되고 음극 전원에 연결됩니다.

일반적으로 '접지'라는 단어가 DC 회로에서 사용될 때 우리는 그것이 음의 공급 라인이라고 가정합니다.
그러나 트랜지스터의 경우 이미 터와 관련된 접지선은베이스 및 컬렉터 전압을 기준으로하며 이미 터 '접지'는 반드시 음의 공급선을 의미하지는 않습니다.

예, NPN BJT의 경우 접지는 음극 공급 라인이 될 수 있지만 PNP 트랜지스터 '접지'는 위의 그림과 같이 항상 양극 공급선을 참조합니다.

두 BJT의 스위칭 ON / OFF 기능은 기본적으로 동일하지만 극성이 변경됩니다.

BJT의 이미 터는 전류가베이스와 콜렉터를 통해 들어가는 '출구'통로이기 때문에베이스 / 컬렉터 입력에 사용되는 전압과 반대되는 공급 라인에 '접지'되어야합니다. 그렇지 않으면 회로가 완료되지 않습니다.

NPN BJT의 경우베이스 및 컬렉터 입력은 포지티브 트리거 또는 스위칭 전압과 연관되므로 이미 터는 네거티브 라인을 참조해야합니다.

이렇게하면베이스와 컬렉터에 입력되는 양의 전압이 이미 터를 통해 음의 라인에 도달하여 회로를 완성 할 수 있습니다.

PNP BJT의 경우베이스와 컬렉터는 음의 전압 입력과 연결되므로 자연스럽게 PNP의 이미 터는 양의 라인을 참조해야합니다. 그래야 양의 전원이 이미 터를 통해 들어가서베이스에서 여행을 마칠 수 있습니다. 그리고 수집기 핀.

NPN의 전류 흐름은베이스 / 컬렉터에서 이미 터로 향하는 반면, PNP의 경우 이미 터에서베이스 / 컬렉터로 향합니다.

두 경우 모두 목표는 BJT의베이스에서 작은 전압 입력을 통해 콜렉터 부하를 켜는 것이며 극성 만 변경됩니다.

다음 시뮬레이션은 기본 작동을 보여줍니다.

트랜지스터가 외부 전압으로 전도되는 방식

위의 시뮬레이션에서 버튼을 누르는 즉시 외부 전압 입력이 BJT의베이스로 들어가 이미 터를 통해 접지선에 도달합니다.

이런 일이 발생하는 동안 BJT 내부의 컬렉터 / 이미 터 통로가 열리고 상단에서 양극 공급이 전구로 들어가고 이미 터를 통해 접지로 통과하여 전구 (부하)를 켭니다.

두 가지 전환은 누름 버튼을 누를 때 거의 동시에 발생합니다.

여기서 이미 터 핀은 입력 피드 (베이스 및 컬렉터) 모두에 대한 공통 '종료'핀아웃이됩니다.

그리고 이미 터 공급 라인은 입력 공급 트리거 및 부하에 대한 공통 접지 라인이됩니다.

즉, BJT 이미 터와 연결되는 공급 라인도 외부 트리거 소스 및 부하의 접지와 엄격하게 연결되어야합니다.

BJT베이스에서 저항을 사용하는 이유

BJT의베이스는 저전력 입력으로 작동하도록 설계되었으며,이 핀은 큰 전류 입력을 받아 들일 수 없기 때문에베이스에 큰 전류가 유입되지 않도록 저항을 사용합니다.

저항기의 기본 기능은 부하 사양에 따라 전류를 올바른 지정된 값으로 제한하는 것입니다.

참고하십시오 즉, BJT의 경우이 저항은 콜렉터 측 부하 전류에 따라 치수가 지정되어야합니다.

왜?

BJT는 현재 종속 '스위치'이기 때문입니다.

즉, 컬렉터 측의 부하 전류 사양에 따라베이스 전류를 늘리거나 줄이거 나 조정해야합니다.

그러나 BJT베이스에 필요한 스위칭 전압은 0.6V 또는 0.7V만큼 낮을 수 있습니다. 즉, BJT 콜렉터 부하는 BJT의베이스 / 이미 터에서 1V의 낮은 전압으로 켜질 수 있습니다.
기본 저항을 계산하는 기본 공식은 다음과 같습니다.

R = (Us-0.6) Hfe / 부하 전류,

여기서 R = 트랜지스터의 기본 저항,

Us = 소스 또는 기본 저항에 대한 트리거 전압,

Hfe = 트랜지스터의 순방향 전류 이득 (BJT의 데이터 시트에서 찾을 수 있음).

공식이 깔끔해 보이지만 항상 기본 저항을 그렇게 정확하게 구성 할 필요는 없습니다.

BJT 기본 사양은 공차 범위가 넓고 저항 값의 큰 차이를 쉽게 견딜 수 있기 때문입니다.

예를 들면 릴레이를 연결하려면 30mA 코일 저항을 가진 공식은 12V 공급 입력에서 BC547에 대해 대략 56K의 저항 값을 제공 할 수 있지만 일반적으로 10K 사용을 선호하며 완벽하게 작동합니다.

그러나 최적의 규칙을 따르지 않으면 결과에 좋지 않은 것이있을 수 있습니다.

기술적으로는 의미가 있지만 계산에 소요되는 노력에 비해 손실이 너무 적기 때문에 무시할 수 있습니다.

예를 들어 56K 대신 10K를 사용하면 트랜지스터가 약간 더 많은 기본 전류로 작동하도록하여 약간 더 워밍업하거나 2도 더 높을 수 있습니다. 전혀 문제가되지 않습니다.

Arduino와 BJT를 연결하는 방법

자, 이제 실제 요점으로 가자.

지금까지 BJT가 3 개의 핀아웃에 바이어스되고 구성되어야하는 방법에 대해 포괄적으로 배웠으므로 Arduino와 같은 모든 마이크로 컨트롤러와의 인터페이스에 관한 세부 사항을 빠르게 파악할 수 있습니다.

BJT를 Arduino와 연결하는 주된 목적은 일반적으로 Arduino 출력 핀 중 하나의 프로그래밍 된 출력에 응답하여 콜렉터 측에서 부하 또는 일부 매개 변수를 켜는 것입니다.

여기에서 BJT 기본 핀의 트리거 입력은 Arduino에서 제공됩니다. 이것은 기본 저항기의 끝이 Arduino의 관련 출력과 부하 또는 의도 된 외부 매개 변수가있는 BJT의 수집기와 함께 연결되어야 함을 의미합니다.

BJT는 효과적인 스위칭을 위해 0.7 ~ 1V가 거의 필요하지 않기 때문에 Arduino 출력 핀의 5V는 ​​BJT를 구동하고 적절한 부하를 작동하는 데 완벽하게 적합합니다.
구성 예는 다음 이미지를 참조하십시오.

Arduino를 트랜지스터 릴레이 드라이버와 인터페이스 또는 연결

이 이미지에서 BJT 드라이버 단계를 통해 릴레이 형태의 작은 부하를 작동하는 데 프로그래밍 된 Arduino가 어떻게 사용되는지 확인할 수 있습니다. 릴레이 코일은 콜렉터 부하가되고 선택된 Arduino 출력 핀의 신호는 BJT베이스의 입력 스위칭 신호처럼 작동합니다.

Arduino를 고전력 LED와 연결

릴레이는 트랜지스터 드라이버를 통해 고부하를 작동하는 데 가장 좋은 옵션이되지만 기계적 스위칭이 바람직하지 않은 요인이 될 때 BJT를 업그레이드하면 아래와 같이 고전류 DC 부하를 작동하는 데 더 나은 선택이됩니다.

위의 예에서는 릴레이에 의존하지 않고 표시된 고전류 100 와트 부하를 처리하도록 구성된 Darlington 트랜지스터 네트워크를 볼 수 있습니다. 이를 통해 방해를 최소화하면서 LED를 원활하게 전환 할 수있어 모든 매개 변수에 대해 긴 작동 수명을 보장합니다.

이제 더 나아가서 Arduino로 MOSFET을 구성하는 방법을 살펴 보겠습니다.

MOSFET의 전기적 특성

Arduino와 함께 MOSFET을 사용하는 목적은 일반적으로 위에서 설명한 BJT의 목적과 유사합니다.

그러나 일반적으로 MOSFET은 BJT에 비해 더 높은 전류 사양을 효율적으로 처리하기 위해 주로 고전력 부하를 스위칭하는 데 사용됩니다.

Arduino와 MOSFET의 인터페이스를 이해하기 전에 기본 사항을 아는 것이 흥미로울 것입니다. BJT와 MOSFET의 차이점

이전 논의에서 우리는 BJT는 현재 종속 장치입니다. , 기본 스위칭 전류는 콜렉터 부하 전류에 따라 달라지기 때문입니다. 더 높은 부하 전류는 더 높은 기본 전류를 요구하며 그 반대의 경우도 마찬가지입니다.

MOSFET의 경우 이것은 사실이 아닙니다. 즉, BJT베이스에 해당하는 MOSFET 게이트는 드레인 전류에 관계없이 스위치를 켜기 위해 최소 전류가 필요합니다 (MOSFET의 드레인 핀은 BJT의 콜렉터 핀과 동일).

그러나 전류가 MOSFET 게이트를 전환하는 데 결정적인 요소는 아니지만 전압입니다.

따라서 MOSFET은 전압 종속 장치로 간주됩니다.

MOSFET에 대한 건강한 바이어스를 생성하는 데 필요한 최소 전압은 5V 또는 9V이며, MOSFET을 완전히 켜는 데 가장 적합한 범위는 12v입니다.

따라서 MOSFET을 켜고 드레인을 통해 부하를 켜기 위해 게이트에서 10V 전원을 사용하여 최적의 결과를 얻을 수 있다고 가정 할 수 있습니다.

Mosfets 및 BJT의 동등한 핀

다음 이미지는 MOSFET 및 BJT의 보완 핀을 보여줍니다.

Base는 Gate-Collector에 해당하고 Drain-Emitter는 Source에 해당합니다.

Arduino의 BJT MOSFET 핀아웃 대체

Mosfet 게이트에 사용해야하는 저항기

이전 튜토리얼에서 우리는 BJT의베이스에있는 저항이 중요하다는 것을 이해했습니다. 그렇지 않으면 BJT가 즉시 손상 될 수 있습니다.

MOSFET의 경우 MOSFET이 게이트의 전류 차이에 영향을받지 않고 대신 더 높은 전압이 위험한 것으로 간주 될 수 있기 때문에 관련성이 없을 수 있습니다. 일반적으로 20V를 초과하는 것은 MOSFET 게이트에 좋지 않을 수 있지만 전류는 중요하지 않을 수 있습니다.

이로 인해 저항이 전류 제한에 사용되고 MOSFET 게이트가 전류에 의존하지 않기 때문에 게이트의 저항은 관련이 없습니다.

즉, MOSFET은 갑작스러운 스파이크 및 과도 현상에 매우 취약 BJT에 비해 그들의 게이트에서.

이러한 이유로 갑작스런 전압 스파이크가 MOSFET 게이트를 통과하여 내부적으로 찢어지지 않도록하기 위해 MOSFET의 게이트에서 일반적으로 낮은 값의 저항이 선호됩니다.

일반적으로 10 ~ 50 옴 사이의 모든 저항 예상치 못한 전압 스파이크로부터 게이트를 보호하기 위해 MOSFET 게이트에서 사용할 수 있습니다.

Arduino와 MOSFET 인터페이스

위 단락에서 설명했듯이 MOSFET은 올바르게 켜기 위해 약 10V ~ 12V가 필요하지만 Arduino는 5V로 작동하므로 출력을 MOSFET으로 직접 구성 할 수 없습니다.

Arduino는 5V 공급으로 실행되고 모든 출력은 로직 고 공급 신호로 5V를 생성하도록 설계되었습니다. 이 5V는 MOSFET을 켤 수 있지만 장치의 비효율적 인 스위칭 및 발열 문제를 초래할 수 있습니다.

효과적인 MOSFET 스위칭을 위해 Arduino의 5V 출력을 12V 신호로 변환하기 위해 다음 이미지와 같이 중간 버퍼 단계를 구성 할 수 있습니다.

MOSFET과 Arduino를 연결하는 방법

그림에서 MOSFET은 두 개의 BJT 버퍼 스테이지로 구성되어있어 MOSFET이 전원 공급 장치에서 12V를 사용하고 자체 및 부하를 효과적으로 켤 수 있습니다.

단일 BJT가 모든 양의 Arduino 신호에 응답하여 MOSFET이 반대로 전도하도록하기 때문에 여기에 두 개의 BJT가 사용됩니다.

하나의 BJT를 사용하고 BJT가 양의 Arduino 신호로 켜져있는 동안 MOSFET은 BJT 컬렉터에 의해 게이트가 접지되고 Arduino가 꺼져있는 동안 부하가 켜지므로 MOSFET이 꺼집니다.

기본적으로 하나의 BJT는 MOSFET 게이트에 대한 Arduino 신호를 반전시켜 반대 스위칭 응답을 발생시킵니다.

이 상황을 수정하기 위해 두 개의 BJT가 사용되므로 두 번째 BJT는 응답을 다시 반전하고 Arduino의 모든 포지티브 신호에 대해서만 MOSFET이 켜질 수 있도록합니다.

마지막 생각들

지금까지 BJT 및 MOSFET을 마이크로 컨트롤러 또는 Arduino와 연결하는 올바른 방법을 포괄적으로 이해 했어야합니다.

통합을 위해 주로 NPN BJT 및 N 채널 MOSFET을 사용했으며 PNP 및 P 채널 장치 사용을 피했습니다. NPN 버전은 스위치처럼 이상적으로 작동하고 구성하는 동안 이해하기 쉽기 때문입니다.

그것은 뒤를 쳐다보고 후진 기어로 운전하는 것이 아니라 일반적으로 전진 방향으로 차를 운전하는 것과 같습니다. 두 가지 방법 모두 자동차가 작동하고 움직일 수 있지만 후진 기어로 운전하는 것은 훨씬 비효율적이며 의미가 없습니다. 여기에도 동일한 비유가 적용되며 NPN 또는 N 채널 장치를 사용하는 것이 PNP 또는 P 채널 MOSFET에 비해 더 선호됩니다.

궁금한 점이 있거나 여기에서 놓친 것이 있다고 생각되면 아래의 의견 상자를 사용하여 추가 논의를하십시오.




이전 : 2 개의 간단한 양방향 모터 컨트롤러 회로 탐색 다음 : 오토바이 버튼 시작 잠금 회로