Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Tuning Compumotor in MAX

I have a Parker Compumotor (BE231DL) servo motor that is mounted to a 404-XR linear table. I am using a 7342 card connected to a Parker Gemini GV-U3 drive. When I try to use the automatic servo tuning in MAX it buzzes and oscillates wildly, so I tried following the manual tuning from scratch. I have to set the gain extremely low (Kp~5, Kd~7) to keep the motor from buzzing when looking at step response. As a result, I cannot get reproducible results from the step response. Am I missing a correct setting or step?

--Chris
0 Kudos
Message 1 of 7
(3,841 Views)
Hi Chris,

You might want to check out our tutorial on manually tuning servo motors. It's located at http://zone.ni.com/devzone/conceptd.nsf/webmain/4B7775373E4AE64986256B6000691505?opendocument

Let us know if you're still having trouble.

Regards

Dan
National Instruments
0 Kudos
Message 2 of 7
(3,828 Views)
Thanks,

I have followed this tutorial and have had problems when using the step response function. The response is quite erratic, where sometimes it will approach the desired step and other times it wildly overshoots or does not move.
0 Kudos
Message 3 of 7
(3,824 Views)
To get a well damped step response you should increase the Kd value. As a rule of thumb choose Kd=10*Kp (e. g. Kp=5, Kd=50). If you get a wild overshoot at very low Kp values you could increase the PID rate or decrease the resolution of your feedback signal (this is possible if you are using a drive for brushless motors with quadrature encoder emulation).
Both measures will increase the headroom for your Kp, Kd values. The rule of thumb here is: If you halve the encoder resultion or double the PID rate (or half the PID period) you should double the Kp, Kd values. This will give you more flexibility for fine tuning the PID.

Best regards,

Jochen Klier
National Instruments Germany
0 Kudos
Message 4 of 7
(3,815 Views)
I tried halving the encoder resolution, which still did not alleviate the tuning problems, so I halved it again to 2000 counts/rev (1/4 of the original value, which was 8000 counts/rev). The motor was not quite as erratic, but it was still fairly uncontrollable. I decided to try to monitor the analog output of the UMI. I set up a 10 revolution cycle in the 1-D Interactive tab of MAX, watched the plot, and monitored the analog signal on an oscilloscope. The motor turned, although it was step-like on both visual observation of the shaft and the graph provided in MAX. The scope readings were erratic as well, and I've drawn a rough estimate of what it looked like (driveon.jpg). I turned the drive off to see if the feedback caused the erratic output, and when the drive was off (the motor was not turning) the oscilloscope reading of the analog output was as expected (driveoff.jpg). Do I have an encoder problem, or is something not hooked up correctly?

Thanks,

Chris
0 Kudos
Message 5 of 7
(3,804 Views)
I had to attach the second file.
0 Kudos
Message 6 of 7
(3,806 Views)
Chris,

cabling could be an issue but that's hard to tell from the plots. Is your motor running into the direction you expect it to run? Do you get the correct number of encoder counts when moving? If one of these answers is no please check your encoder cabling.

You shouldn't expect the output to generate a perfect trapezoid or even just something close to that when the control loop is closed but I agree with you that the output looks very bumpy. Is your drive working in velocity mode or in torque mode? If it is running in velocity mode is it tuned correctly? Can you move the axis just by sending a command (e. g. via RS232) to the drive and does it move smoothly?
In general it's easier to control the drive/motor combination if the drive is working in torque mode. What are your PID settings? Try setting Td to a value of 6 or 8.

Jochen
0 Kudos
Message 7 of 7
(3,791 Views)