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.
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).
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.