Archive for Hardware

Price Reduction of FireWire and USB 2.0 Cameras

I am very happy to announce that we have been able to dramatically reduce the price of most of our cameras, which ship with a 1024×768 resolution.

For more details, please take a look at the products’ web site:

Please do not hesitate to contact us, if you would like a quotation for any of the above cameras, or indeed, would like to talk to us about any matter related to image processing or machine vision.

Comments

Using Trigger and Digital I/Os - Part 5

Please Note: This blog post is part of a series of five posts altogether.
The posts include: Part 1, Part 2, Part 3, Part 4 and Part 5.

Programming examples with IC Imaging Control®

All The Imaging Source cameras are shipped with the SDK IC Imaging Control®. IC Imaging Control® removes a lot of programming effort, since it offers many ready-to-use basic procedures.

Below are brief examples in Visual Basic to give you an idea of how to use IC Imaging Control® to control the trigger and the digital I/Os. You can learn more about IC Imaging Control® and download sample source code at www.imagingcontrol. com. Additionally, our support department (support@imagingcontrol.com) has some more detailed programming examples available for you.

Using the trigger

The program begins by assigning the video Device (in this case the FireWire camera DMK 21BF04), defines a VideoFormat and sets the camera’s operation mode to DeviceTrigger.
After the command LiveStart, the camera is ready to shoot: the camera now waits for a trigger pulse. MemorySnapImage instructs IC Imaging Control to put the next image (which has been captured due to the trigger pulse) into a buffer (Memory) for further processing. Take as an example MemorySaveImage, which saves the content of this buffer to Triggered.bmp.

Private Sub Form_Load()
	ICImagingControl1.Device = "DMK 21BF04"
	ICImagingControl1.VideoFormat = "Y800 (640x480)"
	ICImagingControl1.DeviceTrigger = True
	ICImagingControl1.LiveStart
	ICImagingControl1.MemorySnapImage
	' Do something with the image - for instance:
	ICImagingControl1.MemorySaveImage "Triggered.bmp"
End Sub
Activating the strobe output

FireWire cameras typically have a set of properties - such as “exposure time” or “gain”. IC Imaging Control makes these properties available in the class VCDSimpleProperty. The program begins by defining the variable VCDProp that will later contain these properties.

Secondly, the video Device is assigned (in this case the FireWire camera DMK 21BF04) and then we define a VideoFormat. The function GetSimplePropertyContainer assings the properties of the opened camera to the variable VCDProp.

The command VCDProp.Switch(VCDID_Strobe) = True activates the strobe output. Therefore, after having started the camera with LiveStart, pin 6 (see page 1) indicates the CCDs exposure.

Private Sub Form_Load()
	Dim VCDProp As VCDSimpleProperty
	ICImagingControl1.Device = "DMK 21BF04"
	ICImagingControl1.VideoFormat = "Y800 (640x480)"
	Set VCDProp = GetSimplePropertyContainer(ICImagingControl1.VCDPropertyItems)
	VCDProp.Switch(VCDID_Strobe) = True
	ICImagingControl1.LiveStart
End Sub
Reading the digital input

The first three program lines are similar to those of the preceeding example (Activating the strobe output). The main difference is to be found at the programs end: The command VCDProp.OnePush VCDElement_GPIORead reads the digital inputs state, while Debug.Print VCDProp.RangeValue(VCDElement_GPIOIn) indicates this state in terms of a debug output.

Private Sub Form_Load()
	Dim VCDProp As VCDSimpleProperty
	ICImagingControl1.Device = "DMK 21BF04"
	Set VCDProp = GetSimplePropertyContainer(ICImagingControl1.VCDPropertyItems)
	VCDProp.OnePush VCDElement_GPIORead
	Debug.Print VCDProp.RangeValue(VCDElement_GPIOIn)
End Sub
Setting the digital output

The first three program lines are similar to those of the preceeding example (Reading the digital input). The main difference is to be found at the programs end: The command VCDProp.RangeValue sets the variable VCDElement_GPIOOut to 0, whereupon VCDProp.OnePush VCDElement_GPIOWrite copies the content of this variable (0 in our case) to the digital output.

Private Sub Form_Load()
	Dim VCDProp As VCDSimpleProperty
	ICImagingControl1.Device = "DMK 21BF04"
	Set VCDProp = GetSimplePropertyContainer(ICImagingControl1.VCDPropertyItems)
	VCDProp.RangeValue(VCDElement_GPIOOut) = 0
	VCDProp.OnePush VCDElement_GPIOWrite
End Sub

(The End)

Comments

Using Trigger and Digital I/Os - Part 4

Please Note: This blog post is part of a series of five posts altogether.
The posts include: Part 1, Part 2, Part 3, Part 4 and Part 5.

Digital I/Os - Hirose connector

As already mentioned in the introduction, there are two ways to access the camera’s digital I/Os: using an internal pin header or an external Hirose connector. The cable’s pinout is in the table below and the position of the pins is illustrated by the drawing to the right.

Important: Please note that only FireWire cameras provide a power supply at Pin 1. In the case of USB cameras this pin is open.

(To be continued…)

Comments

Using Trigger and Digital I/Os - Part 3

Please Note: This blog post is part of a series of five posts altogether.
The posts include: Part 1, Part 2, Part 3, Part 4 and Part 5.

Digital I/Os - pin header

As already mentioned in the introduction, there are two ways to access the camera’s digital I/Os: using an internal pin header or an external Hirose connector. To access the internal pin header please open the cameras backplane. You will find connectors as illustrated by the drawings below. Please assemble a cable that fits your application.

The pin header consists of 2×8 pins with a pitch of 2.00 x 2.00 mm. The cable’s pinout is in the table below.

Important: Please note that only FireWire cameras provide a power supply at Pin 3 and 4. In the case of USB cameras these pins are open.

(To be continued…)

Comments (6)

Using Trigger and Digital I/Os - Part 2

Please Note: This blog post is part of a series of five posts altogether.
The posts include: Part 1, Part 2, Part 3, Part 4 and Part 5.

Trigger input - Hardware

The trigger input of The Imaging Source USB and FireWire CCD cameras is opto-coupled. It permits positive trigger pulses with any amplitude between 3.3 V and 12 V. If you intend to apply higher pulses, please make sure that the current lies in the range of 3 mA to 12 mA.

Trigger input - exposure and image readout timing

The Imaging Source USB and FireWire CCD cameras offer two different modes of operation:

Free running: The cameras generate a stream of up to 60 images/s depending on their resolution. To considerably reduce the amount of data, the frame rates may be reduced to 30, 15, 7.5 or 3.75 images/s. The exposure length is software adjustable in the range of 100 μs to 30 s. Please note, however, that the camera’s clock generator determines the actual moment of exposure. Thus, it is not controllable externally, but measurable using the strobe output. Therefore, this mode of operation is called “free running”.

Trigger: The cameras offer a trigger input to determine the moment of exposure. The exposure begins 4.8 μs after the occurrence of a trigger pulse. The exposure length is software adjustable from 100 μs to 30 s. The duration of the image readout is the reciprocal of the current frame rate. Once the image readout has finished, the camera is able to accept a new trigger pulse at any time.

(To be continued…)

Comments (5)

« Previous entries