Skip to content

PI Stage Setup

Rob Campbell edited this page Jan 22, 2019 · 3 revisions

If you are using PI stages, you should ideally optimize their motions using PI MikroMove. The following is a list of things to do, but without detailed instructions.

  • Set the soft limits (min and max positions) for the X and Y axes so that even at the firmware level, stages can't accept out of bounds motion commands that would cause hardware damage.

  • Load the stage with the water bath and fire up the data recorder for each axis. Make steps of the sizes you typically use during tile scanning. Look at the curves. They should settle in under about 150 ms. If the stage position poorly follows the command position then you can try tuning the PID loops (see below). If the command position is changing too quickly, try increasing the speed and acceleration. Ensure that the stages are also able to me large motions (20 or 30 mm) even with the faster speeds. Decrease if not. Remember that in a 1 or 2 mm step you may not reach the maximum speed.

  • You can confirm all is good by imaging pollen grains and moving the stages.

  • Note that with larger step sizes and faster speeds the water in the bath can cause image to oscilate for a short while. If this is problematic: decelerate more gradually, use slower speeds, reduce the water bath volume.

Tuning the PID loops

  • The direct-drive stages have separate loops for position and velocity.
  • Other stages have multiple loops for other purposes. If your tuning changes do nothing, try a different loop.
  • Enable the display of the startup parameters. This will make going back to the original values easier.
  • Set the I and D terms to zero. Set P to a low number (e.g. 10). Perform a step of the size and speed typical of tile scanning.
  • Keep doubling P until you see oscillations, then halve it.
  • Set I to a small number (e.g. 5) and keep doubling it as long as the curve improves. Look for where it settles to a steady state and has reached the target position. Keep going until it oscillates then halve it. If the curve looks good earlier then you don't need to push that far.
  • Tweak D if needed, but otherwise leave at zero.
  • More info here.
Clone this wiki locally