Laser diode connections
The laser diode anode must be connected to the LDn pin of the laser diodes terminal block. The cathode must be connected to GND.
Power supply
Supply with 12 V either using the supply jack or the terminal block (pins V+ and V-). A power supply providing at least 2 A is recommended.
Serial interface
The serial interface can be accessed either via the micro USB connector or via the TX and RX pins of the terminal block. Only one communication channel can be used at a time. UART TX/RX digital voltage level is 3.3 V (5 V tolerant).
The serial interface is the only way of configuring the DRV800 operating parameters. Once the configuration is done, it can be saved to the internal memory with the save command. If the configuration switch CFG (SW2) is ON at start up, the DRV800 will load the user-defined configuration and the serial interface is no longer needed.
The DRV800 can be controlled directly from a serial port terminal (e.g. Teraterm on Windows) with the following configuration:
- Baud rate: 115200
- Parity: None
- Bits: 8
- Stopbits: 1
- Flow control: None
Example use of the serial port terminal
In this example, we set the drivers supply voltage to 6 V, set the current setpoint of channel 3 to 150 mA and retrieve the monitored current.
>>
>> vslaser 6
6.00
>>ilaser 3 150
150.000
>> imon
0.277 0.290 149.985 0.323 0.288 0.272 0.278
>> imon 3
149.987
Note: Each command must be followed by \r\n
.
Control commands
In the following commands channel, is an integer between 1 and 8. When the channel argument is omitted, the command returns the statuses of all channels separated by whitespaces.
Command | Description | Type | Unit | Default | Min | Max |
---|---|---|---|---|---|---|
ilaser [channel] | Laser current | R/W | mA | 0.0 | 0.0 | 210.0 |
modgain [channel] | Modulation gain | R/W | 0 | 0 | 1 | |
vslaser | Laser drivers supply voltage | R/W | V | 5.0 | 4.8 | 9.0 |
lckon | Disable | enable interlock functionality | R/W | 0 | 0 | 1 | |
imon [channel] | Monitored laser current | R | mA | |||
vmon [channel] | Monitored laser voltage | R | V | |||
vslmon | Monitored laser supply voltage | R | V | |||
ldelay | Time between when the controller lights up and when the laser lights up | R/W | ms | 1000.0 | 10.0 | 100000.0 |
vdrop [channel] | Monitor transistor voltage drop | R | V | |||
tboard | Board temperature | R | °C | |||
vbus | Input supply voltage | R | V | |||
ibus | Input supply current | R | A | |||
version | Firmware version | R | v0.3 | |||
save | Save configuration in internal memory (no argument) | W | ||||
serial | Return the serial number | R | ||||
userdata write | Write the user data (e.g. userdata write ABC) | W | 31 chars | |||
userdata | Read the user data | R | ||||
brate | UART baud rate | R/W | baud | 115200 | 9600 | 460800 |
err | Return the error code in hexadecimal format (no argument) | R | ||||
errclr | Clear the error code (no argument) | W |
Interlock
An optional interlock functionality can be activated with the lckon 1 command. Laser current is then disabled when the LCK pin is pulled low. Once laser current has been disabled, the serial command lason 1 must be sent to re-enable the laser current. The behavior of the interlock pin can be inverted with the command lckon 3.
Error codes
The command err returns a 32-bit number in hexadecimal representation which concatenates the detected errors (B0 is the Least Significant Bit):
- B0: UART_BUFFER_OVERFLOW (err = 1)
- B1: UART_CMD_BEFORE_PROMPT (err = 2)
- B2: RESERVED (err = 4)
- B3: RESERVED (err = 8)
- B4: BUS_UNDERVOLTAGE (err = 10)
- B5: BUS_OVERVOLTAGE (err = 20)
- B6: BOARD_OVERTEMPERATURE (err = 40)
- B7: WARNING_BOARD_TEMPERATURE (err = 80)
- B8: INTERLOCK_TRIGGERED (err = 100)
- B9: LASER_ON_WHILE_INTERLOCK (err = 200)
- B10: CMD_UNKNOWN (err = 400)
- B11: CMD_INVALID_ARG (err = 800)
- B12: LASER1_CONNECTION_FAULT (err = 1000)
- B13: LASER2_CONNECTION_FAULT (err = 2000)
- B14: LASER3_CONNECTION_FAULT (err = 4000)
- B15: LASER4_CONNECTION_FAULT (err = 8000)
- B16: LASER5_CONNECTION_FAULT (err = 10000)
- B17: LASER6_CONNECTION_FAULT (err = 20000)
- B18: LASER7_CONNECTION_FAULT (err = 40000)
- B19: LASER8_CONNECTION_FAULT (err = 80000)
A single error triggers the ALM pin on the terminal block to go high.
Drivers supply voltage adjustment
A programmable voltage source supplies all the drivers. The supply voltage is programmable from 4.8 V to 9 V using the vslaser command. It must be adjusted to optimize the trade-off between power dissipation and modulation performance.
The vdrop command can be used to monitor the voltage across each driver transistor. Adjusting vslaser for a drop voltage around 1 V typically provides good regulation while maintaining moderate power dissipation.
Thermal management
The DRV800 is protected against over-temperature. If the board temperature rises above 75 °C a high temperature warning is emitted (WARNING_BOARD_TEMPERATURE). When the temperature increases beyond 95 °C, the laser drivers are shutdown and an over-temperature error (BOARD_OVERTEMPERATURE) is emitted. After an over-temperature shutdown, the DRV800 must be restarted, either by cycling OFF and ON the power supply or by sending a reset command.
Modulation response and cable length
Modulation response depends on the inductance between the laser driver and the laser diode. To minimize parisitic inductance from the cable, use the shortest possible twisted pair cable.
For example, the figure below shows the influence of a 1.6 m long twisted pair cable.