Skip to content

Connecting ASI

Nikita Vladimirov edited this page Sep 24, 2024 · 10 revisions

Connecting ASI Tiger controller to the stages

The ASI controller has its own stage notation, which maps to Benchtop via the following table

ASI stage ASI joystick Benchtop stage
V/W Up/Down Y (vertical sample motion)
X Left/Right X (horizontal sample motion)
Y Left wheel F (focus)
Z Right wheel Z (motion along detection axis, slicing)
T (or R) No control Theta (rotation)

Connecting stages to ASI Tiger controller

ASI Tiger front panel

Setting the mesoSPIM system config file

The axis dictionaries stage_assignment, encoder_conversion, speed in the configuration file must have the same order as cards:

asi_parameters = {'COMport' : 'COM23',
                  'baudrate' : 115200,
                  'stage_assignment': {'x':'X', 'f':'Y', 'z':'Z', 'theta':'T', 'y':'V'}, # The dictionary order is important here! Must match the ASI cards 1,2,3, left to right. This is a standard ASI cards order: XYZTV
                  'encoder_conversion': {'X': 10., 'Y': 10., 'Z': 10., 'T': 1000., 'V': 10.}, # Num of encoder counts per um or degree, depending on stage type. The order match the 'stage_assignment' dictionary order.
                  'speed': {'X': 3., 'Y': 3., 'Z': 3., 'T': 30., 'V': 3.}, # mm/s or deg/s.
                  'stage_trigger_source': '/PXI1Slot4/PFI0',
                  'stage_trigger_out_line': '/PXI1Slot4/ctr1',
                  'stage_trigger_delay_%' : 92.5, # Set to 92.5 for stage triggering exactly after the ETL sweep
                  'stage_trigger_pulse_%' : 1,
                  'ttl_motion_enabled': True,
                  'ttl_cards':(1,2),
                  }

If the stages order is unclear, connect to ASI Tiger controller via ASITigerConsole software and run BU X command. The response for axis order shown above must be:

TIGER_COMM
Motor Axes: X Y Z T V W
Axis Types: x x z t z v
Axis Addr: 1 1 2 2 3 3
...

Configuring the ASI joystick

  1. Open the ASI Tiger Console and connect to your Tiger controller via serial port: image

  2. The following commands configure the joystick to operate with mesoSPIM stage assignment:

J V=103 W=0
J X=102
J Y=123
J Z=122
J T=100
1 SS Z
2 SS Z
3 SS Z
SAVESET
RESET

image

Troubleshooting

Unexpected stage movements

Some setups have outdated ASI firmware version. It must be at least 3.45 or higher. To check your version, connect to ASI Tiger and send who command. The response should look like this:

Sent
who

Received
At 30: Comm v3.45 TIGER_COMM Apr 04 2024:17:51:59
At 31: X:XYMotor,Y:XYMotor v3.45 STD_XY Mar 21 2024:13:50:57 [S]
At 32: Z:ZMotor,T:Theta v3.45 STD_Z_ROT_SRS Mar 21 2024:14:20:17 [S]
At 33: V:ZMotor,W:Slave v3.45 FTP_ZF Mar 21 2024:14:02:36 [S]

if your firmware version is <3.45, contact ASI team for support.

The mesoSPIM_Y (vertical) stage moves up when the joystick is pushed down

Solution: you can invert the joystick polarity for this VW axis on Card #3 (ASI CCA Z command):

3 CCA Z=22
3 SS Z
SAVESET
RESET

The mesoSPIM_Y (vertical) stage moves up when mesoSPIM_control button is pushed "Down"

Solution 1 (ASI hardware): invert the VW stage polarity on Card #3 (ASI CCA Z command):

3 CCA Z=6
3 CCA Z=8
3 SS Z
SAVESET
RESET

Solution 2 (mesoSPIM_control>=1.9.0): change the config.py file of your system:

ui_options = {...
              'flip_XYZFT_button_polarity': (True, True, False, False, False), # flip the polarity of the stage buttons (X, Y, Z, F, Theta)
              }

The stages move less than you command them

For example, you command the stage to move 1000 µm in the mesoSPIM_control, but the stage moves only 125 µm in reality (but reports in the software as if it moved 1000). This can happen because of incorrect ASI controller factory settings (e.g. incorrect lead screw pitch), and can be corrected with cca command. When in doubt, reach out to ASI team for support at info@asiimaging.com.

💡 A quick reality check of the actual stage movement vs commanded is to attach a sticker of known size to the stage, and cut it in half, so one half moves with the stage slide, while the other half remains attached to the base. On the image below, the sticker diameter is 8 mm. When you command 8x steps of 1000 µm each in mesoSPIM_control, the sticker halves should be offset by exactly one diameter.

stage trick sticker

Clone this wiki locally