I even used water bottles for piping because it was what I had laying around and the pellet deposit is the body of the first pellet stove! The whole thing The box that is visible in the bottom left corner contains a power supply and an Arduino that controls the whole boiler Visible is the auger, ran by the electric drill that doses the pellets. Pellet Pro® Weber 22′ WSM Pellet Hopper Conversion Kit W/ PID Controller. Camp Chef is your source for the best camping grills, stoves, smokers, and everything outdoor cooking. Let us show you a better way to cook outdoors. Arduino PID based DC motor position control system - YouTube See more.
I wrote a program to turn the blower on when the blower read 150 F and to turn it off when the temperature was less than 150 F. I chose this temperature based on what seemed to work best. This code also recorded the maximum and minimum temperatures once the stove is at temperature. Here is the code I am using:
#include 'max6675.h'
int relay=4; int ktcSO = 8; int ktcCS = 9; int ktcCLK = 10; float Th=100; float Tl=100; float T; float T1; float T2; float T3; float T4; float(T5); float T6; float T7; float T8; float T9; float T10; MAX6675 ktc(ktcCLK, ktcCS, ktcSO);
int relay=4; int ktcSO = 8; int ktcCS = 9; int ktcCLK = 10; float Th=100; float Tl=100; float T; float T1; float T2; float T3; float T4; float(T5); float T6; float T7; float T8; float T9; float T10; MAX6675 ktc(ktcCLK, ktcCS, ktcSO);
void setup() { Serial.begin(9600); delay(500); pinMode(4,OUTPUT); Tl=ktc.readFahrenheit(); Th=ktc.readFahrenheit(); }
void loop() { // basic readout test
Serial.print('t Deg F = '); T10=ktc.readFahrenheit();delay(100); T1=ktc.readFahrenheit();delay(100); T2=ktc.readFahrenheit();delay(100); T3=ktc.readFahrenheit();delay(100); T4=ktc.readFahrenheit();delay(100); T5=ktc.readFahrenheit();delay(100); T6=ktc.readFahrenheit();delay(100); T7=ktc.readFahrenheit();delay(100); T8=ktc.readFahrenheit();delay(100); T9=ktc.readFahrenheit();delay(100); T=(T1+T2+T3+T4+T5+T6+T7+T8+T9+T10)/10; Serial.println(T1);Serial.println(T2);Serial.println(T3);Serial.println(T4);Serial.println(T5);Serial.println(T5);Serial.println(T6);Serial.println(T7);Serial.println(T8);Serial.println(T9);Serial.println(T10);Serial.println(' ');
delay(1000); Serial.println(T); if (T>Th) { Th=T;}
if (T
if (T<150){ digitalWrite(relay,LOW); delay(60000); } if (T>150){ digitalWrite(relay,HIGH); delay(60000); } delay(500); }
Source for code: some bits and pieces from here and here.