kandauru Posted April 19, 2016 Share Posted April 19, 2016 Hi, I am dealing with "fine tuning" of motors. There are two motors in gantry (position following) mode. When motors are in position, I see that velocity and following error values of the motors are still being changed ( see attached link: https://drive.google.com/open?id=0B6Q9gPky33lbdmNhWEJSRHcxQ3M). Motors defined as: #1->533.3432x #2->533.3432xx Here are parameters: // Motor 1 (X1a) // Driver: MDDKT3420 // MOTOR:MHME154G1G Motor[1].ServoCtrl = 1; Motor[1].DacShift = 0 Motor[1].Servo.Kp = 37 Motor[1].Servo.Kvfb = 3500 Motor[1].Servo.Kvff = 3700 Motor[1].Servo.Kaff = 40000 Motor[1].Servo.Ki = 0.02 // Motor 2 (X1b) // Driver: MDDKT3420 // MOTOR: MHME154G1G Motor[2].CmdMotor = 1 //leader id Motor[2].ServoCtrl = 8 //follower Motor[2].GantrySlewRate = 1 Motor[2].DacShift = Motor[1].DacShift Motor[2].Servo.Kp = Motor[1].Servo.Kp Motor[2].Servo.Kvfb = Motor[1].Servo.Kvfb Motor[2].Servo.Kvff = Motor[1].Servo.Kvff Motor[2].Servo.Kaff = Motor[1].Servo.Kaff Motor[2].Servo.Ki = Motor[1].Servo.Ki Please, advise. Thank you in advance. Link to comment Share on other sites More sharing options...
steve.milici Posted April 20, 2016 Share Posted April 20, 2016 How did you initially tune these motors? Link to comment Share on other sites More sharing options...
kandauru Posted April 21, 2016 Author Share Posted April 21, 2016 I tuned motors using Position loop Interactive Tuning window. Initially, the motors were tuned with Panasonic software by our control engineer. I have attached final plot of parabolic move. Link to comment Share on other sites More sharing options...
steve.milici Posted April 21, 2016 Share Posted April 21, 2016 Why does this motor need tuning outside of PMAC? You probably should describe your system setup in more detail. Link to comment Share on other sites More sharing options...
Omron Forums Support Posted April 21, 2016 Share Posted April 21, 2016 This is just a guess since you have said very little about your system, but if the Panasonic drive is closing the servo loop AND PMAC is trying to close the servo loop also, you will have problems. Try running the Panasonic in torque mode (if that is available? What kind of drive is it exactly?) and doing all the servo control from PMAC. Link to comment Share on other sites More sharing options...
StephenJ Posted April 22, 2016 Share Posted April 22, 2016 It is not clear from your post - is there a problem while moving, or only when in position? Is there an audible noise during the parabolic move? Since the speed is so slow, and the following error is so small, I would tend to say your parabolic plot does not look all that bad. The granularity in the plot is a result of the scale. Gantries can be tricky, especially if very rigid. The Ki gains for the two motors can fight each other, resulting in positional instability when it should be at rest. I would try setting your follower motor's Ki=0. I would also try setting the leader motor's .SwZvInt=1, which disables the integral gain when desired velocity!=0. Also - if motor #2 is your gantry follower, you should give it a null definition in your coordinate system (#2->0). Link to comment Share on other sites More sharing options...
kandauru Posted May 4, 2016 Author Share Posted May 4, 2016 The problem happens when motors are in position. The noise is very audible all the way. I will change parameters and let you know. Link to comment Share on other sites More sharing options...
kandauru Posted May 11, 2016 Author Share Posted May 11, 2016 Hi, the stupid question - how do we know that motor is in position? I know, there is a flag Motor[X].InPos, but what laying behind this? When I do a simple move, I see it signaled (TRUE) in Status window. But what happens if I run rotary buffer with 10 motors? Does the controller wait for same flag of each motor or there is an additional flag? Link to comment Share on other sites More sharing options...
steve.milici Posted May 11, 2016 Share Posted May 11, 2016 Typically (and by default) PMAC does not do anything other than set the bit for use in PLC monitoring based on the following: The motor must be in closed-loop control; The motor desired velocity must be zero; The motor must not be executing any move or dwell of definite time (move timer is not active); The magnitude of the following error must be less than or equal to Motor[x].InPosBand Check the definition of Coord[x].InPosTimeout for details on the automatic use of in-position in the CS. Link to comment Share on other sites More sharing options...
Recommended Posts