PDA

View Full Version : DMK 23UV024 External Trigger issue



abikutn
October 17, 2013, 17:27:29
Hello Stefan,


This question has also been posted in the old thread http://www.theimagingsourceforums.com/showthread.php?324678-URGENT-dmk-42buc03-question-LabView&highlight=.. Since this is related to a new camera model (USB 3.0) I would like to start a new thread so others can make benefit from this.


I have returned the DMK42buc03 camera to get a new DMK 23UV024. I have no problem with Image tear with this camera so far. Regarding the last answer you gave me with the attachment Trigger2.zip, I have the following issues.

1. It works fine and I can get all the images from the buffer to my computer with no problem.
2. I still am not able to get images using an external trigger.
3. My external trigger is a pulse that has a positive width of 6.25ms (micro seconds). And the pulse height is 2.52V(high) and 2.77V (pk-Pk). Is this good enough to trigger the camera ?
4. The program is working fine. I am struggling to get the camera work with external trigger since past few months, please help me find a solution to this problem. I have very less time to fix this issue.

Thanks.

Michael Kirmse
October 17, 2013, 17:37:31
Dear abikutn,

To fire the trigger, your trigger-pulse needs to be at least at 3.3V(high).
We recommend using 5V. The input on the DMK 23UV024 works from 3.3V to 24V.

abikutn
October 17, 2013, 17:54:37
I have the trigger pulse set and I have developed a LabVIEW program that can capture image only when a external trigger is detected.

1. The ringbuffersize is 5, is it possible to set this size manually, e.g. more or less than the default 5.

2. It seems after a trigger is detected, the camera captures images continuously at the given frame rate. Is this correct or can you please explain exactly how the camera works after it detects an external trigger.

3. I want to capture 3/4 images once an external trigger is detected and store it and flush the buffer. How can I do this ?
1629

Thanks.

abikutn
October 18, 2013, 22:10:35
Could I please get a response ?

Stefan Geissler
October 21, 2013, 09:54:14
Could I please get a response ?

Sorry, either your post came in out of office times or on Saturday, on which the office is closed.


1. The ringbuffersize is 5, is it possible to set this size manually, e.g. more or less than the default 5.
Yes, this is possible. Please refer to http://www.imagingcontrol.com/en_US/support/documentation/activex/prop_descICImagingControl_ImageRingBufferSize.htm


2. It seems after a trigger is detected, the camera captures images continuously at the given frame rate. Is this correct or can you please explain exactly how the camera works after it detects an external trigger.
This behavior is incorrect and happens only, if the trigger signal is noisy. Please check your signal.


3. I want to capture 3/4 images once an external trigger is detected and store it and flush the buffer. How can I do this ?

There is no buffer flush available. Maybe a stoplive / startlive does the job. However, it is not necessary to flush the ring buffer, if you know the current image index in the buffer and the number of captured frames.

abikutn
October 21, 2013, 15:06:03
Thanks Stefan,

Could you please advise me on the following questions. I want to have a very clear understanding how the camera works after it detects a trigger.


I have a trigger pulse and I want to capture exactly one image and one image only. How can I calculate the time for exposure and the image readout so that I can decide where the next trigger pulse should be.
I understand that the exposure time can be manually set. Is it during this exposure period that the camera captures an Image ?
After the exposure period, we have IMAGE READOUT , what happens in this time period. How does the camera work exactly once it detects a trigger pulse ?
Can you send me a C++ code that works with external trigger, I can use the same to achieve my code in LabVIEW.


1630
I am sorry to trouble you with so many questions so often, I have less than a week to finish this task and its really important.

Thanks Stefan,

Stefan Geissler
October 21, 2013, 16:25:56
I have a trigger pulse and I want to capture exactly one image and one image only. How can I calculate the time for exposure and the image readout so that I can decide where the next trigger pulse should be.
Add the exposure time and the time interval determined by the frame rate.

I understand that the exposure time can be manually set. Is it during this exposure period that the camera captures an Image ? Yes. As far as I understand your question.

After the exposure period, we have IMAGE READOUT , what happens in this time period. How does the camera work exactly once it detects a trigger pulse ?The image is provided through the bus to the computer.
If a trigger pulse occurs, the camera exposes and delivers then the images. If you use global shutter cameras, this is done exactly in this sequences. If you use rolling shutter cameras, then the image delivery starts after the first lines have been exposed. Please look at http://s1.archive.theimagingsource.com/publications/whitepapers-cameras/wp23trigo/ab727d22aa141e7fe6230fbf8970c78e6d993a26c50ec588d8 e7f053cb4d4caa/wp23trigo.en_US.pdf on page 4. There is a diagram about this.

Can you send me a C++ code that works with external trigger, I can use the same to achieve my code in LabVIEW. I remember sending you an LabVIEW sample already. However, did you correct the voltages of your trigger source?
Also if the software trigger works fine, then there is no reason, why the very same software should not work with hardware trigger, except the trigger signal does not meet the specifications.

abikutn
October 21, 2013, 19:37:45
There is no buffer flush available. Maybe a stoplive / startlive does the job. However, it is not necessary to flush the ring buffer, if you know the current image index in the buffer and the number of captured frames.

Does this mean that for each trigger there are a N number of captured frames ? If yes, I just want one frame for each trigger. Did I understand you correctly ?

Stefan Geissler
October 22, 2013, 09:01:33
Does this mean that for each trigger there are a N number of captured frames ? If yes, I just want one frame for each trigger. Did I understand you correctly

You are right. N is exactly 1. For each trigger only 1 frame is captured.
Did you hat a look at the voltage of your trigger source inbetween? Does it change now from 0V to 5V or above?

abikutn
October 22, 2013, 19:44:55
Thanks Stefan., yes I changed the amplitude value of the trigger to 5V and I can get image for each trigger pulse. I am still thinking hard to find a way where I can get two images for one trigger without getting any overlap of the two images. basically I want two separate images based on just one trigger. Do you have any idea ?

Stefan Geissler
October 23, 2013, 09:09:30
Hi

The trigger is intended to expose one image only. Maybe you can do following:
wait for the hardware trigger.
if an image arrived, fire the software trigger
a second image will arrive.

You can wait for an image using the ImageAvailable event of IC Imaging Control. Years ago, I did a sample, that shows in principle, how this works. You may have a look on this. (I am not LabVIEW user, therefore the sample may is not looking very fine.)

abikutn
October 23, 2013, 16:03:51
You can wait for an image using the ImageAvailable event of IC Imaging Control. Years ago, I did a sample, that shows in principle, how this works. You may have a look on this. (I am not LabVIEW user, therefore the sample may is not looking very fine.)

This seems to be a working idea. I will try to develop a program for this in LavVIEW and update you with the results.

Thanks a lot Stefan.