Upravljanje laboratorijskim napajanjem RND/Korad iz Pythona

· #python #gtk #glade #pyserial #napajanje #automatizacija mjerenja

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.

Sučelje aplikacije KORAD DC POWER SUPPLY CONTROL

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:

TipkaRadnja
0–9upis znamenki
vpostavljanje napona
apostavljanje struje
ouključivanje i isključivanje izlaza
uosvjež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:

NaredbaZnačenje
*IDN?naziv i verzija uređaja
STATUS?stanje uređaja
VSET1? / ISET1?postavljeni napon / struja
VSET1:12.00 / ISET1:1.500postavljanje napona / struje
VOUT1? / IOUT1?stvarni izlazni napon / struja
OUT1 / OUT0uključivanje / isključivanje izlaza
OVP1 / OVP0uključivanje / isključivanje zaštite od prenapona
OCP1 / OCP0uključivanje / isključivanje zaštite od prekostruje
RCL1–RCL5uč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.