Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

et5410

Python driver for ET5410 / ET5410A+ programmable DC electronic load.

This library provides a simple high-level API for controlling the load over a serial (RS-232/USB-CDC) connection:

  • automatic device detection using *IDN?
  • safe ignoring of busy / invalid COM ports
  • support for CC / CV / CR / CP modes
  • automatic range selection (LOW / HIGH) according to the datasheet limits
  • simple measurement helpers for voltage, current and power

Features

  • 🔌 Auto-connect: scan all serial ports, find the first device that responds with ET5410 to *IDN?, and connect.
  • ⚙️ High-level API:
    • set_cc(current_amps)
    • set_cv(voltage_volts)
    • set_cr(resistance_ohms)
    • set_cp(power_watts)
    • on(), off()
  • 📏 Auto range selection:
    • CC: LOW / HIGH based on 3 A threshold
    • CV: LOW / HIGH based on 20 V threshold
    • CR: LOW / HIGH based on 1 kΩ threshold
  • 📡 Measurement helpers:
    • measure_v(), measure_i(), measure_p()
    • mode() to query current mode

Installation

Install from source (local development):

git clone https://github.com/yourname/et5410.git
cd et5410
pip install -e .

## API Overview
## Construction
from et5410 import ET5410Load

## Auto-detect device on all COM ports
load = ET5410Load.auto_connect()

## Or specify port explicitly
load = ET5410Load(port="COM7")        # Windows example
load = ET5410Load(port="/dev/ttyUSB0")  # Linux example

## Modes
# Constant Current (CC), 0.5 A
load.set_cc(0.5)

# Constant Voltage (CV), 12 V
load.set_cv(12.0)

# Constant Resistance (CR), 10 Ω
load.set_cr(10.0)

# Constant Power (CP), 25 W
load.set_cp(25.0)

Control (ON/OFF)
load.on()   # enable load input
load.off()  # disable load input

## Measurements
v = load.measure_v()   # volts
i = load.measure_i()   # amps
p = load.measure_p()   # watts
m = load.mode()        # "CC", "CV", "CR", "CP", etc.

## Query setpoints
cc = load.get_set_current()     # CC setpoint in A
cv = load.get_set_voltage()     # CV setpoint in V
cr = load.get_set_resistance()  # CR setpoint in Ω
cp = load.get_set_power()       # CP setpoint in W

## Cleanup
load.off()
load.close()

## Examples

See the examples/ folder for more usage examples, such as:

simple_cc_test.py – basic constant-current test
logging measurement data into CSV
simple CLI tools

## Limitations

This driver targets ET5410 / ET5410A+ devices with a SCPI-like command set.

About

Python driver for ET5410A+ programmable DC electronic load.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages