트랜지스터 스위치 베이스 저항 계산기
아두이노 핀으로 NPN 트랜지스터를 켜서 릴레이, 모터, LED 같은 부하를 구동할 때 필요한 베이스 저항을 구합니다.
공식과 주의점
IB = (k·IC)/(hFE), RB = (Vdrive − VBE)/(IB). 스위치로 쓸 때는 트랜지스터를 확실히 포화시켜야 발열이 적기 때문에, 데이터시트의 최소 hFE에 여유 배수를 곱해 베이스 전류를 넉넉히 줍니다. 릴레이나 모터 같은 코일 부하에는 역기전력을 막는 다이오드를 병렬로 꼭 다세요.
풀이 예제: 5 V 핀으로 100 mA 부하 켜기
- 필요한 베이스 전류: IB = (k·IC)/(hFE) = (5 × 100 mA)/(100) = 5 mA
- 베이스 저항: RB = (5 V − 0.7 V)/(5 mA) = 860 Ω → 바로 아래 표준값 820 Ω
- (IC)/(IB)가 20 정도(강제 β)라서 β가 큰 부품이든 작은 부품이든 확실히 포화됩니다.
부하 전류별 베이스 저항 표
| 부하 전류 IC | RB (3.3 V) | IB (3.3 V) | RB (5 V) | IB (5 V) |
|---|---|---|---|---|
| 부하 전류 IC20 mA | RB (3.3 V)2.4 kΩ | IB (3.3 V)1.08 mA | RB (5 V)4.3 kΩ | IB (5 V)1 mA |
| 부하 전류 IC50 mA | RB (3.3 V)1 kΩ | IB (3.3 V)2.6 mA | RB (5 V)1.6 kΩ | IB (5 V)2.69 mA |
| 부하 전류 IC100 mA | RB (3.3 V)510 Ω | IB (3.3 V)5.1 mA | RB (5 V)820 Ω | IB (5 V)5.24 mA |
| 부하 전류 IC200 mA | RB (3.3 V)240 Ω | IB (3.3 V)10.8 mA | RB (5 V)430 Ω | IB (5 V)10 mA |
| 부하 전류 IC500 mA | RB (3.3 V)100 Ω ⚠ | IB (3.3 V)26 mA | RB (5 V)160 Ω ⚠ | IB (5 V)26.9 mA |
hFE 100, 여유 5배(강제 β = 20), VBE 0.7 V 기준이고 E24 바로 아래 값입니다. ⚠는 베이스 전류가 20 mA를 넘어 마이크로컨트롤러 핀으로는 무리인 경우입니다. 같은 트랜지스터라도 β는 부품마다 크게 다릅니다. 실측한 β는 259~336 범위로 시뮬레이션(129~164)의 약 두 배였습니다(β 가이드). 그래서 스위치는 β를 작게 잡고 계산합니다.
실험대에서 확인: 실제 VBE와 VCE(sat)
아래 숫자는 이 사이트 운영자가 실험 수업에서 직접 기록한 값에서 계산했습니다. 측정값은 고치지 않았습니다.
스위치용 베이스 저항 계산에는 VBE와 VCE(sat) 가정이 들어갑니다. 실험에서 2N3904의 베이스 전류를 약 20 µA로 거의 고정하고 컬렉터 저항만 바꿔 잰 값으로 이 가정을 확인했습니다(VCC 6 V).
| RC | IB | IC | IC ÷ IB | VCE | 상태 |
|---|---|---|---|---|---|
| RC470 Ω | IB19.4 µA | IC7.18 mA | IC ÷ IB371 | VCE2.626 V | 상태활성 |
| RC1 kΩ | IB19.2 µA | IC5.8 mA | IC ÷ IB302 | VCE0.196 V | 상태포화 |
| RC1.8 kΩ | IB19.9 µA | IC3.27 mA | IC ÷ IB164 | VCE0.122 V | 상태포화 |
| RC2.7 kΩ | IB20.4 µA | IC2.19 mA | IC ÷ IB107 | VCE0.102 V | 상태포화 |
- VBE는 0.653~0.679 V였습니다. 이 계산기의 기본값 0.7 V는 약간 높은 쪽이라, 베이스 전류가 계산보다 조금 더 흐르는 안전한 방향으로 틀립니다.
- VCE(sat)는 포화된 세 경우 0.102~0.196 V로, 손실 계산에 쓰는 0.2 V 가정 안에 들어왔습니다.
- RC = 470 Ω일 때는 스위치가 덜 켜졌습니다: 완전히 켜지려면 12.3 mA가 필요한데 β·IB가 7.18 mA에 그쳐 VCE가 2.63 V 남았습니다. 이때(활성 영역) 잰 β는 371로 꽤 컸는데도 그렇습니다.
그래서 과구동 계수가 있습니다: 이 계산기는 hFE 최솟값에 계수 k(기본 5)를 곱해 베이스 전류를 넉넉히 잡습니다. 위 표처럼 IC ÷ IB가 실제 β에 가까우면 부하가 조금만 커져도 스위치가 활성 영역으로 빠집니다. 기본값처럼 강제 β를 10~20 정도로 두는 것이 이 때문입니다. 전체 측정은 BJT 바이어스 가이드에 있습니다.
트랜지스터로 부하 켜기
부하 전류에서 베이스 저항까지
- 구동 전압(마이크로컨트롤러 핀의 5 V나 3.3 V 등), 부하 전류, 트랜지스터의 최소 β를 입력합니다.
- 추천 베이스 저항과 그때의 베이스 전류를 읽습니다.
- 베이스 전류가 핀이 낼 수 있는 범위 안인지, 트랜지스터의 컬렉터 전류 정격이 부하를 감당하는지 확인합니다.
스위치 실수: 약한 구동, 플라이백 다이오드
- 대표 β로 설계하기. 스위치는 확실히 포화시켜야 하므로, 데이터시트의 대표값 200이 아니라 강제 β 10~20(베이스 전류를 부하 전류의 10분의 1에서 20분의 1)으로 설계합니다.
- 릴레이·모터에 환류 다이오드를 빼기. 트랜지스터가 꺼질 때 코일에 저장된 에너지가 전압 스파이크를 만들어 트랜지스터를 망가뜨릴 수 있습니다. 코일 양단에 다이오드를 캐소드가 + 전원 쪽으로 오게 다세요.
- 핀 과부하. 아두이노 우노 핀의 절대 최대 정격은 40 mA이고, 실사용은 20 mA 이하가 적당합니다. 베이스 전류는 이보다 넉넉히 작게 하세요.
MOSFET으로 바꿀 때
포화된 소신호 BJT도 0.1~0.3 V 정도는 강하하는데, 수백 mA까지는 괜찮습니다. 대략 0.5 A를 넘거나, 배터리 구동이라 베이스 전류가 부담된다면 로직 레벨 N채널 MOSFET이 보통 더 낫습니다. 게이트 전류가 계속 흐르지 않기 때문입니다. 온저항이 10 V가 아니라 실제 게이트 전압(2.5 V나 4.5 V)에서 규정되어 있는지 확인하세요.
자주 묻는 질문
hFE만으로 베이스 전류를 정하면 안 되나요?
hFE는 부품마다 차이가 크고 전류가 크면 떨어집니다. 최소 hFE에 여유 배수를 곱해(강제 β 10~20 정도) 설계해야 트랜지스터가 확실히 포화되어 발열이 적습니다.
아두이노 핀으로 베이스를 바로 구동해도 되나요?
저항을 거친다면 됩니다. 다만 베이스 전류가 핀 한계(우노 기준 권장 약 20 mA) 안에 넉넉히 들어와야 합니다. 부하가 크면 로직 레벨 MOSFET이나 달링턴을 쓰세요.