- 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
+14 -39
View File
@@ -10,62 +10,37 @@
"plant_name" : "Mass", "plant_name" : "Mass",
"useKalman" : true, "useKalman" : true,
"kalman" : { "kalman" : {
"dt" : 1, "dt" : 1.0,
"var_P" : 0.0, "var_P" : 0,
"var_Q" : 0.0000001, "var_Q" : 0.000001,
"var_R" : 0.5, "var_R" : 1,
"var_Z" : 0.1 "var_Z" : 0.0
}, },
"Hold" : { "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" : { "Pid" : {
"kp" : 0.4, "kp" : 0.4,
"ki" : 0.002, "ki" : 0.001,
"kd" : 0.2, "kd" : 0.1,
"rho" : 0.9999 "rho" : 0.9999
} }
}
}, },
"Heat" : { "Heat" : {
"Acqu": {
"thresh_leave" : -100.0,
"Pid" : { "Pid" : {
"kp" : 0.2, "kp" : 0.1,
"ki" : 0.004, "ki" : 0.004,
"kd" : 4.0, "kd" : 0.5,
"rho" : 0.99999 "rho" : 0.999999
}
},
"Track": {
"thresh_leave" : 0.5,
"Pid" : {
"kp" : 0.2,
"ki" : 0.004,
"kd" : 0.05,
"rho" : 0.9999
}
} }
} }
}, },
"WaterSim" : "WaterSim" :
{ {
"dt" : 1.0, "dt" : 1.0,
"theta_amb" : 15, "theta_amb" : 20,
"C" : 4190, "C" : 4190,
"M" : 25, "M" : 20,
"L" : 0.15, "L" : 0.1,
"Td" : 20, "Td" : 30,
"kn" : 0.2 "kn" : 0.2
}, },
+3 -3
View File
@@ -229,11 +229,11 @@ class Controller(TimerListener):
ovenStateNext = ovenStates.NOP ovenStateNext = ovenStates.NOP
if self.ovenState != ovenStates.NOP: if self.ovenState != ovenStates.NOP:
self.pid_hold.process(self.dt, self.params['Hold']['Acqu']['Pid'], ctrl_theta_err) self.pid_hold.process(self.dt, self.params['Hold']['Pid'], ctrl_theta_err)
self.pid_rate.process(self.dt, self.params['Heat']['Acqu']['Pid'], ctrl_heatrate_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_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) power_soll = min(power_hold, power_heat)
self.plant.setPower(power_soll) self.plant.setPower(power_soll)
power_ist = self.plant.getPower() power_ist = self.plant.getPower()