| Literature DB >> 35607676 |
Florian Kehl1,2,3,4, Vlad F Cretu1, Peter A Willis1.
Abstract
This article describes the development of a compact, relatively low-cost, high compliance voltage laser driver that can provide the constant optical laser output required for a range of applications. The system contains an integrated, high-precision temperature controller that can be implemented with butterfly-style lasers containing an internal thermoelectric cooler. The laser parameters can be controlled manually or via an onboard microcontroller. Additionally, an adjustable over-current protection circuit safeguards the laser diode from potential damage.Entities:
Keywords: Butterfly laser; High compliance voltage; Laser control; Optical sensing
Year: 2021 PMID: 35607676 PMCID: PMC9123447 DOI: 10.1016/j.ohx.2021.e00240
Source DB: PubMed Journal: HardwareX ISSN: 2468-0672
Fig. 1Photograph of the fully assembled laser driver board.
Fig. 2Pin layout of the Teensy 3.5 microcontroller, together with a 3.3 – 5 V level shifter (U6) for digital I/Os and the optional Ethernet module (U12).
Fig. 3External 12 V power is supplied through J1 or alternatively the EXT_PWR pin header. The overall current, and hence power consumption of the board, can be measured by U1. VR1 provides the 5 V rail. U7 is an ultralow noise, low-dropout linear regulator which provides the necessary 9 V at VS required from the input 12 V. This voltage is necessary to power the laser controller as well as provide the voltage across the laser diode. Similarly, U11 is a low noise inverting regulator configured to output a small negative voltage at VEERAW. VEERAW, at −0.1 V, and VS provide the rails for various op-amps to control the laser diode.
Fig. 414-pin butterfly laser diode (LD) with its internal elements: laser diode, feedback photodiode, thermistor, and thermoelectric cooler. If an external photodiode is desired, jumpers JP 1–3 have to be cut. 1: TEC (+), 2: Thermistor, 3: PD Anode (+), 4: PD Cathode (−), 5: Thermistor, 6: Not Connected (NC), 7: NC, 8: NC, 9: NC, 10: LD Anode (+), 11: LD Cathode (−), 12: NC, 13: NC, 14: TEC (−).
Fig. 5Switch SW1 selects between CC and CP mode. With SW2, the laser can either be disabled manually (e.g., for safety reasons), or controlled via the microcontroller. FL500 (U8) is the laser driver that controls the output laser diode current up to 250 mA by adjusting the voltage out of the LDC1 pin. This voltage output of the FL500 is compared across a 1 Ω resistor with U4A op-amp configuration. The output at TP4 will give a ratio of 250 mA/2V as a one-to-one comparison to the current flowing through the laser diode. U2B further amplifies this value from 2 to 3.3 to utilize the full range of the Teensy ADC. U10B provides signal conditioning for the laser setpoint. U10B can control both CP and CC setpoint, depending on the position of SW1.
Fig. 6The PDA input current can be adjusted accordingly by changing RPD. This small voltage is amplified by a gain of 2 in U4B and fed into U3A where it is compared to the set PD current and filtered.
Fig. 7This circuitry allows the operator to adjust the maximum current that flows through the laser diode. The FL500 is capable of delivering up to 250 mA in single-mode operation. Thus, by adjusting the RV_I potentiometer, the VSET input will be attenuated to the value measured at I_MAX at the output VOUT.
Fig. 8Switch SW 4 allows for manual disabling of the MOT3000-25 TEC controller (U5), or for toggling on/off by the microcontroller. Also, the temperature setpoint can either be controlled manually by the variable resistor RV_T, or through an analog signal from the Teensy, depending on the position of SW5. If the laser temperature is outside a ±1.5 °C window around the set temperature, the TEMP_ALARM LED will illuminate. If desired, the maximum output current (IMAX) and the maximum output voltage (VMAX) of the TEC controller can be limited by soldering resistors at positions R23, R24, and R27, respectively. The reader is referred to the MOT3000-25 datasheet for the appropriate values.
Fig. 9CAD top view of the assembled board (left), together with a map of the board, highlighting critical hardware elements, such as the laser and the heatsink, switches SW1, SW2, SW4, where the external PD can be connected, and where the maximum laser current (I_MAX) can be set, as well as the TEC temperature (T_SET).
Fig. 10Laser board mounted in 3D-printed enclosure.
Fig. 11Solder nuts to the eight through-holes (red circles) to mount the laser (inner four holes) and the laser socket (outer four holes) using M2 screws. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)
Fig. 12Bottom side of a Teensy 3.5. For nominal operation with the presented board, the indicated trace needs to be cut.
Fig. 13Laser diode current in CC mode over 30 min.
Fig. 14Optical laser output power in CP mode over 30 min.
Fig. 15Laser temperature stability over 20 min (left), and peak wavelength stability over 60 min (right).
| Subject Area | Electrical Engineering Optics |
| Hardware Type | Laser Driver |
| Open Source License | |
| Cost of Hardware | |
| Source File Repository |
| Laser PCB V1.0.sch | Schematics | ||
| Laser PCB V1.0.brd | Layout | ||
| Laser PCB V1.0.lbr | Library | ||
| Laser_Board_Firmware_V1.0.zip | Firmware | ||
| Laser PCBA Parasolid.x_t | CAD | ||
| Laser Enclosure Box.STL | CAD, 3D-printing | ||
| Laser Enclosure Lid.STL | CAD, 3D-printing |
| Laser PCB V1.0.sch | Autodesk Eagle schematic file. The PCB schematic can be viewed and edited if desired. |
| Laser PCB V1.0.brd | Autodesk Eagle board file. Required to produce the PCB. |
| Laser PCB V1.0.lbr | Autodesk Eagle part library for the PCB. |
| Laser_Board_Firmware_V1.0.zip | Contains the *.ino, *.cpp, and *.h files to program the Teensy controller. |
| Laser PCBA Parasolid.x_t | 3D model of the PCB assembly. |
| Laser Enclosure Box.STL | STL-File to 3D-print the enclosure box. |
| Laser Enclosure Lid.STL | STL-File to 3D-print the enclosure lid. |
| C1, C6, C35, C36, C45, C46, C47, C50, C51, C52, C53 | CAP CER 0.1UF 50 V X7R 0805 | 11 | 0.07 | 0.80 | Digi-Key | 478-10836-1-ND | 08055C104KAT4A |
| C10 | CAP CER 1200PF 50 V X7R 0805 | 1 | 0.11 | 0.11 | Digi-Key | 399-8018-1-ND | C0805C122K5RACTU |
| C13, C23, C24, C37, C38 | CAP CER 22UF 25 V X5R 0805 | 5 | 0.47 | 2.35 | Digi-Key | 490-10749-1-ND | GRM21BR61E226ME44L |
| C2 | CAP CER 47UF 10 V X5R 0805 | 1 | 0.77 | 0.77 | Digi-Key | 490-9961-1-ND | GRM21BR61A476ME15L |
| C21, C33 | CAP CER 0.47UF 25 V X7R 0805 | 2 | 0.1 | 0.2 | Digi-Key | 1276-6480-1-ND | CL21B474KAFNNNG |
| C22 | CAP CER 4.7UF 25 V X5R 0805 | 1 | 0.11 | 0.11 | Digi-Key | 1276-1244-1-ND | CL21A475KAQNNNE |
| C27, C28 | CAP CER 150UF 6.3 V X5R 1206 | 2 | 1.14 | 2.28 | Digi-Key | 490-13969-1-ND | GRM31CR60J157ME11L |
| C3, C7, C8, C54 | CAP ALUM 100UF 20% 16 V SMD | 4 | 0.43 | 1.72 | Digi-Key | P15086CT-ND | EEE-FT1C101AR |
| C4, C12, C14, C18, C20, C25, C26, C32, C34, C39, C40, C41, C42, C55, C56 | CAP CER 10UF 16 V X5R 0805 | 15 | 0.08 | 1.25 | Digi-Key | 1276-6455-1-ND | CL21A106KOQNNNG |
| C43 | CAP CER 0.022UF 16 V X7R 0805 | 1 | 0.1 | 0.1 | Digi-Key | 732-8041-1-ND | 885,012,207,041 |
| C44 | CAP CER 0.012UF 50 V X7R 0805 | 1 | 0.13 | 0.13 | Digi-Key | 399-9171-1-ND | C0805C123K5RACTU |
| C5, C9, C29, C30, C31 | CAP CER 1UF 25 V X7R 0805 | 5 | 0.1 | 0.5 | Digi-Key | 1276-1066-1-ND | CL21B105KAFNNNE |
| D0 | DIODE SCHOTTKY 40 V 2A DO214AC | 1 | 0.46 | 0.46 | Digi-Key | 641-1698-1-ND | CDBA240LL-HF |
| D1 | DIODE GEN PURP 100 V 150MA SOD123 | 1 | 0.17 | 0.17 | Digi-Key | 1N4148WRHGCT-ND | 1N4148W RHG |
| D2 | IC VREF SHUNT 0.5% SOT23 | 1 | 0.64 | 0.64 | Digi-Key | LM4040C25QFTADICT-ND | LM4040C25QFTA |
| D3, D4 | DIODE SCHOTTKY 20 V 500MA SOD123 | 2 | 0.29 | 0.58 | Digi-Key | MBR0520LT1GOSCT-ND | MBR0520LT1G |
| D5 | DIODE SCHOTTKY 40 V 1A SMB | 1 | 0.37 | 0.37 | Digi-Key | MBRS140T3GOSCT-ND | MBRS140T3G |
| EXT_PWR | CONN HEADER VERT 2POS 2.54MM | 1 | 0.11 | 0.11 | Digi-Key | A1921-ND | 640456-2 |
| L1 | FERRITE BEAD 72 OHM 1806 1LN | 1 | 0.19 | 0.19 | Digi-Key | 587-1776-1-ND | FBMJ4516HS720NT |
| L2, L3 | FIXED IND 47UH 620MA 600MOHM SMD | 2 | 0.76 | 1.52 | Digi-Key | SRR4018-470YCT-ND | SRR4018-470Y |
| LD_ON | LED BLUE CLEAR 0805 SMD | 1 | 0.18 | 0.18 | Digi-Key | 732-4982-1-ND | 150080BS75000 |
| LD_RDY | LED YELLOW CLEAR 0805 SMD | 1 | 0.18 | 0.18 | Digi-Key | 732-4987-1-ND | 150080YS75000 |
| P_MON, TP1, TP3, TP4, T_SET | PC TEST POINT COMPACT BLACK | 5 | 0.4 | 2 | Digi-Key | 36-5006-ND | 5006 |
| PSW | SWITCH SLIDE DPDT 300MA 6 V | 1 | 0.55 | 0.55 | Digi-Key | 401-2002-1-ND | JS202011SCQN |
| PWR_LED | LED GREEN CLEAR 0805 SMD | 1 | 0.18 | 0.18 | Digi-Key | 732-4986-1-ND | 150080VS75000 |
| R1, R10, R20, R22, R29, R31 | RES SMD 10 K OHM 1% 1/3W 0805 | 6 | 0.1 | 0.6 | Digi-Key | A126417CT-ND | CRGH0805F10K |
| R12, R19, R32 | RES 20 K OHM 1% 1/4W 0805 | 3 | 0.1 | 0.3 | Digi-Key | RNCP0805FTD20K0CT-ND | RNCP0805FTD20K0 |
| R14 | RES SMD 249 OHM 1% 1/8W 0805 | 1 | 0.1 | 0.1 | Digi-Key | 13-RT0805FRE07249RLCT-ND | RT0805FRE07249RL |
| R17 | RES SMD 1.3 K OHM 5% 1/2W 0805 | 1 | 0.1 | 0.1 | Digi-Key | P1.3KADCT-ND | ERJ-P06J132V |
| R18, R57 | RES 100 K OHM 1% 1/8W 0805 | 2 | 0.1 | 0.2 | Digi-Key | RMCF0805FT100KCT-ND | RMCF0805FT100K |
| R2, R11, R62 | RES SMD 5 K OHM 1% 1/8W 0805 | 3 | 0.13 | 0.39 | Digi-Key | 541-4321-1-ND | CRCW08055K00FKTA |
| R21 | RES SMD 4.53KOHM 0.5% 1/10 W 0805 | 1 | 0.1 | 0.1 | Digi-Key | RR12P4.53KDCT-ND | RR1220P-4531-D-M |
| R25, R67, R68, R75 | RES 470 OHM 1% 1/8W 0805 | 4 | 0.1 | 0.4 | Digi-Key | RMCF0805FT470RCT-ND | RMCF0805FT470R |
| R26, R33 | RES 100 OHM 1% 1/4W 0805 | 2 | 0.1 | 0.2 | Digi-Key | RNCP0805FTD100RCT-ND | RNCP0805FTD100R |
| R28 | RES SMD 15.8 K OHM 1% 1/8W 0805 | 1 | 0.1 | 0.1 | Digi-Key | 311-15.8KCRCT-ND | RC0805FR-0715K8L |
| R3, R6 | RES 200 K OHM 5% 1/8W 0805 | 2 | 0.1 | 0.2 | Digi-Key | RMCF0805JT200KCT-ND | RMCF0805JT200K |
| R35 | RES 13 K OHM 1% 1/8W 0805 | 1 | 0.1 | 0.1 | Digi-Key | RMCF0805FT13K0CT-ND | RMCF0805FT13K0 |
| R36, R37, R44, R58, R59, R60, R63, R64, R65, R66 | RES SMD 10 OHM 1% 1/3W 0805 | 10 | 0.09 | 0.89 | Digi-Key | A126420CT-ND | CRGH0805F10R |
| R4, R5 | RES SMD 25.5 OHM 1% 1/8W 0805 | 2 | 0.1 | 0.2 | Digi-Key | 541-25.5CCT-ND | CRCW080525R5FKEA |
| R40, R42 | RES 150 OHM 1% 1/4W 0805 | 2 | 0.1 | 0.2 | Digi-Key | RNCP0805FTD150RCT-ND | RNCP0805FTD150R |
| R41 | RES 2 K OHM 1% 1/4W 0805 | 1 | 0.1 | 0.1 | Digi-Key | RNCP0805FTD2K00CT-ND | RNCP0805FTD2K00 |
| R61 | RES 8.06 K OHM 1% 1/8W 0805 | 1 | 0.1 | 0.1 | Digi-Key | RMCF0805FT8K06CT-ND | RMCF0805FT8K06 |
| R7, R13, R15, R16, R30, R43, R45, R46, R47, R48, R49, R50, R51, R52, R53, R55, R56, RPD | RES SMD 1 K OHM 1% 1/3W 0805 | 18 | 0.09 | 1.60 | Digi-Key | A126422CT-ND | CRGH0805F1K0 |
| R71 | RES 21 K OHM 1% 1/8W 0805 | 1 | 0.1 | 0.1 | Digi-Key | 738-RMCF0805FT21K0CT-ND | RMCF0805FT21K0 |
| R8, R34, R38, R39 | RES 1 OHM 1% 1/4W 0805 | 4 | 0.1 | 0.4 | Digi-Key | RNCP0805FTD1R00CT-ND | RNCP0805FTD1R00 |
| R9 | RES SMD 15 K OHM 1% 1/8W 0805 | 1 | 0.1 | 0.1 | Digi-Key | 13-RE0805FRE0715KLCT-ND | RE0805FRE0715KL |
| RSHUNT1 | RES 0.1 OHM 1% 7 W 2512 | 1 | 1.3 | 1.3 | Digi-Key | 511-1692-1-ND | GMR100HTCFAR100 |
| RV_I, RV_T | TRIMMER 2 K OHM 0.5 W PC PIN TOP | 2 | 1.5 | 3.0 | Digi-Key | 490-2880-ND | PV36W202C01B00 |
| SW1 | SWITCH SLIDE SPDT 6A 120 V | 1 | 4.17 | 4.17 | Digi-Key | CKN5001-ND | 1101M2S3CQE2 |
| SW2, SW4, SW5 | SWITCH SLIDE SPDT 100MA 6 V | 3 | 0.79 | 2.37 | Digi-Key | 563-1022-1-ND | CJS-1200 TB |
| TEMP_ALARM | LED RED CLEAR 0805 SMD | 1 | 0.18 | 0.18 | Digi-Key | 732-4984-1-ND | 150080RS75000 |
| U1 | IC CURRENT MONITOR 0.5% SOT23-5 | 1 | 2.51 | 2.51 | Digi-Key | 296-26063-1-ND | INA169NA/3K |
| U11 | IC REG MULT CONFG ADJ SOT23-5 | 1 | 5.04 | 5.04 | Digi-Key | LT1611CS5#TRMPBFCT-ND | LT1611CS5#TRMPBF |
| U13, U14 | IC OPAMP GP 1 CIRCUIT TSOT23-5 | 2 | 2.54 | 5.08 | Digi-Key | LT1797CS5#TRMPBFCT-ND | LT1797CS5#TRMPBF |
| U15 | TRANS NPN/PNP 40 V 0.2A SOT363 | 1 | 0.43 | 0.43 | Digi-Key | MMDT3946-FDICT-ND | MMDT3946-7-F |
| U2, U3, U4, U10 | IC OPAMP VFB 2 CIRCUIT 8SOIC | 4 | 5.35 | 21.4 | Digi-Key | AD8032ARZ-REEL7CT-ND | AD8032ARZ-REEL7 |
| U6 | IC TRNSLTR BIDIRECTIONAL 20TSSOP | 1 | 1.29 | 1.29 | Digi-Key | 296-21527-1-ND | TXB0108PWR |
| U7 | IC REG LINEAR POS ADJ 1A 20VQFN | 1 | 4.9 | 4.9 | Digi-Key | 296-39503-1-ND | TPS7A4700RGWR |
| U9, U16 | MOSFET N-CH 50 V 220MA SOT-23 | 1 | 0.26 | 0.52 | Digi-Key | BSS138CT-ND | BSS138 |
| UC | TEENSY 3.5 W/OUT HDRS K64 EVAL | 1 | 26.25 | 26.25 | Digi-Key | 1568-1443-ND | DEV-14055 |
| VR1 | DC DC CONVERTER 2.5–12.6 V | 1 | 19.99 | 19.99 | Digi-Key | 296-20525-ND | PTN78060WAZ |
| U12 | Networking Modules W5200 | 1 | 23.91 | 23.91 | Mouser | 950-WIZ820IO | WIZ820io |
| U5 | TEC CONTROLLER | 1 | 82.25 | 82.25 | Modular One Technology | MOT3000-25 | MOT3000-25 |
| Heatsink | Heat Sink for Butterfly Laser Package | 1 | 38.85 | 38.85 | Modular One Technology | MOT_BT_HS | MOT_BT_HS |
| J1 | DC Barrel Power Jack/Connector (SMD) | 1 | 1.5 | 1.5 | Sparkfun | PRT-12748 | PRT-12748 |
| LD Socket | Laser Diode Socket, left | 1 | 28.44 | 28.44 | Azimuth Electronics | 5254-100-07S | 5254-100-07S |
| LD Socket | Laser Diode Socket, right | 1 | 28.44 | 28.44 | Azimuth Electronics | 5254-100-07R | 5254-100-07R |
| U8 | 500 mA Laser Diode Driver | 1 | 56 | 56 | Wavelength Electronics | FL500 | FL500 |
| PCB | Custom | 1 | 26.03 | 26.03 | OshPark | Custom | Custom |
| Socket Head Screw for Laser | Socket Head Screw, M2 × 0.4, 6 mm | 4 | 0.12 | 0.48 | McMaster-Carr | 91290A01 | 91290A01 |
| Socket Head Screw for Laser Socket | Socket Head Screw, M2 × 0.4, 10 mm | 4 | 0.07 | 0.27 | McMaster-Carr | 91292A833 | 91292A833 |
| Solderable Nuts | RND STANDOFF M2X0.4 STEEL 1.5MM | 8 | 1.09 | 8.72 | Digi-Key | 732-7069-1-ND | 9774015243R |
| Solderable Corner Standoffs | ROUND STANDOFF M2X0.4 STEEL 8MM | 4 | 0.95 | 3.8 | Digi-Key | 732-7111-1-ND | 9774080243R |
| Heat Inserts | 4–40 Tapered Heat-Set Inserts for Plastic | 8 | 0.1265 | 1.012 | 93365A122 | Brass |
| Screws | 18–8 Stainless Steel Socket Head Screws | 8 | 0.0481 | 0.3848 | 92196A105 | Stainless Steel |
| { A B xxx } | Example command, where e.g., xxx = [0–100]. |
| hello | Communication check: |
| { i } | Reads and prints the total current in mA |
| { O E x } | Arm/disarm laser (enable/disable Vs). x = [1/0] (ON/OFF) |
| { O L E x } | Turn laser on/off. x = [1/0] (ON/OFF) (only works if laser is armed) |
| { O L I xxx } | Set laser diode current/power. xxx = [0–255] (8-bit integer) |
| { O T E x } | Enable/disable TEC. x = [1/0] (ON/OFF) |
| { O T T xx } | Set laser temperature. xx = [15–30] (in °C) |
| { O } | Prints telemetry: LD status LD current PD current TEC Temp |