Atten PPS3000 Series
The Atten PPS3000 series programmable power supplies consists of four 3-channel models and two 1-channel models.
The PPS3203T-3S is also sold as the Tenma 72-8795 by Farnell/Newark.
See the EEVblog teardown for details about the PPS3205T-3S's internals.
Specifications
The models differ only in the number of available channels, maximum voltage and maximum current output:
Model | Channels | Voltage | Current |
---|---|---|---|
PPS3203T-3S | 3 | 2 x 0-32V, 1 x 0-6V | 3 x 0-3A |
PPS3203T-2S | 3 | 2 x 0-32V, 2.5V/3.5V/5V | 2 x 0-3A, 1 x 3A |
PPS3205T-3S | 3 | 2 x 0-32V, 1 x 0-6V | 3 x 0-5A |
PPS3205T-2S | 3 | 2 x 0-32V, 2.5V/3.5V/5V | 2 x 0-5A, 1 x 3A |
PPS3003S | 1 | 0-30V | 0-3A |
PPS3005S | 1 | 0-30V | 0-5A |
These specifications are common to all models:
Feature | Value |
---|---|
Voltage resolution | 10mV |
Current resolution | 1mA |
Protocol
Communication to/from the device is via the RS232 port or serial-USB port. The serial parameters on the device are by default set to 9600 baud, and "data" (data bits) set to 9. This is not a standard number of data bits. The vendor software works around this by using Mark parity. Since this is not a supported parity setting in POSIX, setting parity to None and stop bits to 2 also works.
Every communication to and from the device occurs in 24-byte packets. The device sends a packet only when it receives one from the host. Values such as voltage and current, when set by the host, contain the current values as shown on the display when received from the device. There is thus no way to receive the set values back from the device.
The 24-byte packet is structured as follows:
Byte | Description |
---|---|
0 | Always 0xaa |
1 | Always 0x20 |
2-3 | Channel 1 voltage multiplied by 100, big-endian |
4-5 | Channel 1 current multiplied by 1000, big-endian |
6-7 | Channel 2 voltage multiplied by 100, big-endian |
8-9 | Channel 2 current multiplied by 1000, big-endian |
10-11 | Channel 3 voltage multiplied by 100, big-endian |
12-13 | Channel 3 current multiplied by 1000, big-endian |
14 | Always 0x01 |
15 | Output enable: bit 0 = channel 1, bit 1 = channel 2, bit 2 = channel 3 |
16 | Always 0x01 |
17 | Inexplicably used to store the vendor software's language choice. 0 = English, 1 = Chinese |
18 | Over current protection (OCP): 0 = OCP off, 1 = OCP on |
19 | Channel output mode: 1=independent (default), 2=series, 3=parallel |
20-22 | Always 0x00 |
23 | Checksum of all 23 preceding bytes ANDed by 0xff. The checksum is calculated by both the vendor software and device firmware. However, both ignore it entirely when receiving it. |
Resources
- User manual for the 3-channel models
- European distributor page for the PPS3203T-3S
- EEVblog #439: Review of the PPS3205T-3S
- EEVblog #440: Teardown of the PPS3205T-3S
- Tenma 72-8795 datasheet
- Semi-official protocol docs (partly wrong)
- pps-tools, a set of Python tools to interface with these devices