Digitization of a Secondary Pump 

Condition-based Monitoring System

NIST Center for Neutron Research

Reactor Operations and Engineering Group

By:

Abdullah Weiss

NIST Advisors:

Dagistan Sahin, PhD

Marcus Schwaderer

2018 NIST Summer 

Undergraduate Research 

Fellowship

Grant Number:70NANB18H070
Background

Abdullah Weiss

• B.S. in Mechanical Engineering at Texas A&M University-Kingsville

• Upcoming PhD in Nuclear Engineering student at Texas A&M University

Katie Behnert

• Collaborator on the project (led the physical lump of the project)

• Upcoming Senior in Nuclear Engineering at Penn State University

2
Project Background

3

• NCNR generates neutrons via a fission nuclear reactor

• DD2OO moderated and cooled

• cooled via HH2OO in a secondary loop

https://www.ncnr.nist.gov/summerschool/ss07/bob_williams.pdf
Condition-based Monitoring (CBM)

4

• The primary form of predictive maintenance for machinery

• Monitors different conditions:

• Vibration, Temperature, etc..

• Via noise analysis

• Evaluates health of machinery using:

• Time-history plots

• Frequency spectra

• Can provide financial savings through predictive measures

Pump

Vibration Sensor

TOO MUCH VIBRATION!

Something must be wrong!
Monitored conditions in our CBM System

5

Temperature (simple one)

• If the temperature of the bearing exceeds a set-limit, then you should investigate.

Vibrations (complex one)

• Raw vibration history-plot reveals a severity measure of the vibrations

• FFT spectrum reveals specific faults including:

• Cavitation

• Mechanical Looseness

• Misalignment

• Turbulence

• Oil Whirl Instability

• Etc..
Vibrations Analysis Literature

6

https://www.engineersedge.com/vibration/vibration_s

everity_chart_13658.htm

For Raw Data 

Assessment

For Filtered 

Data Spectra 

Assessment

H. P. Bloch and F. K. Geitner, Machinery Failure Analysis and 

Troubleshooting: Practical Machinery Management for 

Process Plants. (4th ed.) .

Analyze multiples of 

pump operating 

frequency
CBM System

7

Courtesy of Katie Behnert

• Sensors installed on the following axes:

• Tangential

• Radial

• Axial

Accelerometer

Transmitter
Sensor Locations

8

Axial (Ch. 0) Radial (Ch. 1) Radial (Ch. 2) Tangential (Ch. 3)
CBM Connections Schematic

9

σσVVVVVVVV = 6.4236%

σσTTTTTTTT = 1.3457%
CBM Connections Box

10
High-Level Architecture of Software

11

Plot

•Data is displayed in a 

frequency plot

Find Peaks

•Significant peaks are 

picked by the program

Auto 

Spectrum 

Calculation

•Filtered data 

undergoes an auto 

spectrum calculation 

to further filter signal

Fast-Fourier 

Transform

•Vectorized data is 

passed through FFT to 

filter the noise

PC/MATLAB

•Digital signal is 

converted to 

vectorized data

DAQ

•Converts analog signal 

to digital signal

Transmitter

•Amplifies Analog 

Signal

Sensor

•Vibrations

•Analog Signal

Vibration Data Flow

Plot

•Data is displayed in a 

time plot

PC/MATLAB

•Digital signal is 

converted to 

vectorized data

DAQ

•Converts analog 

signal to digital 

signal

Sensor

•Temperature

•Analog Signal

Temperature Data Flow
High-Level Architecture of Software

12

High-Level Architecture of Software
Vibrations Data Acquisition

13

• Utilized a NI USB-4432 DAQ device

• 5 BNC input channels (only 4 are used)

• 200 kS/s (10 kS/s used)

• Sensitivities set in MATLAB

• Performed 5 batches of DAQ (5 seconds each)

• Average is utilized

• Represents an average over every “30” seconds.

Data Acquisition Device (DAQ)

The Abdullah Guarantee:

Program will always update in no more 

than 30 seconds
Vibrations Data Processing

14

• Raw data → Fast-Fourier Transform (fft command in MATLAB) → Filtered data

• Computes the Discrete-Fourier transform using a built-in MATLAB FFT algorithm:

• YY kk = ∑jj=1

nn XX

�

jj

SSSSSS SSSS

WWnn

jj−1 (kk−1) ∋ WWnn = ee

−2ππππ

nn = oooo oooo rr rrrr oooo uu uu uu

• Creates a complex vector of data

• AA AAAA AA AA =

FFFFFF rr rr dd dd � cccc FFFFFF rr rr dd dd

LLLL L oo SSSSSS SSSS
Vibrations Data Peaks’ Finder

15

• Based on a user-defined RPM (for each channel), the conditioner function:

1. looks for a frequency that matches the vane-pass frequency (VPF) within a certain accuracy

• VVVVVV =

RRRRRR

60 ssssss

mm

× NNvv vv

2. finds the corresponding amplitude (principle peak)

3. circles the point

• Based on the principle peak, the same conditioner function:

1. finds peaks @ VPF multiples (0.5X, 1X, 1.5X, 2.5X, 3X, 4X .... 10X)

2. leaves x at each point
Vibrations Data Peaks’ Finder

16
Vibrations Automatic Fault Detector (Conditioner)

17

Mechanical Looseness

• “Possible Looseness”: There are too many ‘x’ marks (> 3 ‘x’ marks).

• “Looseness detected”: There are too many ‘x’ marks, and one of them has an amplitude 

higher than the principle peak.

Misalignment

• “Possible Misalignment”: The ≈2X peak is between 50% and 150% of the principle peak’s 

amplitude.

• “Misalignment detected”: The ≈2X peak is more than 150% of the principle peak’s amplitude.
Vibrations Automatic Fault Detector (Cont.)

18

Oil Whirl Instability

• “Possible Oil Whirl Instability”: A peak at 0.2X to 0.8X is greater than the principle peak.

Flow Turbulence

• “Possible Flow Turbulence”: There are several random low-frequency peaks that have an 

amplitude that of at least 4% of the principle peak’s amplitude.

Cavitation

• “Possible Cavitation”: There are several random high-frequency peaks that have an 

amplitude of at least 8% of the principle peak’s amplitude.
Human-machine Interface (A Channel tab)

19
Phase Analysis

20

• Used for further verification of faults such as misalignment, soft foot, etc....

• Utilizes phase angle difference

• Compares two channels (A & B):

• Cross-Spectrum:

• XX AAAA = FF AA � FF BB

• Displays phase angle of XX AAAA:

• θθ = tan−1 RR∋ XX AAAA = RR + MM

• angle() command in MATLAB

• Finds phase angle difference between signals from channels A and B.
Human-machine Interface (Phase Analysis tab)

21
Vibrations Severity Detector (RawConditioner)

22

Average Raw Vibrations (every ≈30 seconds):

0 – 0.005 in/s Extremely Smooth

0.005 – 0.01 in/s Very Smooth

0.01 – 0.02 in/s Smooth

0.02 – 0.04 in/s Very Good

0.04 – 0.08 in/s Good

0.08 – 0.16 in/s Fair

0.16 – 0.32 in/s Slightly Rough

0.32 – 0.64 in/s Rough

> 0.64 in/s Very Rough

https://www.engineersedge.com/vibration/vibration_s

everity_chart_13658.htm
Temperature Conditioner (RawConditioner)

23

• Using set temperature limits ( , and h):

• ≥ h | ≤ →

• Th > > →

Pump

Temp Sensor

T

TOO 

HIGH!

TOO 

LOW!

Just 

Right 

(:
Human-machine Interface (Summary Tab)

24
Human-machine Interface (Settings tab)

25
Output File

26

• Generated every hour

• .csv file

• 20 – 25 MB

• Each channel

• FFT data with the peaks’ frequencies

• Enables further manual analysis
Sensitivity Analysis & Observations

27

• Performed to pick reasonable sensitivities (V/g) for the channels

• Average in/s at various sensitivities

• Referenced to transmitters’ values

• Best-fit functions & trial-error revealed appropriate sensitivities for channels

• Different Sensitivity for each channel

• Channels should have same sensitivity

• Calibration needed

• ↑ Sampling rate ≡ ↓ in/s
Conclusion

28

• A working CBM system was developed and implemented 

successfully

• A corresponding custom software was developed and 

implemented successfully

• Documentation (including a manual) were put together for the 

software analysis
Future Work

29

• Calibrate accelerometers

• Improve GUI

• Installation of CBM system on primary pumps

• Additional Noise Analysis Applications:

• Crack detection (for fuel channels analysis)

• Power Noise
Acknowledgements

30

Muhammad Afridi, PhD

Richard Allen

Scott Arneson

Julie Borchers, PhD

Heather Chen-Mayer, PhD

Joseph Dura, PhD

Steven Fick, PhD

Sam MacDavid

Mitchell Stansloski, PhD, PE

Danyal Turkoglu, PhD

All of the members of Reactor Ops and Engineering at the NCNR

NIST Research Library
Acknowledgements

31
Acknowledgements

32

Marcus Schwaderer, MBA, 

COR II, PM II

Dağistan Şahin, PhD Katie Behnert, National Golf 

Champion (GoogleMe)
Q/A

33