Difference between revisions of "Korad KAxxxxP series"

From sigrok
Jump to navigation Jump to search
(add notice of ISET1? byte six)
Line 46: Line 46:
== Protocol ==
== Protocol ==


The protocol is serial or serial-over-USB, 9600 8N1, (almost fully) ASCII based. No line termination, CRC or checksum characters are used. The PC sends a request string which is then responded by the power supply.
The protocol is serial or serial-over-USB, 9600 8N1, (almost fully) ASCII based. No line termination, CRC or checksum characters are used. The PC sends a request string which the power supply then responds to.


During a PC connection, the front control buttons and the scrollwheel are blocked.
During a PC connection, the front control buttons and the scrollwheel are blocked.

Revision as of 16:13, 28 November 2015

Korad KDxxxxP
Velleman ps3005d mugshot.png
Status supported
Source code korad-kdxxxxp
Channels 1
Voltage/current (CH1) various
Connectivity USB/serial
Features programmable presets
Website koradtechnology.com

The Korad KDxxxxP series are 1 channel switch-mode programmable power supplies with USB/serial connectivity.

The devices are also sold as rebranded versions by e.g. Velleman.

Devices

Korad Velleman OEM Voltage range Current range Power
? Velleman PS3005D 0-30 V 0-5 A 150 W
? Velleman LABPS3005D 0-30 V 0-5 A 150 W

Protocol

The protocol is serial or serial-over-USB, 9600 8N1, (almost fully) ASCII based. No line termination, CRC or checksum characters are used. The PC sends a request string which the power supply then responds to.

During a PC connection, the front control buttons and the scrollwheel are blocked.

Request Example output Remarks
*IDN? VELLEMANPS3005DV2.0

KORADKA3005PV2.0

Request identification from device
STATUS? (byte) Request the actual status. The output is a single byte with the actual status encoded in bits. At least the Velleman PS3005D V2.0 is a bit buggy here. The only reliable bits are: 0x40 (Output mode: 1:on, 0:off), 0x20 (OVP and/or OCP mode: 1:on, 0:off) and 0x01 (CV/CC mode: 1:CV, 0:CC)
VSET1? 12.34 Request the voltage as set by the user.
VSET1:12.34 (none) Set the maximum output voltage.
VOUT1? 12.34 Request the actual voltage output.
ISET1? 0.125 Request the current as set by the user.
ISET1:0.125 (none) Set the maximum output current.
IOUT1? 0.125 Request the actual output current.
OUT1 (none) Enable the power output.
OUT0 (none) Disable the power output.
OVP1 (none) Enable the "Over Voltage Protection", the PS will switch off the output when the voltage raises above the actual level.
OVP0 (none) Disable the "Over Voltage Protection".
OCP1 (none) Enable the "Over Current Protection", the PS will switch off the output when the current raises above the actual level.
OCP0 (none) Disable the "Over Current Protection".
TRACK0 (none) Set multichannel mode, 0 independent, 1 series, 2 parallel (from Velleman protocol v1.3 documentation)
RCL1 (none) Recalls voltage and current limits from memory, 1 to 5. (from Velleman protocol v2.0 documentation)
SAV1 (none) Saves voltage and current limits to memory, 1 to 5. (from Velleman protocol v2.0 documentation)

Remarks:

  1. The digit 1 in the V... and I... requests indicates the values are meant for channel one. In future (or "higher"?) models this may be two for a second channel and so on.
  2. Voltage ("00.00" to "31.00" V) and current ("0.000" to "5.100" A) output values have a fixed length with fixed dot position. The values won't become negative.
  3. ISET1? replies sixth byte on many models (all?) which is sixth character from *IDN? reply if *IDN? is queried before during same power cycle. This is byte read and discarded by sigrok.

Resources