3D프린터와 아두이노/아두이노

아두이노 트랜지스터 배우기

메카럽 2020. 9. 21. 09:18

안녕하세요. 메카럽입니다.

이번 포스팅에서는 트랜지스터에 대해 알아보는 시간을 갖도록 하겠습니다.

릴레이는 강전의 영역을 제어하고, 각 접점의 특성을 활용할 수 있었습니다. 약전의 영역에서는 트랜지스터가 유사한 역할을 수행하는데, 실제 아두이노를 활용한 시제품 제작 등에서는 릴레이보다 트랜지스터가 더 빈번하게 사용됩니다. 릴레이보다 훨씬 작고 전기적 제어가 쉽기 때문입니다.

트랜지스터의 중요한 역할 중 하나는 전원에 연결된 전자 소자를 MCU에서 제어할 수 있는 미약한 전류로 켜고 끄는 전기적 스위치입니다. 다소 약한 전류 영역인 MCU로 비교적 강한 전원을 제어하는 것입니다.

트랜지스터는 전류 증폭 기능과 스위칭 역할을 수행하며, 크게 BJT와 MOSFET으로 나누어집니다. 이번 포스팅에서는 스위칭 역할에 초점을 맞추고, 동작 방식은 BJT, MOSFET 모두 비슷하므로 범용적으로 적용되는 BJT를 중심으로 살펴보도록 하겠습니다.

사실 트랜지스터와 관련된 이론적인 내용과 세부적인 사항은 다루기 너무 깊이있는 분야이므로 다루지 않고 BJT 중에서도 범용적으로 많이 적용되는 NPN 타입을 위주로 살펴보겠습니다.

트랜지스터는 TR로 줄여서 부르기도 하며, 회로 내에서의 기호는 Q를 사용합니다. 아래 그림에 NPN, PNP 타입의 트랜지스터와 그 기호를 나타내었으니 참고하시기 바랍니다.

NPN, PNP 타입 트랜지스터

트랜지스터는 3개의 핀을 갖고 있습니다. NPN 타입 트랜지스터의 경우, 하나는 전원에, 하나는 접지에, 또 하나는 스위칭 신호선에 연결됩니다. MCU는 MCU의 아날로그 또는 디지털 포트에서 출력되는 신호로 전원과 접지를 연결, 회로가 동작하도록 합니다.

NPN 타입은 base에 +극, 즉 MCU 신호선을 통해 HIGH 신호를 인가하면 턴 온(Turn-On)되고, PNP 타입은 Base에 -극, 즉 MCU 신호선을 통해 LOW 신호를 인가하면 턴 온(Turn-On) 됩니다.

턴 온이란 +극과 -극이 연결되도록 트랜지스터를 작동시키는 것을 의미하며 턴 온과 턴 오프 상황을 회로를 그려가며 살펴보면 다음과 같습니다.

기본적인 원리와 작동 모델은 다음과 같습니다. 베이스에 저항 하나를 연결하고 digitalWrite( ) 함수로 LOW 또는 HIGH 신호를 인가하여 턴 오프, 턴 온 상태를 만듭니다. 베이스를 전압에 의해 작동하는 스위치라고 생각해보면, 턴 오프 시에는 스위치 연결이 되지 않아 콜렉터와 에미터가 서로 연결되지 않습니다. 다시 말해서, 우노의 디지털 출력이 LOW이면 TR이 턴 오프되어 회로의 연결이 끊어집니다. 반대로 턴 온시에는 베이스 전압에 의해 스위치가 콜렉터-에미터를 연결하여 회로를 도통시킵니다. 즉, 우노의 디지털 출력이 HIGH가 되면 TR이 턴온되어 회로가 연결됨을 의미합니다.

이제 NPN 타입의 BJT를 이용하여 릴레이를 제어하는 기능을 만들어 보겠습니다. 코드는 릴레이의 것과 동일합니다.

준비물 : 아두이노 우노, F-F점퍼선, 릴레이 모듈, 2SC1815(또는 동등 트랜지스터), 300Ω, 1kΩ 저항 9V 배터리

트랜지스터-릴레이 제어 회로도

아두이노 우노의 D2핀은 300Ω 저항을 거쳐 2SC1815 트랜지스터의 베이스에 연결됩니다. NPN 타입 트랜지스터의 베이스는 릴레이의 신호선(IN, SIG 등)과 유사하며 2SC1815의 콜렉터는 5V에, 에미터는 1kΩ 저항이 릴레이의 신호선에 연결되어 있습니다. 참고로 2SC1815 대신 2222A 트랜지스터도 많이 사용됩니다. 구글에서 해당 소자의 이름을 검색하면 데이터 시트를 확인할 수 있으며 이 데이터 시트에는 해당 소자의 전기적 특성, 물리적 사양 등이 명시되어 있습니다.

int Dout=2;

void setup( )
{
 Serial.begin(9600);
 pinMode(Dout, OUTPUT);
 digitalWrite(Dout, LOW);
}

void loop( )
{
 digitalWrite(Dout, LOW);
 delay(3000);
 Serial.println("Dout is LOW");
 digitalWrite(Dout, HIGH);
 delay(3000);
 Serial.println("Dout is HIGH");
}

위 예제는 트랜지스터가 작동하지 않을 때는 LOW 상태가, 트랜지스터가 작동할 때는 HIGH 신호가 인가되어 릴레이를 작동시키고, 이때 9V 배터리 -단자가 차단되어 아두이노 우노가 꺼지게 됩니다. 5V 전원은 아두이노 내부의 레귤레이터를 통해 공급되므로, 이미 차단된 9V 전원 때문에 5V 전원마저 차단됩니다. 릴레이에 전원이 공급되지 않으므로 NC 단자와 COM 단자는 다시 연결 상태가 되고, 9V 전원이 우노와 우노의 레귤레이터로 공급됩니다. 그리고 3000ms 후 다시 앞선 상황이 반복됩니다.

이번 포스팅은 이만 마무리 하며 다음 포스팅에서는 트랜지스터의 NPN 사용사례 및 디지털 출력제어에 대해 계속 이어나가도록 하겠습니다.

오늘 하루도 행복한 하루 되세요.

728x90