Skip to content

aloishockenschlohe/dpm86_power_supply

Repository files navigation

dpm86

Tool for controlling DPM86xx Series power supply via its RS485 interface.

Usage

       ./dpm86 action parameter

Command line arguments

       output/o                                -- read the actual output state (on/off)
       output/o 1/on                           -- turn the output on
       output/o 0/off                          -- turn the output off

       voltage/volt/v                          -- read the actual delivered voltage
       voltage/volt/v <0.0 .. max>             -- set the voltage target
       voltage/volt/v target/setting           -- read the voltage target
       voltage/volt/v max                      -- read the maximum output voltage

       current/c/ampere/amp/a                  -- read the actual deliviered current
       current/c/ampere/amp/a <0.0 .. max>     -- set the current target
       current/c/ampere/amp/a target/setting   -- read the current target
       current/c/ampere/amp/a max              -- read the maximum output current

       power/p/watt/w                          -- read the actual delivered power
       power/p/watt/w target/setting           -- read the power target

       const/C                                 -- read the actual const setting (voltage/const)
       const/C voltage/v                       -- set constant voltage delivery
       const/C current/c/ampere/amp/a          -- set constant current delivery

       temp/t                                  -- read the temperature

       READ/R <function>                       -- read value from function (DANGEROUS!)
       WRITE/W <function> <value>              -- write <value> to <function> (DANGEROUS!)

Examples

  • Turn output off, read output state, turn output on, read output state again:

         user@mybox:~$ ./dpm86 output off
         ok
         user@mybox:~$ ./dpm86 output
         0
         user@mybox:~$ ./dpm86 output on
         ok
         user@mybox:~$ ./dpm86 output
         1
         user@mybox:~$ 
    
  • Read actual delivered current

         user@mybox:~$ ./dpm86 current
         12.55
         user@mybox:~$ 
    
  • Set the current target to 1.301 A

         user@mybox:~$ ./dpm86 ampere 1.301
         ok
         user@mybox:~$ ./dpm86 amp target
         1.301
         user@mybox:~$ 
    
  • Read actual delivered voltage

         user@mybox:~$ ./dpm86 v
         21.20
         user@mybox:~$ 
    
  • Set the voltage target to 25.3 V

         user@mybox:~$ ./dpm86 voltage 25.3
         ok
         user@mybox:~$ ./dpm86 v target
         25.30
         user@mybox:~$ 
    
  • Read the temperature

         user@mybox:~$ ./dpm86 t
         39
         user@mybox:~$ 
    

Should work with

Be aware!

  1. The power supply has to be set to "simple protocol". Please check the manual.
  2. Check the variable 'tty' and choose the right ttyUSB-device.
  3. Check the variable 'CURRENT_MAX' and set it to the maxium current delivered by your power supply.
  4. DO NOT USE Raspberry 4! After a while a error message shows up ("serial.serialutil.SerialException: [Errno 12] could not open port /dev/ttyUSB0: [Errno 12] Cannot allocate memory: '/dev/ttyUSB0'") and the serial port isn't reachable anymore. Use RPi 3 or RPi Zero (W) instead.
  5. This script comes along with no warranty at all. You have been warned.
  6. Have fun.

About

Tool for controlling DPM86xx series power supply (python)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages