Hi Benjamin,
thanks for posting this here!
I have seen such characteristics myself during my research activities. In my opinion, this is related to charges on the devices that accumulate when the device is disconnected. For example, each semiconductor junction can also act like an ineffficient photodiode that splits charge from incident room light. At the same time there could be also an electrostatic charge up at that depends on air humidity, but also clothes and shoes of the people working in the lab. When weather is more dry, charges cannot neutralize that easily.
In general a Hold time should help here as it applies a waiting time between applying the new set value and performing the measurement. You alreay mentioned that Hold or Delay did not help, but can you test again, whether the height of the first point is reduced with taking longer Hold times? You can also add a new line in the Sweep editor to bias the device at 0V in the beginning. Use drag&drop of line in the Sweep editor to move it to the first place/row.
Delay cannot help here as it adds a waiting time after measuring to delay the further measurement until a certain time has passed.
Also try measuring once in darkness, to see whether the effect is reduced.
Further, you can try to find a two-terminal device and a measurement instrument that show the characteristic artifact at the beginning. What happens if you flip the cables. Does the sign of current reverse. This would point to some physical effect on the device. The fact that multiple instruments show the same effect also supports this.
From the software point of view, I don’t see any reason why SweepMe! should introduce any artifact at the beginning. Here, you can basically dive into drivers and check all commands sent to the instruments and see which data is returned. SweepMe! orchestrates the flow of driver function calls, but does not add anything to the communication with instrument as being defined in the drivers.
If you figure out that you need a discharge of your device in the beginning, you can add a first line to the sweep editor to apply 0 V for some hold time. However, this way you always have this first point in your measurement files which is scientifically sound as it describes the measurement procedure, but could be annoying when comparing different devices.
More elegant would be to use the new dynamic sweepvalues features as introduced with SweepMe! 1.5.8
As outlined in this answer
one can create different sweeps with using TableValues. A first sweep coulde be used for discharging and a second one to define the real measurement. This way you can place the MakeFile module between TableValues and your SMU module which will create an independent file for each step.
Let us know if you figure something out and maybe there are some other forum members that can add their experience.
Thanks and best
Axel
