Supply connector
- +VCC: Positive power supply (3.5 V to 5.5 V).
- -VCC: Negative power supply (-5.5 V to -5.0 V).
Communication connector
- ALM: Alarm output (3V3 logic).
- LCK: Interlock pin (see Interlock).
- TX: UART TX pin.
- RX: UART RX pin.
Configuration switch
- 1: CFG If CFG is ON at start-up, the board will start with the user-defined configuration. Otherwise, the default configuration is loaded.
- 2: BM This pin is used for firmware update. Set to OFF for normal operation.
Serial interface
The serial interface can be accessed via TX and RX pins on the communication connector (3V3 logic level / 5V tolerant). The serial interface is the only way to configure the CTL20 operating parameters. Once the configuration is done, it can be saved to the internal memory with the save command. If the CFG input is ON at start-up, the CTL20 will load the user-defined configuration and the serial interface is no longer needed.
The CTL20 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
>>
>>version
V0.2
>>rtset
10000.000000
>>rtact
10000.023438
>>rtset 12000
12000.000000
>>rtact
11999.853516
Note: Each command must be followed by \r\n
.
Control commands
Command | Description | Type | Unit | Default | Min | Max |
---|---|---|---|---|---|---|
lason | Disable | enable laser current | R/W | 0 | 0 | 1 | |
ilaser | Laser current | R/W | mA | 0.0 | 0.0 | ilmax |
vlaser | Laser voltage | R | V | |||
lckon | Disable | enable interlock functionality | R/W | 0 | 0 | 1 | |
ilmon | Monitored laser current | R | mA | |||
ldelay | Time between when the controller lights up and when the laser lights up | R/W | ms | 1000.0 | 10.0 | 100000.0 |
ilmax | Software current limit | R/W | mA | Driver nominal current | 0.0 | 500.0 |
lilim | Select laser current limit high (1) or low (0) | R/W | 1 | 0 | 1 | |
tecon | Disable | enable TEC current | R/W | 0 | 0 | 1 | |
tprot | Disable | enable temperature protection | R/W | 1 | 0 | 1 | |
rtset | Thermistor resistance setpoint | R/W | Ω | 10000.0 | rtmin | rtmax |
rtact | Actual value of thermistor resistance | R | Ω | |||
itec | TEC current | R | A | |||
vtec | TEC voltage | R | V | |||
kprop | Proportional gain of the temperature controller | R/W | V/°C | 0.27 | 0.0 | 100.0 |
tint | Integral time of the temperature controller | R/W | s | 1.21 | 0.0 | 10000.0 |
tder | Differential time of the temperature controller | R/W | s | 0.0 | 0.0 | 1000.0 |
tilim | TEC current limit | R/W | A | 1.0 | 0.25 | 1.5 |
rtmin | Minimum thermistor resistance. If temperature protection is enabled, the laser current is automatically disabled below this value. | R/W | Ω | 5000.0 | 2000.0 | 50000.0 |
rtmax | Maximum thermistor resistance. If temperature protection is enabled, the laser current is automatically disabled above this value. | R/W | Ω | 15000.0 | 2000.0 | 50000.0 |
vtmin | Minimum TEC voltage | R/W | V | -2.0 | -3.0 | 0.0 |
vtmax | Maximum TEC voltage | R/W | V | 3.0 | 0.0 | 3.0 |
tjunc | TEC driver junction temperature | R | °C | |||
iphd | Photodiode current | R | mA | 0.0 | 5.0 | |
tboard | Board temperature | R | °C | |||
vpos | Positive supply voltage | R | V | |||
vneg | Negative supply voltage | R | V | |||
version | Firmware version | R | v0.1 | |||
status | Return lason, vlaser, ilmon, itec, vtec, rtact, iphd | R | ||||
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 |
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: VPOS_UNDERVOLTAGE (err = 10)
- B5: VPOS_OVERVOLTAGE (err = 20)
- B6: VNEG_UNDERVOLTAGE (err = 40)
- B7: VNEG_OVERVOLTAGE (err = 80)
- B8: BOARD_OVERTEMPERATURE (err = 100)
- B9: LASER_UNDERTEMPERATURE (err = 200)
- B10: LASER_OVERTEMPERATURE (err = 400)
- B11: TEC_AMP_OVERTEMPERATURE (err = 800)
- B12: LDO_OVERTEMPERATURE (err = 1000)
- B13: LASER_DRIVER_OVERTEMPERATURE (err = 2000)
- B14: CMD_UNKNOWN (err = 4000)
- B15: CMD_INVALID_ARG (err = 8000)
- B16: LASER_ON_WHILE_INTERLOCK (err = 10000)
- B17: INTERLOCK_TRIGGERED (err = 20000)
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.