Merging modern software development with electrons and metal
Random header image... Refresh for more!

Frustrations: Synchronizing Position and Analog Data

Even with all the companies out there making industrial components, sometimes it’s still hard to find ready made solutions.  I’m working on a project where it would be very useful to have synchronized data acquisition and encoder position, at a reasonably affordable low volume price (say <$500), and I haven’t found much.

My system includes:

  • A custom sensor board that also has quadrature encoder inputs that it can read synchronized with the sensor (but, alas, no analog inputs).
  • A servo motor with high resolution (80,000 counts/rev) differential quadrature encoder and a maximum speed of 3000 RPM.
  • A force sensor with analog voltage output.

My requirements include:

  • Acquisition of motor position, custom sensor data, and force sensor data, synchronized to a millisecond or better.
  • Acquire analog force data at least 250Hz (1000 Hz preferred).
  • Encoder inputs need to handle at least 400KHz (5 RPS / 300 RPM), with 4MHz preferred, with a 32-bit position counter.

Expensive Solutions

If price isn’t an issue, I’m sure there are a variety of solutions, including Aerotech’s Sensor Fusion (specifically designed for synchronizing motion and data acquisition); other likely candidates include PXI and NI’s CompactRIO.

USB Data Acquisition Boxes With Encoder Inputs

Measurement Computing and Data Translation do make USB DAQ systems that have both analog inputs and quadrature inputs, if you’re willing to pay well over $1000.

The only semi-affordable USB solution I found is the JF-ENCA-11 from a small British company, Protura.  Its maximum sample rate is more than 1KHz, and it can handle multi-MHz encoders.  Although its price is substantially under $1000, it’s still signficantly more than my target price.

LabJack’s systems do have analog and encoder inputs, but the maximum quadrature encoder rate is very limited; for streaming data, 7KHz for the cheaper models, and 30KHz or so for the more expensive models.  However, they do have some interesting products, including very affordable USB ($108 and up), USB and Ethernet ($399 and up) and USB, Ethernet, and WiFi ($499 and up) models.  The T7 also has Lua scripting (in Beta).

Using USB Data Acquisition Systems With Counter Inputs

Another possible approach is to convert the quadrature signal into an up/down counter signal, using a simple custom circuit or a dedicated chip like the Avago HTCL-20xx or the LSI/CSI LS7x83. Unfortunately, all the affordable models from Measurement Computing, Data Translation, and LabJack that combine analog inputs with counters only support up counters (not up/down counters).

Dataq’s units, such as the DI-155, do support up/down counters, but the maximum rate is a wimpy 5KHz.  On the good side, the DI-155 has a wide input range (+/- 50V for analog, 30V for digital I/O).  Other interesting Dataq products include the DI-710-EH ($599 for an affordable Ethernet DAQ), and the DI-718B (with built-in slots for Dataforth DI-8B signal conditioners).

The Result

I’ve had a frustrating time searching, partly because I really have to dig to find out whether a unit will work or not, and in the end I’ve come up empty-handed.

However, there may be a solution: use a DAQ unit with a SYNC output signal, meant to synchronize multiple analog data acquisition systems (I’ll probably use the MCC USB-1408FS-Plus, which has a SYNC output).  The SYNC line toggles once for every acquisition taken; if I can convert it to a quadrature signal, and input that to our custom board’s encoder input, then I can match up the DAQ sample number with the motor position and custom sensor reading.  US Digital used to make a up/down counter to quadrature unit, but it is now obsolete, so I’m currently investigating making my own.


There are no comments yet...

Kick things off by filling out the form below.

Leave a Comment