- reset between at oven state changes
- PID: Y_max is 500

git-svn-id: http://moon:8086/svn/projects/HendiControl@235 fda53097-d464-4ada-af97-ba876c37ca34
This commit is contained in:
2019-04-08 10:32:56 +00:00
parent 841d977d78
commit 2b13bfb6c7
2 changed files with 6 additions and 1 deletions
+1
View File
@@ -241,6 +241,7 @@ class Controller():
# -----------------------------------------
if ovenStateNext != self.ovenState:
self.log("{} -> {}".format(self.ovenState, ovenStateNext))
self.pid.reset()
if ovenStateNext == ovenStates.HEAT:
self.stirrer.setSpeed(self.stirrSpeedHeat)
self.stirrer.setDutyCycle(1.0)
+5 -1
View File
@@ -11,7 +11,7 @@ class Pid():
# Auto windup
self.y_min = 0.0
self.y_max = 100.0
self.y_max = 500.0
self.diff_aw = 0.0
# Output
@@ -23,6 +23,10 @@ class Pid():
p = dict(kp=kp, ki=ki, kd=kd, rho=rho)
return p
def reset(self):
self.yi = 0
self.xd = 0
def process(self, dt, params, err, derr=None):
kp = params['kp']
ki = params['ki']