산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

정밀 온도 제어 숯불 스모커 키트: 나만의 BBQ 마스터피스 만들기

부품 및 소모품

부품 수량
아두이노 MKR1000 (내장 WiFi, LiPo 충전 지원) 1
5V 브러시리스 블로워 팬 1
MOSFET IRF520N 드라이버 모듈 1
100kΩ NTC 서미스터 (고온용 실리콘 와이어 타입 권장) 1+
브레드보드 1
점퍼 와이어 1
3.7V LiPo 배터리 (≥700mAh) 1

앱 및 온라인 서비스

프로젝트 배경

진정한 BBQ 애호가들은 숯불 특유의 풍미를 위해 숯을 고집하지만, 온도 유지가 어렵습니다. 환기구 조절을 수시로 해야 하고 숯 양이 줄어들면 다시 조정해야 합니다. 이 프로젝트는 스모커 내부 온도를 자동으로 모니터링하고 블로워 팬으로 공기 유입량을 조절하여 설정 온도를 유지하며, 원격에서 스모커 온도와 고기 심부 온도를 모니터링할 수 있게 합니다.

하드웨어 설계

온도 센서 (서미스터)

블로워 팬 제어

브레드보드 프로토타이핑

테스트용으로 가변저항(10kΩ)을 추가하여 서미스터 입력 시뮬레이션 가능하게 구성. 팬 동작 표시용 LED(330Ω 저항 직렬) 핀 0에 연결.

소프트웨어 구조

아두이노 스케치 (웹 서버 방식)

Beta 공식 (Steinhart-Hart 근사)

1/T = 1/T0 + (1/Beta) * ln(R/R0)
// T, T0: 켈빈 온도, R: 현재 저항, R0: T0에서의 저항

웹 페이지 구성

윈도우 유니버설 앱 (원격 모니터링)

윈도우 10 기기(PC, 태블릿, 폰)에서 실행 가능한 앱으로:

소스 코드 및 자료

아두이노 스케치 (주요 부분)

// sketch_12_04_server_wifi
#include <SPI.h>
#include <WiFi101.h>

char ssid[] = "BeeBar2";
char pass[] = "9254582716";
WiFiServer server(80);
WiFiClient client;
IPAddress server_IP(192,168,123,90);
float targetTemperature = 225;
float smokerTemperature = 225;
float v0;

void setup() {
  Serial.begin(9600);
  while (!Serial) {}
  for (int i = 0; i < 10; i++) pinMode(i, OUTPUT);
  analogReadResolution(12);  // 12비트 ADC (MKR1000)
  
  if (WiFi.begin(ssid, pass)) {
    WiFi.config(server_IP);
    printWifiStatus();
  } else {
    Serial.println("Could not connect to network");
  }
  server.begin();
}

void loop() {
  client = server.available();
  if (client) {
    if (client.connected()) {
      // HTTP 헤더 읽기, 목표 온도 파라미터 파싱
      // 웹 페이지 응답 전송
    }
  }
  
  int reading = analogRead(0);
  v0 = (float)reading / 1241.0;  // 12비트 ADC: 4095/3.3V ≈ 1241
  smokerTemperature = ThermisterTemp(v0, 100000, 10000, 3950, 25);
  digitalWrite(0, smokerTemperature < targetTemperature);  // 팬 제어
}

float ThermisterTemp(float Vtherm, int R0therm, int Rfixed, int Beta, int T0) {
  double I = (3.3 - Vtherm) / Rfixed;
  double Rtherm = Vtherm / I;
  T0 += 273.15;
  double T = 1.0 / ((1.0 / (double)Beta) * log(Rtherm / (double)R0therm) + (1.0 / (double)T0));
  return (float)((9 * (T - 273.15)) / 5) + 32;  // 화씨 변환
}
// ... 웹 페이지 생성 함수들 생략 ...

전체 코드 저장소

GitHub: github.com/DuncanBarbee/SmokerController (스케치 + 유니버설 앱 전체 코드)

회로도

프리칭(Fritzing) 파일 제공 (MKR1000은 나노로 대체되어 표현됨). 서미스터 전압 분배, MOSFET 드라이버, 블로워, 배터리 연결 포함.

향후 개선 방향

제조공정

  1. 아두이노 디지털 주사위: LCD 기반 랜덤 넘버 제너레이터 만들기
  2. 아두이노 DHT11 이더넷 실드 온습도 데이터 로거
  3. 아두이노 아이언맨 제작: 부품, 센서, 단계별 가이드
  4. 아두이노와 블루투스로 만드는 스마트 물건 찾기 'Find Me'
  5. 아두이노 구동 3D 프린팅 로봇 팔 만들기: 단계별 가이드
  6. 아두이노 릴레이 제어 가습기 자동화 – 고전압 안전 설계
  7. 비접촉 체온 측정 게이트: 아두이노 MKR1000으로 구현하는 자동 발열 검사 시스템
  8. 아두이노 나노와 네오픽셀 매트릭스로 만드는 네온 퐁 게임
  9. 게이밍용 커스텀 아두이노 조이스틱 스티어링 휠 만들기
  10. 아두이노와 TEA5767 모듈로 만드는 고성능 FM 라디오 수신기