- better template

git-svn-id: http://moon:8086/svn/projects/HendiControl@261 fda53097-d464-4ada-af97-ba876c37ca34
This commit is contained in:
2019-04-23 15:41:24 +00:00
parent c4ea00bd93
commit 7f3a3cf99a
2 changed files with 18 additions and 43 deletions
+15 -40
View File
@@ -10,62 +10,37 @@
"plant_name" : "Mass",
"useKalman" : true,
"kalman" : {
"dt" : 1,
"var_P" : 0.0,
"var_Q" : 0.0000001,
"var_R" : 0.5,
"var_Z" : 0.1
},
"dt" : 1.0,
"var_P" : 0,
"var_Q" : 0.000001,
"var_R" : 1,
"var_Z" : 0.0
},
"Hold" : {
"Acqu": {
"thresh_leave" : -100.0,
"Pid" : {
"kp" : 0.2,
"ki" : 0.001,
"kd" : 0.2,
"rho" : 0.99999
}
},
"Track": {
"thresh_leave" : 1.5,
"Pid" : {
"kp" : 0.4,
"ki" : 0.002,
"kd" : 0.2,
"ki" : 0.001,
"kd" : 0.1,
"rho" : 0.9999
}
}
},
"Heat" : {
"Acqu": {
"thresh_leave" : -100.0,
"Pid" : {
"kp" : 0.2,
"kp" : 0.1,
"ki" : 0.004,
"kd" : 4.0,
"rho" : 0.99999
"kd" : 0.5,
"rho" : 0.999999
}
},
"Track": {
"thresh_leave" : 0.5,
"Pid" : {
"kp" : 0.2,
"ki" : 0.004,
"kd" : 0.05,
"rho" : 0.9999
}
}
}
},
"WaterSim" :
{
"dt" : 1.0,
"theta_amb" : 15,
"theta_amb" : 20,
"C" : 4190,
"M" : 25,
"L" : 0.15,
"Td" : 20,
"M" : 20,
"L" : 0.1,
"Td" : 30,
"kn" : 0.2
},
+3 -3
View File
@@ -229,11 +229,11 @@ class Controller(TimerListener):
ovenStateNext = ovenStates.NOP
if self.ovenState != ovenStates.NOP:
self.pid_hold.process(self.dt, self.params['Hold']['Acqu']['Pid'], ctrl_theta_err)
self.pid_rate.process(self.dt, self.params['Heat']['Acqu']['Pid'], ctrl_heatrate_err)
self.pid_hold.process(self.dt, self.params['Hold']['Pid'], ctrl_theta_err)
self.pid_rate.process(self.dt, self.params['Heat']['Pid'], ctrl_heatrate_err)
power_hold = max(self.params['P_min'], min(self.params['P_max'], self.params['P_max'] * self.pid_hold.get_y()))
power_heat = max(self.params['P_min'], min(self.params['P_max'], self.params['P_max']*self.pid_rate.get_y()))
power_heat = max(self.params['P_min'], min(self.params['P_max'], self.params['P_max'] * self.pid_rate.get_y()))
power_soll = min(power_hold, power_heat)
self.plant.setPower(power_soll)
power_ist = self.plant.getPower()