IV Measurement

Implements the Measurement class for obtaining the current-voltage characteristic.

class CurrentVoltageCharacteristic(start_voltage: float, end_voltage: float, voltage_step: float, hysteresis: bool = False, illuminated: bool = True, power_in: float = 0.001)[source]

Bases: Measurement

A measurement class for obtaining the current-voltage characteristic.

Performs the measurement by iterating over the voltage range. The results are returned as structured array with datapoint tuples: (‘Voltage (V)’, ‘Current (A)’).

Parameters:
  • start_voltage – Begin of the measurement range in V.

  • end_voltage – End of the measurement range in V.

  • voltage_step – Voltage change for each datapoint in V. Must be larger than 0.

  • hysteresis – Flags if the voltage range should be measured a second time in reverse order directly after the initial measurement.

  • illuminated – Flags if the measurement is conducted under illumination.

  • power_in – The power of the input radiation source which is used for the efficiency calculation in W/mm^2.

Raises:

ValueError – If voltage_step is not larger than 0.

run(device: Device, data_stream: Queue | None = None) ndarray[source]

Actual implementation of the measurement procedure which returns the measurement results and optionally sends them to the data_stream.

Parameters:
  • device – An instance of a class which inherits the Device and complies with the required_channels.

  • data_stream – A queue-like object where the measurement results can be sent to, e.g., for real-time plotting of the measurement.

Returns:

A Numpy structured array with tuples of datapoints according to the output_shape.