LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Triggering a Picoscope 3406B with a sync out from a laser

Gurus of LabVIEW,

So, since my early days of posting on the NI forums, I have now become a full fledged Assistant Professor at a university. (Woo!) That being said, there are still things in LabVIEW that I don't understand fully, one of the big ones being parallel computing (I never have enough time to do fun things, lol!) and I've run into an issue with a program one of my students wrote that I think requires some parallel work. First off, I'll describe what we're trying to achieve.

We have three pieces of equipment that are linked together (communication wise):
1. Upgrade COMPILER from Passat Ltd. (Picosecond laser)
2. A Picoscope 3406B (Oscilloscope/data collection)
3. An Arduino Uno and SparkFun easydriver (Drive a stepper motor to rotate a prism and send a 5 V high pulse to the trigger on the laser to fire a laser pulse)

The idea is that we're trying to create a LabVIEW program to collect photoacoustic data (ultrasound) from light that is impinging on the interface between the rotating prism and a sample of dye. The ultrasonic sensor is plugged into the Picoscope (channel A) and I have the program set up to trigger the Picoscope from the external port of the picoscope by hooking it up to the sync out of the laser. Ideally, the program would rotate the prism, pulse the laser/gather data, rotate the prism, pulse the laser/gather data, etc. The issue we're running into is that I'm not sure how to code up the LabVIEW such that the laser pulse (induced by the Arduino sending a 5 volt high to the trigger port on the laser) happens around the same time that the LabVIEW code is running the Picoscope block SubVI so that the Picoscope will trigger/obtain data. So far what happens is that the LabVIEW stalls once it gets to the Picoscope block SubVI because the electrical trigger pulse from the laser (sync out) happens before the Picoscope 3000 block is looking for it (I think). If I manually pulse the laser it gets beyond the Picoscope 3000 block as this then triggers it.

So, how do I code this so that the Picoscope 3000 block is looking for a pulse from (sync out) while at the same time sending the pulse from the Arduino in LabVIEW? (I have attached an image and the VI) Also, I realize that the error stuff/other parts of the program might be odd. I've tried several things to get this to work (unsuccessfully).TIRPAS.PNG

0 Kudos
Message 1 of 2
(2,303 Views)

Also, just a general note, I tried measuring the amount of time it takes to go from the initial +5 V pulse to the Picoscope block and it's around 10 milliseconds (an eternity for a computer) if that helps.

0 Kudos
Message 2 of 2
(2,284 Views)