Instructions 

Setup HFP-312

1. Initial Setup #

Setup Prealigner for the first time or Reset all saved Prealigner settings

  1. Type _APPD in terminal to save default settings
    >_appd  
    >
    
  2. Type -CONFIG to verify correct configuration
    >-config
    {
    	"DEVICE_PARAM": {
    	... 
    	...
    	},  
    	"CONSOLE": {
    	...
    	...
    	},  
    	"AXIS_PARAM": {
    		"T": {
    			...
    			...
    		},
    		"R": {
    			...
    			...
    		},
    		"Z": {
    			...
    			...
    		}
    
    	}
    }
    
    ``
  3. Power cycle (restart) Prealigner controller

2. Connect MCDN #

  1. Type ARM 2 to activate human readable mode
    >arm 2  
    >
    
  2. Type MCDN 9 to establish communication with MCDN
    >mcdn 9  
    Connected with 1250000  
    >
    
  3. Type READP Read Axis Parameters
    >readp  
    >
    
  4. Type POW to enable servo power
    >pow  
    >
    
  5. Type SON to enable servo
    >son  
    >
    

Troubleshooting: MCDN communication check

Note: If you type SON before executing MCDN 9 and POW, it will be execute following sequence of commands:
mcdn 9
readp
pow
son

3. Verify I/O #

Verify Inputs and Output functionality

Output command out #

  1. Type OUT , which will print Output states

    >out  
    0. ValChuck  : 1  
    1. ValPins   : 1  
    >
    

    Format:

    number. name : state ( 1-enable / 0-disable )

    number name description state 1 (enable) state 0 (disable)
    0 ValChuck Chuck vacuum valve Valve open Valve closed
    1 ValPins Pins vacuum valve Valve open Valve closed
  2. Enable/disable output type OUT [Output Number] [ 1 = enable / 0 = disable ]

    • Example: enable ValChuck (Chuck vacuum):
      >out 0 1  
      >  
      
  3. Check that we have vacuum line to prealigner and make sure that we have vacuum.

  4. Check MCDN communication is enable and working without errors. MCDN communication check

  5. Enable/Disable ValChuck, ValPins and manually check correct vacuum present/not present

Input command inp #

  1. Type INP , which will print Input states

    >inp  
    0. SenChuck : 0  
    1. SenPins  : 0  
    2. FlgHomeR : 0 
    3. FlgHomeZ : 0
    >  
    

    Format:

    number. name : state ( 1-active / 0-inactive )

    number name description state 1 (active) state 0 (inactive)
    0 SenChuck Chuck vacuum sensor active inactive
    1 SenPins Pins vacuum sensor active inactive
    3 FlgHomeR Home R flag Home R Flag covers the sensor Home R Flag doesn’t cover the sensor
    3 FlgHomez Home Z flag Home Z Flag covers the sensor Home Z Flag doesn’t cover the sensor
  2. Adjust Chuck and Pins vacuum sensor using the trimers
    Note: Make sure that vacuum line is connected to and we have vacuum. image
    The leds on the boards should correspond the actual state

  3. Type INP and check that we have matching state in the firmware too

  4. Cover Home R sensor manually
    image

  5. Type INP and check that we have matching state in the firmware too

    >inp  
    1. SenChuck :   
    2. SenPins  :   
    3. FlgHomeR : 1  
    4. FlgHomeZ : 
    > 
    
  6. Uncover Home R sensor
    image

  7. Cover Home Z sensor manually

  8. Type INP and check that we have matching state in the firmware too

    >inp  
    0. SenChuck :   
    1. SenPins  :   
    3. FlgHomeR :   
    4. FlgHomez : 1 
    >  
    
  9. Uncover Home Z sensor

4. Home Prealigner #

  1. Connect MCDN if is not already connected Connect MCDN
  2. Type HOM and check that we have matching state in the firmware too
    >hom  
    >Axis T : 0002  
    0x0002 : Stopped  
    Axis R : 0002  
    0x0002 : Stopped  
    Axis Z : 0002  
    0x0002 : Stopped  
    >
    

5. Set R Home offset #

  1. Connect MCDN
  2. Home Prealigner
  3. After homing the chuck will be roughly at that position.
    image
  4. Type SOF to diables the servo loop.
  5. Rotate motor by hand until your chuck touch reverse R hardstop.
  6. Chuck at hard stop.
    image
  7. Type SON to enable the servo loop.
  8. Move the R axis 400 microns in opposite direction to move away form hard stop.
    >mvr r 400
    >Axis T : 0002
    0x0002 : Stopped
    Axis R : 0002
    0x0002 : Stopped
    Axis Z : 0002
    0x0002 : Stopped
    >
    
  9. Type _HO R to set this position to be zero.
    >_ho r 
    >
    
  10. Type RCP to verfy this zero.
    >rcp r  
    0
    
  11. Type SAVEP to store this configuration.
    >savep
    >
    
  12. Power cycle (restart) Prealigner controller

6. Set R limits #

  1. Connect MCDN
  2. Home Prealigner

Set Reverse software limit #

  1. Type _RL R -200 to set reverse limit.
    >_rl r -200
    >
    
  2. Type savep to store this position.
    >savep
    >
    

Set Forward software limit #

  1. Type SOF to disable the servo loop.

  2. Rotate motor by hand until your R axis touch forward hardstop.

  3. Type SON to enable the servo loop.

  4. Move the R axis -200 microns in opposite direction to move away form hard stop.

    >mvr r -200
    >Axis T : 0002
    0x0002 : Stopped
    Axis R : 0002
    0x0002 : Stopped
    Axis Z : 0002
    0x0002 : Stopped
    >
    
  5. Type RCP to read current position

    >rcp
    -12, 14127, 3133
    
  6. Use this round position to set reverse limit

  7. Type _fl r [position]

    >_fl r 14100
    >
    
  8. Type savep to store this position

    >savep
    >
    

Set Park position #

  1. Connect MCDN
  2. Set R limits
  3. Type _pp r to store this value
    >_pp r 
    > 
    
  4. Type SAVEP to store this position
    >savep
    >
    
  5. Home Prealigner

7. Set Z Home offset #

  1. Connect MCDN
  2. Home Prealigner
  3. Type SOF to diables the servo loop.
  4. Rotate motor by hand until your chuck touch reverse Z hardstop.
  5. Pins at hard stop.
    image
  6. Type SON to enable the servo loop.
  7. Move the pins 400 microns in opposite direction to move away form hard stop.
    >mvr z 400
    >Axis T : 0002
    0x0002 : Stopped
    Axis R : 0002
    0x0002 : Stopped
    Axis Z : 0002
    0x0002 : Stopped
    >
    
  8. Type _HO Z to set this position to be zero.
    >_ho z 
    >
    
  9. Type RCP to verfy this zero.
    >rcp z  
    0
    
  10. Type SAVEP to store this configuration.
    >savep
    >
    
  11. Power cycle (restart) Prealigner controller

8. Set Z limits #

  1. Connect MCDN
  2. Home Prealigner

Set Reverse software limit #

  1. Type _RL Z -200 to set reverse limit.
    >_rl z -200
    >
    
  2. Type savep to store this position.
    >savep
    >
    

Set Forward software limit #

  1. Type SOF to disable the servo loop.

  2. Rotate motor by hand until your pins touch forward hardstop. image

  3. Type SON to enable the servo loop.

  4. Move the pins -200 microns in opposite direction to move away form hard stop.

    >mvr z -200
    >Axis T : 0002
    0x0002 : Stopped
    Axis R : 0002
    0x0002 : Stopped
    Axis Z : 0002
    0x0002 : Stopped
    >
    
  5. Type RCP to read current position

    >rcp z
    9351
    >
    
  6. Use this round position to set forward limit

  7. Type _fl z [position]

    >_fl z 9300
    >
    
  8. Type savep to store this position

    >savep
    >
    
  9. Home Prealigner

9. Set adjust up/down positions #

  1. Connect MCDN

  2. Home Prealigner

  3. Place glass fixture on top of the chuck.

  4. Make sure that vacuum line is connected to and we have vacuum.

  5. Type _fpins and wait measurement to complete.

    >_fpins
    Up:4891 Down:5184
    Axis T : 0002
    0x0002 : Stopped
    Axis R : 0002
    0x0002 : Stopped
    Axis Z : 0002
    0x0002 : Stopped
    >
    
  6. Prace a wafer on top of the chuck and exsesise move to adjust up (MTAU) and adjust down (MTAD)

    >mtau
    >Axis T : 0002
    0x0002 : Stopped
    Axis R : 0002
    0x0002 : Stopped
    Axis Z : 0002
    0x0002 : Stopped
    
    >mtad
    >Axis T : 0002
    0x0002 : Stopped
    Axis R : 0002
    0x0002 : Stopped
    Axis Z : 0002
    0x0002 : Stopped
    
  7. Optionally you can adjust up offset (_ADJUP) and down offset (_ADJDN)

    >_adjup
    1000
    >_adjup 1100
    >_adjup
    1100
    >_adjdn
    1000
    >_adjdn 1100
    >_adjdn
    1100
    
  8. Type SAVER to store this position

    >saver
    >
    

10. Verify transfer on pins/chuck offsets #

  1. Connect MCDN
  2. Home Prealigner
  3. Set adjust up/down positions
  4. Place wafer on top of the chuck.
  5. Make sure that vacuum line is connected to and we have vacuum.
  6. Check move to pick from pins (MTP) and pick from chuck (MTC)
    >mtp
    >Axis T : 0002
    0x0002 : Stopped
    Axis R : 0002
    0x0002 : Stopped
    Axis Z : 0002
    0x0002 : Stopped
    
    >mtc
    >Axis T : 0002
    0x0002 : Stopped
    Axis R : 0002
    0x0002 : Stopped
    Axis Z : 0002
    0x0002 : Stopped
    >
    
  7. Optionally you can adjust transfer on pins offset (_TONP) and transfer on chuck offset (_TONC).
    >_tonp
    3000
    >_tonc
    3000
    >
    >_tonc 3500
    >_tonc
    3500
    >
    
  8. Type saver to store this offset
    >saver
    >
    

11. Set scan positions #

  1. Connect MCDN

  2. Home Prealigner

  3. Set adjust up/down positions

  4. Place wafer on top of the chuck.

  5. Make sure that vacuum line is connected to and we have vacuum.

  6. Move Z axis to desired position.

  7. Read this position

  8. Set position using (_spos)

    >rcp z
    5885
    >_spos 5885
    
  9. Type saver to store this offset

    >saver
    >
    

12. Disconnect MCDN #

  1. Type SOF to disable servo
    >sof  
    >
    
  2. Type NOP to disable servo power
    >nop  
    >
    
  3. Type mcdn - to disconnect communication with MCDN
    >mcdn -  
    >
    

Troubleshooting #

Restore from Max Position Error Exceeded #

>Axis T : 0002
0x0002 : Stopped
Axis R : 00A2
0x0002 : Stopped
0x0020 : Max Position Error Exceeded
0x0080 : No Servo
  • Check for mechanical obstacle which prevent motor to reach that position
  • Type son to enable again servo power

MCDN communication check #

Type -state to check the state of communication

>-state  
MCDN: Connected 1250000 baud, Poll 2000 Hz,  Polling, NoError  
>

Type -error to check how many packet fail

>-error  
MCDN: Checksum PASS: 2777821, FAIL: 1  
>