Endress Hauser USR30 Radar Level Sensor User Manual

June 15, 2024
Endress Hauser

Endress Hauser USR30 Radar Level Sensor

Introduction

This document contains the specification of the radar sensor USR30. The sensor can measure the distance to the medium and can be used to monitor the level of liquids and solids.

General functionality

The sensor uses an UART interface for communication. Measurements must be triggered through a special command and cannot be done in continuous mode. After a measurement is finished the ready state is signalized meaning that the measurement data can be read through the interface.

Figure 1: Tank parameters

To ensure quick and easy commissioning the parametrization is done with only five parameters:

  • Medium Type (Liquid / Solid)
  • Empty distance
  • Full distance
  • Blocking distance
  • Sensitivity (Low / Medium / High)

After a measurement is triggered, the sensor generates an electromagnetic wave which propagates through the tank. Using the time-of-flight method the distance to the medium is calculated. According to the tank’s parameters a level percentage is determined and the internal algorithm evaluates the measurement quality. If a measurement fails, the error is indicated through the Error State parameter.

Typical applications
  • Plastic or metal tanks used in production processes (i.e. IBC tank)
  • Solid building materials
  • Animal food in agricultural industry

Note: The device functions with a wide variety of materials and is not limited to the applications listed here.

Specification

General specification
  • Measuring range:   0 … 35 m (0 … 114.8 ft) ± 2 mm (0.08 in)
  • Operating Temperature: -40 … +85 °C (-40 … +185 °F)
  • Medium: liquids and solids
  • DK value of medium:   >1.9 (0 … 30 m)
  • Radar signal frequency:   80 GHz
  • Beam angle:   8 °
Electrical specification

Power supply

Parameter Symbol Min Type Max Unit
Positive HF supply voltage VDD_RADAR 3.5 5.5 V
Positive interface supply voltage VDD_IF 1.7 3.6 V
Negative supply voltage GND 0 0 0 V

DC/AC characteristics for digital inputs and outputs

Parameter Symbol Min Max Unit
High level input voltage VIH 0.7 * VDD_IF V
Low level input voltage VIL 0.3 * VDD_IF V
High level output voltage VOH VDD_IF – 0.4 V
Low level output voltage VOL 0.4 V
Mechanical specification

Mechanical specification

Figure 2: Mechanical drawings of USR30

Electrical connection

Figure 3: Pin out

Parameter Connector Cable (example)
Manufacturer ERNI ERNI
Type SMC Connector SMC Cable
Part. No. 154763 173799

Alternative:

Parameter Connector Cable (example)
Manufacturer HARTING HARTING
Type hark- flex hark- flex
Part. No. 15150122601000 33152430500102
Pin Type Name
--- --- ---
1 Input GND
2 Input VDD_RADAR
3 Input GND
4 Input VDD_RADAR
5 Input GND
6 Input VDD_IF
7 Input RX
8 Output TX
9 Input RESET
10 Output SIG1

start a new measurement.
11| Input| GND| Ground
12| Input| GND| Ground

Sequence/Timing

The USR30 is designed to be permanently powered or only powered up for each measurement.

The recommended startup sequence is as followed (Step 1 and 2 can be ignored if the power supply’s voltage is already stabilized):

  1. Switch on VDD_RADAR and VDD_IF with RESET being HIGH.
  2. Set RESET to LOW when supply voltages are stable.
  3. The USR30 boots up and sets SIG1 to HIGH when finished (< 250 ms).
  4. Optional: change configuration of USR30 using UART commands.
  5.  Trigger measurement using UART command. The USR30 sets SIG1 to ‘LOW’ during measurement and calculation process (< 100ms).
  6. After SIG1 is set to ‘HIGH’ state by the USR30, the measurement data can be read out using UART commands. Alternatively, the trigger measurement address can be read and if the value returned to ‘OFF’ the data can be requested.
  7. To turn off the device just turn off the power supply.

Figure 4: Signals of a startup and a single measurement

Sequence/Timing

Communication

The communication to the USR30 is performed using UART with following properties:

  • Voltage: VDD_IF
  • Baud rate: 230.4 kudo
  • Type: 8-N-1
  • Polarity:   Inverted (idle low)
  • Order:   LSB first

Note: This configuration cannot be adjusted.

Protocol

The USR30 protocol support two command types:

  • Write Parameter: CID = 0x34
  • Read Parameter: CID = 0x35

Request

Figure 5: USR30 read request

Request

Figure 6: USR30 write request

Request

  • STX is the start byte and is always 0x02
  • LEN and ADL define the length of the frame. The length of the frame starts from CID and ends before the CRC. LEN is the low byte of the frame length, ADL the high byte.
  • TID is the transfer ID to identify the response of a request.
  • CID is the command ID. The only commands supported are 0x35 (Read) and 0x34 (Write).
  • The parameter to read/write is selected in the PID bytes. For USR30 the Instance is always 0.
  • The CRC is calculated over all data except STX and is defined as followed:
    • Order: 16
    • Polynomial: 0x1021 (x16 + x12 + x5 + 1)
    • Reflection input: No
    • Reflection Output: No
    • Initial Value:   0xFFFF

Response

The response to a read request is described in Figure 7 and to a write request in Figure 8. It is like the request frame, but instead of the PID the response has a status byte STA that is always 0 for USR30.

Figure 7: USR30 read response

Response

Figure 8: USR30 write response

Response

  • The CID of the response is the CID of the request with an additional bit indicating if the request was successful. On success, Bit 8 (MSB) is set, otherwise Bit 7 is set. Therefore, for a read request (CID=0x35), ACK is 0xB5 and NACK is 0x75.
  • STA is always 0 for USR30.
  • On unsuccessful request, an error code ERR is given as 2-byte data.
Parameters

Parameter| Block ID| Reel Parameter ID| Array ID| Type| Note
---|---|---|---|---|---
Distance| 280| 0| 0| FLOAT32| Measured Distance D in mm
Blocking Distance| 280| 1| 0| FLOAT32| Radar Configuration: BD in mm
Measurement Quality| 280| 2| 0| UINT16| Quality of Radar Measurement:

  • 194: Strong
  • 195: Medium
  • 196: Weak
  • 197: No Signal

Error State| 280| 3| 0| UINT32| Error Bitmask

  • Bit 0: IF Sign AL Invalid
  • Bit 1: Echo Lost Warning
  • Bit 2: Communication Error
  • Bit 3: DMA Sampling Error
  • Bit 4: Memory Content Error

Empty| 280| 4| 0| FLOAT32| Radar Configuration: E in mm
Full| 280| 5| 0| FLOAT32| Radar Configuration: F in mm
Trigger Measurement| 280| 6| 0| UINT16| Parameter to start measurement

  • 33006: On
  • 33004: Off

USR30 will set this parameter to ‘Off’ when measurement is finished.

| | | | |
---|---|---|---|---|---
Medium Type| 280| 7| 0| UINT16| Radar Configuration: Type of Media to be measured

  • Liquid = 32957
  • Solid = 33080

Hw Revision| 280| 8| 0| STRING| Hardware Revision of USR30. 16 Bytes.
Build Number| 280| 9| 0| STRING| Build number of USR30 Software. 6 Bytes.
Serial Number| 280| 10| 0| STRING| Serial number of USR30. 16 Bytes.
Sensitivity| 280| 11| 0| UINT16| Radar Configuration: Sensitivity of Evaluation

  • 946: Low
  • 616: Medium
  • 947: High

Level| 280| 12| 0| FLOAT32| Measured Level L in %
Mm Per Index| 1500| 5200| 0| FLOAT32| Step size between each Echo Curve sample.
DigitsAt0dB| 1500| 5208| 0| FLOAT32| Uint16 value representing 0dB.
Digits Pert B| 1500| 5209| 0| FLOAT32| Uint16 value representing a difference in 1dB.
EchoCurve1| 1500| 12020| 0| BYTE ARRAY| Echo Curve data part 1. Length: 2000 Bytes. See chapter 7 for more information.
EchoCurve2| 1500| 12021| 0| BYTE ARRAY| Echo Curve data part 2. Length: 2000 Bytes. See chapter 7 for more information.
EchoCurve3| 1500| 12022| 0| BYTE ARRAY| Echo Curve data part 3. Length: 96 Bytes. See chapter 7 for more information.
Z-Offset| 1501| 5019| 0| FLOAT32| Z-Offset value. Default: 85mm

Examples of Communication with USR30

Configuration

To configure the Device, use the given order of commands. The configuration is stored permanently in the USR30 and therefore has only to be performed when configuration changes.

Write empty distance

Request: 2000 mm

Write Empty Distance

Response:

Write Empty Distance

Write full distance

Request: 1823 mm

Write Full Distance

Response:

Write Full Distance

Write blocking distance

Request: 100 mm

Write Blocking Distance

Response:

Write Blocking Distance

Write sensitivity

Request: 616 (Medium)

Write Sensitivity

Response:

Write Sensitivity

Write medium type

Request: 32957 (Liquid)

Write Medium Type

Response:

Write Medium Type

Information data

Read hardware revision

Request:

Information Data

Response: „HWREVISION “

Information Data

Read build number

Request

Read Build Number

Response: 8022

Read Build Number

Read serial number

Request:

Read Serial Number

Response: „SERIALNUMBER “

Read Serial Number

Trigger measurement

Write trigger measurement

Request: 33006 (Start measurement)

Trigger Measurement

Response:

Trigger Measurement

Measured values

Read distance

Request:

Measured Values

Response: 0x4322F209 = 162.954 mm

Measured Values

Read measurement quality

Request:

Read Measurement Quality

Response: 0x00C4 = 196 = Weak

Read Measurement Quality

Read error state

Note: It is recommended to check the error state with every measurement.

Request:

Read Error State

Response: 0x00000000 = No Error

Read Error State

Read level

Request:

Read Level

Response: 0x42C98B40 = 100.77%

Read Level

Offset Calibration

It is recommended to do an offset calibration of the sensor after installation in a housing. From factory the sensors are calibrated to the flat plane of the recommended horn construction. If a different construction is used the sensor must be recalibrated to the new reference plane. The measured reference length shall be ≥1m.

The following command sequence has to be executed for a calibration:

  1. Write default Z-Offset value: 85 = 0x42AA0000
    Offset Calibration

  2. Read reference length (e.g. Laser reference1 )

  3. Trigger Measurement

  4. Read Error Flags
    a. Verify, that no Error Flags are set

  5. Read Distance

  6. Calculate Z-CORRECTED = DISTANCE – REFERENCE + Z-DISTANCE

  7. Write Z-CORRECTED to Z-Offset parameter

1The accuracy of the reference can directly affect the accuracy of the sensor.

Echo Curve

The echo curve is stored in an array of 2048 unsigned 16-bit integers. Due to its length, it is split in 3 separate parts each of which has to be read out individually. Further the echo curve has to be scaled to correctly map the peaks with the corresponding distance.

Reading

Use the following three commands to read all three curves.

EchoCurve1 request:

Reading

Response:

Reading

Data block of response has a length of 2000 bytes.

EchoCurve2 request:

Reading

Response:

Reading

Data block of response has a length of 2000 bytes.

EchoCurve3 request:

Reading

Response:

Reading

Data block of response has a length of 96 bytes.

The received data from all three requests should be saved in a byte array of the length 4096. The data of each request shall be appended after the last byte of the previous request so that the array can be represented as follows (the numbers below indicate the byte array index):

Reading

As the data is stored in 16-bit unsigned integers the byte array shall be reinterpreted to that. The byte order returned from the requests is little endian which will result in a 16-bit unsigned integer array of the length 2048.

Scaling

For the correct representation of the echo curve the received array must be scaled and mapped to the distance.

X-Axis

To correctly represent the echo curve over the distance a second array can be generated to hold the corresponding distance values for each sample. Use the following command to request the scaling factor.

Mm Per Index request:

X-Axis

Response:

X-Axis

Mathematical Formulas

Note: Depending on the sensor’s tank configuration this value may be different from this example.

Additionally, the Z-Offset parameter has to be read out.

Z-Offset request:

X-Axis

Response:

X-Axis

? = 42EF25C016 = 119.57373046910 mm

Use the following formula to calculate the position of each sample:

?(?) = ∆?? − ?

Y-Axis

To correctly represent the amplitudes of the echo curve, two additional parameters have to be read out.

DigitsAt0dB request:

Y-Axis

Response:

Y-Axis

? = 455??000?? = 350010

Digits Pert B request:

Y-Axis

Response:

Y-Axis

Use the following formula to calculate the amplitude of each sample:

Note: The amplitude in dB does not represent actual physical values from the process.

Installation

The following things have to be considered when installing the USR30:

  • The sensor has to be installed horizontally and parallel to the tank’s ceiling. Otherwise, undesired reflections can cause interference with the signal.
  • The radar antenna must not be covered by metal objects.
  • Do not mount any objects which may cause interference, such as tank internal fittings, grids or agitators, below or in the direct vicinity of the radar.

Figure 9: Recommended installation

Installation

When installing the sensor on nozzles it must be ensured that the nozzle does not interfere with the sensor’s beam angle.

Getting Started

This chapter will describe all steps necessary to use the USR30-USB with the Demo Software for Windows.

Requirements

For the device to work properly you will need to make sure the following tools are installed:

  • NET Framework 4.8 Runtime, Download
Using the demo software
  1. Connect the USR30-USB sensor to your PC by using a USB Type-C cable
  2. Open Windows Device-Manager to check which COM port is used. The device will appear as “USB Serial Port”.
  3. Start “EH_USR30_UTR30_Demo.exe” from the provided folder.
User interface
  1. Select the corresponding COM-Port and press “Connect

  2. The user interface gets unlocked upon successful connection and the device returns all parameters that were saved in its memory and takes the first measurement.User Interface

  3. Pressing the “Tank Info” button reveals a visualization of all parameters. Parameters on the right side of the tank are from the configuration and the parameters on the left side are the actual measurements and calculations. Note: “Empty Extension Length” is not user configurable!

  4. The measurement page contains a visualization of the echo curve as well as all measured and calculated parameters. The application also shows the quality of the measurement which is decided by the sensor’s algorithms. The displayed plot has markers for all tank parameters.
    User Interface

  5. To send a new tank configuration enter your tank parameters and press the “Send” button on the “Connection” page. This function will automatically trigger a measurement after the settings have been sent.

  6. To Trigger a measurement, press the “Trigger” button on the “Measurement” page.

  7. It is possible to scroll through the history of all measurements of a session by using the buttons in the lower left corner. The history can also be exported into a .csv file.

  8. To start a cyclic measurement an interval and a count has to be set. The shortest interval can be set to 1s.

Miscellaneous

History
Version Date Author Review Release Changes
01 13.06.2022 A. Lopatin / / Creation of the document
02 17.11.2022 A. Lopatin / / Increased max limit of interface supply to

3.6V Confidential changed to internal Fixed issues with some commands Updated software description VDD_1V8 renamed to VDD_IF Programmatic synchronization described Added info to check error states
03| 13.01.2023| A. Lopatin| /| /| Added Z Offset parameter Added chapter “Offset Calibration” Added alternative connector for US market Added pin markings to connector drawing
04| 25.05.2023| A. Lopatin| /| /| Added chapter for reading envelope curve Added example command for Z-Offset
05| 03.07.2023| A. Lopatin| /| /| Changed envelope curve naming to echo

Customer Support

All rights reserved. Passing on and copying of this document, use and communication of its contents is not permitted without written authorization from Endress+Hauser SE + Co. KG.

Logo

References

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals