About Us Synchrotron
CESR  |  CHESS  |  ERL  |  G-Line  |  MacCHESS  | 
Home
Facility Description
For Users
Job Openings
Journal Club
Map of Cornell (pdf)
Meetings
News / Research
Operations
Publications
Proposals
Safety
Staff Directory
Synchrotron Sources
Search Site
What is a Light Source?
X-Ray Status
Contact Info
  Shipping & Station Phone Numbers
Experiment Designing
  X-ray Sources
X-ray Optics
Character of Elements
Facility
 

CHESS East
D1
E-line
F1
F2
F3
F-Cave

CHESS West
A1
A2
A3
B1
B2
C1
G-line

Diffractometer
Station Equipment
Support Rooms

Hotels & Inns
Local Sites and Places
Maps & Directions
Staff Directory

CHESS Optical Table
 

Introduction

A set of macros has been written to accommodate the need for users running Spec to be able to move the CHESS optical tables. These macros provide for the six degrees of freedom that the optical table can have: three linear translations and three rotations. By properly defining the motor configuration for the table, the user can specify the orientation and ensure that the motions are correct.


Setting up the optical table

The coordinate system of the optical table is defined as shown in Fig. 1 below. We define the Y-axis such that it is parallel to the beam and such that increasing Y corresponds to increasing distance from the source. The Z-axis is normal to the surface plate and positive Z represents height above the table surface. The positive X-axis is then defined such that the three form a right-handed coordinate system. As shown in figure 2, the origin is defined to be the midpoint of the line drawn from Jack C to the midpoint of AB, and lying in the plane of the surface plate.

x, y and z

Each table is equipped with six separate motors mounted on three jacks, one jack having a single motor, one having two motors, and one having three motors. We call these Jacks A, B and C respectively, and their locations on the table are shown in Fig. 2. It is assumed that the three jacks are located at the vertices of an isosceles triangle having the line from Jack A to Jack B as its base. These jacks may be oriented in any one of four ways with respect to the beam, as per Fig. 3. The mnemonic that is assigned to a motor is dependent upon which orientation of the table is being used. It is crucial that the correct mnemonics are placed in the config file, as the macros sense the orientation of the table from the defined motors. It is possible to omit motors from the description—for instance if there is a shortage of unused E500 channels—but this will reduce the number of degrees of freedom. It is also possible to hard-wire the Z-motors on Jacks A and B together, and such configurations are defined by using the mnemonics indicated with asterisks in Fig. 3.

Once the motors have been defined, each must be checked to ensure that its movement is in accordance with the directionality shown in Fig. 1, i.e. that moving the motor in a positive direction translates the table surface plate in the direction of the corresponding positive-going axis. If this is not the ease, the sign of the steps-to-units conversion must be changed in the config file.

 

table setup

 

The mnemonics given to the motors derive from the motion they control and from their position on the table as viewed from the downstream end facing upstream. Thus, ‘zrd’ would refer to a motor that drives a Z-motion and is situated at the right, downstream corner of the table. Sometimes the Z-motors on Jacks A and B may be hard-wired together; in that case, use the mnemonics indicated with asterisks above.
 

Setting up the macros 

Before any of the optical table macros can be run, it is necessary is to type
define_table. This runs a command procedure that determines the table orientation from the motors that are defined. define_table must be run any time one wishes to change the units of the table angles or to change the rotation point. It must also be run any time that the table orientation is altered.

The user is asked if either a six-circle diffractometer or a custom optical table is being used. If neither of these is indicated, then it assumed that a standard CHESS optical table is to be utilized. The dimensions of both the six-circle diffractometer and the standard table surface plates are contained in the macros, but the user must enter the dimensions of any other surface plates by giving values for Kx, Ky, and Kz. Kx is just the distance from Jack A to the midpoint of AB, and Ky is the height of the isosceles triangle formed by Jacks A, B and C, as shown in fig. 2. Kz (not shown) is the distance from the top of the balls that sit atop the jacks to the table surface. After the size of the surface plate is known, a diagram of the table illustrating its orientation is shown. If something is amiss, the user can exit the program and correct the config file.

If there is no problem, one can then enter the coordinates of the rotation point for the table. This is a point that moves with the surface plate under linear translation; for instance, it may be the location of a sample or a collimator that is fixed to the table. Coordinates should be measured from the origin as defined in the section on setting up the table, and care should be taken that the signs of the coordinates are correct. The default rotation point is the origin, except on the six-circle diffractometers, where the defaults are set to the common centers of the theta, two-theta, chi, and phi circles.

Once the user confirms the choice of rotation point, a search is done to ensure that all motors pertinent to the peculiar the orientation are present, and the appropriate rotation matrix elements are loaded into an array for the macros to use. If any motors are not found, messages are displayed indicating what motors are missing and how this will affect the motions which are available.
 

Using the macros

To obtain an overview of your table characteristics, use the show table macro. This provides a listing of your table positions and their units, the location of the rotation point, and the positions and limits of all motors used to move the table.

Figure 4 provides a summary of the macros that control the motion of the surface plate. An absolute motion moves the table to a given value. A relative motion moves the table by a given amount. A ‘tweak’ allows a repeated motion of the table by a given amount. The scans allow for a relative motion through a parameter with graphical and file output.

Fig. 4 also illustrates the various motions and their directions. Positions and position increments may be sent as arguments, but the macros prompt for input if no arguments are provided. The motions are accurate to first order and are completely independent of table orientation. For more information, see Appendix A.

Once the table has been aligned, it is possible to set a zero position using the macro zero_table. This zeroes all table angles and linear positions, and sets up the current table motor accumulator position) values as reference points for future motions. It is recommended that this be run the very first time that the table is defined.

 

Coordinate system of the table

Figure 4

 

Last Update: 2006-09-14

Cornell High Energy Synchrotron Source
200L Wilson Lab
Rt. 366 & Pine Tree Road
Ithaca, NY  14853

Direct questions, suggestions or problems to webmaster.
Copyright © 1998-2004  Cornell High Energy Synchrotron Source. All rights reserved.


NCRR

NCRR


NSF
NSF


NIGMS
NIGMS

Cornell University