Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Angular displacement measurement

Hi all,

 

I'm designing an application and figuring out which hardware I might require for it. I want to develop an application in LabVIEW 8.6 which first can allow me to measure angular displacement of a system on two axes (and its direction). A possible future development would be to use the angular displacement information to control the position of the system itself in at least one of the two directions.

 

I went through forum posts and tutorials, and from what I understood if I want to measure angular displacement and its direction I need to use a quadrature encoder, is this correct?

 

Then, for the data acquisition, in house I have a NI USB-6008 DAQ, which from what I read in other posts shouldn't be able to support a quadrature encoder. Which DAQ would you then recommend me to manage two quadrature encoders? And which would you instead recommend if I need as well to control a motor using the measurement information?

 

Hope to have been clear, thanks for your attention.

Regards,

Stefano

0 Kudos
Message 1 of 7
(3,636 Views)

Hi

 

Yes you will need a quadrature encoder.

Here is a link where you will find DAQ hardware that supports quadrature encoders: http://sine.ni.com/np/app/main/p/ap/daq/lang/en/pg/1/sn/n17:daq,n36:14/.

For two encoders I believe you will need some hardware that has at least 4 counters.

As you can see there is a lot of choice, but for a specific application all might not be suitable.

What kind of signals will you need to control you motor?

 

Best regards

Matej

/* A smart device is only as smart (stupid) as its programmer. */
0 Kudos
Message 2 of 7
(3,622 Views)

Hi Stefano,

 

As Matej said, you will want four counters if you will be using two quadrature encoders because you will want one counter for each direction (CW and CCW). Likewise, the HW you want also depends on the signal you need to output to the motor.

 

Depending on the required motor signal and the rest of your system, the X Series multifunction DAQ cards are usually a good option to check too. You can get them in USB or PCIe (or PXIe if you've got a chassis). These multifunction DAQ cards are good because they combine a lot of different functionality onto one card, including DIO, AI, AO, and counters. This is nice because it allows for future expansion of a system in case you eventually decide to do more with the HW.

 

Just a thought...

 

Chris G

Applications Engineer
National Instruments
0 Kudos
Message 3 of 7
(3,609 Views)

Hi,

 

Thanks for your replies. At the moment I haven't decided yet which kind of controls will be implemented, I'm actually trying to find the simplest option for my case, and then purchase and install all the necessary items.

Since I want to control basically the angular displacement of a rotating sphere, and I can't access the shaft, I was thinking about using a simple inclinometer to measure the tilt of the sphere from the normal axis, and then use that information to control the motors. In house I've a DAQ USB 6008, do you see any solution for which this DAQ board could be sufficient?

I think the inclinometer could be easily interfaced, I don't know much about the motor control though.

0 Kudos
Message 4 of 7
(3,588 Views)

Actually, you could measure each quadrature encoder with a single counter on hardware that supports quadrature encoder measurements (e.g. M Series, X Series).  However, the 6008 does not support quadrature encoder measurements. 

 

What is the output of the inclinometer?  I have seen inclinometers with a SPI interface before--the 6008 would be unsuitable for interfacing with this.  If the inclinometer had an analog output though (for example) then you could probably measure it with the 6008.

 

Motor control is another story.  Stepper motors can be somewhat controlled with the software-timed digital lines (see here), but this isn't really an ideal solution.  PWM-based motor control is not possible with the 6008 since it doesn't have any way to output a hardware-timed signal.

 

On the 6008 you would of course have to transfer your aquired data over USB back to software running on your host PC, then update the digital lines with software calls to update the position of the stepper motor.  USB inherently has a high latency and a high degree of non-determinism so it is really not the ideal basis for a control application.

 

 

So, if the inclinometer outputs an analog value corresponding to the tilt and you can control a stepper motor with the static digital lines on the 6008 then this would be a mediocre solution at best.  I wouldn't advise going down this route but don't know enough about your application to suggest additional options.

 

 

Best Regards,

John Passiak
0 Kudos
Message 5 of 7
(3,584 Views)

Hi,

 

Thanks for the reply.

I haven't purchased the inclinometer yet, I was thinking about getting one with analog output so I could interface it with the 6008, which I know can't support quadrature encoders.

For the motor, I'm looking on the Internet what's available: for my application a winch could be enough, as long as I can control it sending in output the angle displacement I need to achieve. Anyway, since I'm planing the route and open to purchase hardware if useful, which will be your suggested solution?

 

Thanks, regards

Stefano

0 Kudos
Message 6 of 7
(3,579 Views)

Hi Stefano,

 

To recommend hardware you really have to elaborate on the following:

 

 

Acceptable level of latency:

 

The optimal solution would probably involve using an FPGA to analyze the inputs and generate the necessary control signal for your motors.  This can get expensive (both in hardware and in implementation) and might be overkill for what you need to do.

 

A PCI- or PCIe- based DAQ solution might be an acceptable compromise, but of course would be a good deal slower since you would have to rely on software to process the inputs and control the device to generate the control signal.  You can alleviate the non-determinism by using an RT Operating system, but this would add a good deal of cost as well.

 

The USB DAQ solution is going to introduce added latency to every time you have to communicate with the hardware.

 

 

Sensor Selection:

 

You'll probably want to start out by finding suitable sensors and then determining which devices have the I/O to support them.  This will involve some research.  The 6008/6009 is going to be pretty limited on what kind of transducers you can interact with considering there is no clocked output.

 

 

Best Regards,

John Passiak
0 Kudos
Message 7 of 7
(3,572 Views)