LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Servo motor control loop

Hi all
 
Part of a design I am working on at the moment requires the setting of a motor at various RPM values between the range of 1000 and 9000 RPM. The rate that the system must respond is not critical and once an RPM value is set it would remain so for at least 60 minutes. A brushless servo motor has been used and the feedback is from half of one of its quadrature encoder channels going through some hardware first to clean up the signal. I have written a vi (see below) that functions ok up to about 6500 RPM but starts to get unstable as I approach 9000RPM. I have tried the technique suggested in the NI notes for tuning with limited success. If I remove the shift register for averaging the signal from the quadrature encoder the system cannot settle as the process variable is fluxtuating too much. Likewise if the register is increased (or use an array with mean vi to average) the system has not got a clue where to go! The boards being used are PCI-6052E for analogue control signal and 6601 for monitoring one half of the quadrature channel.
 
Thanks John
 
 
 
Labview Version 8.5
Labview Version 8.6
Labview Version 2014
0 Kudos
Message 1 of 7
(3,576 Views)
John,

You say that the process variable fluctuates too much at higher speeds. Does it do this if run open loop? If you set the output at, say, 70%, how much does the speed vary with no feedback? How does that compare with the variation at 30% output?

If your process behaves substantially differently at one end of the range compared to the other, you may need an adaptive control of some sort: Tuning which varies as a function of speed. Is there anything in the physical configuration of the system which would lead you to expect the behavior to change with speed?

Lynn
0 Kudos
Message 2 of 7
(3,570 Views)

Lynn

I have just set the control open loop and run as you suggest also connected a scope and freq counter to encoder feedback. The signal displayed on the screen (RPM indicator) was stable at 3000RPM and the scope+freq counter showed very small variations.At 7000 RPM the screen display was erratic but the scope+Frequency counter again showed minor changes.

At the moment the motor has not got any load on it, just a in-line flexible coupling, shaft adaptor and its associated bearing (when it does have a load it will be a small oil pump). It was also noticed that although the screen indication at 7000RPM showed fluxtuation in motor speed the sound emitted from the motor/bearings did not appear to vary.

I have also tried the autotune PID, but for some reason it failed to complete the last stage of its tune i.e. stage 4 'wait approx 3 cycles to finish' but it never got there?

Thanks John

Labview Version 8.5
Labview Version 8.6
Labview Version 2014
0 Kudos
Message 3 of 7
(3,563 Views)

John-

What servo drive are you using?  Do have it in velocity or torque mode?

0 Kudos
Message 4 of 7
(3,551 Views)
Brian

I am using a Parker Compumotor SM Series and matching TQ10 drive. From the information given in their spec it appears to only offer torque control of the motor,

Thanks

John
Labview Version 8.5
Labview Version 8.6
Labview Version 2014
0 Kudos
Message 5 of 7
(3,538 Views)

John:

You are correct, the TQ10 is torque based (hence the prefix TQ), 1A of output current per 1V of command input. Have you set up the DIP switches on the TQ10 to best match your motor's parameters?

This thread can be confusing: jack1 = john, johnsold = Lynn (Mr. Lynn that is)very-happy smiley

-AK2DM

Message Edited by AnalogKid2DigitalMan on 06-28-2007 12:16 PM

~~~~~~~~~~~~~~~~~~~~~~~~~~
"It’s the questions that drive us.”
~~~~~~~~~~~~~~~~~~~~~~~~~~
0 Kudos
Message 6 of 7
(3,539 Views)
AK2DM

Yes the dip switches are set as per the Parker spec sheet for the SM motor. I have been working all evening with the autotune PID, but still no luck. It just stops at the last stage.

Could this be because it cannot get the system stable? One thing I have noticed is that if I set the RPM demand to say 5000 RPM and then run the auto tune it does the first couple of stages ok, ie overshoot then stable etc but it drops the RPM to 3000 when stable and then tries to complete stage 4 (final tune??) at this RPM value whilst the demand is still for 5000 RPM??

Sorry about name but Jack is short for John - (thats what my dad told me years ago!!) - so thats sorted that one out!

Thanks

John
Labview Version 8.5
Labview Version 8.6
Labview Version 2014
0 Kudos
Message 7 of 7
(3,525 Views)