Signal Conditioning

cancel
Showing results for 
Search instead for 
Did you mean: 

velocity measurement from low resolution encoders

Hi, I have 1024 pulse/1rotation encoders. I want to calculate or estimate angular velocity from this low resolution encoders. When I use dx/dt(derivative.vi)  there are high and low readings which obviously seem wrong to me.I want to have a more smooth and accurate reading(and without much delay). Is there an efficient and accurate way of reading velocity measurements from this low resolution encoders? FOr example does Ni/Motion help? Or is there a velocity measurement .vi ?
 
Thank you.
0 Kudos
Message 1 of 6
(5,004 Views)
What hardware or DAQ card do you have connected to the encoders?

Message Edited by AnalogKid2DigitalMan on 01-30-2007 11:17 AM

~~~~~~~~~~~~~~~~~~~~~~~~~~
"It’s the questions that drive us.”
~~~~~~~~~~~~~~~~~~~~~~~~~~
0 Kudos
Message 2 of 6
(5,004 Views)
Hi, I have Fieldpoint-1000 with FP-Quad510 quadrature encoder pulse counter terminal attached. I'm reading incremental encoder signals through this terminal.
0 Kudos
Message 3 of 6
(4,997 Views)

As far as I remember (*) , the FP-QUAD will measure the velocity by counts during a fixed time slot. The maximum time is (was?) 26.??ms.

Your resolver has 1024 pulses (I assume 2 pulse streams with 90° shift) , the QUAD will count pulse edges, so you get 4096 counts per revolution. Together with the integration time (26.??ms), you get a resolution of 38.15 counts/s (See manual of the FP-QUAD) or an error of +/- 0.559 RPM

Of course you can read the 32bit counter of the QUAD in a user defined time periode and calculate the velocity.

If you have real slow movements, you can measure the time between each pulse. The accuracy will depend on the quality of your resolver and the resolution of your timer, however I think this couldn't be done with the FP-QUAD.

* My last task with FP-QUAD was 4 years ago, maybe new firmware and driver give you more choices now

  

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 4 of 6
(4,915 Views)
Hi Henrik,
Thank you for your reply. Yes I have two phases with a 90 degree shift  in my resolver so that makes 4096 pulses for 1 rotation. I work with a 50 ms of sample time so that makes a 20 counts/s resolution. I already have tried to measure the time between each pulse but for the slow movements the pulses come with a 200-250ms frequency where I can not detect it in a 50ms sample rate. 4 or 5 sample time must pass before I could a get one encoder pulse. For my setup I cannot change the sample rate becuase that would effect my controller badly. So how can I be able to measure very slow movements?
 
By the way what do you mean by "read the 32bit counter of the QUAD in a user defined time" and how could I calculate velocity by that way??
 
Thank you.
0 Kudos
Message 5 of 6
(4,907 Views)

To measure velocity you measure counts per time.  (OK, that was nothing new 😉 )

If you have to use a FP-QUAD read the 32bit? pulse counter on a regular base (100ms) and calculate the counts per time 'by wire' different integration times can be realized like this. Care must be taken if you over or under run the counter (don't use the zero pulse, if you can avoid it) but one pulse per 10ms and 2^31 pulses before that happens gives you a lot of monitoring time... BUT it will arrive :-0 

However I would use a timer module and measure the time between pulses (if direction doesn't care, or is determed by a QUAD, hey, you can use your sensor output on two module inputs).

    

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 6 of 6
(4,900 Views)