Hi, I am planning a severely overengineered hotplate for my SMD soldering. I currently have a 1.5kW hotplate (kitchen stove with an alumium plate on top). I took out the thermostat-thingy and replaced it with a PWM control with a turning knob, simple ebay purchase. I've clamped a temperature probe that works with my multimeter, et voila, I am in control. But I don't want to be. Here is the plan and yes, it is probably overengineered and not necessay, but I want it and I want to learn from it.
Step one is measuring PCB temperature. I found a good reference Arduino project for an IR temp sensor set-up with a small OLED. This will display measured temperature and target temperature.
Step two is PID temperature control. I will remove the PWM device and put in place a solid state relais, controlled by PWM port of an Arduino.
So, I now have a measured temperature and a PID loop keeping the PCB at the desired temperature. But now for the part I cann't get my head around, yet.
I want to control the rising rate of the temperaturen. For instance, If I put the hot plate on full blast, it heats up the PCB faster then recommended. Same when cooling down, switching the plate off and even removing the PCB makes it cool down more quickly than recommended by the solder paste instructions. So, I need some PID target-over-time control. I want to raise the temperature to 150 degrees in 60 seconds. The hotplate can do it faster, if I use PID only it will get there faster. My first solution is to write a program in several steps. Say start temperature is 20 degrees (all in Celsius), I need to increase 130 degrees in 60 seconds. Dividing into 10 steps I can increase target 13 degrees every 6 seconds, which will give a stepped but fairly decent temperature rise. But is there a way to really do it, some function to evenly spread delta Temp over delta Time, while letting the PID do it's job?
All input is appreciated,
Cheers,
Hugo