OK, I am stuck on this. I have 2 pids in an eb2 that is using 9.5c and talked to by S1, On of these is a heat loop and one is a cooling loop. In both cases, they have to do a temp ramp at a specific rate then a soak temp, then a down ramp (or an up ramp to new soak),
I am migrating this app from Mistic to ethernet and I managed to get the ramp to work fine in the past but it is not working in the Ethernet version. I have tried all the loop types but essentially no real change between any of them.
The challenge here is to get the PID setup right to track the changing set point and provide a stable ramp output. I have determined the lag time to be 18 seconds on the heat loop and 15 seconds on the cooling loop. The cooling loop isnt as much a problem, whereas the Heat loop when it reacts and increases output to meet set point, it drives the output past SP and then stays there. I can get some response to over reaction, but it is too little too late,
First of all, the scan rate is soooo slow in comparison to the rate at which the SP is being changed, that the PID over reacts to the delta T of the next update. Of course I can tune it really sluggish but then it ends up getting wound up and therefore never backs off.
I have achieved this in past but it was excruciatingly difficult to tune. It was also done with the previous version of ethernet PID algorithms that have recently been found to be wrong…which I imagine only added to the pain. I did this by using a set of tables and updating the P term continuously throughout the ramp about every 10 degrees. I eventually managed to get this to hold a +/- 1 degf all the way up the ramp, but it took many days of tuning.
Is there a better method?