Open rgov opened 6 months ago
I think there's an undocumented command GMOD
which returns some kind of model identifier. Their PSCS program has some logic that tries to identify the model using the first digit. Pseudocode:
if (response.startsWith("8"))
return "SSP" + response;
if (response.startsWith("6"))
return "KPS" + response;
if (response.startsWith("NTP5"))
return "NTP" + response.substring(3);
if (response.startsWith("SDP"))
return "SDP" + response.substring(3);
return response.startsWith("-", "");
My model returns 8320
which would translate to the model SSP8320
which points to (drumroll) the Manson SSP-8320. Gasp!
This Python project (N.B.: GPLv3) has more info about all the Manson models and which ones are resold as BK Precision.
Doesn't look too complicated, I can try to throw something together quickly when I get a chance. But it's always tricky to develop without having hands on the hardware.
The BK Precision 9103/9104 power supply supports a serial protocol described in the Programming Manual.
The protocol uses
CR
line endings. Each successful command receives a reply ofOK\r
. Volts and amps are multiplied by 100. Here are examples of the basic commands. Note the magic3
, more on that below.These can be tested at the command line with:
SOUT 1
SOUT 0
GOUT
0
0
=off,1
=onGETD
1002
0045
0
0
=CV mode vs1
=CC modeGETS 3
1000
0050
VOLT 31000
CURR 30021
GOVP
4270
GOCP
2040
ENDS
The max power output for the 9103/9104 is 320W. The two models just vary by their voltage/current limits. I do not know how to identify which the device is.
Other models of BK Precision power supplies use a similar protocol but there are variants like, "current value will have one decimal place for models 1687B, 1688B, 1900B, 1901B, and 1902B, and two decimal places for Model 1685B."
Above I've ignored the "preset" feature of the power supply, which is complicated, but in brief: Many of the command operands take a prefix of 0-3, where 3 means "the value it is set to now" and 0-2 mean "the stored value for preset A, B, or C". For example:
VOLT 01000
sets Preset A voltage to 10.00V, whereasVOLT 31000
sets the output voltage to 10.00V.Presets can also be used to create a program that switches between presets automatically at intervals.