periscope

Information about the CrystalLogic Microdiffractometer

R. Sweet
31 Dec 2007



The collimator/aperture system:

The adjustable aperture is the same as on the other Crystal Logic diffractometers, rotating "fork" arrangements.  Full open is 2mm.  The guard aperture also is replaceable pins with fixed apertures in them.  The catch here is that to handle microcrystals, the apertures need to be put in place very carefully.  Each has its own "best" orientation, which should be indicated by a mark that should be kept at the top.  They should be handled only with the special tool, and should be installed with gentle pressure and slight back/forth rotation. This should assure 5-10 micron reproducibility. Get someone to demonstrate to you before you try it yourself.   These pins are different from the other diffractometers -- they are tapered to give more accurate fit.

The periscope system:

There is a crystal-alignment microscope that views straight into the incident x-ray beam. Users may control it from a web-based screen that provides most useful operations: http://x25-h.nsls.bnl.gov/axisvid/tryf.html. (This is accessible only inside the PXRR network firewall.)  Note: The screen is always live, waiting to Center on your Click; don't click unless you know what you're doing.  There are five primitive motions for the microscope, plus two more functions.  The primitive motions are vertical (Up Periscope), horizontal perpendicular to the beam, and horiz. parallel to the beam, then there is motorized focus and zoom.  The zoom is VERY broad, 16X.  All of these five motors can be "homed" [ say how ].  In addition there is a phosphor that can be swung up into position for viewing of the direct beam, and the illumination can be controlled. 

Grid: there are Display/Hide buttons at the bottom.  This display contains the crosshair to which objects will be centered after clicks on the screen and grid marks along each hairline.

Zoom:  The top row of buttons on the screen perform obvious functions, employing the motorized zoom of the 'scope.  The Zoom in/out buttons change the scale by about a factor of 1.3.  The grid is required to understand the magnification, and the scale of this grid is given to the right of the image in "microns per tick."  The range is from about 135 to about 9 microns per tick.  The image will not, in general, remain in perfect focus over the zoom range.  Live with it for now.

Focus: During setup, the microscope should be focused on the phosphor -- this will employ the internal optical focus motor of the microscope.  To focus on the crystal, the software uses the parallel-motion motor to keep the 'scope focused on the phosphor.  The Focus +/- buttons have been scaled to the zoom level so that individual clicks will be in a range to give reasonably sharp focus with one click. 
Note: the Crystal/Phosphor buttons are toggled automatically by the Phosphor In/Out buttons, see below.

Lamp:  There are two LED illuminators, above and below the 45-degree mirror.  The upper illuminator is occluded partly by the top edge of the mirror and mostly illuminates the collimator block.  The lower one illuminates both the crystal and the background.  One at a time, they can be turned off or to maximum intensity, or can be brightened or dimmed in about three increments.

Periscope Drive: The Up Periscope button brings the visualizer into position to view the x-tal. 
Note:  The beamstop occupies the same volume as the periscope mirror.  The beamstop must be removed by hand before the periscope is raised.  There is no interlock for this.  This command uses the vertical motor only, bringing it to the last-used vertical and horizontal position, zoom, and focus.  Down Periscope simply puts it away. 

The +/- 90 buttons refer to incrementing the omega axis, which should move at a pace of about one second per 180 degrees of motion.

Sample motion: The U/D/L/R and Load / Unload buttons don't work yet.

Phosphor control:  The phosphor is driven up into position by the buttons.  Two other operations are linked to this.  Firstly, the focus is toggled to the phosphor (internal focus motor) or crystal (parallel-to-the-beam focus motion), depending whether the phosphor is in or out.  Secondly, the crystal is moved down and away, parallel to the cold stream, before the phosphor is raised into position, then it is moved back when the phosphor is taken out. Keep track of what you're doing here. If you rotate the spindle the x-tal may move out of the beam, although the software does keep track of the original centered position.

Click-To-Center (C2C):  Below the image are three buttons.  The action of all three buttons is scaled to the zoom level.  If something seems odd, consider re-"homing" the zoom and focus. In any event, because the zoom is a continuous motion, the motions will not be precisely accurate. One may require a couple of C2C cycles to get it right.

    Crystal on Omega -- is "standard" C2C wherein the sample XYZ are used to attempt to center the specimen on the spindle (Omega) axis.  In general, click on the specimen and it will move to the +-hair.  Click +90.  Click specimen again, and you should be done.   Check this by clicking +90 again.  If it doesn't seem to work correctly, check that the spindle axis is on the crosshair -- see below.
    Crosshair to Beam -- Use this in the initial setup.  With the 'scope at lowest zoom one may visualize the opening of the guard aperture.  Use this option to C2C on this aperture.  This is the option that provides precise centering of micro crystals on the beam. 1. put in phosphor and open shutter.  2. use crosshair-to-beam to center on the beam. 3. extinguish the beam and remove the phosphor.  4. execute the command described next.
    Spindle to Crosshair -- this moves only the sample Z axis and the Omega vertical axis to move the clicked point to the crosshair.  If the crystal has already been centered on the spindle, this will place its center of rotation on the beam. A second use is to adjust the vertical position of the omega axis to the 'scope crosshair. Note the specimen position at two spindle rotations that are 180 deg apart.  Then click at the center point between the two, on the vertical crosshair, to bring omega to the same height as the periscope.



Alignment Checklist -- Draft

  1. For crude alignment, homing the slits will open them to full aperture, 2mm. At minimum zoom, pre-align the periscope to have the crosshair aligned to the guard aperture (Crosshair to Beam). Remove the guard aperture. Insert the phosphor on the periscope. Open the shutter. 

  2. There are CBASS tweak commands for diffractometer Horiz, Vert.  Use them to center the beam on the position of the guard aperture.  Note: The lift table AND the vetical axis of the omega drive will follow the optics for all of these motions.

  3. Close down the apertures a ways, then use the CBASS Align button to do simple H/V alignment of the diff'to to the beam.

  4. Use CBASS command-line instruction [ ??? ] to perform pitch/yaw.  Again, the lift table will follow these pitch/yaw motions to keep the detector centerline parallel to the collimator axis. 



28 Dec 2007

Centering the direct beam on the detector

There is a CBASS command-line instruction that will calculate the motions to make to the upstream and downstream detector-table motions to put the direct beam at the center of the detector for all positions of the detector on the lift table:

bc_calcs v1 h1 D1 v2 h2 D2

Here v and h are the vertical and horizontal distances in mm, to the right and upwards, respectively, of the direct beam from the physical beam centers. D is the specimen-to-detector distance in mm. Measurements should be made at two different distances along the detector table. The result will be written to the CBASS log file [what's the name, John?]. The result will include the increment to move the TZU (upstream vertical table motors tzo and tzi), TZD (the single downstream vert. motor), TYU and TYD (up- and downstream Y motors). If this proves to be reliable, we'll simply bump the motors automatically from CBASS, maybe after a query to the user and confirmation.




The equations that provide this correction are these:

a = (h2-h1) / (D2-D1) b = h1 – a D1

c = (v2-v1) / (D2-D1) d = v1 – c D1

delTYU = - 930 a -b

delTYD = -1570 a – b

delTZU = 630 c + d

delTZD = 1730 c + d


[Other things we need: names of hosts and directory paths for control codes at X25. Who is the owner, pxuser or pxsys? Where is the python? Where are the EPICS codes? What are names of the .db files with the codes that are being used?


28 Dec 2007

John Skinner's notes on locations of software, etc.

The name of the cbass logfile is "cbass_outfile.txt". It is really just debug info, and the output of bc_calcs is just being sent there temporarily until it's decided how/when/by who that utility will be run.

$CBHOME is where the Python files that make up CBASS are. It's owned by pxsys, and should never be edited by anyone but me. It would be unusual for anyone to look at that code.

$CONFIGDIR/cbass_macros.py holds the beamline-specific Python code. It's owned by pxuser. It is fairly readable and can be tweaked by anyone with the confidence to do so. Typing "reload_macros" in the command-line of CBASS reloads any changes without the need to exit CBASS.

$CONFIGDIR/epx.db has the names of the epics motors that CBASS needs to control.  Owned by pxuser. When editing, just be sure to conform to the existing syntax. "#" does not indicate a comment!

$CONFIGDIR/epx_monitor.db has the names of the epics motors that CBASS monitors for live updates. Same rules as for epx.db.

~/epx_setup holds medms. They have somewhat descriptive names. [What are the names of useful MEDM programs?]

~/x25_diffmedms holds additional medms on x25

/tftpboot/epics/[beamline]-v/db has the epics .db files. Only Dieter, Chris, and myself mess with these. They're owned by epics.


13. Dec. 2007



The new Crystal Logic Microdiffractometer in the X25 hutch. 10 Dec 07

The Crystal Logic Microdiffractometer stands alone on a solid base. All of the mechanics required to orient the instrument to the x-ray beam are incorporated in the black-anodized mechanism shown. There is a "periscope"-style telescope that looks in the beam direction. In addition the principal axis has an independent vertical translation so the crystal can be placed precisely on the x-ray beam.


 


The Cartesian crystal orienter on the 8"-diameter servo motor with air bearing will provide sub-micron crystal orientation. There is a kappa-axis crystal orienter to sit atop the crystal orienter.



Detector: The detector sits on its own translator, isolated from the diffractometer. Sufficient motions are built into the lift table and detector carriage that the specimen-to-detector distance can have a wide range of values and the direct-beam position should remain at a fixed point.




29. Nov. 2007

 

To gain control of the Compumotor controller through a serial line from a linux machine:

 Plug serial line between the two devices.

 Having logged in as pxuser (or maybe root) do --

 # minicom ttyS0 (maybe a different port)

 To exit minicom: ^a z (menu) x yes

 One can cycle power to get a parker compumotor acknowledgement.

 Eventually one needs to do >minit to initializethe minicom connection.

 Compumotor commands

 cdone (says cmd_done) when it's finished.

 To KILL a motion: !k

 gome = get omega

 zeroo = zero omega

 Illuminator:

LxMAX - full brightness: Where x =A or B.

LxMIN - turn off

LxUP - turn up 1/32 of range

LxDN - turn down 1/32

Phosphor:

OUTXXX0 - Store phosphor

OUTXXX1 - Place phosphor in beam

Sec. Shutter:

OUTXX0 - open secondary shutter

OUTXX1 - close secondary shutter

Half slits:

1.OUT.9-0 - block outboard side

1.OUT.9-1 - unblock outboard

1.OUT.10-0 - block bottom

1.OUT.10-1 - unblock bottom

Omega Z-motion control:

VAR80=0.5 - set Omega Z for .5mm relative move

MZOM - move Omega Z

GZOM - get Omega Z position

ZROZOM - Zero Omega Z

Optical rail Z-motion control:

VAR81=0.5 - set Optics Z for .5mm relative move

MZOP - move Optics

GZOP - get Optics Z position

ZROZOP - Zero Optics Z

Beamstop motion:

VAR82=0.5 - set Beamstop Z for .5mm relative move

MBMZ - move Beamstop Z

GBMZ

VAR83 for Beamstop X

etc.

Detector distance:

VAR13=0.5 -- Detector distance

MDIST

GDIST

ZEROD

Omega axis rotation:

VAR12 for Omega, MOME

GOME

ZEROO

 Other tricks:

 LIMLVL to get limit switch activation. In each set of three the first two are limits, the third is home. Probably one gets 0 if the sensor is between limits, then 1/0 for home, depending whether the sensor is blocked.

TLIM does something else with these switches, perhaps showing their actual sense, blocked or open.