Jump to content

speed measurement


DredPirate

Recommended Posts

HI all,

I want to know how to measure rpm in the range of 5-1000 for a dc motor. Actually I have dc motor coonected to a power spring which I am using as a generator.

This will rotate at the given speed for only 10 seconds and stop.

I want to record this as a signal on labview 7

I have a NI PCI−6221, M Series DAQ (16 Analog Inputs, 24 Digital I/O, 2

Analog Outputs) with NI−DAQmx driver software.

SCB−68 Noise Rejecting, Shielded I/O Connector Block.

I have no idea about Labview and I a first time user.

I also want to know what kind of sensors do I use for detecting this speed in a limited time.

Mallika

Link to comment

You could throw an AB quad encoder on the motor and use a PCI-6602 counter timer to monitor the position output. Then do some math and you get RPM.

Or put the encoder output into a frequency to voltage converter and monitor it on the PCI-6221.

Or set up the PCI-6602 to monitor frequency off of the encoder.

Or set up a curcuit to capture commutator pulses.

Or measure the com pulses with the PCI-6221.

Or measure the voltage and current and compare that to a performace curve.

Or ................. The list goes on and on.

The method you choose really depends on your aplication.

Link to comment

HI Dead pirate,

Thanks for the reply.

I have a few more questions.

What I have is pci 6221 card so I can use only that with the speed measurement.

What I need is simply to record the spike that I am going to get when I rotate the shaft of the motor which I am connecting in reverse i.e.' as a generator.

I called it a spike because the shaft is gonna run and stop so there is not going to be much time to record it.

And since I am a novice in electrical ciscuits could you please tell me what is a quad encoder?

I may sound silly but I want to know if I will be needing any kind of sensor to put on the shaft for the type of measurement you r talking about?

Mallika

Link to comment

First let me make some assumtions. It sounds like your doing a simple Back EMF measurement. Your speed control is probably +/-1 RPM. Your using a Brushless Servo motor for your drive. Your diving a Brush type motor. This is for a piece of development equipment (not production or lab). And you have no budget foir this project.

Now unless your servo drive provides some sort of velocity feedback you will be stuck buying something. So lets find the cheapest and easiest solution.

Seeing as your a newby to LV we will want something simple to measure. Doing a dynamic signal analysis to extract the RPM from the brush commutaion will take to much time for you to program. It can be done without any additional hardware but is tricky even for those of us with experience because you need to know exatcly what to filter. So we want something you don't have to monitor to get the velocity information.

First look up analog tachometers. I have not done much research on this but I know they're out there. This would give you the quickest solution. A voltage output that corresponds to a speed.

Otherwise, what you need is some device that will give a pulse or pulses for every revoltion (an encoder). Then conect the pulses into a Frequency to Voltage converter (F-V). This will give you a voltage output that corresponds to a velocity.

This site has both the F-V and encoder.

http://www.usdigital.com/products/etach2/

FYI - This site has great and cheap indutrial grade encoders.

http://www.beiied.com/

Another option - You may be able to use one of your DIOs as a counter timer to measure the frequency. This would be the best solution because you would eliminate the need for the F-V. I have never tried this on the M series cards so you would have to experiment with it.

This is all the help I can offer at this point so good luck. If you need more info then do a google search first.

Link to comment
  • 4 months later...

Hello, I have the same problem as this.. except I already have 2 encoders (for the two shaft speeds I am measuring)... one with an output pulse of 8V, another of 3V. When I input these on my analog input, my frequency is all over the map (not accurate at all).. I am using DAQ assistant for voltage input and timing wizard (the one in express) to output frequency. When I connect a graph to my input, I clearly see the pulses and spacing so I don't understand how the frequency reader dosen't work.

Any ideas?

My input looks like:

____|____|____|____|____ ...

For every revolution theres a pulse.

Thanks

-Jon

Link to comment

Hi Jon:

If I understand what you're saying, you should probably put the pulse inputs into a counter input on the A/D card (most NI A/D cards and some cards from other manufacturers have general purpose counter inputs which can be used to measure frequency of pulse trains -- they can be used to measure RPM with a tach sensor that generates pulse trains.)

That would be the easier, less error-prone, and more accurate way to convert a pulse train into a RPM value.

I'm not perfectly sure why you can't measure the frequency from the pulse input if you see a nice, evenly spaced, series of pulses on the graph. If the pulses are not evenly spaced, perhaps you are experiencing aliasing on the input :question: (NI site has a discussion of aliasing, if the concept is new to you-- worth understanding!) Or perhaps there's something about the pulse train that the timing wizard (which I confess not being familiar with) doesn't like.

In any case, take a look at the using the general purpose counters (GPCTRs) for your application, sounds to me like its the best way to go for your application.

Welcome to the Forum,:thumbup: hope this helps.

Best Regards, Louis

Link to comment
In any case, take a look at the using the general purpose counters (GPCTRs) for your application, sounds to me like its the best way to go for your application.

I agree with what Louis said, and would like to add that if you have an encoder that gives a pulse once per RPM, there are specific concerns as to accuarcy depending on the speed in RPM of your motor and the clock rate of your counter, etc. An encoder really is a position measurement, in theory, and velocity is a derivative of the position measurement. Performing a derivative function tends to dramatically decrease the "signal to noise" ratio, so sometimes a modest amount of filtering can help.

With the 3 Volt and 8 Volt pulses going into counter/timers, I'd suggest a quick check of the counter input characteristics. If you were going into typical NI hardware, the 3 Volt pulse might be at the hairy edge of triggering properly (typically on the low side for TTL or CMOS logic, 5 Volts is more "nominal") and 8 Volts is a bit high, so check the specifications to be safe.

-Pete Liiva

Link to comment
... and would like to add that if you have an encoder that gives a pulse once per RPM, there are specific concerns as to accuarcy depending on the speed in RPM of your motor and the clock rate of your counter, etc....

Pete brings up a good point. Its important to note that you can use the GPCTRs in at least two ways: counting the number of pulse over a fixed time interval, or measuring the interval between successive pulses. If your counter doesn't have many pulses per revolution, the second approach can be better, 'though there's some tricky trade-offs involved (how to deal with things if the shaft stops completely?)

Best, Louis

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.