Difference between revisions of "Korad KAxxxxP series"

From sigrok
Jump to navigation Jump to search
(add notice of ISET1? byte six)
(update reference to driver source text line number)
 
(16 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Infobox power supply
{{Infobox power supply
| image              = [[File:Velleman ps3005d mugshot.png|180px]]
| image              = [[File:Velleman ps3005d mugshot.png|180px]]
| name                = Korad KDxxxxP
| name                = Korad KAxxxxP
| status              = supported
| status              = supported
| source_code_dir    = korad-kdxxxxp
| source_code_dir    = korad-kaxxxxp
| channels            = 1
| channels            = 1
| channel1            = various
| channel1            = various
Line 9: Line 9:
| channel3            =  
| channel3            =  
| channel4            =  
| channel4            =  
| connectivity        = USB/serial
| connectivity        = USB/serial, RS232
| features            = programmable presets
| features            = programmable presets, over voltage protection, over current protection, output on/off
| website            = [http://koradtechnology.com/en/cp3-1.html koradtechnology.com]
| website            = [http://koradtechnology.com koradtechnology.com]
}}
}}


The '''Korad KDxxxxP''' series are 1 channel switch-mode programmable power supplies with USB/serial connectivity.
The '''Korad KAxxxxP''' series are 1 channel switch-mode programmable power supplies with both USB/serial and RS232 connectivity.


The devices are also sold as rebranded versions by e.g. Velleman.
The devices are also sold as rebranded versions by e.g. Velleman, Tenma/Farnell, Stamos, or RND.


== Devices ==
== Devices ==
Line 22: Line 22:
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"
|-
|-
!Korad
!Device
!Velleman OEM
!OEM/Rebranded
!Voltage range
!Voltage range
!Current range
!Current range
Line 29: Line 29:


|-
|-
| ?
| [http://www.koradtechnology.com/product/14.html Korad KA3003P]
| [[Velleman PS3005D]]
| [http://uk.farnell.com/tenma/72-2535/power-supply-1ch-30v-3a-prog/dp/2445411 Tenma 72-2535]
| style="text-align:center" | 0-30 V
| style="text-align:center" | 0-3 A
| 90 W
 
|-
| [[Korad KA3005P]]
| [[Velleman PS3005D]], [[Velleman LABPS3005D]], [http://uk.farnell.com/tenma/72-2540/power-supply-1ch-30v-5a-prog/dp/2445412 Tenma 72-2540], [https://www.distrelec.de/en/bench-top-power-supply-30-programmable-rnd-lab-rnd-320-ka3005p/p/30061864 RND 320-KA3005P]
| style="text-align:center" | 0-30 V
| style="text-align:center" | 0-30 V
| style="text-align:center" | 0-5 A
| style="text-align:center" | 0-5 A
Line 36: Line 43:


|-
|-
| ?
| [http://www.koradtechnology.com/product/16.html Korad KD3005P]
| [[Velleman LABPS3005D]]
| —
| style="text-align:center" | 0-30 V
| style="text-align:center" | 0-30 V
| style="text-align:center" | 0-5 A
| style="text-align:center" | 0-5 A
| 150 W
| 150 W
|-
| [http://www.koradtechnology.com/product/14.html Korad KA3010P]
| —
| style="text-align:center" | 0-30 V
| style="text-align:center" | 0-10 A
| 300 W
|-
| [http://www.koradtechnology.com/product/14.html Korad KA6002P]
| [http://uk.farnell.com/tenma/72-2545/power-supply-1ch-60v-2a-prog/dp/2445413 Tenma 72-2545]
| style="text-align:center" | 0-60 V
| style="text-align:center" | 0-2 A
| 120 W
|-
| [http://www.koradtechnology.com/product/14.html Korad KA6003P]
| [http://uk.farnell.com/tenma/72-2550/power-supply-1ch-60v-3a-prog/dp/2445414 Tenma 72-2550]
| style="text-align:center" | 0-60 V
| style="text-align:center" | 0-3 A
| 180 W
|-
| [http://www.koradtechnology.com/product/14.html Korad KA6005P]
| —
| style="text-align:center" | 0-60 V
| style="text-align:center" | 0-5 A
| 300 W
|-
| [http://www.koradtechnology.com/product/16.html Korad KD6005P]
| —
| style="text-align:center" | 0-60 V
| style="text-align:center" | 0-5 A
| 300 W
|-
| [http://www.stamos-welding.com/mains-adapter-s-ls-31 Stamos S-LS-31]
| —
| style="text-align:center" | 0-30 V
| style="text-align:center" | 0-5 A
| 250 W


|}
|}
'''Note:''' The libsigrok [http://sigrok.org/gitweb/?p=libsigrok.git;a=tree;f=src/hardware/korad-kaxxxxp korad-kaxxxxp] driver needs to know about the device's ID (the response to the '''*IDN?''' command, see below). If you have a device which is not yet [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=src/hardware/korad-kaxxxxp/api.c#l58 listed in the driver], please let us know.
'''Note:''' Some versions of the Velleman PS3005D appear to use the [[Atten PPS3000 series]] protocol instead of the Korad protocol described below.


== 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 (actual RS232 and serial-over-USB is supported by the devices), 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.
Line 58: Line 111:
|-
|-
| *IDN?
| *IDN?
| VELLEMANPS3005DV2.0
| KORADKA3005PV2.0
KORADKA3005PV2.0
| Request identification from device. See also the [https://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=src/hardware/korad-kaxxxxp/api.c full list of recognized IDs in libsigrok] in the models[] array.
| Request identification from device


|-
|-
| STATUS?
| STATUS?
| (byte)
| (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)
| 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?
| VSET1?
Line 84: Line 136:
| ISET1?
| ISET1?
| 0.125
| 0.125
| Request the current as set by the user.
| Request the current as set by the user. See notes below for a firmware bug related to this command.


|-
|-
Line 109: Line 161:
| OVP1
| OVP1
| (none)
| (none)
| Enable the "Over Voltage Protection", the PS will switch off the output when the voltage raises above the actual level.
| Enable the "Over Voltage Protection", the PS will switch off the output when the voltage rises above the actual level.


|-
|-
Line 119: Line 171:
| OCP1
| OCP1
| (none)
| (none)
| Enable the "Over Current Protection", the PS will switch off the output when the current raises above the actual level.
| Enable the "Over Current Protection", the PS will switch off the output when the current rises above the actual level.


|-
|-
Line 129: Line 181:
| TRACK0
| TRACK0
| (none)
| (none)
| Set multichannel mode, 0 independent, 1 series, 2 parallel (from Velleman protocol v1.3 documentation)
| Set multichannel mode, 0 independent, 1 series, 2 parallel (from Velleman protocol v1.3 documentation).


|-
|-
| RCL1
| RCL1
| (none)
| (none)
| Recalls voltage and current limits from memory, 1 to 5. (from Velleman protocol v2.0 documentation)
| Recalls voltage and current limits from memory, 1 to 5 (from Velleman protocol v2.0 documentation).


|-
|-
| SAV1
| SAV1
| (none)
| (none)
| Saves voltage and current limits to memory, 1 to 5. (from Velleman protocol v2.0 documentation)
| Saves voltage and current limits to memory, 1 to 5 (from Velleman protocol v2.0 documentation).


|}
|}
Line 146: Line 198:
# 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.
# 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.
# 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.
# 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.
# 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.
# ISET1? replies with a sixth byte on many models (all?) which is the sixth character from *IDN? reply if *IDN? was queried before (during same power cycle). This byte is read and discarded by sigrok. As reported by [https://github.com/kxtells/tenma-serial/issues/2 Jordi Castells / kxtells] this behaviour seems to happen only on protocol version 2.0, but not in 2.1.


== Resources ==
== Resources ==

Latest revision as of 14:04, 17 September 2022

Korad KAxxxxP
Velleman ps3005d mugshot.png
Status supported
Source code korad-kaxxxxp
Channels 1
Voltage/current (CH1) various
Connectivity USB/serial, RS232
Features programmable presets, over voltage protection, over current protection, output on/off
Website koradtechnology.com

The Korad KAxxxxP series are 1 channel switch-mode programmable power supplies with both USB/serial and RS232 connectivity.

The devices are also sold as rebranded versions by e.g. Velleman, Tenma/Farnell, Stamos, or RND.

Devices

Device OEM/Rebranded Voltage range Current range Power
Korad KA3003P Tenma 72-2535 0-30 V 0-3 A 90 W
Korad KA3005P Velleman PS3005D, Velleman LABPS3005D, Tenma 72-2540, RND 320-KA3005P 0-30 V 0-5 A 150 W
Korad KD3005P 0-30 V 0-5 A 150 W
Korad KA3010P 0-30 V 0-10 A 300 W
Korad KA6002P Tenma 72-2545 0-60 V 0-2 A 120 W
Korad KA6003P Tenma 72-2550 0-60 V 0-3 A 180 W
Korad KA6005P 0-60 V 0-5 A 300 W
Korad KD6005P 0-60 V 0-5 A 300 W
Stamos S-LS-31 0-30 V 0-5 A 250 W

Note: The libsigrok korad-kaxxxxp driver needs to know about the device's ID (the response to the *IDN? command, see below). If you have a device which is not yet listed in the driver, please let us know.

Note: Some versions of the Velleman PS3005D appear to use the Atten PPS3000 series protocol instead of the Korad protocol described below.

Protocol

The protocol is serial (actual RS232 and serial-over-USB is supported by the devices), 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? KORADKA3005PV2.0 Request identification from device. See also the full list of recognized IDs in libsigrok in the models[] array.
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. See notes below for a firmware bug related to this command.
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 rises 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 rises 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 with a sixth byte on many models (all?) which is the sixth character from *IDN? reply if *IDN? was queried before (during same power cycle). This byte is read and discarded by sigrok. As reported by Jordi Castells / kxtells this behaviour seems to happen only on protocol version 2.0, but not in 2.1.

Resources