From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
11-14-2006 02:24 AM
11-14-2006 06:46 AM
11-15-2006 09:24 AM
11-15-2006 11:42 AM
2. The quantization error I referred to doesn't accumulate, so you don't need to multiple by the 18000 cycles per rev. I'm not sure I follow the other parts of your calculation. The essence of the quantization effect is that the timebase can only count integer multiples of 12.5 nanoseconds (1/80 MHz). So all the time measurements you make will be quantized to a neighboring multiple of 12.5 nanosec. If your nominal measurement is going to be about 66 microsec, then the non-cumulative quantization error is (12.5 nanosec / 66 microsec) ~= 2 parts in 10000 per measurement.
3. I'm going to take a guess here that you have an SCB-68 terminal block with a pinout sticker for E-series devices. If so, you're going to want to print and tape an M-series label on it. Then you'll see that you do indeed have a PFI-11 pin. However, now that I understand your overall app better, this 2-signal separation mode may result in too many quirks to deal with.
4. Nevermind, not really crucial.
5. Ok, your app really isn't easy to get right. The details you described are very helpful, but I'd think there'd actually be quite a bit more involved as well (maybe you already know this?). Off the top of my head, here are some of the complicating factors:
A. Synchronize the two measurements in a repeatable way. Repeatable may (?) need to depend on the exact tooth mesh state. If you have a 37:24 ratio, the mesh state only repeats once every 37 revs of the faster gear. You'll also need to make sure your two measurement tasks are sync'ed to start together using an "Arm Start" trigger.
B. Are you at a simple 1:1 gearing? In general I'd expect your gears' tooth quantities to be mutually prime to help spread out tooth wear if you have defects. If so, then your nominal gear ratio is no longer an integer and your two input signal frequencies will be different. Then you can't do simple delay measurements.
C. Thought experiment. Replace gears with a solid shaft from input encoder to output encoder. Run with 0 torque. Your input and output signals will still have a nominal phase offset because they aren't perfectly mechanically aligned. Until you build the system, you don't know what this nominal offset will be. And after you build the system with gears between, it'll be non-trivial to characterize this nominal offset.
D. Encoder error due to manufacturing tolerances. This one you know about because you mentioned the possibility of one day correcting for them. There will also be some 1-per-rev error due to shaft misalignements during installation.
E. Maybe you don't need a full 18000 measurements per rev? You'll improve your quantization % error if you can reduce your effective sampling rate. I'd think that if you got about 20 measurements per tooth mesh you'd have a good picture of what's going on. That probably means <1000 measurements per rev. There's a function available that'll decimate and average your data.
Perhaps there's an entirely different approach that could work? If for example you just did some FFT analysis on the encoder variation, you could find the amplitude of variation at the tooth mesh frequency. A trial run at low torque would tell you how much is due to the ever-present movement of the point of contact between meshed teeth. The rest you could suppose is due to tooth deflection.
-Kevin P.
11-21-2006 08:19 AM
11-21-2006 09:23 AM
11-21-2006 09:31 AM - edited 11-21-2006 09:31 AM
After your latest description, I no longer think I understand your app. I don't understand what purpose is served by the "black box". It seems counter-productive to me that you would use different triggers for your 2 signals because you lose the ability to correlate them with respect to time.
Or are you saying that the present-day setup uses this black box, and you're looking to replace it with a new LV program? Sorry, I thought I understood before but this black box stuff has got me confused. If it's something you still plan to use, can you describe exactly what it does for you and why you think you need it? Also, what "second card" do you have available for measuring delay?
-Kevin P.
P.S. You must have posted again while I was writing. I'll try to take a look at the code you just posted when I get a chance.
Message Edited by Kevin Price on 11-21-2006 10:33 AM
11-21-2006 09:46 AM
11-22-2006 09:38 AM
I think I have a fairly good understanding of "what" you are doing, but I definitely don't understand the reason. Again, it sounds like your approach guarantees that your 2 counter period measurements cannot be properly correlated in time or in position to one another. If I understand where you're headed, there are approaches that are both better and simpler. It sounds like you don't really need to correlate variations to specific gear teeth, you just want to characterize the velocity variation caused by the gear mesh without regard to the position where it occurs.
A. Don't try to trigger your 2 period measurements off two different signals! Trigger them both off the same signal so that their t=0 start time is identical.
B. Then when you take your 2 period measurements, you can also sum up your cumulative time totals and easily calculate the difference as your delay. There's no need for the 3rd counter or the black box as far as I can see, unless the black box conditions the encoder signals into TTL-compatibility.
I did get a chance to look at the code you posted. Honestly, I would recommend starting over from one of the examples. It appears you're pretty new to LV and there's nothing wrong with that, but you've put together code that is presently more trouble than it's worth. I don't have free time to go through all the details, but among the problems I remember:
- Trying to use the same counter for multiple measurement tasks simultaneously.
- Using software polling to handle triggering.
- Not keeping track of error clusters coming out of DAQmx calls
- Wiring that's quite difficult to follow (hidden behind case structures, etc.)
- Very large multi-screen diagram that requires scrolling
Take a step back and just try to measure periods on 1 signal by adapting a shipping example. Then add an "Arm Start" trigger to start it from the reference mark. Rotate the gears by hand to verify that the triggering and measurement is working properly. When you've got 1 counter channel working well, *then* add the 2nd channel.
-Kevin P.
11-23-2006 07:46 AM
Hi Kevin,
yes i am a bloody LabView beginner.
A. But i want to trigger my two period measurements with two different signals. So that they don't start at the same time. The difference is the delay.
I am trying the ArmTrigger examples all the time. But they won't work. I can't even do a simple triggering. Why?
In the attachement you will find a very simple vi with only the basic functions. I wrote the error message into it. Maybe you can tell me what the problem is.
I am very grateful to you helping me so much! Thanks!
Jens