Table of Contents

Differential Pumping System

Watcher workflow

The DPS watcher monitors the pumps, valves, and pressures and reacts to fault conditions. This new version was pushed to production on August 17. File: cvs_work/matlab/toolbox/DPSvacWatcher.m

  1. Every hour, check the pressure. Print this to the command window. If the status is bad, increment the total number of trips
  2. Nominally every second, do a general health check by comparing the current values to all of the possible good states. The support PVs used by the health monitor are also updated here
  3. If the upstream state is bad:
    1. Check the foreline valve pairs. Stages 2 and 3 have two foreline valves each, and only one per pair should be open at any time. If they’re both open, close the one to the beamline (name always has an A)
    2. Check the TMP/foreline valve pairs
      1. For stages 1 and 2, if the TMP is stopped or braking and the valve to the roughing pump is open, close that valve. If that valve is closed but the TMP is running (and not accelerating or braking), stop the TMP.
      2. For stage 3, the same applies but with both stage 3 valves. If the TMP is stopped or braking and at least one of the stage 3 valves is open, close both. If both of those valves are closed but the TMP is running (and not accelerating or braking), stop the TMP
  4. If the downstream state is bad, check the stage 1 foreline valve pair and stage 1 and 2 TMP/foreline valve pairs as above
  5. If action was taken, call the trip() function to send a message to the command window, elog, and emails depending on the action flags. Also increment the total number of trips
  6. Set time of the next health check to be one to ten seconds depending on if any actions were taken
  7. If the number of no-action trips exceeded the maximum, quit the watcher

Changes from previous watcher

  • health_check() on the previous watcher just checked pressures. Now there is healthCheck() that looks at pumps, valves, and pressures, and pressureCheck() that’s just pressures
  • For the general health check, look at the whole upstream and downstream instead of by stages only
  • Consider all 10 good states for upstream and 5 for downstream, as well as all pumps off state
  • Now the upstream and downstream each have a table with PVs, current data, and the good states (instead of structs)
  • Foreline pair check if health check is bad
  • Checking for turbopump/foreline valve mismatch is only done if the general health check is bad
  • Email messages now report data in words rather than booleans
  • Watcher now updates support PVs for the health monitor
  • The vacuum SIOC heartbeat sum responds slower than the component PVs, meaning lcaGet for any of the pumps, pressures, and valves will fail before the heartbeat sum is in an error state. If lcaGet fails for all the PVs, the watcher will consider the SIOC off

Health monitor GUI

  • File: git_work/user-facet/DPShealthMonitor.ui
  • Accessible in the "Diagnostics" section on the LI20 vacuum page and the DPS full schematic page
  • There is no separate python support script for this PyDM GUI. Every label, indicator, or button that changes is linked to a PV and may have rules written in Qt Designer
  • All the indicator circles/banners except for the “Watcher On” one are connected to the following support PVs. The pause/resume DPS alarm emails button is tied to AO626. Whether or not the latest error message is displayed is controlled by AO627. These are all controlled by the watcher script

  • The “last updated” label, state names, and latest error message are connected to support PVs SIOC:SYS1:ML00:CA201 to 204. These are all controlled by the watcher script
  • The labels for each VPTM are either “Running,” “Braking,” and “Off.” This is controlled by a rule which only considers the VPTM rotation status and braking status. It is not connected to the watcher script
  • “Start Watcher,” “Log,” “Stop Watcher,” and “Watching”/”Bypass” are all the same as the DPS row on the general FACET-II watcher panel

Digital Mass Flow Controller

Setup

The previous controller for the helium flow to the lithium oven area was very sensitive to external conditions. This new digital MFC will be a replacement. We have the MKS GM50A013103SMM020. I tested the capabilities of the MFC in End Station B with both nitrogen and helium gas.

The MFC has a DB15 connector. The following pins were necessary for testing:

Pin numberUse
2Flow signal out
5Ground
7+15 to +24 VDC for power
80 to +5 VDC setpoint input

I connected the grounds of the two power supplies, which was the same ground given to pin 5.

Ethernet control options

Using the ethernet connection on the side, these are some things that can be done:

  • Change the gas settings
    • If using a common gas, search for it in the "Create a Gas" section under "Select a gas"
    • Under "Select an instance," choose a slot that says "NOGAS"
    • After submitting, the system will autofill the full scale numbers in the "Gas Settings" section. This may take a minute
  • Plot the flow data (requires some configuration on your computer)
  • Send a setpoint
  • Update the firmware
  • Set a delay time, ramp time, and setpoint offset
  • Zero the MFC

Many of these require the user to be in "SETUP" mode. The current mode is displayed on the bottom bar of the webpage. Go to the Configuration tab and type "config" when prompted for a password at the bottom. See more details in the web browser tutorial.

8/9/23 - 8/10/23 test on system

Logbook entries from 8/9/23 and 8/10/23.

First was a static fill test with helium. After some adjustments, we ended up with the setpoint at 3 V, and the IP pressure stabilized at 9.96 torr. Then we lowered the setpoint to 1.5 V, and the IP pressure stabilized around 5.18 torr. This was then left overnight. Here's a comparison to a test with the manual controller in December, both using VGCM:LI20:M3203:P.

On 8/10/23 after the He testing was complete, the system was also tested with argon and H2. The MFC was not recalibrated for these different gases–it stayed calibrated for He the whole time. A setpoint of 0.95 V resulted in 10 torr of argon. For H2, a setpoint of 2.9 V resulted in 5 torr.

Documentation and Presentations

Contact Me

Email me at samaraa@umich.edu if you have questions!

  • No labels