Using RS Reflow Oven shield for simple constant temperature control

I'm currently designing a cure oven that dries a coated wire passing through it. I just need to be able to set a target temperature of 100 or 120 degrees C and keep it there.

I ordered the RocketScream Reflow Oven shield because it comes conveniently assembled, and includes buttons, an LCD, and allows for easy attachment of a thermocouple and relay control for my heating elements. I have all of the hardware aspects designed and figured out, but the software side is holding me back.

I was looking through the code, and as somebody with no coding background except for some MatLab, I understand some of it, but not quite all of it.

My question is has anybody used this shield for something as simple as my project? I have browsed the Adafruit PID tutorial, but I'm not quite sure how to adapt that to this shield which uses it's own library.

Any guidance is extremely appreciated! Thank you, Parker '

Did you even look at their examples?


Yes, that is the code I referred to as looking through. As far as I can tell, there aren't any examples, just sample code for a reflow profile.

My question is really if I can edit that to have one constant intermediate state (i.e. remove the soak state or remove the reflow state) to make the oven run at one temperature for an indefinite amount of time and then turn off when I want it to.

I don’t think it would be too difficult to stay in the preheat state for example.
Instead of going to the next state, just go back to the same state.

    reflowStatus = REFLOW_STATUS_ON;
    // If minimum soak temperature is achieve       
    if (input >= TEMPERATURE_SOAK_MIN)
      // Chop soaking period into smaller sub-period
      timerSoak = millis() + SOAK_MICRO_PERIOD;
      // Set less agressive PID parameters for soaking ramp
      reflowOvenPID.SetTunings(PID_KP_SOAK, PID_KI_SOAK, PID_KD_SOAK);
      // Ramp up to first section of soaking temperature
      // Proceed to soaking state
      reflowState = REFLOW_STATE_SOAK;    <<< change to REFLOW_STATE_PREHEAT for example

reflow_oven_control.ino (17.8 KB)

That's a simple solution! Thank you! I'll let you know how it goes later this week.