LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to I take measurements of a laser array with only one sensor and dynamically displaying power level?

I am trying to measure the power from an array of twelve lasers. I only have one power detector to take these measurements, therefore i must turn off all of the lasers but one and iterate through the array turning off all other lasers but the one being tested. I also need to somehow display the power of each laser on some kind of level indicator. I am mating a lens array to the laser array and need to be able to optimize the alignment so i need to maintain the power level from the previous channel measurements. Any help that can point me in the right direction would be appritiated.

0 Kudos
Message 1 of 17
(4,080 Views)

@jeb3078 wrote:

I am trying to measure the power from an array of twelve lasers. I only have one power detector to take these measurements, therefore i must turn off all of the lasers but one and iterate through the array turning off all other lasers but the one being tested. I also need to somehow display the power of each laser on some kind of level indicator. I am mating a lens array to the laser array and need to be able to optimize the alignment so i need to maintain the power level from the previous channel measurements. Any help that can point me in the right direction would be appritiated.


 

Use a while loop with an Event structure (there is a template too in LV).I guess one measurement is quick, isnt it? If the measurement takes longer, you could use a bit more advanced template, so your GUI will stay responsive...

 

Each measurement is done when you choose which laser to measure, and you incrementally build up an array. I mean, you replace elements of this 12 sized array.

I would do it like this (download this png snippet, it also contains the VI if you drop it into LV):

 

test1.png

 

 

0 Kudos
Message 2 of 17
(4,056 Views)

Yes, it is reasonably quick, I am getting measurement spikes which don't reflect the actually reading on thee measurement device so I may need to increase my  delay. I am currently taking a single measurement every 100ms; i am using a serial device and its responsive will likely be the limiting factor. Anyway one thing at a time.  I am pretty new to LV so sorry if this is obvious, but, are you using the channnel number for your events?  Would i duplicate this code for all twelve channels? What is button 1 doing? 

 

Thanks for you response!,

LV Newbie 😉

0 Kudos
Message 3 of 17
(4,030 Views)

Pictures added for clarity. I have been able to interate through the channel and display the power for that channel. But, once it increments to the next channel the previous channal goes back to zero.I need it to keep that last value.

AOP(All Ch).png

AOP(Per Ch).png

 

0 Kudos
Message 4 of 17
(3,996 Views)

Sense I am trying to optimize the coupling between the laser and a lens array, using tanks in an array to display each channel and updates the tank for each channel as the power for the channel is measured. It looks something similar to the graph below.

Graph.png

0 Kudos
Message 5 of 17
(3,995 Views)

hello, it would be easier to help, if you show us your VI, and explain what is your goal with it.

 

edit1:

 

Yes, it is reasonably quick, I am getting measurement spikes which don't reflect the actually reading on thee measurement device so I may need to increase my  delay. I am currently taking a single measurement every 100ms; i am using a serial device and its responsive will likely be the limiting factor. Anyway one thing at a time.  I am pretty new to LV so sorry if this is obvious, but, are you using the channnel number for your events?  Would i duplicate this code for all twelve channels? What is button 1 doing? 

 

Thanks for you response!,

LV Newbie

 

Did you download my VI and checked it? If so, you will see how it works.

 

0 Kudos
Message 6 of 17
(3,959 Views)

I tried to mimic it, not sure what to DL(it is just .png) i tried to find the example in LV help and I tried to re-create based on the picture provided. Below is my original code. Sense I do not have access to the DUT (device with the lasers), I modified so that i could simulating the data with random number generator.Capture.PNG

0 Kudos
Message 7 of 17
(3,935 Views)

it is a special png file, called snippet. it also contains the vi. download it and drop it into LV.

0 Kudos
Message 8 of 17
(3,932 Views)

Below is what i have for the for this .vi. Ultimately, the operator will be able to select n channels or combination of channels and the code will interate through the lasers selected one at a time and diplay the result. I need the display to maintain the last measurement for each laser tested until the program is stopped or manually cleared by the operator.

Capture(2).PNG

Capture(3).PNG

Capture(4).PNG

0 Kudos
Message 9 of 17
(3,925 Views)

Use shift register as I already told you. see my example VI. 

0 Kudos
Message 10 of 17
(3,918 Views)