Custom electronics and COTS hardware combine into a unique torque measurement system

Custom electronics C Series module designed for pulse detection.

A combined custom and COTS Compact RIO solution provides simpler maintenance and longer lifecycle.


Large international supplier of motors, coupling components, and related equipment


Our client had an existing torque measurement system that was designed and developed many years ago. Components for it were obsolete and remaining inventory was limited. Tech support for their world-wide clients was about to become a critical challenge. A replacement torque measurement system needed to be designed and built.

We were contacted to leverage our expertise in four areas:

  1. Custom electronics design and build,
  2. NI’s embedded Compact RIO (cRIO) systems,
  3. Expertise in reverse engineering, and
  4. Operator application development.

An important part of the challenge was that we needed to reverse engineer the existing system because of incomplete documentation about the operation of the system under the wide range of use cases.

Also, the client wanted us to update the operator application used for:

  • real-time display of measurements,
  • configuration of the measurement system,
  • and initial system installation checkout,

among other features.

Finally, and importantly, the hardware needed to be Class 1/Div 2 compliant for operation in a hazardous environment, along with CE and UL conformance.


We decided to use the NI cRIO platform since it was ready for use in an industrial setting, having specifications such as extended temperature range, large shock and vibration capability, a small physical footprint, and the required Class 1/Div 2 certifications. This approach reduced the review for Class 1/Div 2 compliance, and the certifications from CE, FCC, and UL, to be mainly focused on our custom electronics, although, of course, the entire system needs to comply too.

The NI cRIO selected for this project consisted of:

  • a controller,
  • a chassis,
  • and various COTS C Series modules for signal measurement and communications I/O.

Significantly for this project, the cRIO platform offered a hardware development kit, which enabled us to design and build a custom C Series module containing the custom electronics to convert signals output from the customer-supplied sensors into torque measurements.


Besides the obvious benefit of relieving our client’s tech support urgency, caused by the shrinking parts inventory, this new system is:

  • more maintainable due to much of the hardware being off-the-shelf,
  • customizable since much of the functionality is provided by software, and
  • supportable since the components are reconfigurable and modifiable.

Because most of the system “smarts” are delivered by software in this redesigned system (not by a specific hardware design), feature updates and tech support are simpler and more manageable than with the previous system. In fact, when it was found that some of the initial requirements were not well described by the client, we leveraged this flexibility during system debug to maintain the delivery schedule.

Since most of the system is made from off-the-shelf components, the client benefits from NI handling much of the hardware lifecycle management. Now the client only needs to focus on the custom C Series module we provided, a much smaller task and one which we can help them monitor as needed. An important consideration in our design was component life cycle so the client need not worry about obsolescence for many years.

System Overview

The signals from the two position sensors are manipulated by our custom electronics to convert them to digital pulses. The essence of this manipulation is signal-amplitude-dependent thresholding combined with de-bouncing hysteresis. The custom electronics uses an on-board FPGA to communicate with the cRIO chassis and, with custom VHDL interface code, to provide data to LabVIEW FPGA I/O nodes. That data is then passed to the cRIO FPGA to detect the edges of the two digital signals and timestamp them with high resolution.

The time delay between the two edges is converted to a torque measurement through a calibration procedure. The calibration information is supplied by the client and can be modified to account for different mechanical configurations of the couplings and shafts used by their clients. The environmental temperature, measured by a COTS C Series module, is incorporated into that calibration correction.

The measurements available from the system are:

  • torque,
  • speed,
  • temperature,
  • and horsepower.

These values are held in the system’s Modbus registers. Various other parameters are sent back and forth between a PC and the cRIO controller for configuration, system status, and troubleshooting as needed.

We developed a LabVIEW Windows application for a PC through which the users interact with the torque measurement system. This PC application handles the communication between and configuration of the cRIO as a Modbus Slave device using TCP and/or 485 signals. A PLC also communicates with the system for controlling their motor, monitoring their equipment, and performing safe shutdown if needed.

LabVIEW was used for the applications on the Windows PC and the embedded cRIO. Part of the cRIO embedded app used LabVIEW RT and part used LabVIEW FPGA. The latter was needed to tap into the cRIO’s FPGA for its 25 ns resolution for the time delay measurements. That resolution, some signal processing, and the sensor calibration resulted in excellent performance.

LabVIEW Windows application for configuration, troubleshooting, and real-time display.
LabVIEW RT and LabVIEW FPGA application to interface to the sensor waveforms and produce torque measurements.
Modbus communications for connectivity to the Windows PC and to a PLC used for monitoring, control, and safe shutdown.
Custom signal conditioning electronics to convert sensor waveforms to digital pulse trains.
Custom c-series module enclosing the signal conditioning electronics.
cRIO chassis containing custom C Series and temperature measurement module.