How to drive laser pulsing in microsecond range with DigitalIO?

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

How to drive laser pulsing in microsecond range with DigitalIO?

Andreas Karampatzakis
Hello all,

I am trying to modulate my laser (Coherent OBIS) via a script. The laser is connected via a NI PCI-6602 card. I am using DigitalIO device, from which I can get +5V signals on PFI6/P0.6 

My original plan was to switch the state on/off and pause the thread in between, for as long as needed (using something like Thread.sleep(0, 100000); ). However, I ran into the following problem: the command mmc.setProperty("DigitalIO","State", X); takes milliseconds to run, which is much longer than the modulation frequency I need.

I calculate the time as:

tic =  System.nanoTime() ;
mmc.setProperty("DigitalIO","State", -1);
toc = System.nanoTime();
gui.message((toc-tic)/1000000 + " ms");

which gives me something in the range of 2-3 ms.

For the record, if I omit the mmc.setProperty command (that is measuring the time for the system time commands) I get something in the lines of a few nanoseconds, which is expected.

Do you have any ideas how to achieve what I need with my setup? 

Or, is there any way to load the complete train of pulses (eg period, duty cycle and number of pulses) to a buffer and send it to the card?

Thank you very much.


------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How to drive laser pulsing in microsecond range with DigitalIO?

Piter
Hi
I doubt you will achieve precise microseconds timing using mmc.
You can setup precise triggering using Arduino and then use mmc to start it.

Best
Petro
 
On 01/11/2017 07:30 AM, Andreas Karampatzakis wrote:
Hello all,

I am trying to modulate my laser (Coherent OBIS) via a script. The laser is
connected via a NI PCI-6602 card. I am using DigitalIO device, from which I
can get +5V signals on PFI6/P0.6

My original plan was to switch the state on/off and pause the thread in
between, for as long as needed (using something like Thread.sleep(0,
100000); ). However, I ran into the following problem: the command
mmc.setProperty("DigitalIO","State",
X); takes milliseconds to run, which is much longer than the modulation
frequency I need.

I calculate the time as:

tic =  System.nanoTime() ;
mmc.setProperty("DigitalIO","State", -1);
toc = System.nanoTime();
gui.message((toc-tic)/1000000 + " ms");

which gives me something in the range of 2-3 ms.

For the record, if I omit the mmc.setProperty command (that is measuring
the time for the system time commands) I get something in the lines of a
few nanoseconds, which is expected.

Do you have any ideas how to achieve what I need with my setup?

Or, is there any way to load the complete train of pulses (eg period, duty
cycle and number of pulses) to a buffer and send it to the card?

Thank you very much.



------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi


_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general
Loading...