Skip to content
Jason Detwiler edited this page Jan 16, 2021 · 21 revisions

Welcome to the CAGE wiki!

Biasing Steps

  1. verify HV interlock is off (see the README in CAGE/controls)
  2. verify initial ramp speed is 2 V/s
  3. gui running, oscilloscope running

HV bias values:

  • @ 2 V/sec ramp -- 5, 10, 50, 100, 200
  • @ 5 V/sec ramp -- 400, 700, 1100, 1600, 2200, 2600, 2700

Change ramp on the cage pi with $ dragonfly set cage_hv_rup [2, 5] -b mjcenpa

Slow Controls GUI

  • open a terminal on mjcenp
  • cd /software/cage/gui
  • python cage_control.py

For more info, see the README in CAGE/controls

Running the motors

Motor safety checklist

Important things to remember to avoid accidents:

  1. Top-hat must always be lifted and lift interlock switch engaged before any motor movements.
  2. Linear stage should always be centered before using the rotary motor.
  3. Source motor should always be zeroed before rotating using the rotary motor. This is because the thumbscrews and detector posts holding the ring aren’t flush with the top of the ring and you can potentially run the collimator into them.

Motor movement software and status check

  • Open a terminal on mjcenp
  • cd /software/cage/motors
  • Stop any current run
  • Power on the Newmark motor controller
  • Open the GalilTools program (in dock, or find with spotlight)

To find IP addresses, location of history, other relevant info:

  • python3 motor_movement.py --config

Check the status and recent history, make sure it makes sense relative to where you think you are:

  • python3 motor_movement.py --status

You may need to widen the terminal to see all the columns. It seems that when the source motor is zeroed, it writes 2 lines of output (maybe at the start and end of the move? will be investigated.)

Moving the motors

Motions are made via commands like:

python3 motor_movement.py --[command] [motor_name] [args]

The three main commands are:

  • zero: send motor to its limit switch
  • center: you need to have zeroed before you run this commmand! Just drives a motor forward by a pre-set amount
    • source: rotate to normal incidence
    • linear: center the collimator over the point contact
    • rotary: no effect
  • move: move a motor by specified amount
    • source: argument is in degrees, where negative values move away from the limit switch
    • linear: argument is in mm, where positive values move away from the limit switch
    • rotary: argument is in degrees, where negative values move away from the limit switch

Here are the general instructions for making a move:

  • Plan your movement: determine what commands need to be run for each motor. Refer to the CAGE drawings, especially topview.pdf
  • Turn off the HV interlock if it is on (see CAGE/controls)
  • Raise the tophat and engage lift interlock
  • Double check that the lift interlock is being recognized by re-running "python3 motor_movement.py --status" and reading the last line
  • Zero all motors (skip this step at your own risk. There must be zero probability that you will end up at a position that runs the motor into the diving board or the posts)
    • When you zero the source motor, verify that the source limit switch is tapped in GalilTools line 170
    • For the rotary and linear motors, run the "status" command after zeroing to verify that the corresponding limit switch is ON
  • If you plan to move the rotary motor, center the linear motor
  • Generally, movements are then made in the order: rotary, linear, source

Example movement session for going to the "long alpha" position (10 mm radius):

  • python3 motor_movement.py --status
  • python3 motor_movement.py --zero source
    • verify limit switch is tapped (galiltools line 170).
  • python3 motor_movement.py --zero linear
  • python3 motor_movement.py --status
    • verify linear and rotary limit switches are ON.
  • python3 motor_movement.py --center linear
  • if rotary limit switch was OFF when last checked:
    • python3 motor_movement.py --zero rotary
    • python3 motor_movement.py --status
  • python3 motor_movement.py --move linear 10
  • python3 motor_movement.py --center source

After

  • motor power off
  • HV interlock on
Clone this wiki locally