We built this laser controller out of necessity when we first got our hands on the Melles Griot 35-IMA-830-012 Argon Ion laser system. The power supply that connects to these laser heads features a DB-25 connector with an assortment of I/O. If you just want to to get the laser running, you don't really need a controller, the project page for the 35-IMA-830-012 laser system explains which pins on the DB-25 connector need to be connected to get the unit lasing. A pin-out is included on that page as well. OEM controllers are available for these laser systems but are extremely hard to find and very expensive, which is why we built our own. Click the link below to visit the project page for that laser system.
The controller casing is a small plastic, waterproof box with a transparent hinged door. We drilled some holes to route a chopped up DB-25 parallel cable which serves as the connection to the laser system power supply. Using the known pin-out, we connected the interlocks as well as the mode selection pins to some toggle switches mounted on the door of the box. These allow the operator to easily open/close the interlock and thus enable/disable the laser. Additional switches allow the operator to change from current control to light control mode, enable standby mode, and even switch from internal control (using the power supply potentiometer) to external control. This is much easier then moving jumper wires on the DB-25 connector. There is also a power LED that illuminates when the power supply is on and the controller is connected. You may notice there is no key-switch on the controller, that is because there is already a key interlock switch on the power supply, and adding a second one would be redundant.
The controller also contains an Arduino with an LCD shield to display, in real time, laser tube current in amps and output power in mW. Analog pins 1 and 2 of the Arduino are connected to the current and power monitoring pins of the power supply DB-25 connector. All the math needed to convert the 0-5v signals to useful information is automatically handled by a simple program running on the Arduino. That program is also available for download on this website if you want to make your own controller, link is at the bottom of this page!
Depending on the laser status, the LCD backlight color changes from red (off) to blue (on) to easily indicate the laser state. Less than 1mW of laser power is considered to be off as there is some noise on the lines. Technically, reading the status of the interlock would be a better way of indicating the laser state. Luckily, this controller is very customizable and the Arduino can be programmed and wired to do way more than just measure power output and current. Some plans we have for expanding the functionality of this controller include digital control over laser output power (external control) using the Arduino, and using a pin on the Arduino and a relay to open/close the interlock which would allow computer control of the laser!
The program running on the Arduino also outputs laser power and tube current to the serial port once per second. This is helpful for data logging and since the Arduino is very easy to communicate with over serial, bi-directional communication can be used to establish full computer control and monitoring over the laser system as stated above.
Important note: The accuracy of the laser output power reading cannot be guaranteed. The maximum output power of our laser is around 35 mW. There is mixed information available regarding the calculation process for the output power, it also depends on on the maximum calibrated output of the laser. Use caution and always double-check the output with a proper laser power meter.