Jump to content
OMRON Forums

In-position oscillation


gjmontagner

Recommended Posts

Hello, good morning.

I am facing an issue when trying to control a motor with a power pmac.

What happens is I get an oscillatory motion when the motor reaches its desired position, as you can see in the first two attachments (the first one showing the oscillation, and the second one showing its details, on encoder position and servo effort). This happens in certain specific positions of the motor course, at the end of the course which is farther from the motor (the motor drives a linear actuator). At the opposite end of the course (near the motor), I got a FeFatal error, for one of the problematic motors.

Also, I am driving these motors with "Voltage mode", but I am not familiar with this setup. Are there any pitfalls when using this control mode that I may not be aware of?

Also, what could be a possible guideline to do the control loop tuning, as to try to eliminate these oscillations, while still being able to control the motor for the whole course? I tried to lower Kp gain, which apparently reduced these oscillations (which have approximately 15Hz frequency) but then I start to get a 0,5Hz low frequency oscillation on position error when moving in one direction, as can be seen on the third attachment. This oscilation has a 1mm period, for the speed currently being used.

Thanks in advance.

Guilherme

1162838688_oscilacaonaposicao22011305.thumb.jpg.5784301a649cbe0c849f0c1c60dcb5d5.jpg

1816865521_oscilacaoparaforum.thumb.jpg.c166e25eb8edeeb293285aded751d7ce.jpg

991791469_jog50000poserrorm1deltataum3topslitkp0-1kvff5.thumb.jpg.cbe224118668ed2953326fd6e6cebd4b.jpg

Link to comment
Share on other sites

  • Replies 3
  • Created
  • Last Reply

Top Posters In This Topic

Using voltage mode involves some trade-offs, as nearly everything does when optimizing servo loops. When you use voltage mode, you are turning off the current loop and its benefits. The main benefit is that a well-tuned current loop will mitigate the effects of the natural pole in the transfer function which is caused by the L/R time constant in the motor windings. So, there is less delay when using the current loop, allowing higher gains before oscillations occur.

 

You don't say why you selected voltage mode.

Link to comment
Share on other sites

Hi Dave, first of all thank you for your response.

I see. The voltage mode was already implemented for an older device, so I carried on. But I observed that when I turn it off, there is more in-position noise.

Also, the oscillations kept happening with the current loop enabled.

Do you have a good-practices guide as to how to configure voltage mode control, so that we can aim for the best techniques to avoid oscillations?

Basically we set Phasemode = 8, and:

IiGain=0

IpfGain=2

IpbGain=0

Also, PhaseCtrl=6

 

We also tried to use notch filters to mitigate the oscillations, but whenever we applied a filter for one frequency, another one appeared up, as seen on the attachments (Three fft images: Before the first filter, after the first filter on 85Hz, and after the double filter adding a notch at 295Hz. The noise itself is a high frequency chirp which had 12 counts of amplitude at first, but after the notch filters were applied, was amplified to 100 counts of amplitude). Do you know why this is happening? Am I using the notch filter correctly?

Thanks in advance

38458035_notchconf.jpg.c97a2f637705e3ce8e187fcc286bfd8f.jpg

74942008_beforenotch.jpg.8aab5d8bda0a73a8c61eefc06f3f02e4.jpg

321515537_afterfirstnotch.jpg.7263471f7d4b1c45ee33a9f208b85293.jpg

1163944229_aftersecondnotch.jpg.a643ca793de9edc74ab2249c9b55e701.jpg

Link to comment
Share on other sites

What PMAC product (amplifier) are you using? Also what does your motor mechanics looks like? It sounds like you have mechanical resonances more than anything else. Do the oscillations continue after you come to a stop? For a move and settle type of oscillations, I would recommend using the trajectory pre-filter notch and not the servo loop one.

 

I noticed that IpfGain = 2. I typically recommend it to be equal to 1. I do not know if this is part of the cause, I doubt it. The IpfGain is simply a multiplier of the servo effort in voltage mode. It is proportional to the servo gains. Also MaxDac should not exceed 28000.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...