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
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
andswitch_rev
. It assumes that your H-brigde does the following depending on their state:¶ 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