Counter/Timer

cancel
Showing results for 
Search instead for 
Did you mean: 

Hw-triggered angular position measurement

Hello,

I'm trying to measure wear "on the run" by calculating mass difference from increasing flank tolerance.
Therefor, I'm using hw-triggered angular position measurement (position of the pinion at a certain position of the gear).

I tried the DAQmx task on the M&A Explorer (18.000 increments,4x,A High,B High), triggered by the square pulse (+5V) from the incremental encoder of the gear.
I've got some noise on the signal, but nothing that would hurt.
With a gear transmission ratio of 41:2 I should get two results each differing with 180deg at an constant interval (depending on the number of revolutions).

But what I get are senseless results at no visible interval.

I used another DAQmx task to count the flanks of the trigger signal which works very well (at a constant interval) so obviously the trigger signal is all right.

I'd be very glad to hear of any ideas or another possibility to solve that problem.
Thanks in advance,

A.Monz


0 Kudos
Message 1 of 4
(4,267 Views)

Sounds like a tricky app.  There tend to be a lot of frequency components in rotational measurements on geared shafts.  These will influence your measurements.  Also, inferring wear mass via flank tolerance sounds like a very subtle measurement requiring very high signal to noise.  So I think you've got your work cut out for you from a physics standpoint.

In the data acq world, however, maybe I can help.  First, the terminology.  It sounds like you've got some reference position that produces 1 pulse per rev.  You'd like to grab 1 sample of position on each of these pulses.   You're calling this pulse the "trigger."    However, in the data acq world, that sort of operation would usually call the pulse an "external sampling clock."  

Step 1: Make sure you're treating that 1-per-rev pulse as an external sampling clock, not as a trigger.

Next, how's your resolution?  An 18k incremental encoder is pretty high-resolution, but is it really enough to detect the small angular difference caused by mass loss through wear?  Have you worked out the geometry to know the linear distance (at the pitch diameter) represented by 1 encoder count?  For good trending and measuring, it's typical for the measurement device to have 10x the resolution that you need to discriminate.

A different approach to try to gain resolution might be to measure time between pulses.  Depending on your board, you can get either 20 MHz or 80 MHz time resolution.  Then, depending on your linear speed at the pitch diameter, you can figure out how much linear distance is represented by 1 time count.

-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.
0 Kudos
Message 2 of 4
(4,260 Views)

Thanks for that very fast answer. And you're right: I'm coming from the physical side of the application...

Concerning wear and resolution: I'm working with worm gears which produce enough wear. My theoretical resolution is 15mg (or 1/200deg worm-wheel) and estimated wear is 120+mg per 30.000 load cycles. That should be sufficient.

I also tried time-measurement between pulses but that only showed that the engine speed is fluctuating by +-1 rpm (which is to much for that sort of measurement).

To keep it short: The external sample clock gives a clear impulse, but the DAQmx task doesn't respond to that...

-A. Monz
0 Kudos
Message 3 of 4
(4,258 Views)

What have you done to configure your DAQmx task to use that particular external pulse as a sampling clock?  Can you post your code?  If you can also post a screenshot of it, that'd be even better (for me) b/c I don't have LV near my network PC.

-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.
0 Kudos
Message 4 of 4
(4,180 Views)