Grating Tilt Performance Evaluation
K. Dietsch - 6/6/00
C. Harper – 11/1/00 rev. 2
1. The tilt stage of the DEIMOS Grating system has six limits: Two software, two primary and two secondary. The primary limits are the single pole switches and the secondary limits are the double pole switches (six screws).
1. The wires from the limit switches and fiducial to the terminal strip attached to the grating tilt test fixture are color coded to the pin numbers (1-4 & 1-8) on JB2 and JB3 of the stage interconnect box. (EL-1272).
3. The Gurley interpolation amplifier is connected to an auxiliary connector on the Galil motor controller panel (J32) through the interconnect box. JB5 goes straight through to JB4.
1. The secondary encoder (Gurley) index point should be set to read as close to the detection point of the fiducial edge detector as possible. First tilt the grating to the point of edge detection with the FEx command, then rotate the Gurley shaft until the index pulse light flashes. The closer these two points are, the less time will be spent by the system moving from the fiducial edge to the Gurley index pulse on power up.
· Move grating to the fiducial edge by using the FEx command.
· Remove the bolt that passes through the washer that spring–loads the Gurley preload arm with a 5/32 Allen wrench.
· If necessary, loosen the screws that hold the limit switch (located next to the preload arm) in place. Note: If you move the limit switch be sure to mark the limit switch location first.
Remove one of the limit switch screws to allow the switch to swing to one side, providing clearance for preload arm removal.
· Loosen the set screw that holds the shaft of the Gurley in place with a 1/16 Allen wrench. The set screw is recessed in the first hole CCW from the top of the Gurley on the drive wheel side of the grating tilt. Slide the Gurley and preload arm assembly out of the grating tilt assembly.
· Attach the three wires of the ‘index pulse finder’ test box to the long terminal strip of the Galil amplifier board: Red -> +5V, Black -> Ground and Yellow -> pin 81 Encoder Index +. (EL-3028). The signal can also be seen on the controller at the J2-43 connector (EL-3022). Gnd can be found on TB-104 and +5v on TB-103. You may need to attach a .01uf capacitor to the index pulse signal and ground the other end of the capacitor. This will reduce extraneous noise on the signal and allow you to see the index pulse LED flash.
· Rotate the shaft of the Gurley CCW until the LED on the index trap flashes. Then back off CW until just past the LED index pulse flash. This will set the index pulse on the correct side of the fiducial.
· Without allowing the shaft to rotate, replace the Gurley back on the grating tilt assembly and replace the limit switch and preload arm bolt.
1. The tilt stage is “zeroed” before use by an indexing scheme. The Galil command HM (‘Home’) that does this operates in three stages:
· In the first stage, the motor moves at the user programmed speed until an edge is detected. The direction that the motor drives is determined by the initial state of the edge detector. Once the edge is detected, the motor stops. The state of the homing input can be configured by the CNx,x command.
· In the second stage, the motor changes direction, and slowly approaches the edge again. When the edge is detected, the motor stops instantly.
· The third stage consists of the motor slowly moving forward until it detects an index pulse from the Gurley encoder. At this point the motor encoder is set to zero. (The Gurley encoder must be set to zero by software.)
· An indexing program example would be:
KDx = xxx Enter number from Tuning Tests
KPx = xx Enter number from Tuning Tests
KIx = x Enter number from Tuning Tests
SHx Turn on motor ‘x’
CN 1,1 Configure limit switches
JGx 5000 For B axis use JG,5000
HM Home
BGx Begin
TPx Tell motor encoder position
TDx Tell dual Gurley encoder position
If controller software has been downloaded into the controller you will also need to enter:
BLx = -2000000 Disables reverse software limit
FLx = 2000000 Disables forward software limit
If controller software hasn’t been modified to reflect that dual velocity mode isn’t being used you will need to enter:
DVx = 0 or DV,0 Disables dual velocity mode for the specified channel (i.e. B axis)
Optional Tests:
1. Do a practice test and time how long between the fiducial edge (FEx) and the Gurley Index (FIx) pulse. Use FEx; BGx; FIx; BGx. With FIx the direction is determined by the previous direction setting. Set the encoder counts to zero with DPx=0 and DEx=0 after it stops
2. Do a test to the home (HM) position from both the positive and the negative direction. Check to see if the encoder numbers are different. The Gurley encoder index pulse wants to be set on the correct side of the fiducial and also beyond the backlash point, if there is backlash.
3. Do a HM command from the negative direction and time how long it takes to stop after it reverses direction and resumes travel towards the index at a slower speed.
· Other useful commands are:
DPx=0 Set motor encoder position to zero
DEx=0 Set Gurley (secondary) encoder position to zero
TPx Print out the motor encoder position
TDx Print out the Gurley encoder position
1. To test the forward primary and secondary limits:
First move to the home position and check to see that the motor and Gurley encoder are at zero. The motor count should equal zero, if not set DPx = 0 and DEx = 0.
HM
BGx
TPx motor encoder position
TDx Gurley encoder position
2. Move to the forward primary limit. It should stop automatically when the limit switch is reached. Record the motor counts after stopping.
JGx 5000
BGx
TPx
3. Move off the primary limit and stop before the fiducial. Then repeat the home sequence to get back to the zero position on the motor encoder:
JGx –5000
BGx
ST stop when off the limit by listening for a click, and past the fiducial
HM
BGx
TPx
TDx
4. Short out the primary limit switch to test the secondary limit switch by shorting the primary limit switch ends together with a jumper. It should stop automatically at the secondary limit switch and turn the motor off. Record the motor counts after stopping.
JG 5000
BGx
TPx motor encoder position
ST
MO
2. Move to the home position and check to see that both encoders are zero. DEx=0 will need to be set.
SHx servo on
HM
BGx
TPx motor encoder position
TDx Gurley encoder position
3. To test the reverse primary limit switch:
Stop when close to the reverse primary limit switch, and then slow the jog speed. 30000 is a good speed for large distances. The distance between the primary and secondary limit switch is minimal. It should stop automatically when the limit switch is reached. Record the motor counts after stopping. Remember to time the distance from HM to the reverse limit switches.
JGx -30000
BGx
STx stop when close to limit switch
JGx –5000 slower speed
BGx
TPx motor encoder position
TDx Gurley encoder position
4. Back off the reverse primary limit switch. Listen for a click, then move the blade. Return to past the fiducial and repeat the home routine to return to the zero point.
JGx 5000
BGx
HM
BGx
TPx
TDx
5. Disable the reverse primary limit switch by using a jumper to short it out.
6. Test the reverse secondary limit switch. It should stop automatically when the limit switch is reached. Record the motor counts after stopping.
JGx –30000 speed for long distance move
BGx
JGx –5000 speed for short distance move
BGx
TPx motor encoder position
7. The motor should be off, then move manually out of the reverse secondary limit. Remove the jumper.
ST
MO
Troubleshooting tips:
1. If the blade doesn’t move towards the fiducial with the HM or FEx command then set CB. “x” is determined by the axis i.e. A axis = CB1, D axis = CB4.
2. Check to see that the fiducial is changing states by using the TS command. The TS value should change when the fiducial is blocked and unblocked. i.e. TS =13 with nothing blocking the fiducial and TS = 15 with the fiducial blocked.
3. The HM command will always search for the index pulse in the positive direction.
4. The FIx direction is determined by the prior direction setting.
5. Make sure to test for the index only pulse with the FIx command. If it’s not seeing the index pulse while homing it will stop on the edge only and not look for the index pulse. Check for motor movement by watching the smaller drive wheel move.
6. Be careful to set the Gurley index pulse calibration from the correct direction. Otherwise after a HM command it will not be able to find the index pulse.
7. The CN command configures the limit switches and the fiducial. “1” is an active high and drives the motor in the forward direction when the input is high.
8. The Gurley encoder position number (TDx) will always be a lot larger than the motor encoder number (TPx). After the HM movement is finished the motor position will be set to zero when the index pulse is detected. The Gurley position number won’t be zero.
2. Run the General Tuning and the Conservative Compensation tests. You may have to back out of a limit switch manually. Record the KD, KP and KI values.
3. Run the Manual Test using the PID values from the previous tests to determine which parameters generate the best waveform. Look for a square wave with minimal peaks, valleys and ringing. This will be the best tuning parameters for this system.