LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Measuring rpm with digital hall effect sensor

Hi everyone, I'm complety new to LabVIEW, but i need to obtain the RPM of a motor. I'm using a digital hall effect sensor (Littlefuse 55100, 3H02A 2130), which I've properly connected to a 9411 module, supplied with 5V DC, and complete of a pull up resistor and a capactior. I tried to obtain the rpm using the Sound & Vibration Assistant Suite, but with no results. Do I need to create a VI to achieve my goal? If so, could someone guide me to do that? I'll be so grateful for that.

0 Kudos
Message 1 of 7
(2,099 Views)

Please provide your vi(s) and a capture of your data (display the raw data in a graph, rigth click on the graph and make current values default and save)

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


0 Kudos
Message 2 of 7
(2,079 Views)

Hi Henrik, thanks for the reply. The problem is that I don't have any raw data, neither any VIs. I'm a complete neophyte, this is the first time ever that I use LV. I'm sorry if I can't give you more info, but that's the situation.

0 Kudos
Message 3 of 7
(2,060 Views)

@samsoen wrote:

 this is the first time ever that I use LV.


You have under estimated what LV can do for you. LV is a full feature programming language. Hopefully your project can withstand a 2 week schedule slip while you take the LV train courses. (see links at the top of the forum for training)

---------------------------------------------
Former Certified LabVIEW Developer (CLD)
0 Kudos
Message 4 of 7
(2,045 Views)

@samsoen wrote:

Hi everyone, I'm complety new to LabVIEW, but i need to obtain the RPM of a motor. I'm using a digital hall effect sensor (Littlefuse 55100, 3H02A 2130), which I've properly connected to a 9411 module, supplied with 5V DC, and complete of a pull up resistor and a capactior. I tried to obtain the rpm using the Sound & Vibration Assistant Suite, but with no results. Do I need to create a VI to achieve my goal? If so, could someone guide me to do that? I'll be so grateful for that.


Well in essence to measure RPM you would use a frequency counter.

 

I don't know if the NI-9411 module has a counter input, but if it does that's what you should probably be using. 

 

Basically count the pulses over a fixed time period and do the math. 

 

========================
=== Engineer Ambiguously ===
========================
0 Kudos
Message 5 of 7
(2,041 Views)

Hi RTSLVU, thanks for the reply.

The 9411 has a counter, but what I'm not able to do is to use the counter value that it gives as output to calculate the rpm. In the attached VI that I've created, the DAQ Assistant is configured as counter input. If I connect a graph indicator (I don't understand why it works only with a graph and not with a numeric indicator) to the data output I can see that the counter value is going up. Other than that, I cannot find the way to use the data. My idea is to store the number of counts per second in a numeric variable and the multiply that number times 60 to obtain rpm. I'm feeling really dumb but I didn't come up with anything useful and this is so frustrating. Any help would be really appreciated.

0 Kudos
Message 6 of 7
(1,995 Views)

Hi samsoen,

 


@samsoen wrote:

If I connect a graph indicator (I don't understand why it works only with a graph and not with a numeric indicator) to the data output I can see that the counter value is going up. Other than that, I cannot find the way to use the data.


You configured your counter to count up edges - and that's what it does.

Now you know the number of edges encountered and need to derive the rpm from that!? That is quite simple: you need to know two counter values at different times, subtract them and divide by the delay between them to get a value with unit "counts/time". Additionally you should know how many counts per rotation you expect, which leads to the division of "counts/time" / "counts/revolution" resulting in "revolution/time". I guess this is what you want to know…

 


@samsoen wrote:

My idea is to store the number of counts per second in a numeric variable and the multiply that number times 60 to obtain rpm.


You don't store data in "numeric variables", but in wires! LabVIEW is "THINK DATAFLOW!"

So use a wire and a shift register to store your previous reading, then compute the expected result in the next iteration by using this previous value and the current value…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 7 of 7
(1,983 Views)