Skip to content

HumbleDeer/XY6015L_pyGUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XY6015L_pyGUI

A python GUI to display & control XY6015L power supply

  • Hardware: XY6015L

Program:

What can it do:

  • connect to serial port
  • switch output ON/OFF
  • set voltage & current levels
  • display voltage & current in chart
  • export voltage & current from chart as *.CSV
  • lock hardware buttons
  • load, view and run *.CSV file (time, voltage & current)

Serial port:

  • select baud rate (must match hardware configuration)
  • select slave address (must match hardware configuration)
  • Connect - automatically searches and connects to port (button status shows 'Connected' or 'Disconnected') (only tested in linux but should work with windows)
  • New feature - serial port can be fixed by modifying 'port_set' parameter within 'dps5005_limits.ini'

CSV

CSV now has 2 functions:

  1. Preconfigured files can be imported to allow automated output control of the PSU. 'Sample.csv' is provided as an example. File -> Open, to load pre-configured *.CSV file, it then displays number of remaining steps. Select 'CSV run' to action the file. Select 'CSV clear' to remove unwanted remaining steps.

  2. Imported CSV files can be viewed prior to Serial port connection using ‘CSV view’ button. This function is unavailable when Serial communications is established.

PSU

Basic Power supply mode

  • set Voltage limit
  • set Current limit
  • press 'Set' to load parameters then 'ON' to begin

Battery Charging

NiCad/NiMH - based on (-dV) negative delta V or better known as Peak Detect.

  • set absolute maximum safe charging voltage 'Voltage Max'
  • set 'Constant Current'
  • set 'Terminate (-dV)'
  • press 'Set' to load parameters then 'ON' to begin

Li-Ion/Lipo - based CCCV using taper current as termination.

  • set 'Constant Voltage'
  • set 'Constant Current'
  • set 'Terminate (A)'
  • press 'Set' to load parameters then 'ON' to begin

Note: Termination control begins 5seconds after charge start allowing current to stabilise.

Disclaimer: User is responsible for safety. Program allows flexibility choose your values carefully.

Using other 'DPSxxxx' units

Configuring this program for other 'DPSxxxx' units should hopefully be straight forward to achieve by modifying the parameters within this file 'dps5005_limits.ini'.

  • adjust the safety levels, Max/Min values
  • adjust the decimal point position

Chart colours

The background, axis & pen colours and line (pen) width may be manipulated within the Section Three of the 'dps5005_limits.ini' file. Two examples exist.

  • background colour
  • axis colour
  • pen colour
  • pen weight

Requirements:

  • Python2
pip install pyserial
pip install MinimalModbus
pip install PyQt5
pip install pyqtgraph
if using python2.7: 
  pip install configparser

OR

pip install -r requirements.txt
  • Python3
pip3 install pyserial
pip3 install MinimalModbus
pip3 install PyQt5
pip3 install pyqtgraph

OR

pip3 install -r requirements.txt

Developed with:

  • dps_GUI.ui - QT designer v5.9.2
  • dps_GUI_program.py - Python 2.7.14
  • dps_modbus.py - Python 2.7.14
  • dps5005_limits.ini - text file

Download & run:

cd DPS5005_pyGUI/source_files/
python dps_GUI_program.py

OR

python3 dps_GUI_program.py

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages