User Manual for TERABEE models including: TeraRanger Neo ES NEO-ES ToF Sensor, TeraRanger, Neo ES NEO-ES ToF Sensor, NEO-ES ToF Sensor, ToF Sensor, Sensor
Compact, low-power ToF distance sensor | TeraRanger Neo ES
File Info : application/pdf, 19 Pages, 2.99MB
DocumentDocumentTeraRanger Neo ES User manual Document version v1.1 Technical support:terabee.com/support/ Sales and commercial support:terabee-sales@terabee.com Many thanks for buying our TeraRanger Neo ES sensor. TeraRangerNeoESisthenextgenerationofTeraRangerrangefinders.Byusingindirect ToF, TeraRanger Neo ES will provide highly accurate distance measurements in a compact,lightweightform,withexceptionallylowpowerconsumption. Thefrontpanel is designed to enable integrations that can achieve IP65 protection. This guide provides you with all theinformationneededtouseandfullyintegrateour sensor in your system. If you have any questions or remarks regarding the product, please contact your commercial representative or our technical support atterabee.com/support/. Copyright © Terabee 2024 Terabee, 90 rue Henri Fabre 01630 Saint-Genis-Pouilly, France (next to CERN) 2/19 TeraRanger Neo ES - User manual Version 1.1 Table of contents 1. About the TeraRanger Neo ES 4 1.1. Inside the package 4 1.2. Technical specifications 4 1.2. Symbols explanation 5 2. Sensor use 6 2.1. LED Indication 6 2.2. Connecting the TeraRanger Neo ES to a host computer 7 2.2.1. Windows OS 7 2.2.2. Example HTerm output 9 3. UART Communication 10 3.1. UART pinout 10 3.2. Electrical characteristics 11 3.3. Configuration commands 11 3.3.1. Command composition 11 3.3.2. List of commands 13 3.4. Sensor payload 13 3.5. Status codes 14 3.6. Distance error cases 15 3.7. Sample Python script to read data 16 3.8. In case of device failure 18 4. Sealed front panel and integration 19 Copyright © Terabee 2024 Terabee, 90 rue Henri Fabre 01630 Saint-Genis-Pouilly, France (next to CERN) 3/19 TeraRanger Neo ES - User manual Version 1.1 1. About the TeraRanger Neo ES 1.1. Inside the package You will receive the following items when purchasing the TeraRanger Neo ES: TeraRanger Neo ESx1 Molex cable Open-Endx1 Nylon screw (Flathead) M2 x 0.4 mm x 12 mmx2 Nylon nut (Hex) M2 x 0.4 mmx2 Rubber joint x 1 mmx1 1.2. Technical specifications Product code TR-NEO-ES Performance Detection principle Infrared Indirect Time-of-Flight Range* 0.2 - 30 m Update rate 25 readings per second Output resolution 1 mm Accuracy Approx. 1-2% of measured value Field of View Approx. 2.2° Electronics Supply voltage 5V DC +/-5% Supply current (min-max) 50 mA average (250 mW on 5 V rail) Communication Interface LP UART, +3.3 V level (+/-5%), 9600,8,N,1 Connector Molex - CONN HEADER SMD 4POS 1.25MM Mechanical data Dimensions Height 30.5 mm; Width 15.5 mm; Depth 28.2 mm; Screw holes 2 mm ø Weight Approx. 6 g Operating conditions 0°C to 60°C (measured inside the sensor) Ingress protection Sealed front panel for potential IP65 integration Eye safety Yes Conformity Reference standard CE, RoHS Table 1 - Technical specifications Copyright © Terabee 2024 Terabee, 90 rue Henri Fabre 01630 Saint-Genis-Pouilly, France (next to CERN) 4/19 TeraRanger Neo ES - User manual Version 1.1 *Specifications are derived from tests in controlled conditions. Bright sunlight, target surface reflectivity and other variables will affect sensor performance. The combination of very bright sunshine and low reflectivity targets (such as grass) can reduce maximum range. For additional information, please find the followingtest resultsreport. 1.2. Symbols explanation The following symbols are used within the document: Thissymbolindicatesspecificrecommendationsinordertorunthesensorinthe intended way. Copyright © Terabee 2024 Terabee, 90 rue Henri Fabre 01630 Saint-Genis-Pouilly, France (next to CERN) 5/19 TeraRanger Neo ES - User manual Version 1.1 2. Sensor use 2.1. LED Indication Two LED indicators are present on the PCB, and are visible through the back side. The LED indicators can be used to troubleshoot the sensor. LED designator Description Action Green LED Normal startup behavior. flashes "8 times" on startup then switches off No action Green LED flashes at regular time intervals of around 5 seconds Green LED flashing indicates normal sensor operation. No action Red LED blinking rapidly at ~100ms intervals. Sensor has detected a fault in the device and has stopped functioning Check the cable connector and restart. Table 2 - LED indicators Copyright © Terabee 2024 Terabee, 90 rue Henri Fabre 01630 Saint-Genis-Pouilly, France (next to CERN) 6/19 TeraRanger Neo ES - User manual Version 1.1 2.2. Connecting the TeraRanger Neo ES to a host computer 2.2.1. Windows OS Hardware needed: (1) TeraRanger Neo ES, (2) Molex cable Open-End (3) FTDI UART to USB (not included) (4) computer (not included) On Windows it is possible to use any terminal emulation software for data display. Terabee often works with and suggests using HTerm software. Please follow the provided link to download the software file (http://www.der-hammer.info/terminal/), and select the version0.8.5of the software. Next,extractthedownloadedzipfiletotheselectedfolder,openitanddoubleclickon the "HTerm.exe" document. Connect the TeraRanger NeoEStoacomputerandselect the corresponding USB port (click "R" button to refresh theportlist).Pleaseconfigure the software with the following parameters: Baud rate Data bits Parity bit Stop bit :9600 bit/s :8 :None : 1 SeeFigure 1below for visual instructions. Figure 1 - HTerm parameters forTeraRanger Neo ES Copyright © Terabee 2024 Terabee, 90 rue Henri Fabre 01630 Saint-Genis-Pouilly, France (next to CERN) 7/19 TeraRanger Neo ES - User manual Version 1.1 Once the USB port is selected and the parameters correctly set, click on the "C onnect" button. The distance data will now appear in the "Received data" box (seeFigure 2). Figure 2 - Data stream on HTerm software To communicate with the terminal emulation software, a command in hexadecimal needs to be sent using the "Type" field. Make sure the "Hex" checkbox is selected (checked) and the "Type" field has "HEX" as an option selected. Figure 3 shows an example of the command which enables low power mode. Figure 3 - Example of command which enables low power mode The data output format is in Hexadecimal. There is no other output format available. See Figure 4 to easily understand how to read the distance values in decimal format. Copyright © Terabee 2024 Terabee, 90 rue Henri Fabre 01630 Saint-Genis-Pouilly, France (next to CERN) 8/19 TeraRanger Neo ES - User manual Version 1.1 2.2.2.Example HTerm output Figure 4 - Example of HTerm output If we look at the frame "T 06 41 C0 D9" as an example we have: The real distance measured is: 1601 millimeters. FRAME HEADER: T MSB DISTANCE: 0x06 LSB DISTANCE: 0x41 STATUS CODE: 0xC0(16) = 1100 0000(2) => QF = 6(10) (value is between 90% & 100%) CRC:0xD9 Refer to the sectionSensor payloadwhich describesthe payload in detail. Copyright © Terabee 2024 Terabee, 90 rue Henri Fabre 01630 Saint-Genis-Pouilly, France (next to CERN) 9/19 TeraRanger Neo ES - User manual Version 1.1 3. U ART Communication TheTeraRanger Neo ESis controlled through a UARTinterface. 3.1. UART pinout The UART interface uses a single 4 pin Molex connector for interfacing to the host system. The mating connector is a Molex - CONN HEADERSMD4POS1.25MM.Please considerthemechanicalstabilityofthematedconnectorsandavoidanykindofexcess force on the connector (during installation and once integrated). Pin Designator Description 1 5 V +5 V supply input 2 Tx UART transmits output. 3.3 V logic 3 Rx UART receives input. 3.3 V logic 4 GND Power supply and interface ground Table 3 - Pinout and description Figure 5 - Wiring connection Neo ES sensor to a computer Copyright © Terabee 2024 Terabee, 90 rue Henri Fabre 01630 Saint-Genis-Pouilly, France (next to CERN) 10/19 TeraRanger Neo ES - User manual Version 1.1 3.2. Electrical characteristics Parameter Power supply Voltage input (V) Current consumption (mA) Interface logic levels (referenced to +3V3) LOW HIGH Minimum 4.5 V 45 mA - 2.3 Maximum 5.5 V 55 mA 1 - Average 5 V 50 mA - - Table 4 -TeraRanger Neo ESpower consumption Use with a power supply limited to 1 A maximum 3.3. Configuration commands 3.3.1. Command composition The Query (Q): Thequeryframecontainslength(inbytesisthesumofthelength,commandanddata), command code, N bytes of the data and aCRC-8checksumoftheentireframeinthe last byte, for the commands that only read data, the query will not include any data bytes, but the response will. The Response (R): The response contains: The length of the reply message without the CRC-8 byte The command code (same code that was received) Data (only if the query was to read data from the device) otherwise ACK or NACK CRC-8 calculated for the entire message without the actual CRC byte (i.e. from length byte to the last data byte, both included) Copyright © Terabee 2024 Terabee, 90 rue Henri Fabre 01630 Saint-Genis-Pouilly, France (next to CERN) 11/19 TeraRanger Neo ES - User manual Version 1.1 Length Represents the sum of the length, command and the data transmitted. Contents of the Data Field The Data Field contains the data corresponding to the Command to be executed. The data field cannot be empty." 1. An ACKnowledged message contains length, current command, Data and CRC. 2. Non-ACKnowledged message contains length, current command, "command NACK/CRC mismatch /unknown command" and CRC. Contents of the CRC-8 Field The error checking field contains an 8 bit value which is the result of a Cyclic Redundancy Check (CRC) calculation performed on the message contents. The CRC field is appended to the message as the last field in the message. Error handling case: The failure case :a mismatch is detected betweenthe length byte and the actual data sent or an unknown command or command not executed. The reply will be a 4 bytes frame: Length Command Command Error 0x00- No Error/No data 0xFF- NACK 0xCC - Crc mismatch 0xEE - Unknown command CRC-8 Each command message frame must be transmitted in a continuous stream, i.e. not byte by byte It is advised to maintain a time interval of a few microseconds between two messages for proper command registration Copyright © Terabee 2024 Terabee, 90 rue Henri Fabre 01630 Saint-Genis-Pouilly, France (next to CERN) 12/19 TeraRanger Neo ES - User manual Version 1.1 3.3.2. List of commands Description Query in HEX ENABLE LOW POWER Sensor goes into low power mode 0x03 0x07 0xA2 0xB1 LOW POWER WAKEUP 0x03 0x08 0xA3 0x75 Sensor wakes up from low power mode DEVICE RESET Performs a soft reset 0x02 0x05 0x31 Response in HEX 0x03 0x07 0xXX CRC Where XX can be an ACK or NACK 0x03 0x08 0xXX CRC Where XX can be an ACK or NACK The device performs a software reset. Normal startup logic follows (200ms delay until data starts streaming). Table 5 - Valid sensor commands Please refertoConnectingtheTeraRangerNeoEStoaHostComputerforinstructions on how to send commands to the sensor using a host computer and the HTerm emulation software 3.4. Sensor payload This mode provides users with measured distances displayed in the form of binary messages using 5 bytes:TXXSCRC8. The Payload will contain 3 bytes of data (2 fordistanceinmm,1statusbyte), and2 metadata bytes (header and checksum). Status byte: Two bits to indicate overtemperature (>50°C) and critical temperature (>60°C) , three bits to indicate the status of distance measurement and three bits to indicate the quality factor of the distance measurement. The checksum byte is calculated out of the first 4 bytes of themessage(headerbyte, distance reading bytes, and status code byte) Header (1 byte) :T (84 decimal / 0x54 hex) Distance reading in mm (2 bytes) :XX (MSB,LSB) Status Code Byte (1 Byte) :S (One byte toindicate code status of distance measurement. See the Status Codes section below). Checksum (1 byte) :CRC8 Byte 1 Byte 2 Byte 3 "T" MSB LSB FRAME HEADER DISTANCE DISTANCE Byte 4 Byte 5 STATUS CODE CRC-8 Copyright © Terabee 2024 Terabee, 90 rue Henri Fabre 01630 Saint-Genis-Pouilly, France (next to CERN) 13/19 TeraRanger Neo ES - User manual Version 1.1 3.5. Status codes Certainstatuscodeswillbedetectedandreportedbythefirmwareusingthe4thbyteof the payload. Each bit in the byte represents a status flag as described below. High nibble Low nibble BIT 0 BIT 1 BIT 2 BIT 3 BIT 4 BIT 5 BIT 6 BIT 7 QUALITY_FACT OR QUALITY_FACT OR QUALITY_FACT OR DISTANCE_STA TUS DISTANCE_STA TUS DISTANCE_STA TUS CRITICAL_TEMP Critical temperature (>60°C) OVER_TEMP Overtemperate (>50°C) Quality factor bits - (Signal quality level): Thesensorgivesoutaqualityfactorforeverydistancemeasurementwithavaluefrom 0-100andthisisconvertedto3bitsfromvalueto0to6where0isverypoorand6is best quality. Quality Factor Value 0 - 25 0 25 - 50 1 50 - 60 2 60 - 70 3 70 - 80 4 80 - 90 5 90 - 100 6 DISTANCE_STATUS: Gives the status of the distance measurement usingvalues between 0 and 4, where: 0 => no error 1 => min range 2 => out of range 3 => ambient light too high 4 => invalid reading OVER_TEMP:If this bit is set (1), the device is above50°C CRITICAL_TEMP:If this bit is set (1), the deviceis above 60°C Copyright © Terabee 2024 Terabee, 90 rue Henri Fabre 01630 Saint-Genis-Pouilly, France (next to CERN) 14/19 TeraRanger Neo ES - User manual Version 1.1 The sensor will output T01CRC (first distance byte set to zeroandthesecondto one) as an error message if the sensor is unable to measure a distance.Please refer toDistance error casesfor more details abouterror cases. 3.6. Distance error cases Error cases output BINARY Detection below sensors minimum range 0X0000 Detection beyond sensors maximum range 0XFFFF Invalid reading: - out of range - ambient light too high - invalid reading 0x0001 Notethatinsomecases,thesensormightnotdistinguishproperlybetweenerrors i.e.ifbelowminimumrangebutthenareadingcomeswithverypoorquality,the error will change to "Invalid reading" Copyright © Terabee 2024 Terabee, 90 rue Henri Fabre 01630 Saint-Genis-Pouilly, France (next to CERN) 15/19 TeraRanger Neo ES - User manual Version 1.1 3.7. Sample Python script to read data This sample code is a goodwill gesture to our customers. It ismadetohelpour customers speed up their applications.Thissamplecodeisnotmadetobecopy and paste as each customer has a different setup. #!/usr/bin/env python3 #-------------------------------------------------------------------------- -- # Created By : TERABEE # Created Date: 01-03-2022 # version ='1.0' # --------------------------------------------------------------------------- importserial, time importserial.tools.list_ports quality_factor_mask =224 status_mask =28 print('Searching Ports...') ports = serial.tools.list_ports.comports(include_links=False) forportinports : print('Find port '+ port.device) ser = serial.Serial(port.device) ifser.isOpen(): ser.close() ser = serial.Serial(port.device,9600,timeout=1) ser.flushInput() ser.flushOutput() print('Successfully Connected to '+ ser.name) whileTrue: try: data = ser.read() ifdata ==b'\x54': Copyright © Terabee 2024 Terabee, 90 rue Henri Fabre 01630 Saint-Genis-Pouilly, France (next to CERN) 16/19 TeraRanger Neo ES - User manual Version 1.1 raw = ser.read(3) dist =int((list(raw)[0] <<8) |list(raw)[1]) full_status =list(raw)[2] status = full_status & status_mask qf = full_status & quality_factor_mask if(status ==0x00): status_response ="Reading status: No error" elif(status ==0x04): status_response ="Reading status: Minimum Range" elif(status ==0x08): status_response ="Reading status: Out of Range" elif(status ==0x0C): status_response ="Reading status: ambient lightning high" elif(status ==0x10): status_response ="Reading status: invalid reading" if(qf ==0xC0): qf_response ="QF is 90-100%" elif(qf ==0xA0): qf_response ="QF is 80-90%" elif(qf ==0x80): qf_response ="QF is 70-80%" elif(qf ==0x60): qf_response ="QF is 60-70%" elif(qf ==0x40): qf_response ="QF is 50-60%" elif(qf ==0x20): qf_response ="QF is 25-50%" elif(qf ==0x00): qf_response ="QF is 0-25%" print('ToF Distance in [mm]:',dist,qf_response,status_response) ser.flushInput() except: print("Keyboard Interrupt") Copyright © Terabee 2024 Terabee, 90 rue Henri Fabre 01630 Saint-Genis-Pouilly, France (next to CERN) 17/19 TeraRanger Neo ES - User manual Version 1.1 break 3.8. In case of device failure In case of device failure, perform the following troubleshooting list: If RED LED is blinking: Check the wiring in your setup Ensure correctPIN 1 position RX from the TeraRanger Neo ES goes to TX of FTDI TX from the TeraRanger Neo ES goes to RX of FTDI Sensor needs to be powered with 5V and not with 3.3 V Ensure that your power supply can provide at least 250mW at 5V Ifthissequencedoesnotwork,contactyourcommercialrepresentativeorourtechnical support team atterabee.com/support/and indicatethe following information: Describe in details your setup Pictures of your wiring in details Video of the LED sequence Detailed description of your FTDI Copyright © Terabee 2024 Terabee, 90 rue Henri Fabre 01630 Saint-Genis-Pouilly, France (next to CERN) 18/19 TeraRanger Neo ES - User manual Version 1.1 4. Sealed front panel and integration The front panel of the TeraRanger Neo (theblackscreenofthesensor)issealedfora highdegreeofingressprotection.ItmaybepossibletoachieveIP65protectionwiththe proper integration. The rubber gasket can help achieve a secure integration. Front panel in detail Rubber gasket It is the customer's responsibility to test and validate the final IP rating of thesensor integration. We suggest tightening the screws (included) gently with a maximum torque of 0.1Nm . The use of a washer is recommended (not included). The name TERABEE® and the ® are registered trademarks in the following countries: China, European Union, France,SouthKorea, Switzerland,Taiwan, United Kingdom and United States. Terabee reserves the right tomakechanges,corrections,modificationsorimprovementstothisdocument,andtheproductsandservices described herein at any time, without notice. Copyright © Terabee 2024 Terabee, 90 rue Henri Fabre 01630 Saint-Genis-Pouilly, France (next to CERN) 19/19 TeraRanger Neo ES - User manual Version 1.1