LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

controlling laser diode with temperature feedback

Hey,

 

I am working on a control system for plasma diagnostics. The system itself has a laser diode (808 nm) whose power is set through a DA converter. The laser is then connected to an optic system and then further connected to a special laser probe (optic fiber with a small ball tip). This probe has a catalytic material on the ball tip that heats up when exposed to laser light or plasma (in vacuum). In the optic system I have a set of mirrors and filters to guide the laser light through the probe and two near IR detectors (Si and InGaAs) to detect the light comming back from the probe ball tip. These two IR detectors return values through a AD converter.

How could I regulate the laser according to the desired input from IR sensors?

The thing is, I detect AD values from an IR sensor and I would like to regulate my laser to a proper value. If a disturbance comes into the system (like heating the probe with plasma), I would like the laser to respond to such disturbance and act accordingly (increase or decrease the power) to keep the value of the IR sensor constant.

I know that PID regulation uses set point value and process variable. But how can I "connect" (in a regulator) laser power and IR detector signal without a look-up table?

How is it possible to "follow" the IR detector value and keep it constant by modifying laser power (if a disturbance kicks in)?

 

I hope I didn't complicate things too much...

 

Thanks for any answer.

 

Greetings, Grega

 

0 Kudos
Message 1 of 15
(3,389 Views)

Grega,

 

It is possible to do something like that with LabVIEW.

 

But before you do, consider these issues: How fast does the response need to be? Does the laser power scale nearly linearly with the diode current (above lasing threshold) or is it highly non-linear? If non-linear, do you have a reasonably good mathematical model for the current-power relationship? What kind of safety features do you need? Current limiting? Power limiting? Voltage transients? How expensive is it if the program malfunctions and the diode is set to an overcurrent or overvoltage condition? What happens if the computer freezes?

 

Some laser didode systems I have worked on needed to be regulated and protected by hardware systems because the consequences of not responding to out-of-bounds conditions very quickly were too costly to allow software to do everythimg. An option might be to have a hardware diode driver with the protection circuits but set the current setpoint through the DAC.

 

Lynn

0 Kudos
Message 2 of 15
(3,360 Views)

Hey Lynn,

 

the laser is cooled by a thermoelectric cooler and already has over-current protection. So if it would happen that the laser would be set to max power and the program malfunctiones, the hardware would take care of it so that the laser is "safe".

Still the probe could be damaged, which is not a total tragedy, since only the catalytic material would be damaged, which is cheap and easily replaced. That is why I would implement a software out of bounds protection for the laser diode (not 100%, but at least something).

Regarding the laser characteristic...well it's not the best. The DA for laser power control is 16-bit. Laser doesn't respond until 10.000 (raw digital value). Then up to 20.000 it has a fairly linear characteristic. After 20.000 the power value drops a little and remains constant for about 5.000 (raw digital value). Then from 25.000 on, the characteristic goes linear again, but with a flatter slope. Unfortunately I don't have a mathematical model for the laser.

 

It is desirable that response time for the laser to catch the correct IR sensor value would be maximum few second. The detector values are pooled every 100 ms.

 

I imagine that the system should sense the IR sensor values and predict (and at the same time calculate) the needed laser power to keep the IR sensor value constant. But I don't have an idea to start with.

 

Grega

0 Kudos
Message 3 of 15
(3,349 Views)

Grega,

 

OK. That should be something which is reasonable for software control.

 

Because of the non-linearity of the laser power characteristic, consider a lookup table. I presume that for any particular diode the characteristic is repeatable, probably with some temperature shifts. But you have a thermoelectric cooler so the diode temperature should not change much. To create the lookup table you do a calibration run. For each power value record the DA value. Depending on how much variation there is in the system you may need to make several measurements at each point and average the results. In regions where the linearity is good you do not need every value - just enough to get an accurate slope and intecept so that interpolation between the measured points is good enough. Store the lookup table in a file. Then read the file when the operating program starts and use that to set DA outputs according to the desired power. If necessary, do fine tuning around the lookup table points with the feedback.

 

With the lookup table you should be able to get quite close on the first DA output. Obviously any fine tuning cannot happen faster than the 100 ms IR sensor readings, but you have 20-30 chances to adjust the values and still be within your "few seconds" requirement.

 

To start I would not worry about PID. Just use a simple proportional control, possibly interpolated through the lookup table. See how that works. If that is not good enough, then you can look into more complex control systems.  The PID might not work across the non-linear points, depending on how "wild" they are.

 

Lynn

Message 4 of 15
(3,332 Views)

Regarding the laser I don't have any problems. I have a power meter which I can use to create a look-up table for the laser...meaning that I can equate a certain DA value with the power produced by the laser. This is what you meant, right?

 

The process will work like this:

I put my probe into a tube which is evacuated and filled with a gas (let's say oxygen). I turn on the laser to heat the probe to, for example 700 K. Then I turn on the plasma generator, making plasma, which additionally heats the probe. At this point I want to lower the laser power to maintain the same temperature of the probe (the temperature is detected by the IR sensor) before I switched on the plasma. The probe response is proportional to T^4.

It is probably safer if I lower the power of the laser just before I turn on the plasma generator, which is also switched on by labview.

So the regulation of the laser will try to keep the IR sensor value (corresponding to temperature) constant.

 

Isn't there any way to actively adjust the laser power corresponding to the IR detector (temperature) response?

0 Kudos
Message 5 of 15
(3,308 Views)

Perhaps Lynn is talking too abstractly, or thinking you are more proficient at LabVIEW than you actually are, so I''ll take the other route - forgive me if I'm being too basic. Read the output of your sensor and compare it to the upper and lower bounds of where you want it to be. With this "too high"/"too low"/"just right" information, adjust your laser power up or down as needed. In order to get to your desired level quicker, you can optionally determine how much too high/low your sensor reads and make your power adjustment step larger or smaller as needed. using the lookup table (or, when laser response is approximately linear to your DA output) to gauge your step size. Reading from and making adjustments to physical instruments are particular to your instrumentation and I/O hardware, whereas the logic is basic LV programming stuff, including changing input and output readings to numbers, loops with timing delays, and numerical comparisons.

 

In a nutshell, that's what you have to do to "actively" control things. Again, if this is too basic, just ignore it, I misunderstood you. I can't get any feeling for how comfortable you are with computer control of instruments and/or LV from your questions here. If you are not comfortable with LV basics, I'd suggest going through some of the LV tutorials on the web, some of which I've listed below.

 

Cameron

 

To err is human, but to really foul it up requires a computer.
The optimist believes we are in the best of all possible worlds - the pessimist fears this is true.
Profanity is the one language all programmers know best.
An expert is someone who has made all the possible mistakes.

To learn something about LabVIEW at no extra cost, work the online LabVIEW tutorial(s):

LabVIEW Unit 1 - Getting Started</ a>
Learn to Use LabVIEW with MyDAQ</ a>
Message 6 of 15
(3,284 Views)

Thanks, Cameron.  Good explanation of a simple feedback control system.

 

Lynn

0 Kudos
Message 7 of 15
(3,276 Views)

Hey Camerom and Lynn,

 

I understand what Lynn wrote :). The catalytic materials' response is somewhat exponential (temperature vs. time), so really fast. That means that it heats up quickly. I am afraid to overheat it just by doing linear laser adjustment according to sensor output. I also want to avoid the look-up table, because that means that I have to "characterize" every probe I use, since every probe is slightly different. I would probably have to use some kind of function for the laser set-up in order to carefuly increase the temperature. The probe can heat to several 100 degrees C in a matter of a second. Well I'll try few possibilities and see if it works ok. Thanks to both.

 

Grega

0 Kudos
Message 8 of 15
(3,266 Views)

Several hundred degrees per second means that you will need to be much faster that 100 ms updates for your feedback!  That means that you will not be able to handle the feedback in software running on a computer with a desktop operating system. You can practically guarantee that the OS will introduce enough tming jitter and occasional long delays that you will destroy probes from time to time.

 

Can you post some data or an image showing your power or temperature curve? Also, how quickly does the temperature change when the plasma is turned on?

 

Lynn

0 Kudos
Message 9 of 15
(3,249 Views)

Do you know what a PID controller is? Take a look at that scheme, or even just a proportional controller.

 

Cameron

 

To err is human, but to really foul it up requires a computer.
The optimist believes we are in the best of all possible worlds - the pessimist fears this is true.
Profanity is the one language all programmers know best.
An expert is someone who has made all the possible mistakes.

To learn something about LabVIEW at no extra cost, work the online LabVIEW tutorial(s):

LabVIEW Unit 1 - Getting Started</ a>
Learn to Use LabVIEW with MyDAQ</ a>
0 Kudos
Message 10 of 15
(3,246 Views)