HBridgedCurrentSource

Class Arguments

Argument

Type

Default Value

current_source

CurrentSource

switch_fwd

Switchable

switch_rev

Switchable

min_current

TFloat

-inf

max_current

TFloat

inf

default_ramp_steps

TInt32

30

Bold arguments are mandatory. For more documentation on the listed arguments refer to the class definition below. If parameters appear in this list but not in the class definition below, please recursively check the linked base classes for the definition of the parameter.

Inheritance Diagram

Inheritance diagram of atomiq.components.electronics.currentsource.HBridgedCurrentSource

Example Component Dictionary

   {
    "currentsource_example": {
        "classname": "atomiq.components.electronics.currentsource.HBridgedCurrentSource",
        "arguments": {
            "current_source": "<mandatory parameter (CurrentSource)>",
            "switch_fwd": "<mandatory parameter (Switchable)>",
            "switch_rev": "<mandatory parameter (Switchable)>",
            "min_current": -1e999,
            "max_current": 1e999,
            "default_ramp_steps": 30
        }
    }
}

Class Description

class atomiq.components.electronics.currentsource.HBridgedCurrentSource(current_source, switch_fwd, switch_rev, *args, **kwargs)

Bases: CurrentSource, Switchable

Combination of an H-bridge and a current source

Combining an H-bridge with a unipolar current source allows to create a bipolar current source. This class bundles these two comoponents an exposes them as a bipolar current source.

This class uses two switches to control the state of the H-bridge, switch_fwd and switch_rev. It assumes that your H-brigde does the following depending on their state:

H-Bridge States

switch_fwd

switch_rev

Current Flow

False

False

Off

True

False

Forward

False

True

Reverse

True

True

Invalid

Parameters:
  • current_source (CurrentSource) -- The current source connected to the H-bridge

  • switch_fwd (Switchable) -- Switch to enable current flow in the forward direction

  • switch_rev (Switchable) -- Switch to enable current flow in the reverse direction

A Parametrizable is an entity that can be controlled by one or more continuous parameter(s)

ramp_current(duration, current_start, current_end, ramp_timestep=-1.0, ramp_steps=-1)

Ramp current over a given duration.

This method advances the timeline by duration

Parameters:
  • duration (artiq.compiler.types.TMono('float', OrderedDict())) -- ramp duration [s]

  • current_start (artiq.compiler.types.TMono('float', OrderedDict())) -- initial current [V]

  • current_end (artiq.compiler.types.TMono('float', OrderedDict())) -- end current [V]

  • ramp_timestep (artiq.compiler.types.TMono('float', OrderedDict()))

  • ramp_steps (artiq.compiler.types.TMono('int', OrderedDict([('width', artiq.compiler.types.TValue(32))])))

set_current(current)

Set the current delivered by the current source

Parameters:

current (artiq.compiler.types.TMono('float', OrderedDict())) -- Current in A