Quantcast
Channel: Counter/Timer topics
Viewing all articles
Browse latest Browse all 1271

Photon Counting, Raster Control, DAQmx

$
0
0

Hi all,

 

Advance thank you for anyone who takes the time to help me on this! I've done a decent bit of LabView programming working on this project, but I feel I am still a novice when it comes to the nuances of data acquisition and hardware timing. Information has been difficult to come by, though the documentation and the forums have been helpful. I'm hoping someone can give me a bit of clarity on how make all the components synchronous going forward.

 

The project: a novel acousto-optical microscope to track proteins and measure fluorescence. Ideally, the sampling rate will be at least 10MHz.

 

The components:

     - NI sbRIO 9628 w/ RMC breakout board

     - PicoQuant PicoHarp 300 

     - Variable frequency driver to control laser

     - PI MicroMove stage controllers

     - Python script with lightweight Kalman filter to track proteins

 

Ideal functionality:

     1) Raster scan VI performs knight's tour while photon counter is running

     2) Upon detecting fluorescence (threshold is set experimentally), raster halts and passes last position to Kalman Filter python node. This conversion is done mathematically from Hz (the frequency driver input) to millimeters (micromove stage controllers)

     3) Photon counter continues to read fluorescence while python node predicts next protein position, moving stage controllers

     4) Once protein moves out of target window, kalman filter is halted and raster resumes 

 

Current working solution:

So this is a lot of moving parts. I have a working VI I created with a software based timing solution. Unfortunately, this has limited resolution (windows can only resolve ms). I will attach the VI for reference. This was previously built on a a PCEI board that does not support DAQmx or hardware timing

 

What I want to do next:
We procured a new sbRIO board to implement a hardware timed solution. I refactored the knight's tour and it is working well on the board. Now, I need to create a schema of DAQmx tasks to implement the same synchronization I roughly approximated using the software-timed VI.

 

There are a lot of moving parts, and I would greatly appreciate the expertise and knowledge of anyone who can guide/suggest ways to implement this as efficiently as humanly possible.

 

I have followed the documentation on how to create and modulate tasks, but then I found this thread:

https://forums.ni.com/t5/Counter-Timer/Photon-Counting-Time-Stamping-and-basic-help-with-how-DAQmx/td-p/224447?profile.language=en

This person was trying to do something similar, albeit with more counters, and needed timestamps (which I do not). Nevertheless, this post made me realize my current understanding was inadequate for the task at hand.

 

Thanks for anyone who has read this far, and I greatly appreciate any and all advice and guidance

 

Dan


Viewing all articles
Browse latest Browse all 1271

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>