summaryrefslogtreecommitdiff
path: root/README.md
blob: f1cb5eab07e97bbb6eaa25631d37762c0c2f57c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# korad-logger - Data Logger and Controller for KAxxxxP power supplies

**korad-logger** acquires and visualizes voltage and current data from
KAxxxxP power supplies. These are sold under brand names such as Korad or RND
Lab and equipped with a USB serial port, allowing them to be used as simple,
low-resolution measurement devices. See the [sigrok
wiki](https://sigrok.org/wiki/Korad_KAxxxxP_series) for details.

korad-logger is capable of performing simple control tasks, such as stepping
through voltage/current slopes for automated I-V curve measurements.

It has been successfully used with "RND 320-KA3005P" (single-channel) and "RND
320-KA3305P" (dual-channel) supplies. Observed attributes:

* Time resolution: **a few Hz**
* Voltage range: 0 .. 30 V
* Voltage resolution: 10 mV
* Current range: 0 .. 5 A
* Current resolution: 1 mA

Voltage and current range depend on the device, the resolutions are probably
identical.

**Warning:** The KAxxxxP serial interface supports both reading current/voltage
data and writing current/voltage limits. korad-logger uses these to change
PSU attributes at runtime, if requested. The serial protocol does not use
checksums or similar mechanisms, so communication errors or bugs may cause the
power supply to receive a write command with an arbitrary voltage or current
value. This may result in damaged equipment, fire, or other harm. By using
this software, you acknowledge that you are aware of these risks.

See `bin/korad-logger --help` for usage details.

## Examples

Log voltage and current of a manually configured PSU whose output is already
enabled. Press Ctrl+C to exit. You may also specify a timeout in seconds
("0" means no timeout).

```
bin/korad-logger --save logfile 0
```

Generate an I-V curve for a power LED supporting up to 200mA and a voltage
limit of 5V. The output is turned on at the start of the measurement and
turned off at the end.

```
bin/kaxxxxp-viewer --voltage-limit 5 --current-range '0 0.2 0.001' --save led.log 210
```

## Dependencies

* Python 3 with the following modules: numpy, serial
* Data Visualization (--plot): python3-matplotlib

## Related work

This is by far not the first project for korad PSU logging and control. See also:

* [libsigrok](https://sigrok.org/wiki/Korad_KAxxxxP_series)
* [koradctl](https://github.com/attie/koradctl)
* [KoradControl](https://github.com/maximaximal/KoradControl)
* [Korad-KA6003P-Software](https://github.com/Tamagotono/Korad-KA6003P-Software)