라즈베리 파이 피코 발열체 제어

이 가이드는 Raspberry Pi Pico를 사용하여 발열체를 제어하는 방법을 보여줍니다. 다음 튜토리얼에서는 난방 시스템을 구축하는 방법을 배우게 됩니다.

Pico에서 히터를 켜고 끄는 방법은 두 가지입니다. 릴레이 또는 MOSFET 모듈입니다. 릴레이는 가열 중 또는 가열 안 함, 두 가지 상태만 제공합니다. MOSFET 모듈은 이 두 가지 상태에 더해 PWM으로 발열체가 만드는 열의 양도 선택할 수 있게 해 줍니다. 소리가 없고, 자주 스위칭해도 마모되지 않습니다. 여기서는 두 가지 방법을 모두 살펴봅니다.

라즈베리 파이 피코 가열 요소

준비물

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

발열체에 대하여

핀아웃

라즈베리 파이 피코 가열 요소 핀아웃

가열 요소는 보통 두 개의 핀이 있습니다.

  • 양극(+) 핀(빨간색)을 12V DC 전원 공급 장치에 연결합니다.
  • 음극(-) 핀(검은색)을 DC 전원 공급 장치의 접지(GND)에 연결합니다.

가열 요소 제어 방법

12V 난방 부품이 12V 전원에 연결되면 열이 발생합니다. 우리는 릴레이를 사용하여 Raspberry Pi Pico와 난방 요소를 연결합니다. Raspberry Pi Pico는 릴레이를 사용하여 난방 요소를 제어할 수 있습니다. Raspberry Pi Pico용 릴레이 또는 MicroPython 프로그래밍이 처음이라면 아래 튜토리얼을 확인해 보시기를 권장합니다.

MOSFET 방식은 먼저 라즈베리 파이 피코 - MOSFET 모듈 튜토리얼을 읽어 보면 도움이 됩니다.

발열체에는 릴레이와 MOSFET 모듈 중 무엇이 좋을까요?

릴레이 MOSFET 모듈
열 제어 최대 열 또는 열 없음 열 없음, 최대 열, 또는 그 사이 모든 단계(PWM)
소리 스위칭할 때마다 딸깍 소리 조용함
스위칭 속도 느림(밀리초) 매우 빠름
마모 접점이 마모되며, 자주 스위칭할수록 더 심함 마모되는 움직이는 부품이 없음
전원 종류 AC 또는 DC 가능 DC만 가능
히터 공급 전압 릴레이 정격 범위 내 모든 전압 약 6V 이상
Pico와의 절연 예, 코일과 접점 사이 예, PC817 포토커플러를 통해
용도 AC 히터와 간단한 켜기/끄기 가열 12V DC 히터, 열 수준 제어, 설정 온도 유지

온도를 일정하게 유지하려면 히터가 여러 번 켜졌다 꺼지게 됩니다. MOSFET 모듈은 이를 잘 처리하며 전력을 낮출 수도 있습니다. AC 전원으로 작동하는 히터에는 여전히 릴레이가 적합한 부품입니다.

선연결

라즈베리 파이 피코 발열체 배선도

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

이 회로는 브레드보드 없이도 만들 수 있습니다. 같은 배선은 다음과 같습니다:

라즈베리 파이 피코 발열체 배선도 (브레드보드 없음)

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

Raspberry Pi Pico 코드

이 코드는 히팅 요소를 5초 동안 켠 후 5초 동안 끄는 것을 반복적으로 수행합니다.

/* * 이 라즈베리 파이 피코 코드는 newbiely.kr 에서 개발되었습니다 * 이 라즈베리 파이 피코 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/raspberry-pico/raspberry-pi-pico-controls-heating-element */ from machine import Pin import time RELAY_PIN = 1 # The Raspberry Pi Pico pin GP1 connected to the Heating Element 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 Heating Element for 5 seconds time.sleep(5) relay.value(0) # Turn off Heating Element for 5 seconds time.sleep(5)

자세한 사용 방법

다음의 지시사항을 단계별로 따르세요:

  • 컴퓨터에 Thonny IDE가 설치되어 있는지 확인합니다.
  • Raspberry Pi Pico에 MicroPython 펌웨어가 설치되어 있는지 확인합니다.
  • Raspberry Pico를 처음 사용하는 경우, 자세한 지침은 라즈베리 파이 피코 - 시작하기 튜토리얼을 참조하세요.
  • 제공된 다이어그램에 따라 Raspberry Pi Pico를 히팅 엘리먼트에 연결합니다.
  • USB 케이블을 사용하여 Raspberry Pi Pico를 컴퓨터에 연결합니다.
  • 컴퓨터에서 Thonny IDE를 실행합니다.
  • Thonny IDE에서 도구 옵션으로 이동하여 MicroPython (Raspberry Pi Pico) 인터프리터를 선택합니다.
  • 인터프리터 탭에서 드롭다운 메뉴에서 MicroPython (Raspberry Pi Pico)를 선택합니다.
  • 올바른 포트가 선택되어 있는지 확인합니다. Thonny IDE는 포트를 자동으로 감지해야 하지만, 수동으로 선택할 필요가 있을 수 있습니다 (예: Windows에서는 COM3 또는 Linux에서는 /dev/ttyACM0).
  • 위 코드를 복사하여 Thonny IDE의 에디터에 붙여넣습니다.
  • Raspberry Pi Pico에 스크립트를 저장하려면:
    • 저장 버튼을 클릭하거나 Ctrl+S 키를 사용합니다.
    • 저장 대화 상자에서 '이 컴퓨터'와 'Raspberry Pi Pico' 두 섹션이 표시됩니다. Raspberry Pi Pico를 선택합니다.
    • 파일을 main.py로 저장합니다.
  • 초록색 실행 버튼을 클릭하거나 (또는 F5를 누르세요) 스크립트를 실행합니다. 스크립트가 실행됩니다.
  • 히팅 엘리먼트의 온도를 확인합니다.

WARNING

화상을 입거나 집에서 화재가 발생할 수 있으므로 주의하십시오. 이는 귀하의 안전을 위해 중요합니다. 만약 확실치 않다면 직접 다루지 마십시오. 경험이 있는 사람에게 도움을 요청하십시오. 저희는 귀하의 안전에 대해 책임지지 않습니다.

스크립트의 이름을 main.py로 지정하고 Raspberry Pi Pico의 루트 디렉터리에 저장하면, Pico의 전원이 켜지거나 리셋될 때마다 자동으로 실행됩니다. 이는 전원이 켜지는 즉시 실행되어야 하는 독립형 애플리케이션에 유용합니다. 만약 스크립트의 이름을 main.py 외의 다른 이름으로 지정하면, Thonny의 셸에서 수동으로 실행해야 합니다.

코드 설명

이 Raspberry Pi Pico 코드 위의 주석 섹션에서 설명을 확인할 수 있습니다.

MOSFET 모듈로 발열체 제어하기

이 부분에서는 MOSFET 모듈이 릴레이를 대신합니다. GP18의 PWM으로 Pico가 히터 전력을 0%에서 100%까지 설정합니다.

배선도

라즈베리 파이 피코 발열체 mosfet 모듈 배선도

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

연결 시작 연결 대상
Pico GP18 모듈 PWM 핀
Pico GND 모듈 GND 핀
12V 어댑터 + 모듈 + 단자
발열체 +(빨간색) 모듈 + 단자(어댑터 +와 공유)
발열체 −(검은색) 모듈 LOAD 단자
12V 어댑터 − 모듈 − 단자

발열체에는 코일이 없으므로 플라이백 다이오드가 필요하지 않습니다.

Raspberry Pi Pico 코드 - 열 수준

/* * 이 라즈베리 파이 피코 코드는 newbiely.kr 에서 개발되었습니다 * 이 라즈베리 파이 피코 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/raspberry-pico/raspberry-pi-pico-controls-heating-element */ 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와 Pico를 준비합니다.
  • 다이어그램에 따라 발열체와 MOSFET 모듈을 연결합니다. 12V 어댑터는 꽂지 않은 상태로 둡니다.
  • 코드를 Thonny에 붙여넣고 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 ≡

WARNING

발열체는 뜨거워져서 화상을 입을 수 있습니다. 작동 중에는 만지지 말고, 불이 붙을 수 있는 물건에서 멀리 두세요.

팁: MOSFET 모듈은 DC 히터와 약 6V 이상의 공급 전압에서만 사용하세요. AC 히터에는 릴레이를 사용하세요.

동영상

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