This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
nmr_probes [2013/12/14 11:01] pereira |
nmr_probes [2023/10/24 08:17] noji wish is now wish8.6 |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== NMR Control ===== | ====== NMR Control ===== | ||
- | Two digital oscilloscopes are dedicated to NMR readout – one for the analysis line NMRs and one for the spectrograph NMRs. The scopes are located in data-U6, in upper two shelves on the right electronics rack. They are isolated from clean ground because this signals from the NMR probes are on a dirty ground. | + | Two digital oscilloscopes are dedicated to NMR readout – one for the analysis line NMRs and one for the spectrograph NMRs. The scopes are located in the S3 mezzanine. They are isolated from clean ground because this signals from the NMR probes are on a dirty ground. |
- | The NMR running programs for both the S800 analysis line and spectrograph | + | ===== Motivation ===== |
+ | Due to the location of the NMR probes in the dipoles of both the S800 analysis line and spectrograph, | ||
+ | The solution implemented on the S800 uses digital oscilloscopes to digitize the NMR signal. The digitized signal is then used in a program that calculates the position of the resonance and deduces the value of the magnetic field. This program (written in Tcl/Tk) is fully autonomous and automatically writes the measured Brho values to the relevant EPICS channels. In addition, it offers the possibility to match the dipoles by pairs and keeps a log file of the measured fields. | ||
+ | |||
+ | |||
+ | ===== Description ===== | ||
+ | The NMR running programs for both the S800 analysis line and spectrograph dipoles can be started by logging in to exp-s3-nmr.ftc (10.40.230.111) accessible from the EXP network, namely, from a whatever computer connected to the EXP network, | ||
+ | |||
+ | $ ssh [your-user-name-on-EXP]@exp-s3-nmr -Y | ||
+ | |||
+ | and typing, for the analysis line dipoles | ||
+ | |||
+ | $ / | ||
+ | |||
+ | and for the spectrograph dipoles | ||
+ | |||
+ | $ / | ||
+ | |||
+ | **Note that it is not simply wish anymore but wish8.6.** | ||
+ | Now press start on the GUI, which is shown below, and you should see a field reading. Sometimes the initialization of these applications fail. In that case check section [[nmr probes# | ||
{{: | {{: | ||
+ | ===== Terminating processes run by another user ===== | ||
+ | |||
+ | A solution has been implemented for the case where one user needs to run the NMR software via the ' | ||
+ | |||
+ | If a user is running ' | ||
+ | |||
+ | * Log on to exp-s3-nmr virtual machine (as described above) | ||
+ | * Type 'ps aux | grep wish' to find out the name of the user that is running wish | ||
+ | * Let's suppose user ' | ||
+ | * This will stop both wish processes that are running as user ' | ||
+ | * Now user ' | ||
+ | |||
+ | In short, | ||
+ | |||
+ | $ ps aux | grep wish | ||
+ | $ sudo -u usernameRunningWish pkill wish | ||
+ | | ||
+ | and you should be able to run the NMR software. | ||
+ | ===== Operation ===== | ||
+ | The NMR program constantly checks the status of the various dipoles from the EPICS system and updates the status column. In addition, the program checks the log file at startup for the closest previously measured value. In case no previous measurement can be used the program searches for a signal around the guessed value of the field. This search can take some time if the calibration is off or the hysteresis of the dipole is large. The maximum number of attempts is limited to 200. After that the status is marked as " | ||
+ | |||
+ | In order to reduce the searching time, the program tries to guess the field from the following sources, in priority order: | ||
+ | |||
+ | * Previous measurement if the current hasn't changed | ||
+ | |||
+ | * Extrapolation from previous measurement if the change in current is within ±5% | ||
+ | |||
+ | * Calibration if no previous measurement is available | ||
+ | |||
+ | Once a signal is found, the measuring sequence tries to find two resonance positions on either side of 0. Each resonance is calculated as the average between the negative and positive modulation minima (blue and green curves, and corresponding arrows). The final field is interpolated from those measurements, | ||
+ | |||
+ | |||
+ | If a dipole is turned off or its field is being changed, the status shows either " | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | The magnet currents, measured fields, and deviation from the set value are logged in a file that is soft-linked from the " | ||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Matching ===== | ||
+ | |||
+ | The button labeled “Match” opens a new window for matching the dipoles by pairs (see picture below). The user has the possibility to match the dipoles to either Barney or to the average calculated from the present measurements. This last function is useful when the dipoles have been tweaked to adjust the position of the beam, leading to an unmatched pair of dipoles. Since matching the dipoles involves changing their fields, it is necessary to wait for the measuring loop to go over each dipole before the effect of matching can be observed. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== Troubleshooting ===== | ||
+ | |||
+ | |||
+ | ==== NMR GUI does not start ==== | ||
+ | |||
+ | The NMR program is connected to the following devices and systems: | ||
+ | |||
+ | * The NMR module through a terminal server | ||
+ | |||
+ | * The digital oscilloscope through a terminal server | ||
+ | |||
+ | * The EPICS system through the caRepeater process launched by the et_wish shell running the program | ||
+ | |||
+ | Any of these connections can eventually be broken, and the program tries to catch the failures and report them to the user. However there are cases when the program " | ||
+ | |||
+ | In case nothing happens after clicking on the icon, the connection to the NMR module is probably locked and needs to be freed. To free it, type the following from any shell window (actual typing show in **bold** font): | ||
+ | |||
+ | - **telnet s800ts.nscl.msu.edu** | ||
+ | - Enter any **username** | ||
+ | - **set priv ** | ||
+ | - The system will ask you the password (" | ||
+ | - **unattach port x** (where x=1 for the analysis line and x=2 for the spectrograph) | ||
+ | - **logout** | ||
+ | - Click again on the starting icon and the program should start. | ||
+ | |||
+ | |||
+ | ==== NMR GUI does not communicate with NMR controllers ==== | ||
+ | * This can be seen, for instance, when the NMR controller finds a resonance, but the NMR GUI keeps trying forever. | ||
+ | * Most likely, you need to reboot the terminal server located in S3 | ||
+ | * Go to the mezzanine level, where the NMR controllers are located | ||
+ | * The terminal server is behind the NMR controllers | ||
+ | * Simply turn it off, wait few seconds, and turn it back on | ||
+ | |||
+ | |||
+ | |||
+ | ==== Spectrograph NMR GUI " | ||
+ | * This is typically the case when the thresholds in the NMR GUI are not set properly. If they are too low, the program may lock in noise. Conversely, if the thresholds are too high, it may miss a weak resonance. | ||
+ | * Threshold for the Spectrograph resonance can be adjusted by hand in the Spectrograph NMR GUI. In general, a threshold 0.15 mV is good for normal NMR signals, whereas 0.10 mV may be necessary if the signal are too weak. | ||
+ | |||
+ | |||
+ | ==== Manually setting Dipole Fields | ||
+ | (Based on notes from Mathias Steiner with some extra info included) | ||
+ | |||
+ | You will need to get access to the NMR controllers in the mezzanine level of S3 (see picture below). You will also have to connect an oscilloscope to one of the NMR controllers, | ||
+ | |||
+ | |||
+ | |||
+ | Let’s assume that you want to set the dipole I265DS (first dipole (D1) of S800 Spectrograph) to the rigidity (Brho) 3.7965 Tm (this works for any dipole in the S800) | ||
- | The NMR program constantly checks | + | **Method 1** |
+ | * Divide Brho by the dipole radius 2.8028m (you can see the nominal radius of each dipole in Barney) to determine the desired field (in Tesla). In this case, it will be 1.35454 T (or 13.5454 kG) | ||
+ | * Get access to the NMR controller in the mezzanine level of S3 vault (see figure below). Push the “SEARCH LOCAL” button to take control out of REMOTE mode. | ||
+ | * Select | ||
+ | * The list of probes that can be selected with the knobs are, for the Spectrograph: | ||
+ | * Use the “coarse” and “fine” knobs to select the field that you want (in T): 1.35454 T. By doing this, you are asking the NMR controller to just look at that field. | ||
+ | * If the field of that dipole happens to be close enough to the field that the NMR controller is looking at, Bingo! You’ll most likely see a resonance in the oscilloscope. In the most likely situation, however, your magnet is far away from the NMR search | ||
+ | * All you need to do now is to vary the magnetic field of your dipole, and drive it towards the value that the NMR controller | ||
+ | * As you get close to that value, the oscilloscope will show the NMR resonance. Keep moving until the resonance is well centered. At that point, your dipole is set to the desired field | ||
+ | **Method 2** | ||
+ | * Alternatively, | ||
+ | * Set EPICS channel **I265DS_MAG.BSET** to 13.5454 (note, the default value of this channel is always an (impossible) 9999.1111, which is ignored. Typing 13.5454 will cause the magnet to go to 257.577 A, and **I265DS_MAG.BSET** goes back to 9999.1111. Setting the magnet this way will get you to plus or minus half a percent of where you want to be. | ||
+ | * At that point, the quickest way may be to use the FINE knob in the NMR controller to find the actual field value. Just turn the knob until the resonance is centered in the oscilloscope, | ||
+ | * Once you know the value of the field, type it (in Tesla) into the EPICS channel **I265DS_MAG.FELD**. Note that this is what Daniel' | ||
+ | * Having done that, you can use the BARNEY ' | ||
+ | * Repeat until satisfied. | ||
- | If a dipole is turned off or its field is being changed, the status shows either “Off” or “Unstable” and the program issues a beep. If this happens under running condition in data-taking mode, stop the beam and ask the operator | + | {{: |
+ | {{: | ||
- | {{: | ||