Difference between revisions of "Velleman PS3005D/Info"
Jump to navigation
Jump to search
(add a brief protocol description) |
Uwe Hermann (talk | contribs) m |
||
Line 1: | Line 1: | ||
== Protocol == | == Protocol == | ||
The protocol is | The protocol is serial or serial-over-USB, 9600 8N1, (almost fully) ASCII based. No line termination, CRC or checksum characters are used. | ||
The PC sends a request string which is then responded by the power supply. | The PC sends a request string which is then responded by the power supply. | ||
Line 82: | Line 82: | ||
|} | |} | ||
Remarks: | '''Remarks''': | ||
# The digit 1 in the V... and I... requests indicates the values are meant for channel one. In future (or "higher"?) models this may be two for a second channel and so on. | # The digit 1 in the V... and I... requests indicates the values are meant for channel one. In future (or "higher"?) models this may be two for a second channel and so on. | ||
# Voltage ("00.00" to "31.00" V) and current ("0.000" to "5.100" A) output values have a fixed length with fixed dot position. The values won't become negative. | # Voltage ("00.00" to "31.00" V) and current ("0.000" to "5.100" A) output values have a fixed length with fixed dot position. The values won't become negative. | ||
== lsusb == | == lsusb == | ||
<small> | <small> | ||
$ lsusb - | $ '''lsusb -v''' | ||
Bus 004 Device 006: ID 0416:5011 Winbond Electronics Corp. | Bus 004 Device 006: ID '''0416:5011 Winbond Electronics Corp.''' | ||
Device Descriptor: | Device Descriptor: | ||
bLength 18 | bLength 18 | ||
bDescriptorType 1 | bDescriptorType 1 | ||
bcdUSB 2.00 | bcdUSB 2.00 | ||
bDeviceClass 2 Communications | bDeviceClass 2 '''Communications''' | ||
bDeviceSubClass 0 | bDeviceSubClass 0 | ||
bDeviceProtocol 0 | bDeviceProtocol 0 | ||
bMaxPacketSize0 64 | bMaxPacketSize0 64 | ||
idVendor 0x0416 Winbond Electronics Corp. | idVendor 0x0416 '''Winbond Electronics Corp.''' | ||
idProduct 0x5011 | idProduct 0x5011 | ||
bcdDevice 3.00 | bcdDevice 3.00 | ||
iManufacturer 1 | iManufacturer 1 | ||
iProduct 2 USB Virtual COM | iProduct 2 '''USB Virtual COM''' | ||
iSerial 3 NT2009101400 | iSerial 3 '''NT2009101400''' | ||
bNumConfigurations 1 | bNumConfigurations 1 | ||
Configuration Descriptor: | Configuration Descriptor: | ||
Line 125: | Line 122: | ||
bAlternateSetting 0 | bAlternateSetting 0 | ||
bNumEndpoints 1 | bNumEndpoints 1 | ||
bInterfaceClass 2 Communications | bInterfaceClass 2 '''Communications''' | ||
bInterfaceSubClass 2 Abstract (modem) | bInterfaceSubClass 2 '''Abstract (modem)''' | ||
bInterfaceProtocol 1 AT-commands (v.25ter) | bInterfaceProtocol 1 '''AT-commands (v.25ter)''' | ||
iInterface 0 | iInterface 0 | ||
CDC Header: | CDC Header: | ||
Line 155: | Line 152: | ||
bAlternateSetting 0 | bAlternateSetting 0 | ||
bNumEndpoints 2 | bNumEndpoints 2 | ||
bInterfaceClass 10 CDC Data | bInterfaceClass 10 '''CDC Data''' | ||
bInterfaceSubClass 0 Unused | bInterfaceSubClass 0 '''Unused''' | ||
bInterfaceProtocol 0 | bInterfaceProtocol 0 | ||
iInterface 0 | iInterface 0 |
Revision as of 19:47, 4 January 2014
Protocol
The protocol is serial or serial-over-USB, 9600 8N1, (almost fully) ASCII based. No line termination, CRC or checksum characters are used.
The PC sends a request string which is then responded by the power supply.
Request | Example output | Remarks |
---|---|---|
*IDN? | VELLEMANPS3005DV2.0 | Request identification from device. It's unknown what other versions / brands (e.g. Korad KA3005P) return here. |
STATUS? | (byte) | Request the actual status. The output is a single byte with the actual status encoded in bits. At least the Velleman PS3005D V2.0 is a bit buggy here. The only reliable bits are: 0x40 (Output mode: 1:on, 0:off), 0x20 (OVP and/or OCP mode: 1:on, 0:off) and 0x01 (CV/CC mode: 1:CV, 0:CC) |
VSET1? | 12.34 | Request the voltage as set by the user. |
VSET1:12.34 | (none) | Set the maximum output voltage. |
VOUT1? | 12.34 | Request the actual voltage output. |
ISET1? | 0.125 | Request the current as set by the user. |
ISET1:0.125 | (none) | Set the maximum output current. |
IOUT1? | 0.125 | Request the actual output current. |
OUT1 | (none) | Enable the power output. |
OUT0 | (none) | Disable the power output. |
OVP1 | (none) | Enable the "Over Voltage Protection", the PS will switch off the output when the voltage raises above the actual level. |
OVP0 | (none) | Disable the "Over Voltage Protection". |
OCP1 | (none) | Enable the "Over Current Protection", the PS will switch off the output when the current raises above the actual level. |
OCP0 | (none) | Disable the "Over Current Protection". |
Remarks:
- The digit 1 in the V... and I... requests indicates the values are meant for channel one. In future (or "higher"?) models this may be two for a second channel and so on.
- Voltage ("00.00" to "31.00" V) and current ("0.000" to "5.100" A) output values have a fixed length with fixed dot position. The values won't become negative.
lsusb
$ lsusb -v Bus 004 Device 006: ID 0416:5011 Winbond Electronics Corp. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 2 Communications bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0416 Winbond Electronics Corp. idProduct 0x5011 bcdDevice 3.00 iManufacturer 1 iProduct 2 USB Virtual COM iSerial 3 NT2009101400 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 67 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 2 Communications bInterfaceSubClass 2 Abstract (modem) bInterfaceProtocol 1 AT-commands (v.25ter) iInterface 0 CDC Header: bcdCDC 1.10 CDC Call Management: bmCapabilities 0x00 bDataInterface 1 CDC ACM: bmCapabilities 0x00 CDC Union: bMasterInterface 0 bSlaveInterface 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 10 CDC Data bInterfaceSubClass 0 Unused bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Device Status: 0x0000 (Bus Powered)