Counter/Timer

cancel
Showing results for 
Search instead for 
Did you mean: 

multiple quadrature encoders and pulse train generation

I want to synchronize a slow translation X-axis and a fast rotation R-axis with data aquisition. Both axes have X1 quadrature encoders. While the pulse frequency of the R-axis is not very fast (starting at 1 MHz), it is N-times to fast for the required sample interval as well for the low-end multi I/O boards.
 
So  the proposed solution is:
NI-6601 timer counter card that measures (autonome?) continuous the positions of the X- and R axes. Once in a while, the current position will be requested from software.
The signal from the R-axis is also used to generate a new output pulse train, where the output pulse interval will be (software programmable) 8 or 10 or even 50 of the input R-axis encoder pulses. This seems to be a possibility I read from the NI-6601 manual as a ' continuous pulse train generation'.
 
I read in this forum that I can expect some troubles if a zero pulse (for the R-axis only) does not occur at a fixed state of the quadrature A/B inputs.
 
And now my questions:
Can the 'source' for the pulse train generation be a position as calculated by a counter from a quadrature encoder ?
Can the board 'autonomous'  execute these multiple functions ie keeping track of both positions as well generate a pulse train ?
If somebody did something simular, did you succeed (do you advise) to use traditional NI-DAQ or NI-DAQmx ?
0 Kudos
Message 1 of 3
(3,778 Views)

Can the 'source' for the pulse train generation be a position as calculated by a counter from a quadrature encoder ?

No, not exactly.  You can use either individual channel of a quad encoder as the source, but you'll be limited to 1 active source edge for every cycle of 4 quad states.  There's no "signal" available that corresponds to the 4x multiplier you can get for position decoding.
 
Can the board 'autonomous'  execute these multiple functions ie keeping track of both positions as well generate a pulse train ?

Yes it can.  If you only need to query the instantaneous positions one right after the other, there should be no problem.  If you need them to be hardware-synchronized, you *may* have difficulty due to limitations of the 6601.  Only 1 of the 2 encoder tasks will be able to use high-speed DMA for buffering, the other will need to use interrupts which will limit the possible acquisition rate.  If you haven't yet purchased the 6601, consider the 6602 which can support DMA for 3 simultaneous buffered tasks.

In either case, the pulsetrain generation is handled entirely by the hardware on the board with no DMA or interrupts needed.

 

I read in this forum that I can expect some troubles if a zero pulse (for the R-axis only) does not occur at a fixed state of the quadrature A/B inputs

Yes, there can be trouble IF you NEED to use the Z-index feature.  There may be other workarounds...

 

If somebody did something simular, did you succeed (do you advise) to use traditional NI-DAQ or NI-DAQmx ?
Can be done with either, but I would steer you toward DAQmx whenever feasible.  That's where NI is putting there development effort.
 
-Kevin P.
ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.
Message 2 of 3
(3,772 Views)

Thanks Kevin.

 

A very good and to-the-point reply.

Regards, Jos

0 Kudos
Message 3 of 3
(3,768 Views)