Marco3231st / Temp-controlled-smoker

This is a project met to control a cold smoker's temperature
0 stars 0 forks source link

temp control #2

Open Marco3231st opened 1 year ago

Marco3231st commented 1 year ago

this issue is made to figure out how to control the smoke of the smoker

Marco3231st commented 1 year ago

image

image

we could look at the power output of the heat element with different voltages, see which one fits the best with our smoking needs and put a fuse with the corresponding amp so that it doesn't go higher.

Marco3231st commented 1 year ago

image

We want our temperature to be under 500 but over 300 degrees.

Unfortunatly the temperature sensors are to weak... image

Marco3231st commented 1 year ago

We could use this thermo-couple https://www.amazon.ca/Twidec-NPT-100-temp%C3%A9rature-Thermocouple/dp/B07QN33FFB/ref=sxin_17_pa_sp_search_thematic_sspa?__mk_fr_CA=%C3%85M%C3%85%C5%BD%C3%95%C3%91&content-id=amzn1.sym.1c956678-8ce3-4ff6-a3fd-b942e56a71ae%3Aamzn1.sym.1c956678-8ce3-4ff6-a3fd-b942e56a71ae&crid=XAGIP3USFFOR&cv_ct_cx=high%2Btemperature%2Bsensor&keywords=high%2Btemperature%2Bsensor&pd_rd_i=B07QN33FFB&pd_rd_r=0dc53e85-d45d-48aa-96ab-bb730904cfd1&pd_rd_w=eyW15&pd_rd_wg=dyTPG&pf_rd_p=1c956678-8ce3-4ff6-a3fd-b942e56a71ae&pf_rd_r=3WD498E9P81FG9K75QDK&qid=1690215459&sbo=RZvfv%2F%2FHxDF%2BO5021pAnSA%3D%3D&sprefix=high%2Btemperature%2Bsensor%2Caps%2C138&sr=1-4-acb80629-ce74-4cc5-9423-11e8801573fb-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9zZWFyY2hfdGhlbWF0aWM&th=1

https://www.amazon.ca/-/fr/dp/B08817YMYB/?coliid=I1Q30Q1PIKW3H2&colid=34V6PAEZ5WARV&ref_=list_c_wl_lv_ov_lig_dp_it&th=1

with this module, we could easily control the temperature

Marc-Olivier1 commented 1 year ago

include

include

// Pin for the connection of the DS18B20 sensor const int temperatureSensorPin = 2;

// Temperature offset for correction const float temperatureOffset = -2.0; // Adjust as needed

// Threshold temperature for SSR control (100 degrees Celsius) const float thresholdTemperature = 100.0;

// Pin for the SSR control const int ssrPin = 3;

// Pin for the button const int buttonPin1 = 4; const int buttonPin2 = 5; const int buttonLedPin = 6;

// Total runtime in milliseconds const unsigned long long totalRuntime = 4ULL 60ULL 60ULL * 1000ULL; // 4 hours in milliseconds

// Setup the OneWire bus OneWire oneWire(temperatureSensorPin); DallasTemperature sensors(&oneWire);

void setup() { // Initialize the Serial Monitor Serial.begin(9600);

// Initialize the SSR pin as an output pinMode(ssrPin, OUTPUT);

// Initialize the SSR pin as an output pinMode(ssrPin, OUTPUT);

// Initialize the button and its LED pinMode(buttonPin1, OUTPUT); pinMode(buttonPin2, INPUT); // Use internal pull-up resistor pinMode(buttonLedPin, OUTPUT); digitalWrite(buttonLedPin, LOW); // Turn off the LED initially digitalWrite(buttonPin1, HIGH); // Turn on the current in button

// Initialize the SSR in an open state initially digitalWrite(ssrPin, HIGH);

// Initialize the OneWire bus and the DallasTemperature sensors sensors.begin(); }

void loop() {

if (digitalRead(buttonPin2)==HIGH) {

unsigned long long currentMillis = millis();

// Check the total runtime and stop after the specified time if (totalRuntime >= currentMillis) {

digitalWrite(buttonLedPin, HIGH); // Turn on the LED

// Read the temperature from the DS18B20 sensor sensors.requestTemperatures(); float temperature = sensors.getTempCByIndex(0);

// Apply the temperature offset for correction float correctedTemperature = temperature + temperatureOffset;

// Print the temperature on the Serial Monitor Serial.print("Temperature: "); Serial.print(correctedTemperature); Serial.println(" °C");

// Check the temperature against the threshold if (correctedTemperature < thresholdTemperature) { // If the temperature is under the threshold, keep the SSR open digitalWrite(ssrPin, HIGH); } else { // If the temperature reaches or exceeds the threshold, close the SSR digitalWrite(ssrPin, LOW); }

} else {

// If the time exceeds the threashold, close the button pin

digitalWrite(buttonLedPin, LOW); // Turn off the LED initially digitalWrite(buttonPin1, LOW); // Turn on the current in button

}

} }

Marc-Olivier1 commented 1 year ago

To add the type K thermocople and MAX6675 Thermocouple Module

https://www.ee-diary.com/2023/04/getting-started-with-max6675.html#:~:text=Connecting%20the%20MAX6675%20Thermocouple%20IC%20to%20Arduino&text=%2D%20Connect%20the%20VCC%20pin%20on,board%20(e.g.%2C%20D13).