ESI Spectrograph Electronics Manual

Introduction:

The Eshelette Spectrograph and Imager, ESI, instrument has been built by the Technical Facilities department of the University of California Observatories, Lick Observatory, UCO/Lick Observatory. This manual will cover the control electronics of the instrument. The CCD Controller is covered separately in the ESI CCD Controller Manual. Where necessary, some of the Galil code used to drive the electronics will also be discussed.

The control electronics mainly reside in the three large cabinets that make up a large part of ESI's lower structure. Control of the individual functions are handled primarily by two Galil DMC-1580-72 Servo Motor Controllers. The controllers provide control signals to the Galil AMP-1140 amplifiers which in turn provide the power for the various servo motors. The controllers also provide I/O for the stage limits and for illuminating the optical fiducials were needed. Other control functions are handled by the Galil 72-bit I/O card connected via Opto-22 I/O modules. The two Galil controllers have each been mounted on aluminum plates that also hold the Opto-22™ boards, the Lambda 28 volt motor power supplies, Power General logic power supplies, terminal strips, and cable connectors for the various stages. Together, these units are referred to as Galil panels and are meant to serve as general building blocks for instrument control. The ESI instrument uses two such panels numbered #0 and #1. The differences between the two will be discussed under the section titled Galil Panels.

The Galil controllers themselves are stand-alone boxes that contain code to perform low-level functions. The servo function is handled by the controller's microprocessor that accepts user-determined parameters for each axes. It also provides the user with approximately 100 commands to control motion and I/O. The box allows up to 1000 lines of code of 80 characters each. This program space is used to implement specialized movement control and I/O handling for the various motion stages. Please refer to the Galil DMC-1500 Rev. 1.2 (or later) manual for more details on programming.

 


General Concepts:

It is useful to talk about the following topics by themselves and then refer to them where needed in the rest of the manual.

1. Survival guide.

2. Galil Panels.

The two Galil panels are built similarly. The idea was to make them as to close to interchangeable as possible. Unfortunately, this turned out to be nearly impossible because of the room limitations in the electronics lockers. None the less, the major components such as the Galil DMC-1500-72, the AMP-1400's, the Opto-22 I/O Module racks, Lambda motor power supplies, the logic power supply, the AC power/shutdown controller, and the 24-Channel Analog Input boards are interchangeable between the two panels. The things that are not interchangeable include the wiring, and the various cables and connectors.

Each of the panels also control separate functions via the Opto-22 modules that make each of the panels unique. These functions are outlined in the Overview Section under Servo motor stages.

As seen in EL-3302 sheet 1, each panel is capable of running up to eight separate servo motor stages. The second controller panel is populated with only one AMP-1140. This, along with unused stage B, provide for some future expansion.

Each of the thirteen stages operate in one of two modes depending on the stage's function. The first type, a rotary stage, is capable of continuos movement in either direction. This type of stage is positioned relative to a home position. This position is determined in most cases by using an optical fiducial. Once the stage has been 'homed' the targeted position is achieved by counting the encoder pulses. The second type of stage is a constrained motion stage. This type of stage is constrained by forward and reverse limits. Each stage has three separate limits for both forward and reverse motion. The first limit that the stage encounters is the software limit. The routines moving the stage have a maximum travel limit a which the software stops further motion the that direction. In case something goes wrong, the stage next encounters the primary hardware limit switch. This switch is connected to the motor controller and signals it to turn off the motor. The final hardware limit switch, the secondary limit, is wired in series with the motor power lead and shuts off power to the motor when encountered. It also is connected to a digital input bit on the Galil motor controller. This lets the upper levels of software know the stage has traveled into the final limit.

In normal operation, the stage should never make it to any of the three limits. If something goes wrong each limit should cause the stage motion to stop. If a moving stage makes it to either the software limit or the primary limit the stage can be moved only in the opposite direction to back out of the limit. In the case of the secondary limit however, the motor power is held off by the limit and the only way to back out of this limit is to manually turn the shaft of the motor!

The servo motor stages are designated by a controller number and a stage letter. The first controller is designated #0 and the second one is designated #1 (for the convenience of the programmers.) Each of the controllers drive up to 8 stages designated A through H. Be careful of the Galil labeling on the AMP-1400 panels. Galil provides them with generic labels of X,Y,Z &W. This can be confusing especially when looking at the second AMP-1140. Though it is labeled as X-W, as programmed and referred to in our documentation they are E,F,G & H. Also, the labeling of the various I/O bits provided on the second AMP are not correct. To get the correct names of these signals look either in the appendix of the DMC-1500 manual or at EL-3320, EL-3321, and EL-3322.

There are variations among the stages in the type and number of encoder(s) used. See item 4 below for a discussion.

 

3. Opto-22I/O modules

(Note: click on links for Opto-22 data sheets)

Throughout this project we have used Opto-22 Generation 4 I/O modules to buffer the input and output signal to the Galil controller. Galil designed their 72-bit I/O expansion board to work with Opto-22's G4PB24 24-channel I/O mounting rack. This allows for easy interconnection via a 50 conductor ribbon cable. Three such boards can connect to the Galil with three cables. Galil's scheme assigning I/O bits is to allow the first 24 bits to be programmed for input or output, the next group of 24 bits to be programmed for input or output in groups of 8 and the last group of 24 is always inputs. In our implementation, the first group of 24 bits are always outputs and the last 48 bits are inputs.

We have populated the I/O module racks with four different types of modules. For outputs we use either an AC module, G4OAC5, for such jobs as turning on and off AC fans, lamps, and the like or a G4ODC5R for controlling +5V logic devices such as LEDs. For input signals we use G4IAC5 to sense the AC voltage signal from the Ion Pump Controller and G4IDC5D modules for logic level signals. These I/O boards are shown pictorially on the following schematics: EL-3335, EL-3336, EL-3337, EL-3338, EL-3339, and EL-3340.

In our spares we include one each of the G4OAC5MA and G4IDC5MA manual On/Off automatic Diagnostic relays for help in troubleshooting.

4. Single-loop and Dual-loop encoders.

To obtain the required resolution, we have implemented three types of encoder feedback for the servo motor stages. (Schematics EL-1236, EL-1237, and EL-1238.) When looking inside the instrument, the easy way to tell which stage is using which style of encoding is to check which type of interconnect box it is hooked up to; EL-1236 is single-loop, EL-1237 is two-loop, and EL-1238 is dual-loop encoding.

1. The first type, single-loop encoding, is the normal way of running a servo motor. The motor encoder is connected directly to the controller and we position to the motor encoder reading. single-loop encoding is used on the Guide TV Focus, Guide TV Filter Wheel, Post Dispersion Prism Shuttle, Image Flat Shuttle, and the Dispersion Prism Shuttle stages.

2. The other type of encoding that we use is dual-loop encoding. In this scheme, the load encoder is wired (via the EL-1238 interconnect box) into the motor encoder's input and the motor encoder is wired into the auxiliary input. This allows the stage to servo on the load encoder giving finer control of the positioning of the stage. In ESI, we are using Renishaw encoders as the main encoders in the three collimator stages, Filter Wheel, Slitmask Wheel, and Aperture Wheel stages. The Collimator stages use model RGH22Y .1 micron encoders while the other stages use the model RGH22D 5 micron encoder. The Renishaw units are linear encoders that read a tape strip. In our application the tape is applied to the moving portion of the collimator actuators and to the edge of the moving wheel of the three wheel stages. The read heads are then aligned for optimum performance. The heads have a two colored LED that is used for alignment. When the LED is green the encoder has locked onto the tape. If the indicator turns red the readings are no longer guaranteed. This doesn't necessarily mean the the encoder has lost it's position but it may have and it should be adjusted.

5. Encoder Homing.

Limit switch scheme

To set the zero point on our incremental encoders, we use a homing scheme that consists of moving the stage to the Home flag at the normal running speed of the stage and looking for a transition of the fiducial signal. At this point, the controller ramps down to a stop.

The direction of movement is then reversed and the motor runs at a very slow speed back to the edge of the flag. When the fiducial signal changes state the the controller assigns this as the zero point, that is, encoder counter buffer is set to zero. At this point, with the zero point of the stage set, the stage can be moved to any desired position. Note however, if the stage is not homed before moving it, it can be run into the primary limit switches because the position of the stage is not known and the software limits may or may not be encountered before reaching the primary limits. More important, if the stage is moving with sufficient speed it can reach the primary limits start ramping down and possibly travel to into the secondary limit. If this happens, the only way to move the stage is to manually turn the shaft of the servo motor!

In stages where it is possible, the blade or flag is made to be just over one half of the stage travel. In this case, the control electronics can tell at power up which direction to move to find the edge of the flag. For instance, when the power comes up and a particular stage looks at the signal from its fiducial, it will know which direction to move based on whether the signal is high, (the blade is blocking the beam) or low. This, of course, means that the blade must extend beyond the secondary limits so that the stage can't get into a condition where the fiducial gives a false reading.