Upravljanje laboratorijskim napajanjem RND/Korad iz Pythona
Sadržaj
Aplikacija za upravljanje laboratorijskim napajanjem RND 320-KA3005P s računala. RND 320-KA3005P je Korad KA3005P pod drugim imenom (0–30 V, 0–5 A), pa aplikacija radi i s Koradom te ostalim napajanjima iste serije.
Projekt je nastao dok sam učio Python na Linuxu. Ideja je naučiti kako Pythonom upravljati elektroničkim uređajima i automatizirati mjerenja: napajanjem, Arduinom, digitalnim multimetrom i tako dalje.

Grafičko sučelje napravljeno je u Gladeu, a aplikacija je napisana u Pythonu 3 s PyGObjectom (GTK 3) i pyserialom. Razvijana je na Debianu, a trebala bi raditi i na Raspberry Pi OS-u.
Što aplikacija zasad radi
- sama pronalazi napajanje među serijskim portovima po USB ID-u (
0416:5011), - prikazuje naziv uređaja, postavljeni i stvarni izlazni napon i struju,
- postavlja napon i struju preko tipkovnice na zaslonu ili s tipkovnice računala,
- uključuje i isključuje izlaz,
- uključuje i isključuje zaštite OVP (prenapon) i OCP (prekostruja),
- učitava spremljene postavke iz memorija M1–M5,
- pri zatvaranju aplikacije isključuje izlaz napajanja.
Korištenje
Napon se postavlja tipkom V i s četiri znamenke, npr. 1 2 0 0 za 12,00 V. Struja se postavlja tipkom A i s četiri znamenke, npr. 1 5 0 0 za 1,500 A. Nakon četvrte znamenke vrijednost se šalje napajanju.
Sve se može raditi i s tipkovnice računala:
| Tipka | Radnja |
|---|---|
0–9 | upis znamenki |
v | postavljanje napona |
a | postavljanje struje |
o | uključivanje i isključivanje izlaza |
u | osvježavanje prikaza |
Komunikacija s napajanjem
Napajanje se na Linuxu pojavljuje kao virtualni serijski port, obično /dev/ttyACM0. Naredbe su kratki tekstualni nizovi bez znaka za kraj retka:
| Naredba | Značenje |
|---|---|
*IDN? | naziv i verzija uređaja |
STATUS? | stanje uređaja |
VSET1? / ISET1? | postavljeni napon / struja |
VSET1:12.00 / ISET1:1.500 | postavljanje napona / struje |
VOUT1? / IOUT1? | stvarni izlazni napon / struja |
OUT1 / OUT0 | uključivanje / isključivanje izlaza |
OVP1 / OVP0 | uključivanje / isključivanje zaštite od prenapona |
OCP1 / OCP0 | uključivanje / isključivanje zaštite od prekostruje |
RCL1–RCL5 | učitavanje postavki iz memorije M1–M5 |
Između naredbi treba pričekati oko 100 ms, inače napajanje ne stigne odgovoriti.
Pokretanje
Na Debianu i Raspberry Pi OS-u potrebni paketi dostupni su u repozitoriju:
sudo apt install python3-gi gir1.2-gtk-3.0 python3-serial git
Za pristup serijskom portu bez roota korisnik mora biti u grupi dialout. Promjena vrijedi nakon ponovne prijave:
sudo usermod -a -G dialout $USER
Preuzimanje i pokretanje:
git clone https://github.com/ebaketa/rnd_320_ka3005p-pygobject.git
cd rnd_320_ka3005p-pygobject
python3 rnd_320_ka3005p-pygobject.py
Napomena
Aplikaciju pokreći iz njezina direktorija, jer datoteku sučelja rnd_320_ka3005p-pygobject.glade traži u trenutnom direktoriju. Napajanje mora biti spojeno i uključeno prije pokretanja.
Što je još u planu
- automatizacija mjerenja, npr. postupno povećanje napona i bilježenje struje,
- spremanje izmjerenih podataka u datoteku,
- grafički prikaz mjerenja.
Ažurirano u listopadu 2026.
Opis je osvježen prema trenutnom stanju koda. Od izvorne objave u veljači 2021. aplikacija je prebačena na Python 3, dobila je memorije M1–M5 i upravljanje s tipkovnice, a napajanje pronalazi sama.