forked from M-Labs/thermostat
365 lines
10 KiB
JSON
365 lines
10 KiB
JSON
|
{
|
||
|
"ctrl_panel":[
|
||
|
{
|
||
|
"name":"Temperature",
|
||
|
"type":"float",
|
||
|
"format":"{value:.4f} °C",
|
||
|
"readonly":true
|
||
|
},
|
||
|
{
|
||
|
"name":"Current through TEC",
|
||
|
"type":"float",
|
||
|
"suffix":"mA",
|
||
|
"decimals":6,
|
||
|
"readonly":true
|
||
|
},
|
||
|
{
|
||
|
"name":"Output Config",
|
||
|
"expanded":true,
|
||
|
"type":"group",
|
||
|
"children":[
|
||
|
{
|
||
|
"name":"Control Method",
|
||
|
"type":"mutex",
|
||
|
"limits":[
|
||
|
"Constant Current",
|
||
|
"Temperature PID"
|
||
|
],
|
||
|
"activaters":[
|
||
|
null,
|
||
|
[
|
||
|
"pwm",
|
||
|
"ch",
|
||
|
"pid"
|
||
|
]
|
||
|
],
|
||
|
"children":[
|
||
|
{
|
||
|
"name":"Set Current",
|
||
|
"type":"float",
|
||
|
"value":0,
|
||
|
"step":100,
|
||
|
"limits":[
|
||
|
-2000,
|
||
|
2000
|
||
|
],
|
||
|
"triggerOnShow":true,
|
||
|
"decimals":6,
|
||
|
"suffix":"mA",
|
||
|
"param":[
|
||
|
"pwm",
|
||
|
"ch",
|
||
|
"i_set"
|
||
|
],
|
||
|
"lock":false
|
||
|
},
|
||
|
{
|
||
|
"name":"Set Temperature",
|
||
|
"type":"float",
|
||
|
"value":25,
|
||
|
"step":0.1,
|
||
|
"limits":[
|
||
|
-273,
|
||
|
300
|
||
|
],
|
||
|
"format":"{value:.4f} °C",
|
||
|
"param":[
|
||
|
"pid",
|
||
|
"ch",
|
||
|
"target"
|
||
|
],
|
||
|
"lock":false
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"name":"Limits",
|
||
|
"expanded":true,
|
||
|
"type":"group",
|
||
|
"children":[
|
||
|
{
|
||
|
"name":"Max Cooling Current",
|
||
|
"type":"float",
|
||
|
"value":0,
|
||
|
"step":100,
|
||
|
"decimals":6,
|
||
|
"limits":[
|
||
|
0,
|
||
|
2000
|
||
|
],
|
||
|
"suffix":"mA",
|
||
|
"param":[
|
||
|
"pwm",
|
||
|
"ch",
|
||
|
"max_i_pos"
|
||
|
],
|
||
|
"lock":false
|
||
|
},
|
||
|
{
|
||
|
"name":"Max Heating Current",
|
||
|
"type":"float",
|
||
|
"value":0,
|
||
|
"step":100,
|
||
|
"decimals":6,
|
||
|
"limits":[
|
||
|
0,
|
||
|
2000
|
||
|
],
|
||
|
"suffix":"mA",
|
||
|
"param":[
|
||
|
"pwm",
|
||
|
"ch",
|
||
|
"max_i_neg"
|
||
|
],
|
||
|
"lock":false
|
||
|
},
|
||
|
{
|
||
|
"name":"Max Voltage Difference",
|
||
|
"type":"float",
|
||
|
"value":0,
|
||
|
"step":0.1,
|
||
|
"limits":[
|
||
|
0,
|
||
|
5
|
||
|
],
|
||
|
"siPrefix":true,
|
||
|
"suffix":"V",
|
||
|
"param":[
|
||
|
"pwm",
|
||
|
"ch",
|
||
|
"max_v"
|
||
|
],
|
||
|
"lock":false
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"name":"Thermistor Config",
|
||
|
"expanded":true,
|
||
|
"type":"group",
|
||
|
"children":[
|
||
|
{
|
||
|
"name":"T₀",
|
||
|
"type":"float",
|
||
|
"value":25,
|
||
|
"step":0.1,
|
||
|
"limits":[
|
||
|
-100,
|
||
|
100
|
||
|
],
|
||
|
"format":"{value:.4f} °C",
|
||
|
"param":[
|
||
|
"s-h",
|
||
|
"ch",
|
||
|
"t0"
|
||
|
],
|
||
|
"lock":false
|
||
|
},
|
||
|
{
|
||
|
"name":"R₀",
|
||
|
"type":"float",
|
||
|
"value":10000,
|
||
|
"step":1,
|
||
|
"siPrefix":true,
|
||
|
"suffix":"Ω",
|
||
|
"param":[
|
||
|
"s-h",
|
||
|
"ch",
|
||
|
"r0"
|
||
|
],
|
||
|
"lock":false
|
||
|
},
|
||
|
{
|
||
|
"name":"B",
|
||
|
"type":"float",
|
||
|
"value":3950,
|
||
|
"step":1,
|
||
|
"suffix":"K",
|
||
|
"decimals":4,
|
||
|
"param":[
|
||
|
"s-h",
|
||
|
"ch",
|
||
|
"b"
|
||
|
],
|
||
|
"lock":false
|
||
|
},
|
||
|
{
|
||
|
"name":"Postfilter Rate",
|
||
|
"type":"list",
|
||
|
"value":16.67,
|
||
|
"param":[
|
||
|
"postfilter",
|
||
|
"ch",
|
||
|
"rate"
|
||
|
],
|
||
|
"limits":{
|
||
|
"Off":null,
|
||
|
"16.67 Hz":16.67,
|
||
|
"20 Hz":20.0,
|
||
|
"21.25 Hz":21.25,
|
||
|
"27 Hz":27.0
|
||
|
},
|
||
|
"lock":false
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"name":"PID Config",
|
||
|
"expanded":true,
|
||
|
"type":"group",
|
||
|
"children":[
|
||
|
{
|
||
|
"name":"Kp",
|
||
|
"type":"float",
|
||
|
"step":0.1,
|
||
|
"suffix":"",
|
||
|
"param":[
|
||
|
"pid",
|
||
|
"ch",
|
||
|
"kp"
|
||
|
],
|
||
|
"lock":false
|
||
|
},
|
||
|
{
|
||
|
"name":"Ki",
|
||
|
"type":"float",
|
||
|
"step":0.1,
|
||
|
"suffix":"Hz",
|
||
|
"param":[
|
||
|
"pid",
|
||
|
"ch",
|
||
|
"ki"
|
||
|
],
|
||
|
"lock":false
|
||
|
},
|
||
|
{
|
||
|
"name":"Kd",
|
||
|
"type":"float",
|
||
|
"step":0.1,
|
||
|
"suffix":"s",
|
||
|
"param":[
|
||
|
"pid",
|
||
|
"ch",
|
||
|
"kd"
|
||
|
],
|
||
|
"lock":false
|
||
|
},
|
||
|
{
|
||
|
"name":"PID Output Clamping",
|
||
|
"expanded":true,
|
||
|
"type":"group",
|
||
|
"children":[
|
||
|
{
|
||
|
"name":"Minimum",
|
||
|
"type":"float",
|
||
|
"step":100,
|
||
|
"limits":[
|
||
|
-2000,
|
||
|
2000
|
||
|
],
|
||
|
"decimals":6,
|
||
|
"suffix":"mA",
|
||
|
"param":[
|
||
|
"pid",
|
||
|
"ch",
|
||
|
"output_min"
|
||
|
],
|
||
|
"lock":false
|
||
|
},
|
||
|
{
|
||
|
"name":"Maximum",
|
||
|
"type":"float",
|
||
|
"step":100,
|
||
|
"limits":[
|
||
|
-2000,
|
||
|
2000
|
||
|
],
|
||
|
"decimals":6,
|
||
|
"suffix":"mA",
|
||
|
"param":[
|
||
|
"pid",
|
||
|
"ch",
|
||
|
"output_max"
|
||
|
],
|
||
|
"lock":false
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"name":"PID Auto Tune",
|
||
|
"expanded":false,
|
||
|
"type":"group",
|
||
|
"children":[
|
||
|
{
|
||
|
"name":"Target Temperature",
|
||
|
"type":"float",
|
||
|
"value":20,
|
||
|
"step":0.1,
|
||
|
"format":"{value:.4f} °C",
|
||
|
"pid_autotune":[
|
||
|
"target_temp",
|
||
|
"ch"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"name":"Test Current",
|
||
|
"type":"float",
|
||
|
"value":0,
|
||
|
"decimals":6,
|
||
|
"step":100,
|
||
|
"limits":[
|
||
|
-2000,
|
||
|
2000
|
||
|
],
|
||
|
"suffix":"mA",
|
||
|
"pid_autotune":[
|
||
|
"test_current",
|
||
|
"ch"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"name":"Temperature Swing",
|
||
|
"type":"float",
|
||
|
"value":1.5,
|
||
|
"step":0.1,
|
||
|
"prefix":"±",
|
||
|
"format":"{value:.4f} °C",
|
||
|
"pid_autotune":[
|
||
|
"temp_swing",
|
||
|
"ch"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"name":"Lookback",
|
||
|
"type":"float",
|
||
|
"value":3.0,
|
||
|
"step":0.1,
|
||
|
"format":"{value:.4f} s",
|
||
|
"pid_autotune":[
|
||
|
"lookback",
|
||
|
"ch"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"name":"Run",
|
||
|
"type":"action",
|
||
|
"tip":"Run"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"name":"Save to flash",
|
||
|
"type":"action",
|
||
|
"tip":"Save config to thermostat, applies on reset"
|
||
|
},
|
||
|
{
|
||
|
"name":"Load from flash",
|
||
|
"type":"action",
|
||
|
"tip":"Load config from flash"
|
||
|
}
|
||
|
]
|
||
|
}
|