[오제이 튜브 임베디드 강의] 28. 드라이기를 내 맘대로 껐다, 켰다 해보자.

2026. 4. 26. 20:46·Embedded

고추 건조기의 큰 그림

고추 건조기의 최종 목표는 특정 온도를 유지하면서 건조하는 것이다. 이를 위해 세 가지 요소가 필요하다.

  1. FND — 현재 온도를 표시 (이전 글들에서 구현 완료)
  2. 온도 센서 — 현재 온도를 측정 (이전 글들에서 구현 완료)
  3. 릴레이 — 드라이기를 껐다 켰다 제어 (이번 글에서 구현)

동작 원리는 간단하다. 목표 온도가 60°C라면, 온도가 60°C에 도달할 때까지 드라이기를 켜고, 도달하면 끈다. 온도가 55°C로 떨어지면 다시 켜는 방식으로 on/off를 반복하여 목표 온도 부근을 유지한다.

릴레이란

릴레이(Relay)는 GPIO 신호에 따라 전류의 흐름을 제어하는 스위치다. 이전 글("회로도 딱 필요한 만큼만 배우자")에서 릴레이의 회로도 기호와 "GPIO로 AC 전원을 차단하는 개념"을 다뤘는데, 이번에 실물로 구현한다.

 

전압을 가하면 내부 접점이 붙고(딸깍), 전압을 제거하면 떨어진다. 트랜지스터와 유사한 역할이지만, 릴레이는 물리적으로 접점이 움직이므로 작동 시 '딸깍' 소리가 난다.

릴레이 모듈 실물

Low Level Trigger 설정

이 릴레이 모듈의 딥 스위치를 'L'(Low Level Trigger)로 설정한다. 이는 IN 단자가 평상시 High(5V) 상태에 있다가, Low로 떨어지면 릴레이가 동작하는 방식이다.

 

릴레이 모듈의 단자 구성:

단자 연결 역할
DC+ 5V 릴레이 동작 전원
DC- GND 접지
IN1 제어 신호 평상시 High, Low가 되면 릴레이 동작

3.3V 보드에서 5V 릴레이 구동

문제는 이 릴레이가 5V에서 동작하는데, 우리 보드는 3.3V로 동작한다는 점이다. 원래 3.3V용 릴레이를 사용하려 했으나 수급 문제로 5V용을 사용하게 되었다. 따라서 트랜지스터를 이용한 추가 회로가 필요하다.

동작 원리

회로도 — PB5 Low vs High 비교

GPIO(PB5)가 Low일 때:

트랜지스터가 OFF 상태이므로, 릴레이의 IN1은 4.7kΩ 풀업 저항을 통해 5V(High)를 유지한다. Low Level Trigger 조건이 아니므로 릴레이 미동작.

 

GPIO(PB5)가 High일 때:

트랜지스터의 Base에 3.3V가 인가되어 트랜지스터가 ON. Collector-Emitter가 연결되면서 IN1이 GND로 끌려 내려가 Low가 된다. Low Level Trigger 조건이 충족되어 릴레이 동작(딸깍).

저항의 역할

  • 1kΩ 저항 (GPIO → 트랜지스터 Base): 트랜지스터에 과도한 전류가 흐르지 않도록 제한
  • 4.7kΩ 저항 (5V → IN1 풀업): IN1을 평상시 High로 유지. 트랜지스터 ON 시 IN1이 Low로 떨어짐

저항 없이 5V와 GND가 직접 연결되면 쇼트(단락)가 발생하여 회로가 손상된다.

COM / NC / NO — 드라이기 제어 원리

릴레이의 출력 단자는 세 개다.

단자 의미 역할
COM Common 기준점 (드라이기 전선의 한쪽)
NC Normally Closed 평상시 COM과 연결됨
NO Normally Open 평상시 열려 있음, 릴레이 동작 시 COM과 연결

드라이기의 전원선 한 가닥을 끊어서, 한쪽을 COM에, 다른 쪽을 NO에 연결한다.

  • 릴레이 미동작 (평상시): COM-NC 연결 → 드라이기 전원 경로 끊김 → 드라이기 OFF
  • 릴레이 동작 (GPIO High): COM-NO 연결 → 드라이기 전원 경로 연결 → 드라이기 ON

COM/NC/NO와 드라이기 연결 회로도

납땜 작업

보드의 5V 출력 핀에 핀 헤더가 없으므로 납땜으로 핀을 붙여야 한다. 보드 상단의 6구멍이 위에서부터 5V, 3.3V, GND 순서로 배치되어 있다.

 

납땜은 인두기로 납을 녹여 도체들을 연결하는 작업이다. 다이소에서 5천원에 구입할 수 있는 저렴한 인두기로도 충분히 작업 가능하다.

납땜 시 주의사항

  • 과도한 납 사용: 인접한 패턴끼리 연결되어 쇼트 발생
  • 냉땜: 납이 제대로 녹지 않아 접촉 불량
  • 패턴 손상: 인두기를 너무 오래 대면 기판의 구리 패턴이 벗겨짐

납땜 작업 — 5V 핀에 핀 헤더 납땜

빵판 배선

회로도에 따라 브레드보드에 부품을 조립한다.

부품 목록

  • 트랜지스터 (NPN)
  • 1kΩ 저항 (갈-검-빨)
  • 4.7kΩ 저항 (노-보-빨)
  • 릴레이 모듈 (딥 스위치 L로 설정)

배선 순서

  1. 노란 암-수 점퍼선으로 STM 보드의 PB5 → 빵판 j5에 연결
  2. 1kΩ 저항을 i5와 i10에 연결
  3. 트랜지스터의 B(Base, 가운데)가 h15에 오도록 꽂기 (평평한 면이 -쪽)
  4. 주황 수-수 점퍼선으로 j10과 j15 연결 (저항 끝 → 트랜지스터 Base)
  5. 검정 수-수 점퍼선으로 g16(트랜지스터 E) → - 레일(GND) 연결
  6. 초록 수-수 점퍼선으로 g14(트랜지스터 C) → g20 연결
  7. 4.7kΩ 저항을 i20과 i25에 연결
  8. 빨간 수-수 점퍼선으로 h25 → + 레일(5V) 연결
  9. 릴레이 DC+ → 빵판 j25 (5V 라인)
  10. 릴레이 DC- → 빵판 - 레일(GND)
  11. 릴레이 IN1 → 빵판 j20 (트랜지스터 C와 풀업 저항의 연결점)

빵판 배선 완성

전원 연결

  • 검정 암-수 점퍼선으로 빵판 - 레일 → STM 보드 GND
  • 빨간 암-수 점퍼선으로 빵판 + 레일 → STM 보드 5V (납땜한 핀)
  • 5V 전원 공급을 위해 USB 어댑터로 외부 전원 연결 필요

코드 없이 릴레이 동작 확인

실제 GPIO 코드를 작성하기 전에, 수동으로 릴레이 동작을 검증한다.

  1. PB5에 연결된 노란 점퍼선을 빼서, 납땜한 3.3V 핀에 꽂는다 → GPIO High를 흉내냄
  2. 트랜지스터 ON → IN1 Low → Low Level Trigger → 릴레이 '딸깍' 소리
  3. 멀티미터 쇼트 테스트로 COM-NO가 연결되었는지 확인
  4. 점퍼선을 빼면 → IN1 High 복귀 → 릴레이 해제 → COM-NC로 복귀

수동 테스트 — 3.3V로 릴레이 동작 확인

이것으로 드라이기 제어의 핵심 회로가 검증되었다. 다음 글에서는 GPIO 코드로 릴레이를 제어하고, 온도 센서와 연동하여 목표 온도를 유지하는 난방실을 구현한다.

'Embedded' 카테고리의 다른 글

[오제이 튜브 임베디드 강의] 30. 쓰레드 흉내내기 (모든 장치 통합시키기)  (0) 2026.04.28
[오제이 튜브 임베디드 강의] 29. 난방실 만들기  (0) 2026.04.26
[오제이 튜브 임베디드 강의] 27. 온도센서 검증하기  (0) 2026.04.26
[오제이 튜브 임베디드 강의] 26. 다른 사람 소스 분석하는 방법  (0) 2026.04.26
[오제이 튜브 임베디드 강의] 25. 어디서도 안 알려주는 프로토콜의 원리  (0) 2026.04.26
'Embedded' 카테고리의 다른 글
  • [오제이 튜브 임베디드 강의] 30. 쓰레드 흉내내기 (모든 장치 통합시키기)
  • [오제이 튜브 임베디드 강의] 29. 난방실 만들기
  • [오제이 튜브 임베디드 강의] 27. 온도센서 검증하기
  • [오제이 튜브 임베디드 강의] 26. 다른 사람 소스 분석하는 방법
onebrotravel
onebrotravel
  • onebrotravel
    매일을 여행처럼
    onebrotravel
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • Embedded N
      • OS
      • DSA
      • DevTools
      • Infra
      • Projects
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
onebrotravel
[오제이 튜브 임베디드 강의] 28. 드라이기를 내 맘대로 껐다, 켰다 해보자.
상단으로

티스토리툴바