- added initial for filling Delay line

- added gain parameter for Pot sim
- from state change to heat init model temp with plant temp
- updated config template
This commit is contained in:
jens
2021-10-11 19:54:03 +02:00
parent 20b0363e26
commit ff90c6d90c
5 changed files with 26 additions and 13 deletions
+2 -1
View File
@@ -165,7 +165,8 @@ if __name__ == '__main__':
"M" : 20,
"L" : 0.05,
"Td" : 80,
"kn" : 0.2
"kn" : 0.2,
"gain" : 0.8
}
temp_ist = 0
+5 -3
View File
@@ -145,7 +145,7 @@ class TempController(APid):
self.state = state_next
print("New state = {}".format(state_next))
if state_next == States.HEAT:
self.kalman_plant.initial((self.theta_ist, 0))
self.model.initial(self.theta_ist)
self.kalman_model.initial((self.theta_ist, 0))
def process_pid(self, theta_err, heatrate_err):
@@ -174,7 +174,8 @@ if __name__ == '__main__':
"M" : 20,
"L" : 0.05,
"Td" : 80,
"kn" : 0.2
"kn" : 0.2,
"gain" : 0.8
},
"Kalman": {
"var_P" : 1.0,
@@ -202,7 +203,8 @@ if __name__ == '__main__':
"M" : 20 + 4,
"L" : 0.07,
"Td" : 80 + 5,
"kn" : 0.2
"kn" : 0.2,
"gain" : 0.8
}
temp_ist = 0
+5 -2
View File
@@ -3,11 +3,14 @@ import numpy as np
class Delay:
def __init__(self, dt, delay, ic):
nd = int(delay/dt + 0.5)
self.delay_line = np.ones(nd+1)*ic
self.nd = int(delay/dt + 0.5)
self.delay_line = np.ones(self.nd+1)*ic
self.ri = 0
self.wi = 0
def initial(self, ic):
self.delay_line = np.ones(self.nd+1)*ic
def put(self, data):
self.delay_line[self.wi] = data
self.wi += 1
+6 -1
View File
@@ -9,8 +9,8 @@ class Pot(APlant):
self.e = 0
self.x = 0
self.gain = 0.999
self.gain = params['gain']
self.C = params['C']
self.M = params['M']
self.L = params['L']
@@ -24,6 +24,11 @@ class Pot(APlant):
self.power_set = 0
self.delay = Delay(self.dt, self.Td, params['theta'])
def initial(self, temp):
self.temp_intermediate = temp
self.temp = temp
self.delay.initial(temp)
def activate(self, enable):
pass