Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

rpm motor feedback

I am getting a lag with my current tachometer (Monarch ACT-2) which provides a 0-5 volt signal to SCXI 1100.  I use this signal to provide feedback to a motor controller that controls the speed of the motor.  The tachometer is attached to a optical sensor and it provides one pulse per revolution.  The problem is I am using low RPMs (10 to 40 RPM) and the refresh rate is slow.  I am running LV 5.1 and use a PID motor control VI to update the motor.  I want a more real time indication of the motor's RPM.

 

I want to use the counter on my multifunction DAQ card PCI 6071E.  Please advise what I need to do.

0 Kudos
Message 1 of 17
(5,408 Views)

There are three major issues:

  1. The resolution of your feedback signal is way too low. For typical stable motion control encoders are used that provide 2000 pulses per revolution or more. If a feedback frequency is too high, it's always easy to divide it down to an appropriate level, but if it is much too low, there is no good way to extrapolate missing steps.
  2. Your feedback signal doesn't provide direction information. If you want to run the motor in both directions or if you want to do any kind of position control, this won't work.
  3. It sound like you are running the application on  Windows. As this operating system doesn't provide deterministic timing, PID control will be hard or even impossible

I'm sorry, that all my answers are negative, but with a system like yours, the probability is high, that you waste a lot of time for a poor outcome. Without a better feedback signal (e. g. a quadrature encoder) you won't get anywhere with your application. In general for motion control tasks a motion control device or a realtime system is recommended. Of course there are lot's of 3rd party devices available on the market, too. If you want to use an external controller, you should make sure, that a good LabVIEW interface is available.

 

Kind regards,

Jochen Klier

National Instruments

0 Kudos
Message 2 of 17
(5,406 Views)
I would have to agree with Jochen if you want a good system.  You can probably get OK speed control with a higher count pulse generator.  The Monarch tach can take up to 60ppr, which is quite common for speed only applications.  They are relatively inexpensive.
0 Kudos
Message 3 of 17
(5,397 Views)

I am confused and yes I am running Windows ME.  The tach has an inherent lag in it where it basically updates the RPM every other revolution and at slow motor speeds that takes a while.  How would I use a tach with 60 pulses per revolution.  I mean the optical sensor picks up the reflective tape once per revolution then it sends a TTL signal to the tach which processes it into an RPM that it can send out to my SCXI 1100.

 

I can essentially bypass the tach and take in a raw signal from the optical sensor and count the pulses using my PF inputs on DAQ card.  How would I do this?  Are there other ways to get real time RPMs like an encoder?  How will that work?

 

The way I am currently doing the motor feedback is updating the motor controller with an AO Single Update after I tune the signal in the PID loop.  That signal has a lag in it so does that mean the motor's speed is nowhere near the setpoint RPM that I request?  So it works well throughout the minute when I want a constant RPM but when the minute changes it takes multiple revolutions to step down to the target RPM which in some instances is a major problem.

0 Kudos
Message 4 of 17
(5,393 Views)
The motor drive I am using is VS DC2 Reliance Electric Motor Drive.  Is there a good Labview interface for this one? If not, how do I control it in Labview?
0 Kudos
Message 5 of 17
(5,384 Views)

I am confused and yes I am running Windows ME.  The tach has an inherent lag in it where it basically updates the RPM every other revolution and at slow motor speeds that takes a while.  How would I use a tach with 60 pulses per revolution.  I mean the optical sensor picks up the reflective tape once per revolution then it sends a TTL signal to the tach which processes it into an RPM that it can send out to my SCXI 1100.

 

I can essentially bypass the tach and take in a raw signal from the optical sensor and count the pulses using my PF inputs on DAQ card.  How would I do this?  Are there other ways to get real time RPMs like an encoder?  How will that work?

 

The way I am currently doing the motor feedback is updating the motor controller with an AO Single Update after I tune the signal in the PID loop.  That signal has a lag in it so does that mean the motor's speed is nowhere near the setpoint RPM that I request?  So it works well throughout the minute when I want a constant RPM but when the minute changes it takes multiple revolutions to step down to the target RPM which in some instances is a major problem.

 

The motor drive I am using is VS DC2 Reliance Electric Motor Drive.  Is there a good Labview interface for this one? If not, how do I control it in Labview?

0 Kudos
Message 6 of 17
(5,300 Views)
BME genius,

I am unaware of any third party LabVIEW VIs to support this hardware.  I did a quick Google search and did not find anything.

Basically what Jochen is saying is that with the feedback you currently have you cannot get better RPM readings. You need something with a more samples per revolution for better precision and accuracy. The better resolution your feedback is the more close you can get to the actual RPM your motor is going.

If you are only getting one pulse a revolution at only 10 to 40 RPM that is not enough to get a better indication of your motor's RPM than you're already getting. Using your existing feedback you will not be able to get more information about your motor's speed.

I think your best bet is probably getting an inexpensive quadrature encoder for your system. Also, to reiterate, you are not going get true Real-Time response with a Windows operating system. The Windows OS is non-determenistic. For more information on Real-Time please see the following Developer Zone Tutorial:

What is Real-Time?

Does this help any more? Please let me know if you have any further questions.
--Michelle

National Instruments
0 Kudos
Message 7 of 17
(5,286 Views)

Ok, so a quadrature encoder is the answer.  How do I physically mount it and what are the electrical connections involved?  Can I wire it to my tach or do I need to directly connect the encoder to my DAQ card?  Thanks!

0 Kudos
Message 8 of 17
(5,274 Views)
It sounds like you are only using the tach for RPM count to supply feedback to your controller, and you can get better response from the encoder. So if this is the only reason you are using the tach then I would stick with the encoder only.

You can pass your encoder signal to the DAQ's counter input and use a counter task to measure the RPMs.

Here are a couple of support documents with more detail:

Knowledgbase: Connecting an Encoder to a Counter
http://digital.ni.com/public.nsf/allkb/B3945A72AE53D1B086256EF7007C4D0D?OpenDocument

NI Developer Zone Tutorial :
Quadrature Encoder Measurements: How-To Guide
http://zone.ni.com/devzone/cda/tut/p/id/7109

Encoders are attached to the shaft of the motor, but the encoder manual should give you installation instructions.

--Michelle

National Instruments
0 Kudos
Message 9 of 17
(5,259 Views)
You do not need a quadrature encoder for this application, since you don't care about direction. 
Message Edited by Brian Beal on 12-16-2008 10:34 PM
0 Kudos
Message 10 of 17
(5,256 Views)