Hi all, PI(D) update: (responding to PH, 'cause I want to ask a double loop question later.)
1.) Stuck the sensor on the heater and it's ~10 times faster. Nice (brings up an old debate.)
2.) changing the PI equation to one taking the setpoint(sp) out of the P term*. This worked great the second time**. It gave a nice damped step response to SP changes. (no overshoot) And had more dynamic range (It stayed in the linear region of the system over a bigger input step change.) All discussed elsewhere but it's nice to see it for yourself. Oh, I could also turn the integrating time down by ~2.
The downside to this is that the capacitor holds the setpoint voltage as well as the output. This gave me windup problems, particularly when the temp was lowered and the heater turned off. (It might work better with a TEC. Or I've got to change the windup setpoints.. I usually use the power rails.)
For the normal PI I had to add a diode across the integrating cap to stop windup when the heater shut off. Does anyone use RR opamps for this sort of thing? (yeah, don't tell me this is trivial in code space.)
I'm adding manual control/ PI control. (bounceless transfer) My plan is to drive the whole PI loop with feedback from the current sense resistor and reduce the integrating resistor.
I'm going to save the double loop for another day.
George H.
- Error(e) = SP-y (y is the process variable, temperature in my case.) so, out= gain(-y + (1/Ti)int(e))
**The first time I tried this I made an oscillator. I got the sign of the feedback wrong.