Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Closed Loop Stepper with digital feedback

I am using a 7350 motion controller with UMI7764 to control a stepper motor, programming in LabVIEW 7.1.
 
The output of my stepper controls the drive ratio of a transmission by moving a shaft : position controls the drive ratio. I have the stepper in velocity mode, targeting a desired output speed. The shaft position is a function of velocity (integrated) controlled with a PID loop in software.
  1) get the known input speed to the transmission
  2) measure the output speed (counters measure triggers around wheel)
  3) update velocity.
 
The result is that stepper output velocity is '0' at setpoint.
 
 
Now I want to replace this software PID with the 7350 onboard instead,  in closed loop mode, with a feedback mechanism OTHER than an encoder or an ADC. The idea is not to have an absolute position feedback, but a velocity feedback with minimal hardware (long story, not my decision - ask the management Smiley Wink).
 
Ideally I would like to use the signals on the output shaft that I have now, a periodic digital trigger, to determine the output speed. If there is something akin to counter measurements on the 7350 that can be used to determine angualr velocity, that would be perfect.
 
I am trying to figure out if the general purpose IO, Trigger input, or even the encoder input can be used to do this. Any ideas?
 
Thanks!
0 Kudos
Message 1 of 7
(5,181 Views)

Hi,

this sounds like an interesting setup, but to be honest, I don't think that the 7350 is the best hardware platform to tackle this application. There are several drawbacks:

  1. In the stepper mode the 7350 doesn't provide closed loop operation in terms of on-the-fly corrections.
  2. There is no reasonable way to use a single TTL-pulse signal as a position- or velocity-feedback signal.

So the only way I could think of using the 7350 for your application is using a servo motor instead of the stepper. In this scenario you would have to provide an analog signal that is proportional to the transmission velocity as a feedback resource.

If you have to stick with the stepper motor and you have to use the 7350, you should consider adding a simple multifunction DAQ board like the PCI-6220 or a counter board like the PCI-6601. The counters on this board will allow you to determine the rate of your TTL-pulse very quickly and accurately, but you still will need to rung your PID-loop in software.

The best option would be an FPGA-solution based on an R-Series board like the PCI-7811R. With this board, LabVIEW FPGA and the NI SoftMotion Development Module (this tool is optional, but makes things much easier), you could run everything (stepper control, velocity measurement and superordinate PID control) on the board's FPGA, which provides best performance and determinism. To learn more about this option, please click here (The most interesting part of softmotion for your application are the advanced PID-algorithm for FPGA-hardware and the step generation capabilities).

I hope this helps,

Jochen Klier
National Instruments

 
0 Kudos
Message 2 of 7
(5,156 Views)

Jochen:

Thank you very much for your detailed reply - all my questions are answered. Much appreciated!

Smiley Happy

 

 

0 Kudos
Message 3 of 7
(5,137 Views)
You are welcome. Just because of curiosity: May I ask you, which option you have chosen?

Jochen
0 Kudos
Message 4 of 7
(5,127 Views)

This is a strange set of hardware they've hamstrung me with, I mean, er, they've given me the opportunity to use. Laptop, PCI-7352 on an expander board, USB 6008.For the time being, I'll keep the PID  in software timed loop, 7350 in open loop mode, use the USB 6008 to acquire the pulses on AI channel & get frequency content with FFT. Not great, but it works well enough. All I'm doing is proving a concept. I would have liked to more closely model the capabilites of our final implementation - microcontroller controlled - but it isn't a requirement.

 

Thanks again!

Message 5 of 7
(5,107 Views)
 

Thanks for the answer. As long as this is just a setup for a proof of concept, this should be ok, but I agree with you, that this is not the ideal rapid prototyping platformSmiley Wink

Just for your information:
The LabVIEW Microprocessor SDK allows you to reuse your code when targeting a microcontroller. Of course, you would have to adjust the I/O-related function calls, but you could reuse your algorithms and the flow control of your program.

Jochen

 



Message Edited by Jochen on 02-12-2008 08:51 AM

0 Kudos
Message 6 of 7
(5,071 Views)

$11000 !!! Smiley Surprised

If I can't even get them to spend money for a proper 660x timer card there is no way on this planet they'll allow me to get the Microporocesser SDK.

Still interested though - I'll definitely do the webcast. Thanks!

0 Kudos
Message 7 of 7
(5,054 Views)