Jump to content
OMRON Forums

How to eliminate noise and vibrations?


Recommended Posts



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:





Here are parameters:

// Motor 1 (X1a)

// Driver: MDDKT3420



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[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

  • Replies 8
  • Created
  • Last Reply

Top Posters In This Topic

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

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

  • 2 weeks later...



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

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

This topic is now closed to further replies.

  • Create New...