VoltageControlledCurrentSourceΒΆ

Class Arguments

Argument

Type

Default Value

voltage_source

VoltageSource

calibration

Calibration

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.VoltageControlledCurrentSource

Example Component Dictionary

   {
    "currentsource_example": {
        "classname": "atomiq.components.electronics.currentsource.VoltageControlledCurrentSource",
        "arguments": {
            "voltage_source": "<mandatory parameter (VoltageSource)>",
            "calibration": "<mandatory parameter (Calibration)>",
            "min_current": -1e999,
            "max_current": 1e999,
            "default_ramp_steps": 30
        }
    }
}

Class Description

class atomiq.components.electronics.currentsource.VoltageControlledCurrentSource(voltage_source, calibration, *args, **kwargs)[source]

Bases: CurrentSource

A current source controlled by an analog voltage

A typical usecase for this class are voltage-controlled power supplies that drive the current through a coil.

Parameters:
  • voltage_source (VoltageSource) -- Voltage source that controls the current source

  • calibration (Calibration) -- Calibration U = f(I) to give the control voltage U for a desired current I

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

ramp_current(duration, current_end, current_start=nan, 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_end (artiq.compiler.types.TMono('float', OrderedDict())) -- end current [A]

  • current_start (artiq.compiler.types.TMono('float', OrderedDict())) -- initial current [A]. If not given, the ramp starts from the current operating current.

  • 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