I bought it for half price...
Was on sale 🙂
Lucky you!
What is the lowest voltage that gets controlled nicely by the regulator? Will it go down to 0.0 V?
What is the resolution of the voltage and current readings? Are the 10 mV / 10 mA specs accurate?
Ok, so I tried the RND / Korad KWR103 power supply (0-60 V, up to 15 A). It's waaaaay better than the Voltcraft PPS! It does go down properly to 0.0 V, unlike the Voltcraft which does not want to go below 0.8 V. The RND / Korad unit has a measurement resolution specification of 1 mV / 1 mA, whereas the Voltcraft resolution is maybe 100 mV / 20 mA. The RND / Korad is about 5-10 times faster than the Voltcraft in setting the output voltage / current values.
I attached a test showing a test of a 1.5 kOhm resistor using the RND / Korad, where I compared the observed and theoretical U/I "curve". The measured current values are mostly within 1 mA of the theoretical value. Good stuff!
(With the Voltcraft, the current readings below 30 V / 20 mA would be just blank / zero.)
I have already worked on the Python code to work with the RND / Korad power supply. This has broken a few things for the Voltcraft code, so I need to fix this. Once I have this all set up, it **should** be straight forward to add support for other power supplies. I hope it won't be too long until I have this ready!
I attached a test showing a test of a 1.5 kOhm resistor using the RND / Korad, where I compared the observed and theoretical U/I "curve". The measured current values are mostly within 1 mA of the theoretical value. Good stuff!
(With the Voltcraft, the current readings below 30 V / 20 mA would be just blank / zero.)
I have already worked on the Python code to work with the RND / Korad power supply. This has broken a few things for the Voltcraft code, so I need to fix this. Once I have this all set up, it **should** be straight forward to add support for other power supplies. I hope it won't be too long until I have this ready!
Attachments
Last edited:
The residuals look so orderly! It would be tempting to fit linear functions to them and use the linear functions as error reducers:
Result_reported_to_user = Value_from_hardware - Linear_fitted_correction(I,V)
Result_reported_to_user = Value_from_hardware - Linear_fitted_correction(I,V)
The resistor test was more aimed at figuring out how accurate and precise the readings of the Korad / RND power supply are, and if the specified resolution of the readings is real.
Of course I could fit a straight line to the resistor data and then determine the resistor value from the slope. But wouldn't this be a crazy complicated way to determine the value of a resistor? Using a DVM is a bit easier, I think. 😀
The story might be different when it comes to more complicated parts, like BJTs, FETs, and maybe even tubes (if the power supplies can go to sufficiently high voltages). I don't know much about the typical models / equations one would use to fit to the measured data from such parts, but its an interesting idea. I am sure this has been done many times. If someone knows about this stuff, please don't hesitate to jump in!
Of course I could fit a straight line to the resistor data and then determine the resistor value from the slope. But wouldn't this be a crazy complicated way to determine the value of a resistor? Using a DVM is a bit easier, I think. 😀
The story might be different when it comes to more complicated parts, like BJTs, FETs, and maybe even tubes (if the power supplies can go to sufficiently high voltages). I don't know much about the typical models / equations one would use to fit to the measured data from such parts, but its an interesting idea. I am sure this has been done many times. If someone knows about this stuff, please don't hesitate to jump in!
I'll try this with my PSU..Ok, got the Voltcraft working again. Here's a comparison of the RND/Korad vs. the Voltcraft in the same resistor test as before. The Voltcraft is almost "blind" at such low currents.
Do you have the documentation for the serial communication of your PSU?I'll try this with my PSU..
Yes. For serial/USB and http iface.Do you have the documentation for the serial communication of your PSU?
^Are you okay with Python? If so, you could use the code at GitHub - mbrennwa/PyPSUcurvetrace: Python program for I-V curve tracing of electronic parts using programmable power supplies, using the lib/powersupply_VOLTCRAFT.py and lib/powersupply_KORAD.py files as a template. Then it's just a matter of fiddling this in to lib/powersupply.py and it should work...
Yeah, I saw it. Nice work! Will try it. Will have some transistors to match,^Are you okay with Python? If so, you could use the code at GitHub - mbrennwa/PyPSUcurvetrace: Python program for I-V curve tracing of electronic parts using programmable power supplies, using the lib/powersupply_VOLTCRAFT.py and lib/powersupply_KORAD.py files as a template. Then it's just a matter of fiddling this in to lib/powersupply.py and it should work...
for one of the the next projects.
I made some progress to support the Korad / RND power supplies, which provide 1 mA resolution for the current readings. I also improved the overall reliability of the measurement procedure.
The Korad / RND power supplies don't cost and arm and a leg but give pretty decent measurements. I attached an example with curves measured from a 2SJ79 FET.
The code is here: GitHub - mbrennwa/PyPSUcurvetrace: Python program for I-V curve tracing of electronic parts using programmable power supplies
The Korad / RND power supplies don't cost and arm and a leg but give pretty decent measurements. I attached an example with curves measured from a 2SJ79 FET.
The code is here: GitHub - mbrennwa/PyPSUcurvetrace: Python program for I-V curve tracing of electronic parts using programmable power supplies
Attachments
And here's an example of an IRFP150 part. I set the power limit to 100 W, because my heatsink would not provide enough cooling for more power without killing the IRFP150 (I know this because I tried going up to 300 W with another IRFP150, which is now in the trash bin).
You can see how the IRFP150 tends to run away at higher power levels, which is due to higher temperature. It would be better to mount such high-power DUTs on a large copper block or a water cooling system to achieve more stable temperature conditions during the test. I also have some ideas on how to improve the heat balance via the software... let's see.
You can see how the IRFP150 tends to run away at higher power levels, which is due to higher temperature. It would be better to mount such high-power DUTs on a large copper block or a water cooling system to achieve more stable temperature conditions during the test. I also have some ideas on how to improve the heat balance via the software... let's see.
Attachments
Here's a photo showing my curve tracing setup using two Korad/RND power supplies. The DUT in this example is a SJEP120R100 power JFET. The larger PSU on the right is connected to the Drain/Source pins, and the smaller PSU on the left is connected to the Gate/Source pins (via a gate stopper resistor, hidden by the heatshrink). Nothing fancy, but works really well.
The next improvement to this setup would be to improve the cooling of the DUT. Going over 40 W dissipation leads to substantial thermal drift of the DUT, resulting in deformation of the curves. Testing with very short pulses would also solved this issue, but is hardly possible with conventional programmable PSUs. Some PSUs will allow getting a data point within less than a second, but going (much) faster than 0.1 seconds is not possible. This is too long to keep the DUT at a sufficiently constant temperature without proper cooling.
What would be the best approach to keep the DUT temperature constant? A large copper block that provides high thermal inertia and efficient heat exchange with the DUT? Water cooling?
The next improvement to this setup would be to improve the cooling of the DUT. Going over 40 W dissipation leads to substantial thermal drift of the DUT, resulting in deformation of the curves. Testing with very short pulses would also solved this issue, but is hardly possible with conventional programmable PSUs. Some PSUs will allow getting a data point within less than a second, but going (much) faster than 0.1 seconds is not possible. This is too long to keep the DUT at a sufficiently constant temperature without proper cooling.
What would be the best approach to keep the DUT temperature constant? A large copper block that provides high thermal inertia and efficient heat exchange with the DUT? Water cooling?
Last edited:
Whoops, looks like the photo didn't make it. Second attempt...View attachment 824967
Hello!!
Do you think the Config settings would vary a lot if I wanted to go with the KORAD KA6003P rather than the KORAD KA3005P to get more voltage?
The KA6003P should work out of the box.
That said you can also "stack" multiple PSUs in series to get higher voltage range with PyPSUcurvetrace.
That said you can also "stack" multiple PSUs in series to get higher voltage range with PyPSUcurvetrace.
The KA6003P should work out of the box.
That said you can also "stack" multiple PSUs in series to get higher voltage range with PyPSUcurvetrace.
Great Thanks !!!
- Home
- Design & Build
- Equipment & Tools
- PyPSUcurvetrace: a flexible, open-source curve tracer using programmable power supplies