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.
05-29-2012 05:27 PM
Hi,
First of all I have very little experience with LabView and I'm currently trying to develop a cyclometer as follows:
There are 4 magnets in a wheel. A reed swtich is attached to the frame which activates when a magnet passes by, therefore 1 revolution = 4 counts.
I have a Count Digital Events code and a Difference of counts (both attached below) but I'm getting confused on how to integrate or use both to create a cyclometer function. I want to be able to calculate the distance traveled, velocity with moving average, velocity without moving average and average velocity(overall).
So far I think I got the total distance figured out:
Using the Count Digital Events code, I count a number of counts, the divide by 4 ( because there are 4 magnets). This gives me 1 revolution. Then the tire has a circumference of 2*pi*r, therefore the total distance is: (number of counts/4)*(2*pi*r).
My next step was to calculate the velocity. My idea is that if I set the Count Digital Events code to run the loop every second, I will get a measurement of counts per second, which then I can convert to velocity and rev/min. However I have attempted to do this but I can't figure out a way to make the Count Digital Events code do this, or even if this is the correct approach to calculate the velocity.
Once I get the instantaneous velocity and distance figured out I will go onto figuring out how to do the velocity with moving average and average velocity overall. Also, I believe I should use the Difference of Counts code but I'm not sure how it would be helpful.
Thank you for your help and time!
Alex
05-29-2012 09:17 PM
I'm thinking it might be easier to have the counter measure frequency at a 100Hz rate (depending on your desired speeds, that number was kind of just made up). Divide the frequency by 4 (4 sensors), and your velocity is 2*pi*r*f/4 = pi*r*f/2. Distance is then simply x1 = x0 + v1*t where t is 1/sample rate. It is also simple to keep the velocity in an array to calculate a moving average and straight average.
If you need help figuring out the counter setup, I can provide more help tomorrow when I have all of my resources (LabVIEW, DAQmx, previously used code) available.
05-29-2012 11:54 PM
Hey crossrulz,
Thanks for your help. The thing is that I'm not sure if you can set the code to measure at a frequency of 100Hz, I'm guessing I would have to modify what I already have. If you have a chance and open the Event Count code, there is a clock, like a motronome which says 100 I think for now. Because LabView only takes milliseconds I thought that you could set that to 1000ms which would be 1 second. Attached is a photograph of the code for that part, but I'll try and submit better print screens later when I have acces to LabView. However what you are suggesting sounds like a better approach + it sets up well everything to continue with the other calculations, but could you explain me if you have some time on how to do this with your approach?
Thanks a lot!