Jump to content
OMRON Forums

Servo loop tuning problems_basic


wskpefqp
 Share

Recommended Posts

Is it necessary to enable the motor before I start to do a Step Move or other moves ? ( using Pewin Tuning Pro, there is a button at the down left corner called “Enable motor #X”),

if not , will the response differ for the same parameters?

F.Y.I. my system hardware configuration is as follows:

Controller: IMAC FLEX

Drive: SX25A20 (sinusoidal servo drive)

Motor: Parker slotless, brushless linear servo motor

 

Link to comment
Share on other sites

  • Replies 14
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Can't remember if you have to, but I think you do. Your motor must be phased before you get to this step. Also, we(in the USA) know nothing about the IMAC FLEX, but I believe it is just a packaged Clipper sold only in Asia. You must follow the PWM setup for the analog outputs that is in the manual, or you will have poor performance. This should be done first before you attempt to tune. You will also want to save your configuration before tuning, take note of what tuning I-variables you change while tuning, then don't save your configuration after tuning. Issue a $$$ to restore your configuration, manually change the tuning I-variables, then save to flash. The tuning utility make a bunch of changes, and if you happen to save while the utility is open your configuration will be messed up. At the very least, you will lose your coordinate system configuration. Do you have a local distributor that can help you?
Link to comment
Share on other sites

Thank you for your very practical suggestions, Brian.

IMAC Flex is a packaged TURBO PMAC2, that's what I get with the online command "TYPE". Considering our amplifier (Sinusoidal amplifier, requires two sinusoidal command signals with a 120-degree phase shift), we set the controller according to the instructions on Sine-wave output Control.

As for the servo loop tuning, I am not sure if I follow the right steps or not, that is what I plan to do:

Step 1: do a step move. Tuning Kp, Ki, Kd (only these three parameters) to get a response curve closely match the commanded curve.

Step 2: do a parabolic move. With the same Kp, Ki, Kd, bring in the Kvff, Kaff, Kfff ,tuning them to get a response curve closely match the commanded curve.

Step 3: do a sinusoidal move. With the same Kp, Ki, Kd, bring in the Kvff, Kaff, Kfff ,tuning them to get a response curve closely match the commanded curve.

 

Are Step 2 and Step 3 alternative or indispensable? If alternative, which do you think is better? I know it is hard to say, possibly depends on systems.

 

All in all, when tuning the servo loop, which do you think is the right procedure below?

A. Step 1+Step 2+Step 3;

B. Step 1+Step2 or Step 3

C. Step 1 or Step 2 or Step 3

 

If you choose B , after you finish Step 2 or Step 3 , with the parameters at that moment ,do you think you can still get a response curve closely match the commanded curve when you go back to do a step move?

I don’t think so, because new variables will add new control effect to the servo loop. Then comes my question, what are the most reliable criteria when tuning the servo loop? Since when you tuning with different move type, the following error differs.

 

Furthermore, when doing Step 1, is it advisable to bring in other parameters except the Kp, Ki, Kd?

 

Sorry for troubling you with so many questions, but I have no local distributor to help.

 

 

 

Link to comment
Share on other sites

I am not sure if I get you right, you mean the art of tuning is to find a set of Kp, Ki, kd both suitable for the Step move and other move, say sinusoidal move , and there’s more, when I finish the sinusoidal move tuning, with the same Kp, Ki, Kd and the new variables brought in the sinusoidal move, not only should the sinusoidal response curve match the commanded curve best, but also the step move response curve is almost immune to the new control effects , or in another word , the resultant control effect of all the tuning parameters makes a new step move response curve which is almost the same with the one only using the Kp, Ki, Kd .
Link to comment
Share on other sites

What I am saying is that the results you get from the step move tuning are a good starting point for tuning for another type of move. Your real world application won't be using a step move. Use another type of move that is like the type of move you will be making, and tune to that. When you are all done tuning to that type of move, and you happen to do a step move again, don't be surprised if the step move doesn't look good. That is OK, though.

 

 

Link to comment
Share on other sites

I really appreciate your help, Brian.

I am trapped by doing the step move by the strange behavior with the same parameters, I know that onsite help is not accessible and this PID tuning really needs a lot of patience, but we will should first solve that weird problem.

 

Link to comment
Share on other sites

we have two machines,one of them is air-float rail(has encoder problems), another is Parker positioner (parker's linear motor and renishaw's encoder).The one with commutation problems is not tuned yet .With Parker positioner, the commutation test can go smoothly,so does the open loop test, after finish the open loop test, I can Issue $ command to phase the motor and close the servo loop, the only problem with the pisitioner is the weird PID servo loop tuning problem with the same parameters.
Link to comment
Share on other sites

Make sure it is wired correctly. With the drive disabled, push the carriage against an end stop and note the position. Move the carriage, and see if the same position reading occurs at the end stop to determine which channel might be losing counts. The encoder error you are getting, though, is more like you are "gaining" counts. In other words, a count is occurring when it shouldn't be. Is your encoder optical or magnetic?
Link to comment
Share on other sites

Thank you, Brian, but we don’t have a left or right limit switch on our rail, there is only an index pulse switch, when the carriage hit it, and an index pulse will be sent. Can I do it in this way, I will move the carriage at a fixed length several times and get corresponding counts numbers to see if they are approximate, if not, then we get huge problem with our encoder.
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share


×
×
  • Create New...