이 글은 4부작입니다.
- [책상 보조등 제어하기] 0. 구성
- [책상 보조등 제어하기] 1. 프로토콜
- [책상 보조등 제어하기] 2. 하드웨어]
- [책상 보조등 제어하기] 3. 소프트웨어
이전 글 [책상 보조등 제어하기] 1. 프로토콜 에서 이어지는 글입니다.
틀린 서술이 많을 것 같습니다.
혹시나 발견하신다면 댓글 남겨주시거나 potados99@gmail.com으로 피드백 보내주신 주신다면 정말 감사하겠습니다 :)
하드웨어
스위칭 회로
불을 켜거나 끄기 위해서는 스위칭 회로가 필요하다. 트랜지스터(BJT)와 모스펫(MOSFET)은 크게 보면 같은 기능을 수행하지만 전자는 전류에 의해, 후자는 전압에 의해 작동한다는 차이가 있다.
NodeMCU의 GPIO는 3.3v 전압에 최대 20mA 전류를 출력할 수 있다. 이때 유의할 것은, NodeMCU는 아날로그 출력을 할 수 없기 때문에 밝기 조절을 위해서 PWM을 사용한다는 것이다.
즉, 빠른 펄스를 사용한다는 것인데 이는 MOSFET의 게이트 전류 요구량을 증가시키는 원인이 된다. NodeMCU의 GPIO는 많은 전류를 흘릴 수 없으므로 별도의 게이트 드라이버가 필요한 것이다.
따라서 모스펫 대신 트랜지스터를 사용한다. 이때 트랜지스터는 아주 작은 전류로부터 12V 1A나 되는 큰 전류를 내보내야 하므로 전류 이득이 아주 큰 것을 사용해야 한다. TIP-120은 NPN 달링턴 트랜지스터이다. 두 개의 트랜지스터를 묶어놓은 것과 같아 전류 이득이 매우 크다.
TIP-120의 데이터시트에 의하면, 컬렉터 전류가 2A일 때 베이스 전류 1mA 정도면 거의 완전히 ‘켜진’ 상태가 된다. 다만 컬렉터 전류가 1A일 때 saturation voltage가 약 0.75v정도로 적지 않기 때문에 약간의 밝기 손실이 있는 점 감안해야 한다.
회로도
회로도를 그려보자. 다음 것들이 필요하다:
- NodeMCU
- 5v DC
- 12v DC
- TIP-120
- 300Ohm resistor
- LED strip
- 0.96” 6Pin SPI OLED Display Module
댓글