Welcome to Laser Pointer Forums - discuss green laser pointers, blue laser pointers, and all types of lasers



Laser Pointer Store

Arduino Laser Control?

r34p3rex

New member
Joined
Feb 2, 2008
Messages
189
Likes
0
Points
0
My project consists of 6 different wavelength lasers controlled by an Arduino (3.3v). Each of the lasers need to be turned on for a fraction of the second, then switched off.

Right now, I'm trying to figure out how to hook up the diodes to the Arduino. Each of the Arduino pins are only capable of outputting 20ma so I can't hook up the driver board directly.

Would TTL control be something I should be looking into? I found some TTL capable drivers (for 650/808nm) from Aixiz for ~$3 each, but I've yet to find anything for 405nm/445nm and 532nm (o-like module).

I remember reading something about using a transistor circuit of some sort to act as a bridge between the driver and the power source. When the Arduino outputs a voltage to the transistor circuit, the power supply would power the driver directly.

Any help would be much appreciated!
 

Cyparagon

Well-known member
Joined
Sep 12, 2007
Messages
9,520
Likes
1,045
Points
113
The driver should work for just about any diode, provided they can handle the current and you feed them the right voltage.

More info about your project would be appreciated.
 

r34p3rex

New member
Joined
Feb 2, 2008
Messages
189
Likes
0
Points
0
Ok so basically, we're building a portable elastic scattering spectroscopy (ESS) device for the detection of oral/skin cancer. The lasers are coupled to a 100 (or 50) micron fiber which are then coupled to a larger fiber running into a probe. The probe is placed on the patient's skin. Next to the illumination fiber on the probe is the detector fiber which collects the scattered light and directs it to a photodiode to measure the light intensity relative to that of the full power burst. By calculating the ratio of scattered light to the full intensity (measured by calibrating the device with a Spectralon surface), we establish a scattering profile. Certain forms of cancer have very unique scattering patterns.

Here's a diagram of the device:




Each measurement cycle goes as follows:

1) Turn on one laser diode.
2) Arduino reads voltage from photodiode, stores value in memory.
3) Turn off laser.

Repeat all 3 steps for each of the 6 different wavelength lasers (405nm, 445nm, 532nm, 630nm, 660nm, 808nm)


I read a bit more into how to connect the lasers to the Arduino and some people mentioned something about using a Darlington array (Darlington Driver 8-Channel ULN2803 DIP - SparkFun Electronics). Is this something viable for my application? I'm not sure if I'm understanding how it works, but it seems that I hook up one side of the Darlington driver to the Arduino digital pin and the other side to the laser driver board. When the arduino switches the digital pin from low to high, the darlington array directs power from the power supply to the laser driver, thus turning it on. Am I missing something here?
 
Joined
May 6, 2011
Messages
140
Likes
4
Points
0
Yes, you are going to want to use transistor logic to switch power to the laser using your microcontroller's signal lines. A Darlington pair is (i believe) a pair of BJT transistors which are connected in a way as to function just like a single one, but with a higher gain (h_fe ratio) than typical. There is a higher collector-emitter voltage drop as a result, though.

I was building a switch for controlling high-powered LED's using my Arduino's PWM and I have had success with the BD681 component. You would of course want to have a chip with an array of them (one for each laser) like the one you linked.

I wasn't really happy with the results however because the high voltage drop of about 1.3 volts caused the transistor units to heat up quite a bit when pushing 1A through them. It also required me to use resistors to regulate the current, which was a source of more heat generation. However for your application I doubt you would be running your lasers continuously, so a simple TTL circuit should work well.

Another option you have is to use MOSFETs rather than BJT's or Darlingtons. I was investigating this myself but honestly I've been slacking off on my LED projects. When it comes to lasers I have been using (and can only really anticipate ever using) ready-made circuits.

MOSFETs will be able to pump current though without heating up as much as BJTs but there are many subtle differences that may or may not make it more difficult to design the circuit. Hopefully another member could provide more information...

What powers are you running those lasers at?

You should also find out if the driver circuits that your lasers are powered from are fast enough to respond to your microcontroller's input signal. With diode lasers, circuits based on voltage regulators (lm317 etc) or other simple circuitry will respond very quickly but it is more questionable with 532 units and buck/boost drivers since they have inductive components. This problem can be dealt with by extending the time that it is turned on for, though. My guess is that you have appropriate equipment to verify your results and are developing a mobile unit.

Good luck!
 
Last edited:




Top