Dynamic
Cyclic Voltammetry
The scan always starts at the start bias and then moves to the first and then the second vertex. It does not matter whether the first or second vertex is larger or smaller, and the scan rate is always specified as positive. The number of cycles is a multiple of 0.5.
This CV job can be carried out potentiostatically or galvanostatically. If the potentiostat was previously switched on galvanostatically, then the CV is also executed galvanostatically and the voltage parameters become currents and the current parameters become voltages.
The upper and lower turn values can be set so that the scan direction is not changed at the vertices, but earlier, when a current has been exceeded.
Zahner Lab Experiments
The primitive of the block is used by the following Zahner Lab experiments:
API
The primitive of the block is also available with the following API:
Python:
zahner_link.meas.CvJob
Staircase
This primitive can be used to output a stairs with a defined step height and scan rate between two current or voltage values. The smallest possible step height can be used with height 0.
Zahner Lab Experiments
The primitive of the block is used by the following Zahner Lab experiments:
API
The primitive of the block is also available with the following API:
Python:
zahner_link.meas.RampJob
Ramp - Current Voltage Curve
This primitive can be used to output a ramp with a defined scan rate between two current or voltage values.
Zahner Lab Experiments
The primitive of the block is used by the following Zahner Lab experiments:
API
The primitive of the block is also available with the following API:
Python:
zahner_link.meas.RampJob
Steady State Staircase
This primitive can be used to output slower steps, whereby each step has a termination criterion based on a change tolerance. For example, voltage steps can be terminated if the current change falls below a certain value.
Each step runs for at least the specified step time, but can terminate early when the stability criterion is met. The stability criterion is evaluated only after the hold time has elapsed.
Zahner Lab Experiments
The primitive of the block is used by the following Zahner Lab experiments:
API
The primitive of the block is also available with the following API:
Python:
zahner_link.meas.SteadyStairsJob
Wave - Custom Waveform
Outputs an arbitrary sequence of current or voltage values at a high, constant rate. This primitive is designed for fast processes, such as pulse sequences, where the dead time of the Ramp and Polarization primitives cannot be neglected.
Use this block when you want to output a waveform that you have generated outside of Zahner Lab, for example with a spreadsheet or a script. For slow processes, use Ramp or Polarization instead, as these primitives support autoranging and are parameterized directly in the block. For the established pulse methods, use the dedicated DPV, NPV or SWV blocks, which already generate the correct waveform.
The values are read from a CSV file and are output as either current or voltage, depending on the mode in which the potentiostat was switched on. Current and voltage cannot be mixed within one wave.
Because the primitive is optimized for fast processes, autoranging is not available: a fixed current range must be selected. See Primitives vs Wave for the background on when to use this primitive.
Parameters
CSV file: Path to a CSV file that contains the list of current or voltage values to be output, one after another, at the value rate.
Value rate: Rate in
1/sat which the values from the CSV file are output.Repetitions: Number of times that values from the CSV file are repeated consecutively.
ODR: Output data rate in
1/sat which the measured data is recorded. The device samples internally at a much higher rate and averages down to the ODR (see Sampling Rate vs Output Data Rate).Current range: Fixed current range, given as the maximum absolute current. As autoranging is disabled, choose a range that covers the expected current.
The CSV file contains one value per line. For example, a small pulse that steps up and back down:
0
0.01
0.02
0.03
0.02
0.01
0
API
The primitive of the block is also available with the following API:
Python:
zahner_link.meas.WaveJob(Not recommended, maximum 1000 points.)Python:
zahner_link.meas.WaveFileJob(Job uses a file that has been converted from text to binary.)
Fast Cycling
The Polarization primitive is a good fit for slow cycling processes. For charging processes that take place on the order of seconds, however, the dead time between primitives can no longer be ignored. The Fast Cycling primitive is designed for exactly these fast processes. Instead of chaining several separate primitives together, it runs the complete charge/discharge cycling inside a single primitive: the cell is repeatedly driven back and forth, for example between two voltage limits. Because every cycle is handled by this one primitive, there is no dead time between the individual charging and discharging steps.
The cycling can be carried out either potentiostatically or galvanostatically. If the potentiostat was previously switched on galvanostatically, the cycling runs galvanostatically as well: the voltage parameters then become currents, while the current parameters become voltages.
Once the cycling has finished, the end_value parameter can be used to hold the cell at a fixed DC value.
Depending on the mode, this is either a voltage or a current.
API
The primitive of the block is also available with the following API:
Python:
zahner_link.meas.FastCyclingJob