0

I'm using an Arduino to control an experimental setup and read analogue signals from some sensors. But there are other sensors for which I need a DAQ for. I have a National Instrument USB-6259. On my PC I use LabView or NI SignalExpress to read data from DAQ connected via USB. Considering that I want the read data from different sensors to be synced, I was wondering if I could somehow read the DAQ directly on the Arduino?

Some other points:

  1. I also have Arduino Ethernet Shield, if required.
  2. The final goal is to have logged data synced so out of the box solutions are also acceptable for me.
  3. If I'm not mistaken there are some versions of Arduino which you can install Linux on, just like a Rasppbery pi. There are even OSes for normal Arduino boards. There is a Low Cost USB DAQ Driver for use with Raspberry Pi for NI USB-6008/6009 devices. Is it possible to install this driver on Arduino?
  4. I prefer not use a Raspberry pi because analogue/PWM read and write there is not as straight forward. So if there are other boards which are as easy as an Arduino with an OS compatible with current driver please suggest.
1

Unlikely.

First you would need a USB shield to be able to plug it in.

Second you would have to reverse engineer and then reimplement the proprietary protocols that device uses in order to get the Arduino to control the device.

5
  • I added more info to the post. How about Arduino boards which are more like a Rasperry pi and we can install a Linux on. and then install the driver offered by NI? – Foad Aug 24 '17 at 8:39
  • 1
    Those are compiled for arm and Debian. The Yun which is the only Arduino I know that runs Linux runs on MIPS And openwrt, so no, definitely not. Just use a pi. – Majenko Aug 24 '17 at 8:44
  • Well, That's plan B, The issue with Pi is that as far as I know it doesn't have analogue or PWM data read and write which I use to read data from other sensors and control some valves. – Foad Aug 24 '17 at 8:49
  • 1
    It has PWM (it's fast enough to do it in software anyway, which is how I do it), and just add an external ADC over SPI or I2C. There's "hats" (what we call shields) that have ADC on them. – Majenko Aug 24 '17 at 9:14
  • I asked my question on Rasperry py SO: raspberrypi.stackexchange.com/questions/71614/… – Foad Aug 24 '17 at 9:23
1

The main answer for your question is already given by Majenko, and is "no". These protocols are much more complicated than you can think, so no way.

However, if I correctly interpret your point 2 (which is The final goal is to have logged data synced so out of the box solutions are also acceptable for me), you don't need to do this. Just use your PC (or raspberry) to collect all the data and make a synchronization inside it. For instance, connect the arduino to the PC via bluetooth, add a serial connection in the labview program and then send all the data the arduino records to the serial peripheral; you will get all the infos in the labview program.

If for any reason this is not possible, you can use a common signal to sync the acquisitions. For instance, when you start the measurements you let the DAQ generate a long pulse (let's say 100ms), then every second or minute it will generate a shorter pulse (let's say 10ms); the arduino also records this signal, so you will have a way to sync acquisitions. Or you can do the opposite: the arduino generates and the DAQ records.

To sum up, the arduino is not capable of doing what you request, but maybe what you need is not what you asked for...

3
  • well, unfortunately raspberry pi is not an option either. NI doesn't even support common linux distros! it is not easy for me to work on a windows machine, specially in the lab/workshop. The main issue is the garbage sensor I'm using. I strongly discourage anybody from using the type of sensor I have. – Foad Nov 22 '17 at 13:59
  • 1
    @Foad I see your frustration here ;) in any case, if rPI is not supported then arduino, which is MUCH more limited, is totally unsuitable. Try syncing through other means (the signals I mentioned in the answer, or the serial interface). I think that you can implement everything in labview. Or, if you have the drivers for x86 linux, try putting linux on any x86 PC you have; if you succeed, search any x86 single board computer to replace the PC . For instance, wikipedia has a page with comparisons [...] – frarugi87 Nov 22 '17 at 14:15
  • 1
    of SBCs; check the ones which have a x86 or x86-64 processor. Or, in the end, you can try to hijack the protocol between the sensor and the DAQ, and see if you can make a library in arduino to listen to that sensor.. – frarugi87 Nov 22 '17 at 14:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.