Early prototypes

PCBs

Add a comment

5.10. MMEMory

The MMEMory commands are used to store, read or delete file in the PSU’s SD card. It can also query SD card information. In addition it is used for storing and recalling values used by [SOURce[<n>]]:LIST subsystem. File and directory (folder) names cannot contain the following characters:\ / : * ? " < > |

 

SCPI command

Description

MMEMory

 

:CATalog [<directory>]

Returns a list of items in the specified directory (folder)

:LENgth [<directory>]

Returns the number of items in the specified directory

:CDIRectory {<directory>}

Changes the current directory

:COPY {<source>}, {<destination>}

Copies <source> to <destination>

:DATE? {<filename>}

Returns date that the specified file was last saved

:DELete {<filename>}

Deletes an existing file

:DOWNload

 

:ABORt

Aborts current download session

:DATA {#<length-digits><length><block>}

Downloads data from the host computer

:FNAMe {<filename>}

Creates or opens the specified filename for download data

:SIZE {<filesize>}

Sets information about file size used for progress bar

:INFOrmation?

Returns used and free space

:LOAD

 

:LIST<n> {<filename>}

Loads stored LIST to the specified channel

:PROFile {<filename>}

Loads stored user profile

:LOCK {<password>}

Sets write protection

:MDIRectory {<directory>}

Makes a new directory

:MOVE {<source>}, {<destination>}

Moves or renames <source> to <destination>

:RDIRectory {<directory>}

Removes the specified directory

:STORe

 

:LIST<n> {<filename>}

Saves specified channel LIST

:PROFile {<filename>}

Saves specified user profile

:TIME? {<filename>}

Returns time that the specified file was last saved

:UNLock {<password>}

Clears write protection

:UPLoad? {<filename>}

Uploads data to the host computer

5.10.1. MMEMory:CATalog

Syntax

MMEMory:CATalog? [<directory>]

Description

Returns the list of files and directories (folders) names, types and sizes in the current or specified directory. Number of items (files/directories) corresponds to the value returned by the MMEMory:CATalog:LENgth? command.

 

To read out the information in the root directory (folder), specify "\" (backslash) or "/". If <directory> is not set, this function is applied to the current directory. If directory=<path>, this function is applied to <current directory>\<path>.

 

Error occurs if the specified directory does not exist.

Parameters

Name

Type

Range

Default

<directory>

Quoted string

Directory name, either / (slash) or \ (backslash) can be used as the path separator. 1 to 255 characters

Return

Returns all files in the directory as list of comma delimited quoted strings of <filename>, <filetype> and <filesize>. The following file types are supported:

  • BIN – binary data
  • CSV – textual data (comma separated)
  • FOLD – directory (folder)
  • LIST – LIST program data
  • LOG – trace (display) or logged data (file extension .log)
  • PROF – user profile data (file extension .profile)
  • STAT – instrument (setting) state or user profiles (file extension .conf)

Usage example

MMEM:CAT?

"USER,FOLD,0","SCPI.PDF,BIN,1274844","SCH5B13A.PDF,BIN,296589",
"Documents,FOLD,0","Lists,FOLD,0","Videos,FOLD,0",
"profile0.profile,PROF,264"

 

MMEM:CAT? "USER"

"LST_2_3.CSV,BIN,88","FERY2.PDF,BIN,2443"

Errors

-250,"Mass storage error"

-251,"Missing mass storage"

-252,"Missing media"

-256,"File name not found"

Related Commands

MMEMory:CATalog:LENgth?

MMEMory:INFOrmation?

MMEMory:DATE?

MMEMory:TIME?

5.10.2. MMEMory:CATalog:LENgth

Syntax

MMEMory:CATalog:LENgth? [<directory>]

Description

This command returns the number of items in the current or specified directory (folder). The result corresponds to the number of files returned by the MMEMory:CATalog? command.

Parameters

Name

Type

Range

Default

<directory>

Quoted string

Directory name, either / (slash) or \ (backslash) can be used as the path separator. 1 to 255 characters

Return

The query command returns number (NR1) of items (files and directories).

Usage example

MMEM:CAT:LEN? "USER"

2

Errors

-256,"File name not found"

Related Commands

MMEMory:CATalog?

5.10.3. MMEMory:CDIRectory

Syntax

MMEMory:CDIRectory {<directory>}

MMEMory:CDIRectory?

Description

Changes the current directory to the specified directory (folder). This directory must exist otherwise an error will be generated.

 

At *RST, this value is set to the root path.

Parameters

Name

Type

Range

Default

<directory>

Quoted string

Directory name, either / (slash) or \ (backslash) can be used as the path separator. 1 to 255 characters

Return

This query returns the full path of the current directory.

Usage example

MMEM:CDIR "TEST/Test folder2"

MMEM:CDIR?

"TEST/Test folder2"

Errors

-256,"File name not found"

Related Commands

*RST

MMEMory:CATalog?

MMEMory:MDIRectory

MMEMory:RDIRectory

5.10.4. MMEMory:COPY

Syntax

MMEMory:COPY {<source>}, {<destination>}

Description

Makes a copy of an existing file in the current directory. The file names must include any file extension.

If <destination> is a file name, the copy file is created in the current directory. When <destination> is a <path> (e.g. “test lists/test022”) the source file is duplicated in <current directory>/<path>.

Parameters

Name

Type

Range

Default

<source>

Quoted string

Source file name, 1 to 255 characters

<destination>

Quoted string

Copy file name or directory name, either / (slash) or \ (backslash) can be used as the path separator. 1 to 255 characters

Usage example

MMEM:COPY "test.bin", "new2/test_new.bin"

Errors

-253,"Corrupt media"

-254,"Media full"

-256,"File name not found"

-258,"Media protected"

Related Commands

MMEMory:CATalog?

MMEMory:CDIRectory

MMEMory:LOCK

MMEMory:MDIRectory

MMEMory:MOVE

5.10.5. MMEMory:DATE

Syntax

MMEMory:DATE? {<filename>}

Description

Returns the (year, month, day) that the specified file was last saved.

Parameters

Name

Type

Range

Default

<filename>

Quoted string

File name or directory name, either / (slash) or \ (backslash) can be used as the path separator. 1 to 255 characters

Return

Comma-separated numbers (NR1) of year, month, day formated as yyyy, mm, dd

Usage example

MMEM:DATE? "test.002"

2017, 10, 1

Errors

-256,"File name not found"

Related Commands

MMEMory:TIME

5.10.6. MMEMory:DELete

Syntax

MMEMory:DELete {<filename>}

Description

Use this command to delete a file in the current directory. If SD card is locked using the MMEMory:LOCK command, an error -258 will be generated.

Parameters

Name

Type

Range

Default

<filename>

Quoted string

File name, either / (slash) or \ (backslash) can be used as the path separator. 1 to 255 characters

Usage example

MMEM:DEL "test.002"

Errors

-256,"File name not found"

-258,"Media protected"

Related Commands

MMEMory:CATalog?

MMEMory:CDIRectory

MMEMory:RDIRectory

MMEMory:LOCK

5.10.7. MMEMory:DOWNload:ABORt

Syntax

MMEMory:DOWNload:ABORt

Description

Use this command to abort currenlty running file transfer from the host initiated with the MMEMory:DOWNload:DATA command. If not active file transfer exists, the PSU will ignore this command without generating any error.

Usage example

MMEM:ABOR

Related Commands

MMEMory:DOWNload:DATA

5.10.8. MMEMory:DOWNload:DATA

Syntax

MMEMory:DOWNload:DATA {#<length-digits><length><block>}

Description

Downloads data from the host computer to a file in the SD card. This is a multiple steps process:

  • The filename must have been previously specified by MMEMory:DOWNload:FNAMe.
  • The data can be transferred in single or more blocks. Receiving of first block will erase all previously stored, and each consecutive block will be appended to the end
  • Download is finished when MMEMory:DOWNload:FNAMe with empty name was sent

Use MMEMory:INFOrmation? command first to check available space.

Parameters

Name

Type

Range

Default

<length-digits>

Numeric (NR1)

<length> number of digits (e.g. 2 for two digit number)

<length>

Numeric (NR1)

Limited only with available space on SD card

<block>

Discrete

Only exact size is allowed as defined with <length>

Usage example

Downloads text Hello world and store into the file "test file" in the current directory. Digit 2 denotes two digits of data length (11).

MMEM:DOWN:FNAM "test file"

MMEM:DOWN:DATA #211Hello world

MMEM:DOWN:FNAM ""

Errors

-253,"Corrupt media"

-254,"Media full"

-258,"Media protected"

Related Commands

MMEMory:DOWNload:FNAMe

MMEMory:INFOrmation?

MMEMory:LOCK

5.10.9. MMEMory:DOWNload:FNAMe

Syntax

MMEMory:DOWNload:FNAMe {<filename>}

Description

Creates or opens the specified filename prior to writing data to that file with MMEMory:DOWNload:DATA.

Parameters

Name

Type

Range

Default

<filename>

Quoted string

File name, either / (slash) or \ (backslash) can be used as the path separator. 1 to 255 characters

Usage example

MMEMory:DOWNload:FNAMe "new_list.bin"

Errors

-258,"Media protected"

Related Commands

MMEMory:DOWNload:DATA

5.10.10. MMEMory:DOWNload:SIZE

Syntax

MMEMory:DOWNload:SIZE {<filesize>}

Description

This command define filesize used by progress bar displayed on the local console during the file transfer. If filesize is not provided, progress bar will not be displayed.

Parameters

Name

Type

Range

Default

<filesize>

Numeric (NR1)

0 to 2.147.483.648 (2 GiB) as limited by SD Card FAT

0

Usage example

MMEMory:DOWNload:SIZE 124000

Related Commands

MMEMory:DOWNload:DATA

MMEMory:DOWNload:FNAMe

5.10.11. MMEMory:INFOrmation

Syntax

MMEMory:INFOrmation?

Description

Use this command to find out total amount of storage currently used and storage available on the SD card. The sum of that two amounts represents SD card capacity in bytes.

Return

The command returns used space and free space as two comma separated integers.

Usage example

MMEM:INFO?

3932160,7732461568

Related Commands

MMEMory:DOWNload:DATA

5.10.12. MMEMory:LOAD:LIST

Syntax

MMEMory:LOAD:LIST<n> {<filename>}

Description

Load stored LIST program from SD card location defined by <filename> to the channel defined with <n>.

Parameters

Name

Type

Range

Default

<filename>

Quoted string

File name, either / (slash) or \ (backslash) can be used as the path separator. 1 to 255 characters

Usage example

MMEM:LOAD:LIST1 "DC_DC conv testing.list"

MMEM:LOAD:LIST2 "DC_DC conv testing.list"

TRIG:SOUR BUS

INIT

*TRG

Errors

-200,"Execution error"

-256,"File name not found"

Related Commands

MMEMory:STORe:LIST[<n>]

[SOURce[<n>]]:LIST:COUNt

[SOURce[<n>]]:LIST:CURRent[:LEVel]

[SOURce[<n>]]:LIST:DWELl

[SOURce[<n>]]:LIST:VOLTage[:LEVel]

5.10.13. MMEMory:LOAD:PROFile

Syntax

MMEMory:LOAD:PROFile {<filename>}

Description

This command loads data from user profile file to the user profile 0.

Parameters

Name

Type

Range

Default

<filename>

Quoted string

File name, either / (slash) or \ (backslash) can be used as the path separator. 1 to 255 characters

Usage example

MMEM:LOAD:PROF "old settings.profile"

Errors

-256,"File name not found"

Related Commands

*RCL

*SAV

MEMory:STATe:RECall:AUTO

MMEMory:STORe:PROFile

5.10.14. MMEMory:LOCK

Syntax

MMEMory:LOCK {<password>}

MMEMory:LOCK?

Description

Use this command to enable write protection of SD card. All writing, deleting or modifying attempts on files or directories will generate an error if SD card is locked.

Parameters

Name

Type

Range

Default

<password>

Quoted string

System password (4 to 16 characters)

Return

This query returns 0 if SD card is unlocked, or 1 if SD card is locked.

Usage example

MMEM:LOCK "test123"

MMEM:LOCK?

1

Errors

122,"Invalid sys password"

Related Commands

MMEMory:UNLock

SYSTem:PASSword:NEW

5.10.15. MMEMory:MDIRectory

Syntax

MMEMory:MDIRectory {<directory>}

Description

This command creates a new directory. If directory=<path>, this command creates a <current directory>/<path> directory.

Parameters

Name

Type

Range

Default

<directory>

Quoted string

Directory name, either / (slash) or \ (backslash) can be used as the path separator. 1 to 255 characters

Usage example

MMEM:MDIR "test folder"

Errors

-258,"Media protected"

Related Commands

MMEMory:CDIRectory

MMEMory:RDIRectory

5.10.16. MMEMory:MOVE

Syntax

MMEMory:MOVE {<source>}, {<destination>}

Description

This command moves or renames an existing file. If destination is a file name, the source file is renamed to the new file name in the current directory. When destination=<path>, the source file is moved to <current directory>/<path>.

 

Error occurs if the source file does not exist or the destination file already exists.

Parameters

Name

Type

Range

Default

<source>

Quoted string

Source file name, 1 to 255 characters

<destination>

Quoted string

New file name or directory name, either / (slash) or \ (backslash) can be used as the path separator. 1 to 255 characters

Usage example

Rename file:

MMEM:MOVE "old name","new name"

Move file from current directory to “/Test” directory:

MMEM:MOVE "new name","/Test/new name"

Move and rename file:

MMEM:MOVE "/Test/new name","/Documents/new doc"

Errors

-256,"File name not found"

-258,"Media protected"

Related Commands

MMEMory:CDIRectory

MMEMory:COPY

5.10.17. MMEMory:RDIRectory

Syntax

MMEMory:RDIRectory {<directory>}

Description

Removes the specified empty directory.

Parameters

Name

Type

Range

Default

<directory>

Quoted string

Directory name, either / (slash) or \ (backslash) can be used as the path separator. 1 to 255 characters

Usage example

MMEM:CDIR?

"Test folder2"

MMEM:CAT:LEN?

0

MMEM:RDIR "Test folder2"

Errors

-250,"Mass storage error"

-258,"Media protected"

Related Commands

MMEMory:CATalog?

MMEMory:CDIRectory

MMEMory:MDIRectory

5.10.18. MMEMory:STORe:LIST

Syntax

MMEMory:STORe:LIST<n> {<filename>}

Description

Store LIST program of channel defined with <n> to SD card location defined by <filename>. Stored file type will be TRAC. Default file extension is .list

Parameters

Name

Type

Range

Default

<filename>

Quoted string

File name, either / (slash) or \ (backslash) can be used as the path separator. 1 to 255 characters

Usage example

MMEM:STOR:LIST1 "DC_DC conv testing.list"

Errors

-258,"Media protected"

Related Commands

MMEMory:LOAD:STATe

[SOURce[<n>]]:LIST:COUNt

[SOURce[<n>]]:LIST:CURRent[:LEVel]

[SOURce[<n>]]:LIST:DWELl

[SOURce[<n>]]:LIST:VOLTage[:LEVel]

5.10.19. MMEMory:STORe:PROFile

Syntax

MMEMory:STORe:PROFile {<filename>}

Description

This command stores the PSU state (i.e. user profile 0) to SD card location defined by <filename>. Stored file type will be STAT. Default file extension is .conf

Parameters

Name

Type

Range

Default

<filename>

Quoted string

File name, either / (slash) or \ (backslash) can be used as the path separator. 1 to 255 characters

Usage example

MMEM:STOR:PROF "Both channels 5V_3A.profile"

Errors

-258,"Media protected"

Related Commands

*RCL

*SAV

MEMory:STATe:RECall:AUTO

MMEMory:LOAD:PROFile

5.10.20. MMEMory:TIME

Syntax

MMEMory:TIME? {<filename>}

Description

Returns the (hours, minute, seconds) that the specified file was last saved.

Parameters

Name

Type

Range

Default

<filename>

Quoted string

File name or directory name, either / (slash) or \ (backslash) can be used as the path separator. 1 to 255 characters

Return

Comma-separated numbers (NR1) of hours, minute, seconds formatted as hh, mm, ss

Usage example

MMEM:TIME? "test.002"

22, 10, 14

Errors

-256,"File name not found"

Related Commands

MMEMory:DATE

5.10.21. MMEMory:UNLock

Syntax

MMEMory:UNLock {<password>}

Description

Disable write protection of SD card activated by the MMEMory:LOCK command.

Parameters

Name

Type

Range

Default

<password>

Quoted string

System password (4 to 16 characters)

Usage example

MMEM:LOCK?

1

MMEM:UNL "test123"

MMEM:LOCK?

0

Errors

122,"Invalid sys password"

Related Commands

MMEMory:LOCK

SYSTem:PASSword:NEW

5.10.22. MMEMory:UPLoad

Syntax

MMEMory:UPLoad? {<filename>}

Description

This command uploads the contents of a file from the instrument to the host computer.

The format for <file> is "[<path>]<file_name>", where <path> must be an absolute folder path. If <path> is omitted, the folder specified by the MMEMory:CDIRectory command is used. Absolute paths begin with a "\" or "/" and start at the root folder of SD card.

Parameters

Name

Type

Range

Default

<filename>

Quoted string

File name or directory name, either / (slash) or \ (backslash) can be used as the path separator. 1 to 255 characters

Return

The query returns the file contents are returned as an IEEE 488.2 definite-length block.

Usage example

MMEM:UPL? "test file"

#211Hello world

Errors

-257,"File name error"

Related Commands

MMEMory:DOWNload:DATA

 

Add a comment

5.12. SENSe

The SENSe control the current measurement range, energy counting/window, and the data acquisition sequence.

 

SCPI command

Description

SENSe

 

:AHOur

 

:RESet {<channel>}

Resets the amp-hour (Ah) measurement to zero

:CURRent

 

[:DC]

 

RANGe[:UPPer] {<range>}

Selects a DC current measurement range

AUTO {<bool>}

Enables/disables seamless measurement auto ranging

:DLOG

 

:FUNCtion

 

:CURRent {<bool>}, {<channel>}

Enables/disables output current internal data logging

:POWer {<bool>}, {<channel>}

Enables/disables output power internal data logging

:VOLTage {<bool>}, {<channel>}

Enables/disables output voltage internal data logging

:PERiod {<time>}

Sets the sample period for internal data logging

:TIME {<time>}

Sets the sample duration for internal data logging

:WHOur

 

:RESet {<channel>}

Resets the watt-hour (Wh) measurement to zero

5.12.1. SENSe:AHOur:RESet

Syntax

SENSe:AHOur:RESet {<channel>}

Description

Not implemented yet

 

Use this command to reset the amp-hour counter to zero of the specified channel. If channels are coupled (in series or parallel) or in tracking mode, both channel’s counters will be reset to zero.

Parameters

Name

Type

Range

Default

<channel>

Discrete

CH1|CH2

Usage example

SENSE:AHO:RES

Related Commands

FETCh:WHOur?

INSTrument:COUPle:TRACking

OUTPut:TRACk[:STATe]

SENSe:AHOur:RESet

SYSTem:CHANnel:INFOrmation:AHOur:TOTal?

5.12.2. SENSe:CURRent[:DC]:RANGe[:UPPer]

Syntax

SENSe:CURRent[:DC]:RANGe[:UPPer] {<range>}

SENSe:CURRent[:DC]:RANGe[:UPPer]?

Description

This command selects a DC current measurement range when Power board with multiple current ranges is installed (e.g. r5B12 that can be find out with the SYSTem:CHANnel:MODel? command). The entered value must be higher than the maximum current that you expect to measure. Units are in amperes.

 

If selected range is lower then measured current, when load is connected, an error -220 will be generated.

Parameters

Name

Type

Range

Default

<range>

Numeric (NR2), discrete

0.5, 5, MIN|MAX, DEFault

DEF

Return

The query command returns the maximum DC current that can be measured on the range that is presently set.

Usage example

SENS:CURR:RANG?

0.5

Errors

-220,"Cannot set range"

Related Commands

SENSe:CURRent[:DC]:RANGe:AUTO

SYSTem:CHANnel:MODel?

5.12.3. SENSe:CURRent[:DC]:RANGe:AUTO

Syntax

SENSe:CURRent[:DC]:RANGe:AUTO {<bool>}

SENSe:CURRent[:DC]:RANGe:AUTO?

Description

This command enables/disables current measurement autoranging. Autoranging provides seamless measurement ranging, which results in a wide dynamic range with no data being lost across ranges.

 

When enabled, this command overrides the SENSe:CURRent[:DC]:RANGe setting.

Parameters

Name

Type

Range

Default

<bool>

Discrete

ON|OFF|0|1

OFF

Return

The query command returns 0 if current measurement autoranging is OFF, and 1 if current measurement autoranging is ON.

Usage example

SENS:CURR:RANG:AUTO?

0

Related Commands

SENSe:CURRent[:DC]:RANGe

SYSTem:CHANnel:MODel?

5.12.4. SENSe:DLOG:FUNCtion:CURRent

Syntax

SENSe:DLOG:FUNCtion:CURRent {<bool>}, {<channel>}

SENSe:DLOG:FUNCtion:CURRent? {<channel>}

Description

Use this command to enable or disable output current internal data logging on the specified channel.

Parameters

Name

Type

Range

Default

<bool>

Discrete

ON|OFF|0|1

OFF

<channel>

Discrete

CH1|CH2

Return

The query command returns the status (0 or 1) of the output current internal data logging enabled on the specified channel

Usage example

SENS:DLOG:FUNC:CURR ON, CH1

Related Commands

INIT:DLOG

SENSe:DLOG:FUNCtion:POWer

SENSe:DLOG:FUNCtion:VOLTage

SENSe:DLOG:PERiod

SENSe:DLOG:TIME

5.12.5. SENSe:DLOG:FUNCtion:POWer

Syntax

SENSe:DLOG:FUNCtion:POWer {<bool>}, {<channel>}

SENSe:DLOG:FUNCtion:POWer? {<channel>}

Description

Use this command to enable or disable output power internal data logging on the specified channel.

Parameters

Name

Type

Range

Default

<bool>

Discrete

ON|OFF|0|1

OFF

<channel>

Discrete

CH1|CH2

Return

The query command returns the status (0 or 1) of the output power internal data logging enabled on the specified channel

Usage example

SENS:DLOG:FUNC:VOLT OFF, CH2

Related Commands

INIT:DLOG

SENSe:DLOG:FUNCtion:CURRent

SENSe:DLOG:FUNCtion:VOLTage

SENSe:DLOG:PERiod

SENSe:DLOG:TIME

5.12.6. SENSe:DLOG:FUNCtion:VOLTage

Syntax

SENSe:DLOG:FUNCtion:VOLTage {<bool>}, {<channel>}

SENSe:DLOG:FUNCtion:VOLTage? {<channel>}

Description

Use this command to enable or disable output voltage internal data logging on the specified channel.

Parameters

Name

Type

Range

Default

<bool>

Discrete

ON|OFF|0|1

OFF

<channel>

Discrete

CH1|CH2

Return

The query command returns the status (0 or 1) of the output voltage internal data logging enabled on the specified channel

Usage example

SENS:DLOG:FUNC:VOLT OFF, CH2

Related Commands

INIT:DLOG

SENSe:DLOG:FUNCtion:CURRent

SENSe:DLOG:FUNCtion:POWer

SENSe:DLOG:PERiod

SENSe:DLOG:TIME

5.12.7. SENSe:DLOG:PERiod

Syntax

SENSe:DLOG:PERiod {<time>}

SENSe:DLOG:PERiod?

Description

Use this command to set the sample period in seconds. For the sample period, the

minimum is 20 ms, and it has to be in integral of 20 ms, while the maximum is 120 s. The entered value will be rounded to the nearest 20 ms integral.

Parameters

Name

Type

Range

Default

<time>

Discrete

0.02 – 120

0.02

Return

The query command returns the sample period in seconds.

Usage example

SENS:DLOG:PER 1

Related Commands

SENSe:DLOG:TIME

5.12.8. SENSe:DLOG:TIME

Syntax

SENSe:DLOG:TIME {<time>}

SENSe:DLOG:TIME?

Description

This command sets the sample duration, the entered value is in seconds. For sample duration, the maximum is 86 400 000 seconds or 24 000 hours or 1000 days (depending of the available space on the installed SD Card, see the MMEMory:INFOrmation? command).

Parameters

Name

Type

Range

Default

<time>

Discrete

1 – 86400000

60

Return

The query command returns the sample duration in seconds.

Usage example

SENS:DLOG:TIME 3600

Related Commands

MMEMory:INFOrmation?

SENSe:DLOG:PERiod

5.12.9. SENSe:WHOur:RESet

Syntax

SENSe:WHOur:RESet {<channel>}

Description

Not implemented yet

 

Use this command to reset the watt-hour counter to zero of the specified channel. If channels are coupled (in series or parallel) or in tracking mode, both channel’s counters will be reset to zero.

Parameters

Name

Type

Range

Default

<channel>

Discrete

CH1|CH2

Usage example

SENS:WHO:RES

Related Commands

FETCh:AHOur?

INSTrument:COUPle:TRACking

OUTPut:TRACk[:STATe]

SENSe:WHOur:RESet

SYSTem:CHANnel:INFOrmation:WHOur:TOTal

 

Add a comment

5.5. FETCh (not implemented yet)

Fetch commands return measurement data that has been previously acquired. FETCh queries do not generate new measurements, but allow additional measurement calculations from the same acquired data.

Add a comment

 

A work in progress (Draft 0.9) – PDF version for download is available at the page end

Introduction

Instructions presented in this document are related to Complete kit for EEZ H24005 power supply offered through crowdfunding campaign. If you intended to build one from the scratch e.g. having only bare PCBs to start with, please refer to EEZ PSU H24005 building instructions (r5B12).

 

The EEZ H24005 (PSU) kit is not an end user product. As such it was not put into any conformance testing and it may not comply with some or any technical or legal requirement that are applicable to finished products including, without limitation, directives regarding electromagnetic compatibility, recycling (WEEE), FCC, CE, or UL. Assembling and using the PSU requires an understanding of electronic circuits and basic computer programming skills.

 

If you need assistance, please contact us using this form or post your problem on the EEVblog forum here. Or, feel free to open a New issue on GitHub here, but please check first to see whether a similar issue already exists).

 

Only tool required for kit mechanical assembly is medium Phillips head screwdriver. Of course, a multimeter for checking wiring and voltage on few points during the assembly is recommended.

Before you start

We made our best effort to make your EEZ H24005 kit complete and functional. But, please note that due to limited resources kit is not completely and thoroughly tested. Basic testing were performed on the following parts:

Core modules are tested on our “testbed” but not with using wire harness and AC/DC modules that comes with your kit. Therefore it’s highly recommended that you check visually, mechanically and with ohmmeter if cables are properly assembled before you proceed with final assembling (consult Wire harness section). Please also check Troubleshooting section at the end of this document.

Basic testing covered communication over Ethernet, fan control, power control, touchscreen functionality, beeper, TFT display and output voltage and current programming in a whole range (i.e. up to 40 V and 5 A with connected load and not calibrated!).

AC/DC modules are capable of working with both 115 and 230 Vac. Few of them are randomly selected and tested on 230 Vac. Therefore it would be a wise step to test them before they’re wired with the rest of the unit.

Please note that they comes in cardboard box with voltage stamped on (see Fig. 1, item 5), but that voltage denote fuse ratings only (i.e. 4 A for 230 Vac or 8 A for 115 Vac). If you are going to use it with 115 Vac you have to change switch position as described in section AC/DC modules.

Kit assembly steps

  1. Package content
  2. Plastic bags content
  3. Bottom plate
  4. Rear panel
  5. AC/DC modules
  6. Front panel
  7. Power boards
  8. Final steps
  9. Powering up, calibration and firmware upload
  10. Troubleshooting

Package content

The PSU complete kit consists of the following parts, as shown in Fig. 1:

  1. Top and bottom plates
  2. Front panel box
  3. Rear panel box
  4. Plastic bags with wire harness and miscellaneous mounting parts
  5. AC/DC modules box
  6. Power boards box
  7. Extra parts (for EEZ H24005 enclosure kit only!)

Please note that AC power cord is not included into this kit.

Fig. 1: EEZ H24005 Complete kit box content

Rear panel box contains enclosure’s rear panel with mounted AUX power module, IEC AC inlet, 60 mm cooling fan with finger guard and Cable Set #2.

Plastic bags content

Before start assembling please take some time to check if content of plastic bags includes all what is listed below. Also familiarize with Position naming that will be used in the rest of the document.

 

Fig. 2: Plastic bag #1 content

 

Position

Description

A1

10-pin IDC cable (AUX power module – Arduino Shield)

A2

Ethernet patch cable (AUX power module – Arduino Shield)

A3

AUX temperature sensor (Arduino Shield)

A4

Fuse drawer (IEC AC inlet)

A5

Enclosure feet pack

A6

AC&DC module connector cover

A7

M3 x 5 mm bolts for enclosure (11 pcs)

A8

DOUT2 plug-in connector (AUX power module)

A9

Polyamide cable ties (2 pcs)

A10

Cable set #1

A11

Micro USB to 5-pin 0.1” header cable (AUX power module – Arduino Shield)

 

Fig. 3: Plastic bag #2 content

 

Position

Description

B1

AC/DC modules mounting bolts: M3 x 5 mm black countersunk head (4 pcs) and M3 x 5 mm (7 pcs)

B2

40 mm spacers (2 pcs)

B3

AC/DC modules mounting rail (Varisom)

 

Please note that only two instead of four bolts with countersunk head are mistakenly delivered with Complete kit. Therefore use that two bolts to fix mounting rail (B3) to the enclosure’s bottom plate, and leave lower end of 40 mm spacers (B2) unfixed. In such way AC/DC modules will stay securely fixed.

 

Fig. 4: Plastic bag #3 content

 

Position

Description

C1

M4 x 6 mm mounting bolts (4 pcs)

C2

Enclosure front panel handles (Varisom)

Extra parts (for enclosure kit only)

This section is related only for buyers who ordered so-called Enclosure and Assemblies kit. It comes with few extra parts that together with the following items is required to get completely functional PSU:

  • AC/DC modules (LRS-150-48 or auto-switch LRS-150F-48) x2
  • Assembled core modules (i.e. Aux power module, Power board x2, and Arduino Shield)
  • 3.2” TFT color touchscreen display and
  • Arduino Due compatible board

For more details please refer to EEZ PSU H24005 building instructions (r5B12).

 

Extra parts are shown on Fig. 5. Additionally a set of two custom made heatsinks are included into this kit.

 

Fig. 5: Extra parts for enclosure kit

 

Position

Description

G1

0.4 mm (for Q4) and 5 mm thermal silicone pads

G2

Set of bolts for Power boards mounting to the heatsinks

G3

5 mm spacers for Power boards

G4

3.2” display mounting frame (Varisom) with bolts and 2 mm spacers

G5

M3 x 5 mm bolts for display (4 pcs)

G6

Set of fuses (230 Vac or 115 Vac as stated on cardboard box)

G7

Encoder knob (A3116068) and knob cap (A3216007)

Bottom plate

In this step rubber feet (D1, Fig. 7) will be mounted and protective earth will be attached to the enclosure. Identify enclosure bottom plate using the Fig. 6 and prepare items A5 and A10.

 

Fig. 6: Enclosure bottom plate

Content of A5 is shown on Fig. 7. Please note that longer bolt (D4) and additional parts (D5, D6) should be used for making contact with protective earth wire on the foot hole that is near the AC inlet (see note Foot (+Earth)).

 

Fig. 7: Enclosure feet package

Use M3 black finish bolt (D3) and washer (D2) for mounting feet (D1) on the holes with M3 thread (see red circled hole on Fig. 9). The paint around latest hole where protection earth will be connected can be previously carefully removed to ensure even better electrical contact then externally serrated washer (D5) could provide (see Fig. 8).

 

Fig. 8: Paint removed for better protective earth contact

For protective earth connection mount last foot with long bolt (D4) first and then place ring terminal (item A10) on inner (top) side of the bottom plate between serrated washer (D5) and M3 nut (D6). Check with ohmmeter if low resistance connection is established between earth wire on A10 and bottom plate (when complete enclosure is assembled you can repeat this by testing conductance between earth pin on IEC AC inlet and top plate).

Fig. 9 shows bottom plate with protective earth mounted and Fig. 10 how robber foot looks like when mounted. Take into account that bolt should be screwed enough that its head is not above foot.

 

Fig. 9: Bottom plate with mounted feet and protective earth

 

Fig. 10: Mounted rubber foot

Rear panel

Remove rear panel from its cardboard box (item 3) and check if it looks as shown on Fig. 11. It should include IEC AC inlet (with AC switch patch cables that is not visible due to blue heatshrink tube), AUX power module with 5-pin AC plug and 3-pin cooling fan receptacle connected, 60 mm cooling fan and Cable set #2 connected.

The IEC AC Inlet has power switch and place for fuse drawer that carry two fuses. Fuse drawer is packed separately (item A4) and supplied two fuses (item E2, see Fig. 14) should be in accordance with AC mains voltage in your country (4 A for 230 Vac or 8 A for 115 Vac).

 

Do not insert fuse drawer with or without fuses before everything else is assembled.

 

If you didn’t notice any issues with rear panel parts you can proceed with mounting it to the previously prepared bottom plate by using three bolts from A7 and fix it into positions shown on Fig. 12.

 

Fig. 11: Rear panel assembled

 

 

Fig. 12: Rear panel mounting positions

 

Finally you can attach cables A1, A2 and A11 to the AUX power module as shown on Fig. 13.

 

Fig. 13: AUX power module wiring

AC/DC modules

Unpack box with AC/DC modules (item 5) and check if it contains items shown on Fig. 14.

 

Fig. 14: AC/DC modules with fuses

Before proceed with assembly be sure that AC input voltage selection switch (Fig. 15) is properly set. This is especially important if your AC mains voltage is 230 Vac because if switch is set to 115 Vac it is possible that applied mains damage AC/DC module permanently (don’t count with blown fuses here!).

 

Fig. 15: AC voltage selection switch set to 230 Vac

Put aside for the moment E2 and take one of E1 to connect on them Cable set #2 wires as follows:

 

Name

Position

Color

AC line input

L

Brown

AC neutral input

N

Blue

Protective earth

(Earth sign)

Yellow-green

DC output negative

-V

Black

DC output positive

+V

Red

 

Take also protective earth wire from Cable set #1 (item A10) and mount it on the same position as protective earth from Cable set #2 (see red cycle on Fig. 16).

 

Fig. 16: First (lower) AC/DC module wiring

When first (lower) AC/DC module wiring is completed you can proceed with fix it to the final place on the bottom plate by using two M3 bolts with black countersunk head (from B1) and metal spacers (B2).

 

Fig. 17: First (lower) AC/DC module fixing with metal spacers

Next step will be attaching AC/DC mounting rail (B3) with M3 bolts (from B1) to the AC/DC module and bottom plate as shown on Fig. 18. AC/DC module has three M3 holes on the side, only two bolts for mounting (red encircled), and another two with black countersunk head (also from B1) for fixing it at the bottom plate (see yellow arrows and Fig. 6).

 

Fig. 18: AC/DC modules mounting rail with first (lower) module

Second AC/DC module can be now installed on top of the first (lower) one. First connect remaining wires from A10 and Cable set #2 as shown on Fig 20.

Before proceed with fixing second AC/DC module to mounting rail (B3), you can insert all cables that goes to Arduino Shield mounted on the front panel (see red encircled hole on Fig. 19 made by B3, two E1 and B2). You can use one of cable tie (A9) for that (spare another one for AUX temperature sensor A3).

 

Fig. 19: Second (upper) AC/DC module with Arduino Shield wiring

Use two M3 bolts from B1 for fix second (upper) AC/DC module on the side. Use another M3 bolt for fix it only on the spacer B2 that is visible on Fig. 18. Fixing on the next spacer will be performed in the next step.

 

Fig. 20: Second (upper) AC/DC module mounting

Final step in AC/DC modules mounting is to put a cover (item A6) over second (upper) AC/DC module terminals as an additional safety measure against electric shock when you decide for any reason to operate the PSU with top plate removed. Use two remaining M3 bolts (from B1) and fix it on the places marked with red arrows on Fig. 21.

 

Fig. 21: Second (upper) AC/DC module terminal cover

 

Front panel

The front panel box content is shown on Fig. 22 that is enclosure’s front panel with mounted Arduino Shield with Arduino Due board, 3.2” TFT touchscreen color display and 4 mm binding posts for power outputs and protective earth.

 

Fig. 22: Front panel (back view)

A first step for the front panel assembly is mounting of handles (item C2). Use two M4 bolts (C1) to fix it on the front panel’s ends. Fig. 23 shows how front panel looks like with handles mounted.

 

Fig. 23: Front panel handles mounted

 

Fig. 24: Arduino Shield with cables connected

 

Attach the front panel very loosely to the bottom cover to avoid issue with mounting Power boards lately (see issue #52).

 

A next step should be wiring of the Arduino Shield (use red colored text on Fig. 22 as reference). That also include AUX temperature sensor (item A3). Take a special care when inserting USB cable (A11) to the Programming port (lower one) on the Arduino Due to not damage micro USB socket. It’s recommended to bend USB cable appropriately before insertion to lower its pressure when it is put into place (Fig. 25).

 

Use Native port (upper one) with firmware v1.01 or latter. If you still want to use programming port add the following code into your conf_user.h file:

 


	#undef CONF_SERIAL_USE_NATIVE_USB_PORT
	#define CONF_SERIAL_USE_NATIVE_USB_PORT 0
	

 

Fig. 25: USB cable attached to Arduino Due programming port

Use four M3 bolts (from A7) to join front panel with bottom plate following the holes marked on Fig. 6 and Fig. 26

 

Fig. 26: Front panel bottom mounting positions

When front panel is mounted to the bottom plate it’s possible to fix AUX temperature sensor (A3) someplace above AC/DC modules as shown on Fig. 27. Use one cable tie (A9) for that.

 

Fig. 27: Aux temperature sensor

Power boards

The Power boards cardboard box contains two Power boards (F1) and M3 bolts (F2) used for mounting. Before mounting power boards to the bottom plate (check Fig. 6) plug in the DC power cable (+48 V) to the DC input connector (red encircled on Fig. 29).

 

Now you can carefully insert it into Arduino Shield (Fig. 21) that PCB components side is facing toward cooling fan center as shown on Fig. 30. Double check that no misalignment between 26-pin header on the Arduino Shield and Power board’s receptacle (yellow encircled on Fig. 28) exists.

 

Fig. 28: Power boards unpackaged

 

Fig. 29: Power board DC input connector

Final steps

The PSU with all parts mounted is shown on Fig. 30. Covering it with top plate and placing fuses into AC inlet is now only what is left.

 

You’ll need eight M3 bolts with black countersunk head (from A7 and F2) for mounting top plate.

 

Fig. 30: EEZ H24005 assembled without top plate

Check fuses (E2) rating (i.e. 8 A for 115 Vac and 4 A for 230 Vac) before placing them into fuse drawer (A4) as shown on Fig. 31.

 

Fig. 31: Fuse drawer

Mount fuse drawer into IEC AC inlet on the rear panel and insert AC mains power cord (it’s not a part of this kit!) as shown on Fig. 32.

 

Fig. 32: AC inlet with fuse drawer and plugged in power cord

 

The PSU has on the rear panel a 3-pin connector for Digital out #2 (DOUT2). You can use A8 plug with screw terminals to make connection with external circuits (Fig. 33).

 

Fig. 33: DOUT2 plug-in connector

 

The PSU complete kit comes with firmware v1.0 loaded into Arduino Due board. For further uploads please follow instructions here. The list of firmware release can be found on the GitHub.

Powering up, calibration and firmware upload

Do not start PSU for the first time with any load connected!

 

First test output voltage programming. When set output voltage is within expected tolerance (i.e. up to 5 % not calibrated) you can continue with testing output current capability. Choose output voltage and load combination that output current at start is not higher then e.g. 100 mA. If reading is within expected tolerance, you can proceed with higher load up to 5 A per channel.

 

The Power board outputs are not calibrated. At the first start you will be asked about calibration but you can postpone it. Each output has to be calibrated separately and you can access calibration wizard from System page or from Channel’s info page (Fig. 34).

 

Fig. 34: Channel's calibration page

The calibration wizard will guide you through all steps after you successfully entered calibration password (default is eezpsu). Voltage set for current calibration is 20 V (middle of the range) therefore you have to use resistor lower then 4 Ω that can dissipate enough power (example1, example2 both of them must be installed on heatsink!).

Please note that high current (5 A) range calibration could be a rather tricky since output current is going to decrease over time as shunt resistor is heating up. That is a known issue (see hardware issue #40 and suggestion for compensation in firmware reported in #100). Depends of what end result is more acceptable, you can enter output current value that is measured immediately after the load is connected, or you can wait up to few minutes (e.g. before fan is started to work) and measure the output current.

 

Uploading your firmware to the latest release is highly recommended. Uploading process is described under Firmware uploads section of the EEZ PSU H24005 building instructions (r5B12) document.

A short video about installing Arduino IDE and firmware components on Win10 is available here.

Troubleshooting

  • Display is not working – during displays testing we found on considerable number of them that they pins have to be degreased. It’s possible that your display’s pins are not degreased enough, or lost contact due to mechanical shocks in transportation. Detach it from front panel and Arduino Shield board first, and try to clean pins with cleaning/degreasing spray (e.g. Kontakt WL). Pay special attention to make sure that cleaning agent not penetrate between display and it’s PCB. That could create a visible spot when display is turned on (if cleaning agent is not aggressive that should be a temporary issue. Wait some time that cleaning agent simply evaporate).
  • Display colors are “washed out” – it appears that for used “noname” display backlight and colors intensity could vary considerably. While testing we found about half of dozen different level of backlight intensity. We tried to rectify that to some extend by offering display brightness and background color (i.e. the blue one) luminosity settings. You can find that parameters under system settings page 2 as shown on Fig. 35. We tried to set the most appropriate luminosity level for your display. The default value is 15 but if your found here e.g. 10 (for firmware v1.0) that means that your display is unfortunately is too bright (hence lower value). In that case the real “cure” is to start hunting for better unit on eBay or similar online shops.

 

Fig. 35: Display settings page (firmware v1.01)

 

  • Output voltage is above max. range (e.g. 42-43 V) – voltage regulation is failed, possibly due to faulty bias power supply. Switch the PSU off immediately and check V+ and V- outputs of IC4 (on ferrite beads FB2 and FB3). It’s highly possible that IC4 thermal pad is not soldered properly and that mechanical shock (e.g. in transportation) cause lost of electrical contact. It’s output voltage has to be a little above 5 V (if you’re perfectionist replace R20 and R25 with 316 K), but if IC4’s thermal pad, that is also its ground connection, is not connected you can expected e.g. about +12 V on V+ and -0.5 V on V- line. If that happen it’s also possible that IC12 is damaged permanently (start up self-test procedure will report DAC failure in that case). Another possible collateral damage could happed if load is mistakenly connected. That can easily damage low current switch and sense resistor (Q13 and R63).
    If IC4 reflow soldering work is necessary detach PCB from the heatsink and remove thermal pads first!
  • Output current cannot reach max. value (i.e. 5 A) with load connected – if Power board output cannot deliver max. current for more then 10 seconds or cannot reach max. current with output current step is programmed (e.g. from 0 to 5 A) then probably something is wrong with switching pre-regulator on the first place. We found on dozen of Power boards that came from manufacturer that C14 is not soldered properly or is dropped off the PCB. Without it pre-regulator cannot manage to deliver more then about 3 A. Another possibility is that IC1 thermal pad is not properly soldered (similar to above mentioned IC4). You have to be ready for some resoldering work with hot air. If max. output current cannot reach more then 1.5 A please check Q13 and Q14 first, before going to do anything with IC1. Even if you need to desolder them for testing purposes it’s still less cumbersome then resoldering IC1.
    If IC1 reflow soldering work is necessary detach PCB from the heatsink and remove thermal pads first!
  • USB cable is shutting down a whole unit – unfortunately your USB patch cable is faulty. Please check wiring pin by pin (i.e. check if red wire is connected with +VUSB, black with GND, etc.).
    It’s possible that you have to rotate it as one user suggested as shown on Fig. 36. If that is not acceptable, you can try to detach pin by pin from the header and put them on the right place.

 

Fig. 36: Swapped USB connector

 

  • Channel enters unregulated mode (neither CV nor CC when output value is displayed in red color) for programmed output voltage below ~1.8 V. Replace R20 and R25 with 316 K as suggested in issue #42 on the GitHub.
  • Output current cannot reach max. value of 5 A on step load – that can be check by set output enable with connected load, or by connecting load when output is already enabled. Make sure that used load is low enough that channel enters CC mode. For example use 3.3 Ω with output set to 20 V and current set to maximum. Try to replace pre-regulator current sense resistor R4 with another one (we found on few boards that comes from manufacturer that R4 resistance is too high despite the fact that marked value is correct (i.e. 10 mΩ).

 

A work in progress

 

Files:
EEZ H24005 Complete kit assembly instructions Draft (0.9) HOT
License CC BY-SA 4.0 Author This email address is being protected from spambots. You need JavaScript enabled to view it. Website Website Date 2017-06-16 Language  English File Size 2.61 MB Download 999 Download

 

 

Add a comment

Subcategories