Skip to content

Multiple overbiasing methods and cfg file entries #511

Description

@dpdutcher

There are different overbiasing methods that use different configurations:

  • bias_to_rfrac uses util. overbias_dets
    sdl.overbias_dets(S, cfg, bias_groups=bias_groups)
    • This uses per-bias group settings from cfg.dev.bias_groups, namely overbias_voltage and cool_voltage, as well as cfg.dev.exp['overbias_wait']. As applied, the voltage values must be specified in actual Volts.
    • This uses the pysmurf function S.set_tes_bias_bipolar
    • Sidenote: cool_voltage is used in a confusing way here, where it gets applied in high current mode, but then (if high_current_mode=False, which it is by default) it switches to low current mode with const_current = False. This means either (a) cool_voltage is applying more power than we want it to, or (b) there's a sudden drop in power that could potentially latch detectors.
  • take_iv uses the pysmurf function S.overbias_tes_all , wrapped in a helper function overbias_and_sweep
    S.overbias_tes_all(
    • This uses settings from cfg.dev.exp['iv_defaults'] for overbias_voltage, overbias_wait, cool_wait, and cool_voltage.
    • cool_voltage is only applied if the IV is run serially over bias_groups. I have no idea why. But at least it gets applied in low current mode.
    • S.overbias_tes_all does not take per-bias line values; it only accepts floats that get applied to all specified bias lines.

This is confusing. The overbiasing that happens for an IV curve and the overbiasing that happens for biasing the detectors in transition is the same process and should be identical between steps, and therefore should only be specified in one place (the need for IV curve to have a large bias_high, in order to have a long enough normal branch to fit Rn, is a distinct step separate from driving the TESs normal). Also, more granular control over per-bias lines is better than being forced to apply the same values to every bias line.

So, I propose that:

  1. take_iv be moved to use util.overbias_dets
  2. The current mode switch in util.overbias_dets be moved to after setting the bias to cool_voltage.
  3. The overbias parameters be moved out of cfg.dev.exp['iv_defaults'] and into cfg.dev.bias_groups, where they are specified per-bias group. Also move overbias_wait here, so that it's not off on its own.
    a. This will have a side-effect of making scheduler calls to take_iv less flexible, as these parameters won't be accessible. I can think about that more though.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions