- refactored PID params
This commit is contained in:
@@ -14,19 +14,18 @@ class States(Enum):
|
||||
|
||||
|
||||
class TempController(AttributeChange):
|
||||
def __init__(self, params, params_kalman):
|
||||
def __init__(self, params_pid, params_kalman):
|
||||
AttributeChange.__init__(self)
|
||||
|
||||
self.dt = params['dt']
|
||||
self.pid_hold = pid.Pid()
|
||||
self.pid_rate = pid.Pid()
|
||||
self.pid_hold = pid.Pid(params_pid['Hold'])
|
||||
self.pid_rate = pid.Pid(params_pid['Heat'])
|
||||
self.theta_ist_set = 0
|
||||
self.theta_soll_set = 0
|
||||
self.heatrate_ist_set = 0
|
||||
self.heatrate_soll_set = 2.0
|
||||
self.heatrate_soll_set = 1.0
|
||||
self.theta_ist = 0
|
||||
self.heatrate_ist = 0
|
||||
self.params = params
|
||||
self.params = params_pid
|
||||
self.kalman = kalman.Kalman(params_kalman)
|
||||
self.y = 0
|
||||
self.state = States.HOLD
|
||||
@@ -71,8 +70,8 @@ class TempController(AttributeChange):
|
||||
self.pid_hold.reset()
|
||||
|
||||
if self.state != States.IDLE:
|
||||
self.pid_hold.process(self.dt, self.params['Hold']['Pid'], theta_err)
|
||||
self.pid_rate.process(self.dt, self.params['Heat']['Pid'], heatrate_err)
|
||||
self.pid_hold.process(theta_err)
|
||||
self.pid_rate.process(heatrate_err)
|
||||
|
||||
if self.state == States.HEAT:
|
||||
self.y = self.pid_rate.get_y()
|
||||
@@ -90,22 +89,19 @@ class TempController(AttributeChange):
|
||||
|
||||
if __name__ == '__main__':
|
||||
params = {
|
||||
"dt": 1.0,
|
||||
"Hold": {
|
||||
"Pid": {
|
||||
"kp": 0.5,
|
||||
"ki": 0.005,
|
||||
"kd": 0.0,
|
||||
"rho": 1.0
|
||||
}
|
||||
"dt": 1.0,
|
||||
"kp": 0.5,
|
||||
"ki": 0.005,
|
||||
"kd": 0.0,
|
||||
"rho": 1.0
|
||||
},
|
||||
"Heat": {
|
||||
"Pid": {
|
||||
"kp": 0.1,
|
||||
"ki": 0.01,
|
||||
"kd": 0.0,
|
||||
"rho": 1.0
|
||||
}
|
||||
"dt": 1.0,
|
||||
"kp": 0.1,
|
||||
"ki": 0.01,
|
||||
"kd": 0.0,
|
||||
"rho": 1.0
|
||||
}
|
||||
}
|
||||
|
||||
@@ -173,7 +169,7 @@ if __name__ == '__main__':
|
||||
_y = np.append(_y, y)
|
||||
_fb = np.append(_fb, fb)
|
||||
_t = np.append(_t, t)
|
||||
_heatrate_ist_kalman = np.append(_heatrate_ist_kalman, min(3000, ctrl.heatrate_ist))
|
||||
_heatrate_ist_kalman = np.append(_heatrate_ist_kalman, min(3, ctrl.heatrate_ist))
|
||||
_temp_ist_kalman = np.append(_temp_ist, ctrl.theta_ist)
|
||||
t += 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user