Endress Hauser USR30 Radar Level Sensor User Manual
- June 15, 2024
- Endress Hauser
Table of Contents
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
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):
- Switch on VDD_RADAR and VDD_IF with RESET being HIGH.
- Set RESET to LOW when supply voltages are stable.
- The USR30 boots up and sets SIG1 to HIGH when finished (< 250 ms).
- Optional: change configuration of USR30 using UART commands.
- Trigger measurement using UART command. The USR30 sets SIG1 to ‘LOW’ during measurement and calculation process (< 100ms).
- 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.
- To turn off the device just turn off the power supply.
Figure 4: Signals of a startup and a single measurement
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
Figure 6: USR30 write 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
Figure 8: USR30 write 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
Response:
Write full distance
Request: 1823 mm
Response:
Write blocking distance
Request: 100 mm
Response:
Write sensitivity
Request: 616 (Medium)
Response:
Write medium type
Request: 32957 (Liquid)
Response:
Information data
Read hardware revision
Request:
Response: „HWREVISION “
Read build number
Request
Response: 8022
Read serial number
Request:
Response: „SERIALNUMBER “
Trigger measurement
Write trigger measurement
Request: 33006 (Start measurement)
Response:
Measured values
Read distance
Request:
Response: 0x4322F209 = 162.954 mm
Read measurement quality
Request:
Response: 0x00C4 = 196 = Weak
Read error state
Note: It is recommended to check the error state with every measurement.
Request:
Response: 0x00000000 = No Error
Read level
Request:
Response: 0x42C98B40 = 100.77%
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:
-
Write default Z-Offset value: 85 = 0x42AA0000
-
Read reference length (e.g. Laser reference1 )
-
Trigger Measurement
-
Read Error Flags
a. Verify, that no Error Flags are set -
Read Distance
-
Calculate Z-CORRECTED = DISTANCE – REFERENCE + Z-DISTANCE
-
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:
Response:
Data block of response has a length of 2000 bytes.
EchoCurve2 request:
Response:
Data block of response has a length of 2000 bytes.
EchoCurve3 request:
Response:
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):
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:
Response:
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:
Response:
? = 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:
Response:
? = 455??000?? = 350010
Digits Pert B request:
Response:
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
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
- Connect the USR30-USB sensor to your PC by using a USB Type-C cable
- Open Windows Device-Manager to check which COM port is used. The device will appear as “USB Serial Port”.
- Start “EH_USR30_UTR30_Demo.exe” from the provided folder.
User interface
-
Select the corresponding COM-Port and press “Connect
-
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.
-
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!
-
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.
-
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.
-
To Trigger a measurement, press the “Trigger” button on the “Measurement” page.
-
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.
-
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.
References
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>