WIP: hetept-v0010 #1
1 changed files with 44 additions and 0 deletions
v10.1: add DC estimate to OP heater setpoint.
The ppss table misses the dc_estimate parameter for the operational heater setpoint. The regulator is a purely proportional. The charactristic is very nonlinear. The dc_estimate account for the required DC to turn on the transistor and reach the required power. This patch reprograms the PPSS entry that kicks the operational heater once per minute.
commit
928e002788
44
solo/configurations/hetept1/v0010/hetept_config_opheater_patch1.py
Executable file
44
solo/configurations/hetept1/v0010/hetept_config_opheater_patch1.py
Executable file
|
|
@ -0,0 +1,44 @@
|
|||
#! /usr/bin/python3
|
||||
|
||||
from solo.patch import patch
|
||||
class hetept101(patch):
|
||||
|
||||
def assemble(self, T, **aa):
|
||||
self.OH_C = T
|
||||
if self.config is None:
|
||||
raise ValueError("Please provide a config=")
|
||||
self.scratch(subversion=1)
|
||||
self.ppss_oh = self.config.ppss.find_flags("OPHEATER")[0]
|
||||
|
||||
OH_DC_ESTIMATE = 60
|
||||
OH_SHIFT = 0
|
||||
OH_DCMAX = 70
|
||||
|
||||
def send(self, msg):
|
||||
self.send_scratch(msg)
|
||||
self.config.ppss.set_opheater_setpoint(
|
||||
msg = msg,
|
||||
T = self.OH_C,
|
||||
dcmax = self.OH_DCMAX *192//100,
|
||||
dc_estimate=self.OH_DC_ESTIMATE *192//100,
|
||||
shift = self.OH_SHIFT )
|
||||
self.send_ping(msg)
|
||||
|
||||
def revert(self, msg):
|
||||
self.ppss_oh(msg)
|
||||
self.send_ping(msg)
|
||||
|
||||
def main(self, fmts=["xml", "msg"]):
|
||||
for fmt in fmts:
|
||||
fn = "hetept%s_v0010_patch1.%s" % (self.config.unit[-1], fmt)
|
||||
self.emit(f=fn, fmt=fmt)
|
||||
fn = "hetept%s_v0010_revert1.%s" % (self.config.unit[-1], fmt)
|
||||
self.emit(f=fn, fmt=fmt, revert=True)
|
||||
|
||||
import solo.hetept.config
|
||||
patch1 = hetept101(name="fm1", T=-6.0, config=solo.hetept.config.fm1(config_page=0x0, patch=0))
|
||||
patch2 = hetept101(name="fm2", T=-1.0, config=solo.hetept.config.fm2(config_page=0x0, patch=0))
|
||||
|
||||
def main():
|
||||
patch1.main()
|
||||
patch2.main()
|
||||
Loading…
Add table
Add a link
Reference in a new issue