How to measure an IV curve with reaching a certain criteria at each point

Hi everyone,

we were recently asked how to perform a measurement with reaching a certain stability of a current signal. I would like add the answer here to make use of it. One can use the folliwing sequencer:

The SMU module iterates through voltages to run an IV curve. For each voltage, a first branch is used to loop nonstop until a CustomFunction script returns True instead of False. This triggers the Condtion module to skip all sweeps below or to skip the current branch. Both will lead to the fact that the second branch with the Hold module is processed.

The Hold module has no hold value, but it helps to read out the SMU once again after the reach process was successful.

For each branch of the sequencer, the MakeFile module creates own data files because each branch has its own dimension and thus number of variables.

Without the second branch, all data of the reach process would be in one file and you would need to filter out the last point at each voltage. Due to the second branch, SweepMe! writes a new file for the second branch that only contains the data of measurement points after reach process is done.

In your CustomFunction script, you can handover the measured current, write it into a list and analyzer whether it meets a certain criteria. Then, return either True or False. The CustomFunction script can make use of the semantic phase function “configure” that is called by SweepMe! whenever the branch get active again. In this step, the list storing the currents can be emptied so that it is clear when a new iteration starts.

Hope this example helps. Feel free to reply if you have any questions to this.

Best, Axel

2 Likes

Hello Axel.

Thanks for posting this application example.

If I understood it correctly, I could also replace the “Hold” entry with a second instrument or channel that takes a reading configured differently so that the SMU1 only serves as indicating the stability of a certain signal while second instrument that replaces the “Hold” entry makes a reading of a different signal, right?

Best wishes,
Christian

1 Like

Hi Christian,

this is correct, the first branch could be used to iterate until a certain situation is reached while in further branches further measurements can be done.

When the SMU1 modules is still active in all branches, it ensures that the last voltage or current is still applied. If it would be only active in the first branch, it would be switched off after reaching the criteria (which sometimes is also needed).

Thanks and best
Axel

1 Like