Learn more about our scanners at: https://joescan.com
As mentioned in Installation and Wiring, the JS-25 Control Cable can carry two additional signals: Encoder and StartScan.
Encoder Input
JS-25 scan heads measures profiles in a two-dimensional plane; therefore, three-dimensional measurements can only be obtained by 1) moving an object through that laser plane, or 2) by moving the scan head over the object (less common). An encoder can measure the distance traveled, thereby giving a profile a position in space. A connection to the scan head is needed to "stamp" each profile with the encoder position, which is where the encoder inputs come in. For each scan, the value of the encoder is read from the control cable input and is written into the profile.
In EncoderSyncMode, the signal is also used to trigger a scan at regular intervals. The parameters to define the interval are documented in the Encoder and Time Syncronized Scanning Parameters. The signal required from the encoder is a 2-channel RS-422 differential signal at a 5V level. Several types of encoders are available for different applications. JoeScan generally recommends a BEI H25 Incremental Optical Encoder: http://www.beiied.com/PDFs2/H25_Incremental_Encoder.pdf.
For software development, you're not required to have an encoder connected. Without one, you will not receive any profiles in EncoderSyncMode, but PulseSyncMode and TimeSyncMode will work.
Start Scan Signal
The Start Scan Signal is an optional input/output that can have multiple roles:
- In PulseSyncMode, it can synchronize scans across a group of scanners. A PulseMaster head (set via an API call) can output a pulse train on the wire and thus provide a common time base for all participating heads.
- In EncoderSyncMode, it can initiate scanning the scanning process. If the keyword UntriggeredSyncScanning is not present in the parameter file, all scan heads will wait for the Start Scan input to be pulled low before measuring profiles. If the keyword is present, all heads will immediately measure profiles upon entering EncoderSyncMode.