10.1. Set channel output values and working with the OCP
This is a SCPI commands sequence that sets a voltage, current, and the over-current protection (OCP) on the channel two:
INST? |
Check currently selected output |
1 |
|
INST CH2 |
Select channel two as current channel |
VOLT 10 |
Set output voltage |
CURR |
Set output current |
CURR:PROT:STAT? |
Check OCP status |
0 |
|
CURR:PROT:STAT 1 |
Enable OCP |
CURR:PROT:DEL 100ms |
Set OCP delay |
OUTP 1 |
Enable output |
MEAS? |
Measure output voltage |
10.00 |
|
MEAS:CURR? |
Measure output current |
0.00 |
Current is zero since no load is connected |
If software simulator is used, connection of the load can be also simulated:
SIMU:LOAD 20 |
Define connected load impedance |
MEAS? |
Measure voltage once again |
10.00 |
|
MEAS:CURR? |
Measure current once again |
0.50 |
Measured current |
The following command sequence could be used to test channel mode with load previously defined and after the load impedance is lowered enough that output current reach programmed value. The OCP has to be disabled because previously defined 100ms delay does not give us enough time to execute the whole sequence for testing channel mode and output voltage and current values:
OUTP:MODE? |
Check mode of operation |
"CV" |
The channel is in constant-voltage mode since output current is below previously programmed level |
SIMU:LOAD? |
Check load value |
10 |
|
CURR:PROT:STAT? |
Check OCP status |
1 |
|
CURR:PROT:STAT OFF |
Disable OCP |
SIMU:LOAD 4 |
Decrease load impedance |
OUTP:MODE? |
Check once again mode of operation |
"CC" |
Channel enters constant-current mode since Imax = U / R = 10 / 4 = 2.5A and current is limited to the 1A |
MEAS:CURR? |
Measure output current |
1.00 |
|
MEAS? |
Measure output voltage |
4.00 |
Output voltage is decreased since U = I * R = 1 * 4 = 4V |
The OCP will “trip” when output current reach programmed value and channel stay in the CC mode for more then programmed OCP delay time. To test that with e.g. the software simulator we’ll disable channel output first, enable OCP and when change channel output back to enabled state:
OUTP OFF |
Disable channel output |
CURR:PROT:TRIP? |
Check OCP status |
0 |
OCP is not activated |
CURR:PROT:STAT ON |
Enable OCP |
VOLT? |
Check programmed output voltage |
10.00 |
|
CURR? |
Check programmed output current |
1.00 |
|
SIMU:LOAD? |
Check simulated load value |
4 |
|
OUTP ON |
Enable channel output |
CURR:PROT:TRIP? |
Check OCP status once again |
1 |
OCP has been tripped |
OUTP? |
Check channel output state |
0 |
Channel output is changed to OFF stated by the OCP |
The channel output state cannot be changed to enabled until any of protection is active. We have to clear protection first. If the same load that caused the first protection trip is still connected the channel output will be disabled immediately after the protection programmed delay time expired. Therefore we also have to disconnect load or disable protection. The later method will be used in the command sequence that follows:
OUTP ON |
First attempt to enable channel output |
OUTP? |
|
0 |
This attempt failed, the channel output remain disabled |
OUTP:PROT:CLE |
Channel protections reset |
OUTP ON |
Second to enable channel output |
0 |
Channel output was enabled for a short time (100ms) and returns back to OFF state |
CURR:PROT:TRIP? |
Check OCP status |
1 |
OCP has been tripped |
OUTP:PROT:CLE |
Reset channel protections once again |
CURR:PROT:STAT OFF |
Disable OCP |
OUTP ON |
Third attempt to enable channel output |
OUTP? |
|
1 |
Output is finally enabled |
OUTP:MODE? |
|
"CC" |
Channel enters CC mode of operation |
10.2. Voltage and current calibration
For optimum calibration results the following condition are recommended:
- the calibration ambient temperature is stable and between 20 °C and 30 °C.
- ambient relative humidity is less than 80%.
- Allow a one hour warm-up period before verification or calibration (use e.g. SYST:CHAN:INFO:ONT:LAST? or SYST:CPU:INFO:ONT:LAST? to get that info).
- Use short and thick cables to connect test setups.
Step |
Commands |
Description |
1 |
*RST |
|
2 |
SYST:RWL |
Make sure that PSU is in remote mode and cannot be unlock from local console (TFT display) |
3 |
INST {CH1|CH2}; OUTP ON |
Select the channel to be calibrated and enable the channel output. |
4 |
VOLT:PROT:STAT OFF CURR:PROT:STAT OFF POW:PROT:STAT OFF |
Disable if required the voltage, current and power protections. |
5 |
CAL ON, "<password>" |
PSU enters calibration mode on the channel selected in step 1. Both voltage and current on the selected channel are set to the MINimum value. The VOLT? and CURR? commands can be optionally used here to test channel output values. |
6 |
|
For voltage calibration, connect a digital voltmeter (DVM) across the PSU’s output terminals. |
7 |
CAL:VOLT:LEV MIN |
Set the channel to the low-end (MIN) calibration point. |
8 |
CAL:VOLT 81.8MV |
Enter the reading you obtained from the external DVM. |
9 |
CAL:VOLT:LEV MID |
Set the channel to the middle (MID) calibration point. |
10 |
CAL:VOLT 19.68 |
Enter the reading you obtained from the DVM. |
11 |
CAL:VOLT:LEV MAX |
Set the channel to the high (MAX) calibration point. |
12 |
CAL:VOLT 39.2 |
Enter the reading you obtained from the DVM. |
13 |
|
For current calibration, connect current monitoring resistor (shunt) across the output terminals and connect the DVM across the shunt resistor. Its resistance has to be less then 5 Ω and rated for 25 W or more for measuring MAX current level. |
14 |
|
Repeat step 7 through step 12 by substituting CURR for VOLT for current calibration. For example, CAL:CURR:LEV MIN. |
15 |
CAL_CURR:RANG LOW |
Power board r5B12 only: for low current range (i.e. 0 – 500 mA) calibration use this command to change the range and repeat once again procedure mentioned in step 14. |
16
|
CAL:REM "<string>" |
Record calibration information such as next calibration due date for future reference. The calibration string may contain up to 40 characters. You don’t need to enter current date and time since that information will be recorded automatically. |
17 |
CAL:SAVE |
Save to non-volatile memory new calibration data. |
18 |
CAL OFF, "<password>" |
PSU exit calibration mode. Both voltage and current on the selected channel are again set to the MINimum value. |
19 |
SYST:REM |
Enable local console unlock. Alternatively SYST:LOC can be executed to make local console enabled again. |
10.3. Working with profiles
The following command sequence could be used to store current set of parameters to the profile location 4 in the non-volatile memory:
MEM:STAT:VAL? 4 |
Check to see if profile selected location is empty |
0 |
|
MEM:STAT:NAME? 4 |
We can also check that by querying profile location name |
"–Not used–" |
|
INST CH1 VOLT?;:CURR?;:OUTP? |
Examine currently programmed output values of the first channel |
0.00;0.00;0 |
|
INST CH2 VOLT?;:CURR?;:OUTP? |
Examine currently programmed output values of the second channel |
0.00;0.00;0 |
|
VOLT 12;:CURR 300mA INST CH1 VOLT 12;:CURR 300mA OUTP 1;:OUTP 1, CH2 |
Reprogram both channel output values that will be stored as a new profile |
*SAV 4 |
All profile parameters is now storing on the selected location |
MEM:STAT:NAME? 4 |
Check profile name |
"" |
|
MEM:STAT:NAME 4, "Dual 12V/300mA, Output ON" |
Set the profile name (only ASCII characters are allowed!) |
MEM:STAT:NAME? 4 |
Check the profile name once again |
"Dual 12V/300ma, Output ON" |
|
We can now turn the PSU off (when it enters the Stand-by mode) turn it on again and check some of the programmed parameters:
SYST:POW 0 |
The PSU enters the Stand-by mode |
SYST:POW 1 |
Returns back from the Stand-by mode. Please note that this command can be executed with the minimum of 5 seconds delay otherwise a -200,"Execution error" will be generated (you can check that with the SYST:ERR? command) |
VOLT?;:CURR?;:OUTP? |
Query programmed voltage, current and output state of the currently selected channel |
0.00;0.00;0 |
Returned data indicate that previously saved values in profile number 4 were not used |
*RCL 4 VOLT?;:CURR?;:OUTP? |
Recall parameters from desired location and execute query once again |
12.00;0.30;1 |
The channel output values are now programmed using the selected profile |
We can automate above mentioned process that channel profile parameters stored in non-volatile memory are using on power up. First we’ll check what is a current status of automatic recall and what profile will be used in the case of automatic recall:
MEM:STAT:REC:AUTO? |
Query status of automatic profile recall during power on sequence |
0 |
Automatic recall is turned off |
MEM:STAT:REC:AUTO ON |
Turn on automatic recall |
MEM:STAT:REC:SEL? |
Query which profile will be used when automatic recall is turned on |
0 |
Selected profile was 0 |
MEM:STAT:REC:SEL 4 |
Change power on profile to 4 |
SYST:POW 0 |
Switch the PSU to the Stand-by mode once again |
SYST:POW 1 |
Returns back from the Stand-by mode. Again wait at least 5 seconds before enters this command |
VOLT?;:CURR?;:OUTP? |
Query programmed voltage, current and output state of the currently selected channel |
12.00;0.30;1 |
The channel output values are programmed using the selected profile |
10.4. Get identification info and self-test results
The PSU’s identification information could be beneficial when more then one instrument are controlled. Additionally in the following example information about self-test will be queried:
*IDN? |
Query identification string |
EEZ,1/50/03-1/40/05 (Due),00001,M1.0.93 |
PSU with two different channels is identified, the first channel is 0-50V/3A and the second is 0-40V/5A. Serial number is 00001, and firmware version M1.0.93 |
*TST? |
Execute self-test and query result |
0 |
Self-test is passed |
DIAG:TEST? |
Query additional information about self-test |
"1, EEPROM, installed, passed","1, Ethernet, installed, passed","1, RTC, installed, passed","1, DateTime, installed, passed","2, BP option, installed, skipped","1, CH1 IOEXP, installed, passed","1, CH1 DAC, installed, passed","1, CH1 ADC, installed, passed","1, CH2 IOEXP, installed, passed","1, CH2 DAC, installed, passed","1, CH2 ADC, installed, passed" |
|
The self-test could be performed even when the PSU is in the Stand-by mode. We’ll first switch the PSU into the Stand-by mode. At the end of this example we are using additional diagnostic command that allows us to query information about channel’s ADC measurements.
SYST:POW 0 |
The PSU enters the Stand-by mode |
DIAG:TEST? |
Query additional information about self-test |
"1, EEPROM, installed, passed","1, Ethernet, installed, passed","1, RTC, installed, passed","1, DateTime, installed, passed","2, BP option, installed, skipped" |
Only Arduino Shield +BP module diagnostic information is returned |
SYST:POW 1 |
Returns back from the Stand-by mode |
DIAG:ADC? |
Additional information about currently selected channel ADC inputs |
"U_SET=12.02 V","U_MON=12.00 V","I_SET=0.30 A","I_MON=0.00 A" |
U_SET and I_SET are measured values of the DAC outputs, U_MON and I_MON are actual output values. I_MON is 0 because no load is connected. A small difference between set and actual output voltage exists because calibration data are currently in use. |
10.5. Programming output voltage using the list of values
The PSU comes with simple “arbitary waveform generator” functionality that can be accomplished using the LIST commands. The following example changes in the loop output voltage between five output values each half a second long while current is set to 3 A.
INST CH1 |
Select the channel that has to be programmed |
VOLT:MODE LIST |
Set voltage programming mode to the list of values |
LIST:VOLT 5, 10, 20, 40, 0 |
Define sequence of output voltage (could be up to 256 steps) |
CURR:MODE LIST |
Set current programming mode to the list of values. |
LIST:CURR 3 |
Only one output current value is defined. Single value or number of values equivalent to other parameters (LIST:VOLT and LIST:DWEL) is allowed. |
LIST:DWEL 0.5 |
Only one value for the duration of each step is chosen. Single value or number of values equivalent to other parameters (LIST:VOLT and LIST:CURR) is allowed. |
LIST:COUN INF |
Repeat continuously LIST sequence |
TRIG:SOUR IMM |
Define type of trigger. In this case the list execution will start immediately after INIT command is received. |
INIT |
Start the trigger. |
Resulting output voltage and current waveform with connected load of 15 Ω is shown on the picture below.