PyPSUcurvetrace: a flexible, open-source curve tracer using programmable power supplies

Those Ridens look good and are widely available.

(Edit: are there any plans to support the W-version, i.e. WiFi programming? I can imagine it will eliminate a potential ground loop. If not, does it hurt to get W version?)

I was looking at USB programmable PSUs on aliexpress this morning before I found your latest update. The Wanptek units are dirt cheap and look good. I wasn't able to find out though what you can program. One reviewer seems to have even gotten a unit where the USB port was not connected and didn't have the signals even on the PCB.
 
Last edited:
Member
Joined 2019
Paid Member
Those Ridens look good and are widely available.

(Edit: are there any plans to support the W-version, i.e. WiFi programming? I can imagine it will eliminate a potential ground loop. If not, does it hurt to get W version?)

I was looking at USB programmable PSUs on aliexpress this morning before I found your latest update. The Wanptek units are dirt cheap and look good. I wasn't able to find out though what you can program. One reviewer seems to have even gotten a unit where the USB port was not connected and didn't have the signals even on the PCB.
A thing that springs to mind would be latency over WiFi. Unpredictable latency too depending on quite a few environmental factors.
 
Interesting video of the 6006P here

Apparently, real voltage and current will be closer to what is set rather than what is displayed, but only by 2-3 digits. More importantly, below 1 mA, neither real nor measured current are accurate (about 60% into the playing time of the video).
 
Interesting video of the 6006P here

Apparently, real voltage and current will be closer to what is set rather than what is displayed, but only by 2-3 digits. More importantly, below 1 mA, neither real nor measured current are accurate (about 60% into the playing time of the video).
Nice find!

PyPSUcurvetrace allows you to specify coefficients to calibrate the set and readback values of each PSU from external voltage and current calibrations. It should therefore be possible to get accurate setpoint and readback values with the Riden even at very low currents if you determine your own calibration data.

Uhm, I need to work on the documentation of this feature... :rolleyes:
 
Two questions I didn't find an answer to:

- Can your software also do h_fe (I_C) plots, i.e. current gain as a function of collector current?

- What is the current resolution of the Voltcraft PPS series? The manual doesn't say. Is there any reason to prefer PPS over 6006P?
 
- Can your software also do h_fe (I_C) plots, i.e. current gain as a function of collector current?
Not yet. I am still thinking how and where to implement such parameter analysis.
However, you can do just about any analysis on the data files. Just load the ASCII data into your preferred number crunching software to calculate whatever parameter you like.

- What is the current resolution of the Voltcraft PPS series? The manual doesn't say. Is there any reason to prefer PPS over 6006P?
Looking at my own post #22 the Voltcraft PPS current resolution is maybe 20 mA or so, nothing to get excited about. I wouldn't recommend to get a new Voltcraft PPS just to use it for curve tracing. Other manufacturers like Riden, Korad/RND, B&K, etc. have much more suitable units. I only used the Voltcrafts because that's what was on my bench when I had the idea for PyPSUcurvetrace.
 
I got my hands on a Riden 6012P power supply. This thing goes up to 60 V and 12 A. The voltage resolution is 1 mV. The current resolution is 0.1 mA if using the "low-current" mode from 0...6 A, or 1 mA if using the "high-current" mode (12 A).

The Riden driver in PyPSUcurvetrace needed a few tweaks to work smoothly with the 6012P, but now it works nicely.

The Riden 6006P and 6012P allow high power and high resolution at the same time, and they don't cost an arm and a leg! Great stuff! I may end up selling some of my other (expensive!) power supplies...
 
As I'm sat in the man cave drinking my coffee this morning this thread reminded me.

The Multicomp Pro power supply I have is a MP710081 and that has the command codes at the back of the operating manual: https://www.farnell.com/datasheets/2829738.pdf

I suspect these will be the same as the Voltcraft, and it looks that if it works for the Voltcraft then it will work for this Multicomp Pro power supply too (at least the commands are the same):

GMAX - get max voltage and current supported​
SOUT - enable/disable​
VOLT - set voltage​
CURR - set current​
GETD - get voltage, current, CV mode and CC mode from the display​

The 710081 also has a static 12Vdc and 3.3/5Vdc supply with a current meter (no current limit) for each on the display but I don't think that is exposed on the programming interface.

The issue is the resolution (probably similar to most of the mass produced models rebranded from the same basic design):
Voltage
5 counts for range V<5V​
±0.2% +5 counts for range V≥5V​
Current
15 counts for range I≤1A​
±0.5% +6 counts for range I>1A​

So full range, 60V * 0.02 = ±120mV which is the ripple it specifies, then ±9mA not including the counts.. Not quite the Brymen 0.01mV 500,000 count!

I think you may be right with the cheaper power supplies, they may not give a particularly accurate supply or measurement - unless you run multiple runs (measuring the temps naturally) and then average.
 
Last edited:
The last few days were quite busy with work on pypsucurvetrace!

(A) I expaneded the code to do more stuff:
  1. Improved plotting of the curve data
  2. Added a tool for extracting parameters (gain, output conductance, etc.)
  3. Added a tool for "curve matching" of parts by calculating the "difference between two curve sets"
(B) I started writing the documentation. It's still heavily under construction, but I guess it might be enough to be considered useful: pypsucurvetrace.readthedocs.io
Some of the examples have a slight Linux smell (such as the serial port names in the PSU configs). This is simply because I have a Linux machine, and also because I have absolutely no clue about Windows. It would be nice if someone could provide some Windows or macOS equivalents.

(C) I made it easy to install pypsucurvetrace as a Python package. Just enter one single command, et voila!

I decided to keep pypsucurvetrace at the command line, because it's extremely useful to use the commands for scripting. The programs are pretty simple, so I don't see how a GUI would provide an advantage.
 
  • Like
Reactions: 1 user
Hi Guys. Have been following this thread for a little while and look very exciting. I have the locky curve tracer but did not find it useful for my main application. Like many audio repair engineers, I want a convenient way to check if power BJTs and FETs are fake, but without resorting to buying a second hand 1970s tectronix 576 or similair, as most are forced to do. Do you think the The Riden 6012P & PyPSUcurvetrace could be used for this pupose?