Page 3
This document, submitted in confidence, contains proprietary information that shall not be reproduced or transferred to other documents or disclosed to others or used for manufacturing or any other purpose without prior written permission of LMI Technologies Inc. LMI Technologies Inc. 1673 Cliveden Ave. Delta, BC V3M 6V5 Canada...
L1 User Manual LMI Technologies Inc. 1. INTRODUCTION 1.1 General Description ® The DynaVision L1 sensor is a high performance line profiling sensor which can be used in a wide variety of applications including the profiling of logs, boards, and other diffuse, or nearly diffuse, surfaces.
L1 User Manual LMI Technologies Inc. Data is acquired by the sensor head and transmitted to the host computer over the high-speed TAXI data link to the host interface in the host computer. Commands can be sent to the sensor head over the RS-485 serial interface although this is not mandatory.
L1 User Manual LMI Technologies Inc. = (k * delta ) + y position in stream value value value Figure 3. L1 Sensor output is a stream of encoded (x,y) values simple call interfaces for data acquisition and sensor control.
Page 10
L1 User Manual LMI Technologies Inc. Sensor Y Axis Standoff Range (0,0) Sensor X Axis L1 Sensor Measurement Region Figure 4. Measurement Region Page 9 of 71...
L1 User Manual LMI Technologies Inc. 2. COMPONENT OVERVIEW 2.1 L1 sensor Head The L1 sensor head is a high performance laser line sensor based on the triangulation principle. It is illustrated in Figure 5. It forms the sensing component of the L1 system.
L1 User Manual LMI Technologies Inc. The L1 Host Interface consists of one or more IndustryPack (IP) carrier boards, and ® one or more DynaVision TAXI_IP_Rx host-interface daughter boards (one for each L1 sensor). Industry Pack carrier boards can be obtained from GreenSprings and other ®...
L1 User Manual LMI Technologies Inc. 3. SAFETY CONSIDERATIONS 3.1 Laser Safety The L1 sensor uses lasers for measuring ranges. This requires that specific safety precautions be taken when servicing the equipment. Caution! Use of controls or adjustments, or performance of procedures other than those specified herein may result in hazardous radiation exposure.
Page 14
L1 User Manual LMI Technologies Inc. In accordance with the U.S. Department of Health and Human Services standards under the Radiation Control for Health and Safety Act of 1968, the following safety labels are affixed to each individual SENSOR head:...
1968” : HHS Publication FDA 88-8035. This publication can be obtained directly from the FDA. LMI Technologies Inc. has filed a report with the FDA to assist OEMs in achieving certification of their own applications. These reports can be referenced by their accession number, which will be provided upon request.
L1 User Manual LMI Technologies Inc. 4. SPECIFCATIONS 4.1 L1 sensor Head 4.1.1 Mechanical Dimensions: 2.5" x 7.0" x 16.0" (64mm x 178mm x 407mm) Weight: <10lb (<4.5kg) Mounting: Three-point mount to eliminate twist of enclosure, compatible with 5/16" mounting hardware 4.1.2 Electrical...
L1 User Manual LMI Technologies Inc. 5. SETUP AND OPERATION OF YOUR L1 SENSOR This section describes the procedures for installing your L1 sensor components. 5.1 Install the Host Interface To install the host interface do the following. Remove the host computer cover ...
L1 User Manual LMI Technologies Inc. RS-232 communications port to RS-485). You can now switch the AC power back on and allow the computer to boot. 5.2 Install LMI.SYS Device Driver To install: 1. If you are installing the driver to a Windows NT 4.0 machine, right click on the file "nt4\lmi.inf"...
L1 User Manual LMI Technologies Inc. Position the sensor (as per section 5.3.1 above) with a test object within its operating region. Turn on the sensor and confirm it is operating. Then turn on the host computer. Use the L-series Diagnostic Program program to verify that the IP card(s) and sensor (s) were properly detected.
L1 User Manual LMI Technologies Inc. 5.6 Calibrate the Scanner System Once all laser fans are co-planar, you can perform a system calibration for the scanner system. This is required, in order to obtain data from the sensor s in a common reference frame.
L1 User Manual LMI Technologies Inc. 6. MAINTENANCE AND SERVICING WARNING! Always ensure that proper laser safety procedures are observed when working around the sensor . Performance of procedures other than those specified herein may result in hazardous radiation exposure.
L1 User Manual LMI Technologies Inc. A.1 Overview Data is transmitted from the L1 sensor head to the associated Host Interface card using ® the DynaVision TAXI Protocol. TAXI is a high-speed, point-to-point, communication interface developed by Advanced Micro Devices (AMD). In combination with fiber-optic transmitters and receivers, it provides high noise immunity and a bandwidth of 100 Mbps.
A.4 Taxi Interface Library This section describes the Host Application Interface Library (Taxi Interface) for the L- series sensor s from LMI Technologies Inc. The host application interface library provides a set of C-language routines to support data transfer from the Host Interface to host application memory.
L1 User Manual LMI Technologies Inc. Constants Constant Value Description NUMDIAGS size of diagnostics array in words NUMDATA number of data points per laser object NUML1DATA number of data points per L1 GetData request NUML4DATA 1000 number of data points per L4 GetData request...
L1 User Manual LMI Technologies Inc. DCS_NOISE invalid data captured DCS_BAD_DEVICE the device specified is invalid DCS_SYNCH_INCOMPLETE some groups were not synchronized DCS_SYNCH_TIMEOUT data could not be synchronized Type Definitions /* Stucture used to hold the revision number of the DLL */ typedef struct short majorRevision;...
L1 User Manual LMI Technologies Inc. lxn_Init PURPOSE: Initializes the library. INPUT: None RETURN: //DCS error code COMMENT: Must be called before any other library functions. SYNTAX: int lxn_Init(void); lxn_Terminate PURPOSE: Performs any necessary cleanup when the lxnlib library is no longer needed.
L1 User Manual LMI Technologies Inc. lxn_GetNumHeads PURPOSE: Called to obtain the count and physical layout of detected IPs corresponding to a particular device type (L1, L4 or encoder). INPUT: int device //type of device (L1_DEVICE, etc) unsigned int *mask...
L1 User Manual LMI Technologies Inc. int *destination //pre-allocated buffer to return sensor data RETURN: //DCS error code COMMENT: The buffer pointed to by destination should be large enough to hold (lxn_GetDataSize(device)) elements. SYNTAX: int lxn_GetData(int device, int head, int *destination);...
L1 User Manual LMI Technologies Inc. NUMDIAGS elements. Data will be returned in the following format: Index Description Units Packet ID 1111 = L1 4444 = L4 Supply voltage (nominally 15 V) 0.1V Internal 5V Regulator supply 0.1V Reserved Case temperature °C...
L1 User Manual LMI Technologies Inc. frame index indicates that the function should wait for a new frame before returning data. If lastFrame is set to NULL, the function will simply return the next available data frame. SYNTAX: int lxn_GetDataAndDiags(int device, int head, int *data, int *diags, int *lastFrame);...
L1 User Manual LMI Technologies Inc. Note that in the above example, the data in the range data[NUML1DATA*2 + 1]...data[NUML1DATA*3 - 1] will not be modified by the library, and will contain the same values that were originally passed in to lxn_GetAllData.
L1 User Manual LMI Technologies Inc. lxn_GetEncoderCount PURPOSE: Gets the current count value from the specified encoder counter. INPUT: int card //logical index of the encoder card int counter //logical index of the encoder counter RETURN: //DCS error code SYNTAX : int lxn_GetEncoderCount(int card, int counter);...
L1 User Manual LMI Technologies Inc. lxn_SetEncoderRes PURPOSE: Sets encoder resolution. INPUT: int encoder //encoder index int counter //counter index; (0->3) int resolution //1 - one count for each full cycle of quadrature inputs //2 - two counts //4 - four counts...
Page 36
L1 User Manual LMI Technologies Inc. The following is an example of how to initialize the encoder. if (num_encoders > 0) // initialize encoder card 0, counter 0 lxn_InitEncoder(0,0); // set the encoder direction to forward initially direction = 0; // 0=forward, otherwise reverse lxn_EncoderCountDirection(0, 0, direction);...
Page 37
L1 User Manual LMI Technologies Inc. printf("Press a key to stop displaying the encoder value...\n\n"); // while no key is pressed while( !_kbhit() ) // read the encoder if ((count = lxn_GetEncoderCount(EncCard, QuadCounter)) < 0) return rv; // display the encoder count printf("The encoder count is %d...
L1 User Manual LMI Technologies Inc. B.1 Overview The Calibrate DLL provides a tool to calculate the (x, y, ) transformation required to convert scan data from a sensor 's local coordinate frame to a user specified global coordinate frame.
L1 User Manual LMI Technologies Inc. If multiple sensor heads are arranged in a ring around the scan zone, the angle and offset of each sensor head defines its position in the global coordinate frame. The angle (in radians) is the counter-clockwise rotation about the z-axis of the sensor head required to orient the sensor 's field of view with the scan zone.
L1 User Manual LMI Technologies Inc. B.3 Type Definitions Calibrate.h The following two data types are used, and they are defined in typedef struct { double x; double y; double theta; } DVFRAME; typedef struct { double x; double y;...
L1 User Manual LMI Technologies Inc. B.5 Example of Using the Calibrate DLL API The following is an example of how to use the Calibrate DLL. In this example, the calibration object must have already been placed in the field of view. This code is written for a C++ module.
L1 User Manual LMI Technologies Inc. B.6 Calibration Object File The calibration DLL requires a calibration object definition file. This file (see Section B.7) defines the shape of the calibration object (target). The file must have a ". " extension.
Page 44
L1 User Manual LMI Technologies Inc. // Note: The points must be labeled in clockwise order and point 0 cannot be a v-section vertex The data for the 6x6” cross calibration target (Figure B.3) is: 12 4 0 0 0...
L1 User Manual LMI Technologies Inc. C.1 Overview To build a scanning system you need to assemble and integrate the following components: One or more L1 sensors (including Host Interfaces) A material transport system that moves the objects to be measured through the measurement region of the sensors ...
L1 User Manual LMI Technologies Inc. The orientation of the sensor heads is easily done graphically (especially in a CAD system). First, create a cross-section through the object transport that shows the following: Cross-sections of the largest and smallest objects to be scanned ...
L1 User Manual LMI Technologies Inc. C.4 Ambient Light Considerations: Control the Environment: The L1 sensors are optical devices. They project laser lines onto the target surface and use cameras to ‘ see’ these lines. While filtering and processing is done to improve...
L1 User Manual LMI Technologies Inc. Material Transport System The material transport system conveys the measurement objects through the measurement region of the L1 sensors. Design the material transport so that it is “ invisible” to the sensor system. This can be accomplished by: ...
L1 User Manual LMI Technologies Inc. C.7 Power Supplies DC Power must be provided to the L1 sensor heads of the scanning system. The DC supplies should be sized so as to meet the requirements as outlined in Section 4.
Page 51
L1 User Manual LMI Technologies Inc. Data can be requested in either integer or short format. The range data is measured along the x-axis of the sensor. The x-coordinate range data is returned in an array. The y-coordinate of each buffer position is static and does not need to be retrieved on 0x8000 every data request.
L1 User Manual LMI Technologies Inc. D.1 Connector Overview The L1 sensor head has two connectors as shown in Figure E.1. Fiber optic connector ITT Cannon Military Connector (MS 3102E18-IP) Figure D.1. L1 Sensor Head Connectors D.2 Multi-pin Military Connector The multi-pin MIL-C-5015 military connector is a 10-pin male connector manufactured by ITT Cannon and Amphenol.
L1 User Manual LMI Technologies Inc. D.3 Cable Recommendations The power cables must be sized so that they can handle a minimum 15 VDC at 1 Amp to each sensor head. For the optional RS-485 connection, it is recommended that Belden Cable type 8723 (or equivalent) be used to connect the sensor head to the host computer.
Page 55
L1 User Manual LMI Technologies Inc. Page 54 of 71...
Page 56
L1 User Manual LMI Technologies Inc. Page 55 of 71...
L1 User Manual LMI Technologies Inc. E.1 Introduction The L-Series Diagnostic Program, LxDiags.exe is provided to display data from L- series sensors. This program communicates with an L-series sensor using the ® DynaVision Host Applications Interface Library. It can help with your host application development, and test your Scanner system.
L1 User Manual LMI Technologies Inc. F.1 Sensor modes 1. Multiplexing Modes L1 Multiplexing modes permit two rows of L1 sensors to operate without interference even while their measurement regions and lasers overlap. The heads are split into one or two Sync Groups (see Figure F.1). This feature may also be used to synchronize the operation of a single row of L1 sensors.
Page 61
L1 User Manual LMI Technologies Inc. When setting up the system, you may have the laser lines from one head overlapping the lasers from the opposite head, or they can be offset laterally by some amount. Operating the heads in multiplex mode will not adversely affect the data returned from the sensor nor will it reduce the scan rate of the heads.
Page 62
L1 User Manual LMI Technologies Inc. 4. The mode of each head is stored in its Flash memory. When it starts up, it reads it’ s mode and acts accordingly: o Master and Free-Running heads will start up and run on their own.
L1 User Manual LMI Technologies Inc. APPENDIX G: RS-485 Serial Interface Page 62 of 71...
Page 64
L1 User Manual LMI Technologies Inc. RS-485 Serial Communications: The heads are all individually wired up to communicate serially using four-wire RS-485 communications. Presently, the Lx Serial Bus Address Editor and the L1 Multiplex Configuration applications must have a fully operational serial link between the computer they are installed on and the heads before they can operate properly.
Page 65
L1 User Manual LMI Technologies Inc. LxSerial.dll API An RS-485 serial API library is provided in order to allow the user to include serial commands in their application. An example of how to use this library is included in the software package (sample.c).
L1 User Manual LMI Technologies Inc. Type Definitions Instances of this type refer to objects created for managing Lx serial communication sessions; intialize intstances of this type to 0. typedef void* LxSerialHandle; Instances of this type specify a mode of sensor operation.
L1 User Manual LMI Technologies Inc. int rowCount; //number of rows to transmit int updateCount; //number of times to transmit the same packet (2..255) } LxsGreyscaleInfo; Functions: lxs_GetLibraryVersion Purpose: Returns the current version of this library as a dotted string.
L1 User Manual LMI Technologies Inc. lxs_GetLastError to determine the cause of failure. Comment: This call allocates resources. Ensure that lxs_DestroySerialChannel is called on the returned handle when the serial channel object is no longer required. Syntax: LxSerialHandle LMIAPI lxs_CreateSerialChannel();...
L1 User Manual LMI Technologies Inc. lxs_SetSerialBusAddress Purpose: Sets the serial bus address currently associated with the specified channel handle. This address will be used in subsequent communications until this function is called again to change the address. Input: LxSerialHandle channel...
L1 User Manual LMI Technologies Inc. lxs_Resetsensor Purpose: Resets the sensor. Input: LxSerialHandle channel //valid handle to a serial channel object Return: Non-zero upon success; zero upon failure. Call lxs_GetLastError to determine the cause of failure. Syntax: int LMIAPI lxs_Resetsensor (LxSerialHandle channel);...
L1 User Manual LMI Technologies Inc. Syntax: int LMIAPI lxs_GetSyncInfo(LxSerialHandle channel, LxsSyncMode *syncMode, int *isSoftwareControlled, int *isSynchronized); lxs_SetSyncMode Purpose: Temporarily sets the synchronization mode of a sensor. Input: LxSerialHandle channel //valid handle to a serial channel object LxsSyncMode //new sync mode Return: Non-zero upon success;...
L1 User Manual LMI Technologies Inc. Also note that if you wish to commmunicate with the modified sensor after it is rebooted, you must call lxs_SetSerialBusAddress to update the serial bus address used by the LxSerial library. Syntax: int LMIAPI lxs_WriteSerialBusAddress(LxSerialHandle channel, int newAddress);...