- Pid: D-Part need not to be error based
- increased pot delay to 30 s
This commit is contained in:
@@ -9,7 +9,7 @@ class Pid:
|
||||
self.yi = 0
|
||||
|
||||
# Differentiator
|
||||
self.err = 0
|
||||
self.d = 0
|
||||
|
||||
# Anti windup
|
||||
self.y_min = -1.0
|
||||
@@ -29,10 +29,10 @@ class Pid:
|
||||
|
||||
def reset(self):
|
||||
self.yi = 0
|
||||
self.err = 0
|
||||
self.d = 0
|
||||
self.awu = 0
|
||||
|
||||
def process(self, err):
|
||||
def process(self, err, d):
|
||||
dt = self.params['dt']
|
||||
kp = self.params['kp'] * self.k
|
||||
ki = self.params['ki'] * self.k
|
||||
@@ -40,10 +40,10 @@ class Pid:
|
||||
kt = self.params['kt'] * self.k
|
||||
|
||||
self.yi = self.yi + ki*dt * err + kt*dt * self.awu
|
||||
yd = kd/dt*(err - self.err)
|
||||
yd = kd/dt*(d - self.d)
|
||||
yp = kp * err
|
||||
|
||||
self.err = err
|
||||
self.d = d
|
||||
|
||||
y = yp + self.yi + yd
|
||||
|
||||
|
||||
Reference in New Issue
Block a user