Tenma 72-2540 low voltage power supply remote control
Lab setup during Covid-19 teleworking (TL;DR)
The power supply powers the whole caribou setup. It is connected to PCLCD51 where it can be accessed through
/dev/ttyACM0
. Two shell scripts can be found in caribou home directory (
/home/caribou/
):
pwrSupplyOn.sh
and
pwrSupplyOff.sh
.
pwrSupplyOn.sh
first switches the supply output off, then sets it to 12 V, 1.5 A and enables OCP (Over Current Protection). As a last step it switches the output on. You can use this script to power-on or power-cycle the board.
pwrSupplyOff.sh
switches the supply output off. Use it to power the setup off.
Both scripts call python scripts located in
/home/caribou/tenma-serial/
.
General description
The device can be controlled over a serial interface. One can connect either over an RS-232C or USB port. The USB port has a built-in USB-to-serial converter, that presents itself as an ACM device on the USB side. So it typycally maps to /dev/ttyACM0 on a linux machine.
You can talk to it using any serial terminal software or also by redirecting the keyboard input to the corresponding device (e.g. /dev/ttyACM0). The serial port settings and list of commands is further down on this page.
The other way is to use scripts that translate a bit more user friendly interface to the serial commands. For example:
https://github.com/kxtells/tenma-serial
Serial port settings
- Baud rate: 9600
- Parity bit: None
- Data bit: 8
- Stop bit: 1
- Data flow control: None
Serial port command format
-
COMMAND<X>:<NR2>
-
COMMAND<X>?
-
COMMAND<Boolean>
-
COMMAND<NR1>
- <X> Output channel (always 1 in case of a single channel supply 72-2540)
- <NR1> Digits with an implied decimal point assumed at the right of the least-significant digit. Example: 273 (Integer number)
- <NR2> Digits with an explicit decimal point. Examples: .273, 0.273
- <Boolean>: Boolean value 1 or 0.
List of serial port commands
ISET<X>:<NR2>
- Description: Sets the output current
- Response time: 50ms
- Example:
ISET1:2.225
sets the CH1 output current to 2.225A
ISET<X>?
- Description: Returns the output current setting
- Example:
ISET1?
returns the CH1 output current setting.
VSET<X>:<NR2>
- Description: Sets the output voltage.
- Example:
VSET1:20.50
sets the CH1 voltage to 20.50V.
VSET<X>?
- Description: Returns the output voltage setting.
- Example:
VSET1?
returns the CH1 voltage setting.
IOUT<X>?
- Description: Returns the actual output current.
- Example:
IOUT1?
returns the CH1 output current.
VOUT<X>?
- Description: Returns the actual output voltage.
- Example:
VOUT1?
returns the CH1 output voltage.
BEEP<Boolean>
- Description: Turns on or off the beep.
- <Boolean>: 0=OFF, 1=ON.
- Example:
BEEP1
turns on the beep.
OUT<Boolean>
- Description: Turns on or off the output.
- <Boolean>: 0=OFF, 1=ON.
- Example:
OUT1
turns on the output.
STATUS?
- Description: Returns the POWER SUPPLY status.
- Contents 8 bits in the following format:
- bit 0: CH1 mode: 0=CC, 1=CV
- bit 1: N/A
- bit 2: N/A
- bit 3: N/A
- bit 4: Beep: 0=Off, 1=On
- bit 5: Lock: 0=Lock, 1=Unlock
- bit 6: Output: 0=Off, 1=On
- bit 7: N/A
*IDN?
- Description: Returns the device identification.
- Example: *IDN? returns manufacturer, model name, serial number: TENMA 72-2540 SN:xxxxxxxx Vx.xx
RCL<NR1>
- Description: Recalls a panel setting.
- <NR1>: Memory number 1 to 5.
- Example:
RCL1
recalls the panel setting stored in memory number 1.
SAV<NR1>
- Description: Stores the panel setting.
- <NR1>: Memory number 1 to 5.
- Example:
SAV1
stores the panel setting in memory number 1.
OCP<Boolean>
- Description: Over current protection.
- <Boolean>: 0=OFF, 1=ON.
- Example:
OCP1
turns on the OCP
OVP<Boolean>
- Description: Over voltage protection.
- <Boolean>: 0=OFF, 1=ON.
- Example:
OVP1
turns on the OVP