Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Veloctiy measurement from encoder feeback for stepper in OpenLoop?

Hi folks,
 
I wanted to get the velocity of my stepper motor using encoders connected to my UMI-7772 with a 7340 board with a non-NI drive.
I know if I set the operation to Closed-Loop, then "Read Velocity" will give me the value determined from the encoders
but I have to operate in Open-Loop for my experiment.
 
 
ThanX in Advance.
0 Kudos
Message 1 of 8
(4,583 Views)

In this case I can think of only two options:

  1. Just read back the velocity that is based on the step generation.

  2. If 1.) is not applicable, there is no good way to accomplish this with just the 7340 board. Instead you should use an M-Series board like the PCI-6220 or a PCI-6601 (counter board) for the velocity measurement. These boards provide high-resolution counters, that provide direct connectivity to quadrature encoders. With these boards you could either run a frequency measurement (based on only one phase) or a hardware buffered position measurement, which allows you to calculate the velocity profile based on the acquired position data and the acquisition rate.

I hope this helps,

Jochen Klier
National Instruments

 
0 Kudos
Message 2 of 8
(4,576 Views)

Hi Jochen,

Thanks for the response!
It just seems odd that you get velocity reading only when you configure the 7340 for closed-loop.
I would think that the velocity measurement could still be done because you can still read the
encoder counts even if you are operating in open-loop. The only thing at my disposal is the 7340.
Hence, I am trying to get my data using that card. Any further suggestion?

Once again, thanks in advance.

 

0 Kudos
Message 3 of 8
(4,559 Views)
Please don't get me wrong. You can read back the axis velocity by using "Read Velocity" in open loop mode, but this will return just the theoretical value that is based on the step generation on the board.

Still, if for some reason there is a step loss or some micro-oszillations on the axis, you won't be able to detect this in open loop mode and these issues won't be reflected in the velocity readings. In fact, even if you ran the board in closed loop mode, this wouldn't mean necessarily that you could measure these type of effects with just the 7340, as the readings happen realtively slowly (around 200 Hz software timed reading rate, that is also subject to jitter).

If you want to get really accurate velocity measurements, you will need a high-resolution encoder and additional hardware as mentioned in my last post. With an M-Series board or a PCI-6601 you could run hardware timed velocity readings at several 10 kHz (of course it depends on the encoder resolution and your travel speed if such a high reading rate makes sense or not).

Kind regards,

Jochen
0 Kudos
Message 4 of 8
(4,545 Views)

As always, thanks for the response.

However, I do have one idea. Is it possible to select closed-loop mode during the initial setup but then disabling the loop parameters during execution time?

 

Thanks

0 Kudos
Message 5 of 8
(4,507 Views)
Sorry, I don't understand what you mean by "disabling the loop parameters". Could you please give me an example?

Thanks,

Jochen
0 Kudos
Message 6 of 8
(4,479 Views)
I actually meant to write "disable feedback parameters".
Essentially, even if I am operating in the closed-loop mode I don't want the 7340 to make adjustments based on the feedback.
 
Thanks for your help so far.
0 Kudos
Message 7 of 8
(4,471 Views)
With Set u32.flx you can set the number of Pull-in Tries to 0. This should result in the behavior that you are looking for.

I hope this helps,

Jochen
Message 8 of 8
(4,460 Views)