라즈베리 파이 피코 팬 제어

이 튜토리얼은 Raspberry Pi Pico로 12V 또는 5V 팬을 제어하는 방법을 안내합니다. 다음 내용을 다룹니다:

릴레이는 팬을 켜고 끄는 것만 할 수 있습니다. MOSFET 모듈도 그렇게 할 수 있으며, 딸깍 소리 없이 PWM으로 팬을 더 빠르게 또는 더 느리게 회전시킬 수도 있습니다. 이 튜토리얼에서는 두 가지 방법을 모두 보여줍니다.

라즈베리 파이 피코 팬

준비물

1×라즈베리 파이 피코 W 쿠팡 | 아마존
1×라즈베리 파이 피코 (또는) 쿠팡 | 아마존
1×마이크로 USB 케이블 아마존
1×릴레이 아마존
1×(또는) MOSFET Module (AOD4184, LR7843 or FR120N) 아마존
1×12V DC 선풍기 아마존
1×(또는) 5V DC 선풍기 쿠팡 | 아마존
1×12V 전원 어댑터 아마존
1×DC 커넥터 전원 연결 잭 플러그 소켓 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) 라즈베리 파이 피코용 스크루 터미널 확장 보드 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

DC 팬 소개

핀아웃

DC 팬은 보통 두 개의 핀이 있습니다.

  • 음극(-)으로 표시된 검정색 핀을 DC 전원 공급기의 음극 전선에 연결합니다.
  • 양극(+)으로 표시된 빨간색 핀을 DC 전원 공급기의 양극 전선에 연결합니다.
팬 핀아웃
image source: diyables.io

DC 전원 공급 장치의 전압이 팬에 필요한 전압과 동일한지 확인하십시오. 이 가이드에서는 12VDC와 5VDC가 필요한 팬을 사용합니다.

팬 제어 방법

  • DC 팬이 12V/5V 전원을 사용할 때 최대 속도로 작동합니다.
  • DC 팬이 12V/5V PWM 신호를 사용할 때 팬의 속도를 조절할 수 있습니다.

이 가이드에서는 Raspberry Pi Pico를 사용하여 팬을 켜고 끄는 방법을 안내합니다. 팬 속도를 제어하는 방법은 다른 가이드에서 설명할 예정입니다. 팬을 제어하기 위해 Raspberry Pi Pico와 팬 사이에 릴레이를 연결합니다. Raspberry Pi Pico는 릴레이를 사용하여 팬을 작동시킵니다. Raspberry Pi Pico용 릴레이 또는 MicroPython 프로그래밍이 처음이라면, 아래 튜토리얼을 확인해 보시기 바랍니다.

MOSFET 모듈이 처음이신가요? 핀, 버전, 작동 방식은 라즈베리 파이 피코 - MOSFET 모듈 튜토리얼에 있습니다.

팬용 릴레이와 MOSFET 모듈 비교

릴레이 MOSFET 모듈
할 수 있는 일 팬 켜기와 끄기 팬 켜기, 끄기, 속도 변경(PWM)
소음 스위칭할 때마다 딸깍 소리 소리 없음
스위칭 속도 느림, 몇 밀리초 매우 빠름
수명 여러 번 스위칭하면 접점이 마모됨 내부에 움직이는 부품이 없어 오래 사용
전원 종류 AC 또는 DC DC만 가능
팬 공급 전압 릴레이 정격 범위 내 모든 전압 약 6V 이상
Pico 보호 예, 코일과 접점이 분리됨 예, PC817 포토커플러로 보호
적합한 경우 AC 팬 또는 켜고 끄기만 필요한 DC 팬 속도 제어가 필요한 12V DC 팬

12V DC 팬에는 속도 제어와 조용한 작동이 가능한 MOSFET 모듈이 더 좋은 선택입니다. AC 전원으로 작동하는 팬에는 릴레이를 사용하세요.

선연결

라즈베리 파이 피코 팬 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

Raspberry Pi Pico 코드

이 코드는 팬을 5초 동안 켜고, 그 후 다시 5초 동안 끕니다.

/* * 이 라즈베리 파이 피코 코드는 newbiely.kr 에서 개발되었습니다 * 이 라즈베리 파이 피코 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/raspberry-pico/raspberry-pi-pico-controls-fan */ from machine import Pin import time RELAY_PIN = 1 # The Raspberry Pi Pico pin GP1 connected to the fan via relay pin # Initialize the relay pin as an output relay = Pin(RELAY_PIN, Pin.OUT) # Infinite loop while True: relay.value(1) # Turn on fan for 5 seconds time.sleep(5) relay.value(0) # Turn off fan for 5 seconds time.sleep(5)

자세한 사용 방법

다음의 지침을 단계별로 따르십시오:

  • 컴퓨터에 Thonny IDE가 설치되어 있는지 확인합니다.
  • Raspberry Pi Pico에 MicroPython 펌웨어가 설치되어 있는지 확인합니다.
  • Raspberry Pico를 처음 사용한다면, 자세한 내용은 라즈베리 파이 피코 - 시작하기 튜토리얼을 참조하세요.
  • 제공된 다이어그램에 따라 Raspberry Pi Pico를 팬에 연결합니다.
  • Raspberry Pi Pico를 USB 케이블을 사용하여 컴퓨터에 연결합니다.
  • 컴퓨터에서 Thonny IDE를 실행합니다.
  • Thonny IDE에서 Tools Options로 이동하여 MicroPython (Raspberry Pi Pico) 인터프리터를 선택합니다.
  • Interpreter 탭에서 드롭다운 메뉴에서 MicroPython (Raspberry Pi Pico)를 선택합니다.
  • 올바른 포트가 선택되었는지 확인합니다. Thonny IDE가 자동으로 포트를 감지하지만, 수동으로 선택해야 할 수도 있습니다(예: Windows에서는 COM3, Linux에서는 /dev/ttyACM0).
  • 위의 코드를 복사하여 Thonny IDE 편집기에 붙여넣습니다.
  • 다음 방법을 사용하여 스크립트를 Raspberry Pi Pico에 저장합니다:
    • 저장 버튼을 클릭하거나 Ctrl+S를 누릅니다.
    • 저장 대화 상자에서 "This computer"와 "Raspberry Pi Pico"의 두 섹션이 보이면 Raspberry Pi Pico를 선택합니다.
    • 파일 이름을 main.py로 저장합니다.
  • 녹색 Run 버튼을 클릭하거나 F5 키를 눌러 스크립트를 실행합니다. 스크립트가 실행됩니다.
  • 팬의 작동 상태를 확인합니다.

스크립트의 이름을 main.py로 지정하고 Raspberry Pi Pico의 루트 디렉터리에 저장하면, Pico의 전원 공급 또는 리셋 시마다 자동으로 실행됩니다. 이는 전원이 공급되는 즉시 실행되어야 하는 독립형 응용 프로그램에 유용합니다. 스크립트의 이름을 main.py 외의 다른 이름으로 지정하면 Thonnys의 Shell에서 수동으로 실행해야 합니다.

코드 설명

위의 Raspberry Pi Pico 코드의 주석은 세부 사항을 설명합니다.

MOSFET 모듈로 팬 제어하기

여기서는 MOSFET 모듈이 릴레이를 대신합니다. Pico가 GP18로 PWM 신호를 보내고, 팬 속도가 이 신호를 따라갑니다.

배선도

라즈베리 파이 피코 냉각 팬 mosfet 모듈 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

다음과 같이 연결합니다:

  • Pico GP18을 모듈의 PWM 핀에 연결합니다.
  • Pico GND를 모듈의 GND 핀에 연결합니다.
  • 12V 어댑터의 양극 전선을 + 단자에 연결합니다.
  • 팬의 빨간색 전선(+)을 같은 + 단자에 연결합니다.
  • 팬의 검은색 전선(−)을 LOAD 단자에 연결합니다.
  • 12V 어댑터의 음극 전선을 − 단자에 연결합니다.
  • 팬의 두 전선 사이에 플라이백 다이오드(1N4007 또는 1N5819)를 연결합니다. 줄무늬가 있는 쪽(캐소드)을 팬 +에 연결합니다.

Raspberry Pi Pico 코드 - 팬 속도

/* * 이 라즈베리 파이 피코 코드는 newbiely.kr 에서 개발되었습니다 * 이 라즈베리 파이 피코 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/raspberry-pico/raspberry-pi-pico-controls-fan */ from machine import Pin, PWM import time MOSFET_PIN = 18 # Pico GP18 connected to the PWM pin of the MOSFET module pwm = PWM(Pin(MOSFET_PIN), freq=500) # 500 Hz PWM, slow enough for the module's optocoupler pwm.duty_u16(0) # start with the load OFF def set_load(percent): pwm.duty_u16(percent * 65535 // 100) # convert 0-100% to 0-65535 print("Load power: {}%".format(percent)) while True: # turn the load fully ON, then fully OFF print("Load: ON") set_load(100) time.sleep(2) print("Load: OFF") set_load(0) time.sleep(2) # increase the power step by step (PWM) for percent in range(10, 101, 10): set_load(percent) time.sleep(0.5) # decrease the power step by step (PWM) for percent in range(90, -1, -10): set_load(percent) time.sleep(0.5) time.sleep(1)

먼저 팬이 2초 동안 최대 속도로 작동한 후 2초 동안 멈춥니다. 다음으로 전력이 10%에서 100%까지 올라가 팬이 단계적으로 빨라지고, 다시 내려가면서 팬이 느려집니다. 팬은 매우 낮은 전력에서 시작하지 않을 수 있어서, 처음 몇 단계에서는 멈춰 있을 수 있습니다.

자세한 사용 방법

  • 위 릴레이 부분의 Quick Steps와 같이 Thonny와 MicroPython을 설정합니다.
  • 다이어그램과 같이 팬과 MOSFET 모듈을 배선합니다. 12V 어댑터는 꽂지 않은 상태로 둡니다.
  • 위 코드를 Thonny에 복사하여 Raspberry Pi Pico에 main.py로 저장합니다.
  • 12V 어댑터를 꽂습니다.
  • 녹색 Run 버튼을 클릭합니다.
  • 팬 소리를 들어 보세요. 속도가 올라갔다 내려갔다 합니다.
  • Thonny 하단의 Shell을 확인합니다.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot Load: ON Load power: 100% Load: OFF Load power: 0% Load power: 10% Load power: 20% Load power: 30% Load power: 40% Load power: 50% Load power: 60% Load power: 70% Load power: 80% Load power: 90% Load power: 100% Load power: 90% Load power: 80% Load power: 70% Load power: 60% Load power: 50% Load power: 40% Load power: 30% Load power: 20% Load power: 10% Load power: 0%
MicroPython (Raspberry Pi Pico) • Board CDC @ COM29 ≡

팁: MOSFET 모듈은 DC에서만 작동하며, 팬 공급 전압이 약 6V 이상이어야 합니다. 5V 팬은 너무 낮으므로, 5V 팬이나 AC 팬에는 릴레이를 사용하세요.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.