12-08-2008 02:26 PM
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.
12-09-2008
02:21 AM
- last edited on
05-23-2025
07:03 PM
by
Content Cleaner
There are three major issues:
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
12-09-2008 05:43 AM
12-09-2008 07:28 AM
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.
12-09-2008 10:03 AM
12-15-2008 09:02 AM
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?
12-15-2008
05:44 PM
- last edited on
05-23-2025
07:04 PM
by
Content Cleaner
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.
12-16-2008 08:01 AM
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!
12-16-2008
05:36 PM
- last edited on
05-23-2025
07:04 PM
by
Content Cleaner
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
NI Developer Zone Tutorial :
Quadrature Encoder Measurements: How-To Guide
Encoders are attached to the shaft of the motor, but the encoder manual should give you installation instructions.
12-16-2008 09:27 PM - edited 12-16-2008 09:34 PM