XYZ table setup

From ift

XY-table, readout computer name - IFTSUB 041 090


The XY-table is designed to measure the response of single pixels in pixel based detectors. It focuses a narrow and fast LED light through a microscope in order to trigger a single pixel. While microstepper motors are used to position the detector. Since the steps of the motors are uneven, and the detectors have to be kept in the dark when triggered the coordinates of the pixels has to be mapped out and stored. The motor controller can then position the detector correctly when the light is off and the response of the pixels is being measured.


  • Motor controller: SMC compact, uses Venus 1 command language.
  • Motor stages: X, Y and Z direction
  • Detector chuck: The table on top of the stages, uses vacuum to fix detectors to its surface.
  • Microscope: Olympus SZ-11 w/ SZ-CTV adapter for mounting cameras
  • Camera: Point Grey, flea2 (FL2G-13S2M/C), CCD camera.
  • Fibremount: Device that mounts a fibre above the left microscope ocular.
  • Fast LED pulser: Small analogue chip that pulses an attached LED

Start sketch.png

Figure 1: Sketch of the XY-table


Figure 1 shows a principal sketch of how the XY-table is controlled and reads out data, while figure 2 shows a photo of the set-up. The set-up depicted in figure 2 is contained within a lightproof aluminium cabinet. The doors a held shut with bolts and has insulating rubber around to keep light out. The inside of the cabinet is also covered with black plastic so that any light entering will be absorbed. The cables going in and out of the cabinet goes through two s-shaped tubes that are filled with black cloth to keep light from entering.

Setup with text.PNG

Figure 2: Picture of the XY-table set-up

Motor stages

The X and Y motor stages consist of a rail with a carriage on top where the carriage can go back and forth along the rail. In the middle of the rail there is screw bolt that moves the carriage when rotated. The screw bolt is driven by a stepper motor. The uneven steps in the motor stages might be corrected by tighten or loosing some screws fixing the carriage to the rail. The Y-stage is positioned at the bottom, while the X-stage is placed on top of the Y-stage carriage, and the Z-stage is placed atop the X-stage carriage.

Detector chuck

The detector chuck is placed on top of the Z-stage. It is a square aluminium table with a 2 x 4 cm2 area of small holes (3x5 holes). The holes are connected and have a common gas input at the back of the detector chuck. When vacuum or low pressure is applied to the gas input a detector covering the holes on top of the detector chuck will get stuck due to under pressure. This is an effective way of holding the detector fixed onto the motor stages while they move. There is a small vacuum pump outside the cabinet supplying vacuum to a set of valves inside the cabinet through a hose.

Motor controller

The motor controller’s purpose is to manage the motor stages. The motor controller is a SMC Compact, created by Micos. The controller has one RS-232 and one GPIB (IEEE-488) port for communication with a computer, though the GPIB seems to have malfunctioned. Neither Lars G. Johansen nor Andreas T. Samnøy has made the GPIB port work in their master thesises in 1999 and 2010 respectively. The controller also has a joystick for moving the motor stages. In order to control the stages via a computer a string of ASCII commands is sent to the controller. Each of the ASCII commands is separated by a space. The motor controller has its own coordinate system of where the stages are positioned, which can be sent to the computer by request.

Microscope with camera

The microscope is has two oculars and one camera slot. At the right backside of the microscope there is a small handle where one can choose whether the right ocular or the camera slot will be open. The left ocular is always open. There is an extra objective/lens attached to the microscope giving it a higher magnification which can easily be removed by unscrewing it. There is a ring of 12V LEDs connected to the objective which is used for illuminating (unsure of max current or power). The LEDs are connected to the blue and red cables coming out of the s-shaped tubes, which normally are connected to a power supply. The camera is a 1288x964 CCD camera with a 1/3 inch CCD chip where each of the pixels are 3.75 x 3.75 μm2. The camera is connected to the microscope by an adapter (Olympus SZ-CTV) that can fix any C-mount camera to the microscope. The camera is connected to the computer through a FireWire 800 (IEEE 1394b) cable.


In order to get a narrow and focused light spot through the microscope a small light source has to be fixed at the correct height above one of the oculars. At the correct height above the ocular the light will be perfectly focused through the microscope and onto any detector lying beneath. Furthermore, the smaller the light source is the more narrow the focused light will be onto the detector underneath the microscope. In order to get a narrow enough light source to shine into one of the oculars a LED is connected to one end of a fibre while the second end shines into a microscope ocular.

At the left microscope ocular, which is always open, there is a device called the fibremount that fixes a normal multi-channel fibre with a ST-connector directly above the ocular. The fibremount is shown in figure 3. The ocular is inserted into the wide opening of the House and can be fastened by two screws. The ocular seems to be more stabile if one places a few rounds of electrical tape around the ocular and then simply presses the ocular into the House. The Rod with a connected fibre is placed inside the narrow opening of the House, and fastened by two screws. This way the user can select how far above the ocular the fibre ending should be. The height should be set such that light shining through the microscope should be as focused as possible.


Figure 3: Sketch and picture of the fibremount that holds a multi-channel fibre above an ocular

Fast LED pulser

In order to send very short light pulses the LED is connected to a fast LED pulser. The fast LED pulser is a small chip which is connected to a power supply and a signal generator through two lemo wires. The signal generator should be set to send a step signal as the fast LED pulser will then trigger the attached LED on its falling edge. The amount of light emitted depends on the voltage supplied by the power supply, and should be between 12-20V. Any sort of LED should work, preferably a high power led (> 1000 mcd) with a small emitting angle.

Calibrating LED light

In order to calibrate the light from the LED that shines through the microscope the LED should be connected to a DC source. This way the LED light that shines into the fibre can either be seen through the right ocular or on screen through the camera. The user of the system can then elevate or lower the rod inside the fibremount house to get a good focus of the light. The user can also see where the light will hit for position calibration.


The software for the XY-table is developed using LabVIEW, and is specifically designed for testing the Hamamatsu MultiPixel Photon Counter (MPPC). The MPPC is a 2 dimensional array of pixels, where each pixel works as a Geiger mode Avalanche PhotoDiode (APD). In other words, each of the pixel will sett of an identical charge signal when struck by a photon. The programs shown here are programs to test all the pixels on a MPPC. A program for the Zecotec MAPD (briefly tested) are also presented at the end.

MPPC programs

There are three MPPC programs, one that calibrates and initialise the XY table. A second program utilizes image recognition to find the motor controller coordinates when the LED light hits the centre of all the pixels and stores them on file. The last program uses the coordinates stored to find all the pixels and trigger them using the fast pulser. Before running the programs or at the very beginning of the first program described below the camera on the microscope should be turned such that the axis of the image given by the camera is parallel to the axis of the MPPC chip. This will make the image recognition process more efficient.

Calibration and initialisation, “Position”

When running this program the LED should be powered by a DC power supply and the MPPC chip should be fixed to the detector chuck. It can then clearly be seen where the LED light hit the MPPC surface. The Z-stage which elevates and lowers the detector is used to focus both the image received by the camera and the LED light shining through the microscope. The front panel of the program is shown in figure 4. The user of the program should position the MPPC such that the LED light is focused and hits the centre of the upper left pixel. This position should be selected as origin. The flash point which is a camera pixel coordinate should be selected to coincide with the centre of the LED light when focused. This point tells the software where the LED light hits the MPPC when in focus and is marked with a red pixel on screen. The user then positions the LED light at the centre of the upper right pixel and focuses it such that the flash point and the LED light coincides again without changing the flash point coordinates; by just regulating the z-stage. The user then presses the button to calculate the x-base. Similarly the y-base is found by targeting the lower left pixel. The program now has two vectors running along the axis of the MPPC. These two vectors span out a two dimensional coordinate system whose axis is orthogonal with the axis of the MPPC chip. When the program is stopped the x- and y- bases along with the flash point are written to file

Position Flash front panel.PNG

Figure 4: Front panel of "position" that calibrates and initialises the XY-table. Here the red flash point coincides with the flash at the upper left corner, and it is selected as origin. Notice that the axis of the image is parallel to the MPPC pixel array.

Mapping coordinates, “Place”

There are two of these programs, one for the 025c MPPC and one for the 050c. When the program starts it imports the x- and y- bases, and the flash point that represent where the LED light will hit. An image of the Place (050c version) is shown in figure 5. While the program runs the LED light should be turned off since it will disturb the image recognition sequence. The flash point points at the upper left pixel when the program start since this is selected as origin. In order to make the program recognise a pixel the user has to draw a frame around a single pixel in the image given by the camera and select the “Lear Pattern” button. To make a frame the square icon directly to the left of the image given by the camera has to be pressed. In order to be sure that the program recognises the pixel closest to the flash point a second frame should be drawn. The frame should be almost the size of two pixels, but should not be able to contain two pixels at once. The second frame is to be centred at the flash point. The user then presses the “Set Search area”. When both the frames have been drawn as depicted in figure 5 the “start coord finder” can be pressed. The program will then move the MPPC such that the centre of the recognised pixel moves towards the flashpoint. The movement is done by a simple proportional controller algorithm. The number of times it will be moved is given in the “Control loops” and is normally 5. The distance it moves per step is proportional to the “Prop Const” which is a negative number (if the number is positive it will move away from flash point). After all the control loops have been executed the flash point and the centre of the pixel should be on top of each other. The program then writes the motor controllers coordinate to file and moves over to the neighbouring pixel where the sequence repeats itself. This way the program finds all the pixel’s coordinates and writes them to file. In the case of the 25C MPPC the pixels of different rows have different shapes. All the odd number rows have one shape which is different from the even number rows. The program then demands that the user frames a pixel from an odd row (switch in P1 position) and presses learn pattern, then does the same for an even row pixel (P2).

Place Coords front panel.PNG

Figure 5: Front panel of Place coords 50C The program recognises the upper left pixel and draws a cross at its center, while the flash point is located to the upper right side of the pixel. The outer red square is the search area. The program will only search for matching pixels inside the search area.

Check coordinates

After the coordinates for all the pixels have been written to file the coordinates should be checked. The LED should now be powered by a power supply and the program "check" will move the XY-table to all the stored coordinates. This way the user can see if the LED light hits the pixels correctly or if a new set of coordinates should be found. If there is an error where the light always hits one side of the pixel this can be corrected for in the measurement program.

Measure pixels

This is the program which measures the response of each pixel. The LED should now be connected to the fast pulser. The fast pulser will continuously pulse the LED at a rate set by the signal generator and is not controlled by the computer. The program reads out the response from the MPPC whenever the LED is pulsed and the ADC is ready. The Data Acquisition (DAQ) will be further elaborated below. The number of measurements done on each pixel is set by the user, the default is 10,000 measurements. The user also has to select what kind of MPPC is being measured, 25c or 50c. The program writes a .txt file for each pixel containing all the measurements from it. The files have a header and two columns, the left column is the voltage amplitude of the signal and the left column is the charge given by MPPC. The charge is measured in ADC channel numbers which is proportional to the actual charge in coulomb.

Data Acquisition System (DAQ)

The DAQ described here is created for measuring the MPPC and the MAPD detector. It gives good results for the MPPC, but the signal from the MAPD drowns in noise from the XY-table and the unshielded fast pulser. Little time has been used to make the MAPD work with the XY-table so far.

The signal generator is set at approximately 2000 kHz step function with a 5 ns rise and fall time. The signal is sent into a fan out which splits the signal and sends two identical signals to both the external trigger on the ADC and the fast pulser. The fast pulser emits light on the falling edge of the step function delivered by the signal generator. The amount of light depends on the voltage supplied to it as explained in the hardware section. The MPPC is connected to a read out circuit inside a box (read out box) which is fixed to the detector chuck. The MPPC receives its bias voltage from a high voltage power supply through the read out circuit. The charge emitted from the MPPC goes through a resistance in the circuit which produces a voltage signal. The voltage signal goes into a preamplifier (100 gain) before it is sent to the ADC. The ADC digitizes any incoming signal whenever it receives a signal at the external trigger and is not busy.


Figure 6: Flowchart of the DAQ


One program for the MAPD has been built, but since there signal to noise ratio is so low it has never been used. If the noise is somehow reduced the program should be usable. Since the MAPD has a smooth surface image recognition cannot be implemented. Furthermore the pixel density of the MAPD is so high that with the current system the LED pulse will probably strike several pixels. This does not mean that the XY-table with reduced noise is useless in characterising the MAPDs. If the XY-table noise is reduced one could still find out whether or not some areas of the MAPD yields more or less gain then the rest. The program uses the same LED system for triggering and the same DAQ as described above for the MPPC.

The program is split into two parts; the first is similar to the initialisation and calibration program for the MPPC, while the second does the data acquisition. In the first part the user selects a squared area where the measurements are to take place. The LED light should now be powered by the power supply in order to see where it hits the MAPD surface. To select this squared measurement area the user moves the MAPD such that the LED light hits one of the corners of the wanted area, and focuses it with the z-stage. This position is selected as origin. The MAPD is then to be positioned and focused at one of the neighbouring corners and be selected as either X- or Y-base. Before selecting it as a base the number of steps in this direction should be entered in “Steps”. The same way the other neighbouring corner of the origin corner is selected as the other base. The two bases now works as two vectors that spans out a square. This way a user can select a square where the program measures the MAPD 3 times along one direction and 10 times along the other by selecting 3 and 10 steps in their respective bases.

When both of the bases have been set the light has to be shut off and the LED connected to the fast pulser. The button “start scan” will then commence the measurement of the MAPD.