Evaluation and Design Support
Circuit Evaluation Board
CN-0540 Reference Design Board (EVAL-CN0540-ARDZ)
CN-0532 Reference Design Board (EVAL-CN0532-EBZ)
XLMOUNT1 Mechanical Mounting Module (EVAL-XLMOUNT1)
Design and integration files
Schematics, layout files, bill of materials, software, MATLAB examples, Python examples
Circuit functions and advantages
In industrial applications, machine condition monitoring (CbM) based on vibration detection is increasingly important. Companies seek to optimize machine life and performance and reduce cost of ownership, while some seek to develop new business models around the provision of this information. In order to accurately represent the machinery that needs to be monitored, large data sets must be collected to determine the baseline operating points of the equipment in both normal operating mode and failure conditions. Once this data is collected, algorithms or threshold detection routines can be created to provide the correct analysis for the device.
CbM needs to capture full bandwidth data to ensure that all harmonics, aliasing, and other mechanical interactions in the time and frequency domains are accounted for. This data collection requires high-performance sensors and data acquisition (DAQ) systems to provide high-fidelity real-time data to data analysis tools or applications.
Using mature tools like MATLAB® or newer Python-based tools like Tensorflow can greatly simplify the creation of algorithms for data analysis, mechanical performance analysis, and intelligent decision-making.
Thanks to sensors, vibration detection has traditionally dominated most CbM applications, and the science behind the analysis is better understood. The Integrated Electron Piezoelectric (IEPE) standard is a popular signal interface standard for high-end microelectromechanical systems (MEMS) and piezoelectric sensors commonly used in industry today.
Figure 1. CN-0549 System Block Diagram
Thanks to sensors, vibration detection has traditionally dominated most CbM applications, and the science behind the analysis is better understood. However, what if a new device needs to be analyzed, or a better understanding of how a specific usage situation affects a device? In order to gain the necessary insights, it is first necessary to understand how the machine behaves under optimal conditions and under conditions that induce failures. Figure 2 provides an example of what the spectrum looks like when operating with a vibration source in place.
Vibration sensor – IEPE interface
IEPE is a popular interface standard for high-end piezoelectric vibration sensors commonly used in industry today. The IEPE interface is a 2-wire signaling standard that contains only signal and ground. A DAQ card (such as CN-0540) provides current to the CN-0532 vibration sensor through the signal line, and the voltage is any voltage, usually between 10 V and 30 V. Since the signal lines are powered by a current source, the sensor can modulate the acceleration data on the voltage rail. Therefore, a single wire is used to both power the sensor and modulate the output voltage.
MEMS and Piezoelectric
Piezoelectric accelerometers dominate the CbM market today due to their broadband frequency response and sensitivity to vibrational excitation. However, recent developments in MEMS technology have made the gap between piezoelectric and MEMS accelerometers smaller than ever.
The CN-0532 IEPE MEMS vibration sensor is based on the ADXL1002. Noise and bandwidth are comparable to piezoelectric sensors, while the ADXL1002 has excellent performance in terms of temperature sensitivity, DC to low frequency response, phase response (and thus group delay), shock resistance, and shock recovery. The sensor’s linear (within ±0.1% full scale ratio (FSR) range) measurement range of ±50 g is sufficient to support a variety of vibration applications. For more information on the ADXL1002 and how it is used in an IEPE interface, visit the CN-0532 webpage.
When using CN-0549, piezoelectric sensor performance can be directly compared to MEMS-based sensor solution performance.
Mechanical sensor installation
The main challenge for CbM applications is to bridge the gap between the analog and digital worlds. Obtaining reliable sensor data from the monitored machine and feeding it into the processor is challenging. First and foremost, a connection must be established between the sensor and the device being monitored. Once installed on the machine, it is important to ensure that the vibration spectrum is not altered by any mechanical anomalies or effects caused by the sensor installation.
Figure 3. EVAL-XLMOUNT1 and EVAL-CN0532-EBZ
The EVAL-XLMOUNT1 is a five-sided mounting cube that allows the user to connect the CN-0532 to a device without the sensor affecting the data. The EVAL-XLMOUNT1 has been designed and tested to ensure that all error sources due to mechanical mounting are removed to a frequency of 20 kHz. The mounting cubes are also anodized to create a non-conductive layer on the aluminum surface to prevent short circuits.
Data Acquisition – IEPE
Typical data acquisition is to directly acquire voltage and current, and then convert them into digital codes. However, the IEPE interface is different and requires a more specialized DAQ board. The DAQ board must be able to power the sensor with the correct current and excitation voltage levels, and be able to read back the data collected by the sensor (which is modulated at the same excitation voltage).
The CN-0540 is a 24-bit single-channel DAQ system optimized for interfacing with IEPE sensors (see Figure 4). The DAQ system is capable of supplying the sensor with a maximum excitation voltage of approximately 26 V. The AD7768-1 ADC samples at 256 KSPS, which means that 6.144 Mbps of data is sent to the processor per second. For more details on the data collection used, please visit the CN-0540 webpage.
Field Programmable Gate Array (FPGA) Host
The CN-0540 hardware form factor is a standard Arduino® size, so any processing system capable of supporting the necessary data rates, electrical pinout, and mechanical form factor of the Arduino size can support the CN-0540. It supports development systems from two major FPGA manufacturers, the Intel DE10-Nano System-on-Chip (SoC) platform and the Xilinx Cora Z7-07S SoC platform, and provides complete reference designs. Hardware Device Language (HDL) reference designs are available as open source software. Therefore, these designs can be easily ported to other platforms according to customer preference. For more information on HDL files and documentation, visit the CN0540 HDL User Guide page.
An FPGA-based SoC was explicitly chosen because the CN-0540 can generate a large amount of high-precision data. Compared to CPU processing, FPGA logic can efficiently perform fixed processing with much lower power consumption, freeing the embedded ARM® to perform other tasks.
Software Architecture and Infrastructure
Both the DE10-Nano and Cora Z7-07Ss SoC platforms run Linux to connect and control the CN-0540. Linux is available through the Analog Devices Kuiper Linux distribution, which is based on Raspbian and includes standard software tools for embedded development and debugging, such as standard compilers, and even an interpreter like Python. The kernel provided with this release includes the drivers required to control the various devices of the CN-0540.
Drivers for the CN-0540 are provided in a standard kernel driver framework known as the Industrial Input Output (IIO) framework. The IIO framework supports products from Analog Devices and many other suppliers, such as converters, amplifiers, sensors, and several others.
Figure 4. CN-0540 Simplified Functional Block Diagram
The IIO driver can both control the CN-0540 and handle data or buffer collection tasks. To interface with the lowest level drivers (including register access), the IIO library (libIIO) can be used. libIIO itself can run code directly on the SoC board, or run code remotely from a host PC to communicate with drivers. It provides a standard graphical interface IIO-Oscilloscope for debugging IIO devices. The tool comes standard with a moving Fast Fourier Transform (FFT) that allows the user to visualize any vibration anomalies occurring within the sensor bandwidth, allowing basic debugging and analysis even without an external PC connected.
IIO-Oscilloscope supports customizable plugins to simplify interaction with a specific set of drivers. The CN-0540 has a specific plug-in to help eliminate IEPE offset errors through calibration and maximize the amplifier gain of the circuit. This calibration can normally be done with the IIO-Oscilloscope, but this plugin makes the calibration process easier for the user.
Algorithm Development – MATLAB and Python
Once verification is completed through IIO-Oscilloscope, confirming that the system is operating as expected, users can migrate to interfaces to other languages and tools for data analysis. CN-0540 can interface with C/C++. However, the main tool integration is provided in Python and MATLAB in order to simplify the workflow and make it easy to get data into frameworks like Tensorflow and PyTorch on the Python side, or into different toolboxes in MATLAB.
Python support for CN-0540 is provided through the pyadi-iio module. This module provides an easy-to-use application programming interface (API) suitable for use by data scientists and algorithm developers. This module comes preinstalled with Kuiper Linux and is also available through the Python package index PyPI. Figure 6 is a simple example of connecting and acquiring data from a CN-0540 with ADXL1002 installed.
Figure 6. CN-0540 Python example
MATLAB support for the CN-0540 is provided through the Analog Devices Sensor Toolbox, a self-contained toolbox containing examples, interface classes, and target infrastructure for hardware such as sensors. MATLAB interface classes, such as Python classes, follow a common API that is based on the MathWorks historical API. Like Python, the interface classes provide an easy-to-use API for data scientists and algorithm developers. Figure 7 is a simple example of connecting and acquiring data from a CN-0540 equipped with an ADXL1002.
Figure 7. CN-0540 MATLAB example
The toolbox can be installed directly from MATLAB’s Addon Explorer or via the GitHub installer.
Adding more sensors requires more DAQ channels to be available. For more input channels, the AD7768-4 has up to 4 channels, while the AD7768 has up to 8 input channels available.
For MEMS vibration sensors with different bandwidths or G-value ranges, the ADXL1003, ADXL1004, and ADXL1005 MEMS accelerometers can be used.
Circuit Evaluation and Testing
The following equipment is required:
·DE10-Nano FPGA development board
·Subminiature A (SMA) cable
· High-Definition Multimedia Interface (HDMI) cable
16 GB MicroSD card with Kuiper Linux image installed
·USB on the go (OTG) adapter
· Wireless keyboard and mouse with USB dongle
See Figure 8 for system settings.
Figure 8. CN-0540 connected to DE10-Nano equipped with CN-0532 sensor
Below are the basic steps required to test the system and get it up and running.
1. Prepare the microSD card with the latest software image from the Analog Devices Kuiper Linux webpage. (Note that this step is not shown in Figure 9.)
2. Use the Arduino pin connectors to connect the CN-0540 DAQ board and the DE10-Nano FPGA platform together.
3. Connect CN-0532 to CN-0540 using SMA connector. Note that there is no SMA connector on the CN-0532, so cut the cable and solder directly to the board.
4. Attach the CN-0532 to one side of the EVAL-XLMOUNT1 using the screws provided with the mounting module.
5. On the DE10-Nano, insert the microSD card, connect the USB OTG adapter, and plug the HDMI cable from the monitor.
6. Power the DE10-Nano via the 5 V DC wall power supply that came with the DE10-Nano evaluation kit.
Figure 9. CN-0540 connected to DE10-Nano with peripherals
For detailed steps to get the system running using the DE10-Nano or other supported platform, see the CN0549 User Guide.
Please perform the following steps to test the system:
1. Mount the CN-0532 to the programmable vibration source using the EVAL-XLMOUNT1. It is best to use a shaker or equivalent.
2. Open the CN-0540 IIO-Oscilloscope plugin, calibrate the sensor offset and write the offset voltage using the calibration routine.
3. Activate the vibration source and create a 2 kHz vibration sound.
4. Go to the capture window on the IIO-Oscilloscope and set up a frequency domain plot with 16384 samples and 3-sample averaging.
5. Click the Play button in the Capture window (see top left).
6. Make sure there is a 2 kHz tone in the spectrum as expected. Note that some other spurious signals may be seen in the graph due to vibration sources or non-ideal mechanical attachments.
Figure 10. IIO-Oscilloscope capture using CN-0532 and CN-0540
Datasheets and Evaluation Boards
CN-0540 Reference Design Board (EVAL-CN0540-ARDZ)
CN-0532 Reference Design Board (EVAL-CN0532-EBZ)
MEMS Mechanical Mounting Module (EVAL-XLMOUNT1)
DE10-Nano FPGA Development Board
I2C refers to a communication protocol originally developed by Philips Semiconductors (now NXP Semiconductors).
Circuits from the Lab reference designs are intended for use with Analog Devices products only, and the intellectual property rights are owned by Analog Devices or its licensors. Although you may use the reference design in your product design, no other license is granted by default, or any patent or other intellectual property rights are granted through the application and use of this reference design. Analog Devices believes that the information it provides is accurate and reliable. However, the reference design is provided “as is” without any warranties of any kind, including but not limited to: express, implied or statutory warranties, any implied warranties of merchantability, non-infringement or fitness for a particular purpose, Analog Devices assumes no responsibility for the use of the reference circuit, nor for any infringement of patents or other third party rights that may arise from its use. Analog Devices reserves the right to modify any reference design at any time without notice.