Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Tunning Servo Motor- Linear Voice Coil Motor. Motion Control 7432. Motor Drive 7652

Hi Jochen,

Had a go at tunning the system again today. I found that increasing Kd larger allowed me to increase Kp more like you said but I still wasnt getting a good response. Lots of initial osillations. Also the step response wouldnt alwasys work... sometimes work (ring a bit) and then otherwise just not respond at all. Furthermore, I struggled to see and trend in me changing values by following the steps outlined in the document u attached earlier. I reduced the values to Kp=4, Kd=8 and Ki=3.. If I increased Kd more the overshoot would actually increase and then decrease again but there was alot of buzzing. I also tried adjusting Td at values ranging from 4-6 but still got the same response.

So I left it at the tune parameter without the initial load on it. I tried to run a few moves in MAX 1D interative section. Applying various trajectories. However there was a limit on the acceleration I could apply. (See attached doc) The current limits were all set to max. As I can see from my Datasheet I should be able to generate 80N peak force. It didn't seem anywhere close to that but maybe I am wrong. I have attached the results I obtaind from this trajectory and the maximum values I inputted

Also with the Bode plot  function can you tell me how I can change the unit to Hz rather than rad/s and save the plots to file if posiible.

Regards,

Darren

 

0 Kudos
Message 11 of 22
(2,480 Views)

Sorry attached the wrong document.

Also I struggled to tune on serving with force...Should I be changing it to Torque mode at all??

 

Thanks alot for your help

Regards,

Darren

0 Kudos
Message 12 of 22
(2,481 Views)
Darren,

What does the system physically look like? Can you attach pictures of your setup?  If you are trying to tune the servo for a variable load (i.e. some type of spring), you are likely going to run into problems, as the gains are only going to be valid for a constant force.

MAX has no way to save tuning plots.  You will have to take screenshots.  The units are in rad/s.  Since radians are unitless, this is essentially the same as 1/s or Hz.

My recommendations are still to try a larger motor, and check out KB 47SEC3P9: Implementing Feedforward Position Component on NI-Motion Controllers if the load is not constant.
Regards,
Brandon M.
Applications Engineer
National Instruments
0 Kudos
Message 13 of 22
(2,467 Views)
Hi Brendon,
 
That article definately seems applicable to me. I have attached my set-up. I tried re tunning again today what I found was that Kp that a characteristic effect on the step response. However, when I increased Kd the system would decrease in overshoot up when the value was the same as Kp. If I increased above that value I got large overshoot and large the system would not response and give out an overdammped sound and sometimes instability.
 
I thought maybe external noise could be effecting my system as the step responses arent repeatable either. Is this a possibility. Are there any other possibilities I have got in touch with the motor manfucaturer and am waiting for a reply from them
 
Regards,
Darren
Download All
0 Kudos
Message 14 of 22
(2,448 Views)
Daren,

It is unlikely that external noise is the cause of any noticeable performance changes, unless you are in a room with major noise sources.  Did you add a feedforward position component to your signal?

Please let me know what the motor manufacturer says.
Regards,
Brandon M.
Applications Engineer
National Instruments
0 Kudos
Message 15 of 22
(2,433 Views)

Hi Brendon & Jochen,

Heard back from the motor manufacturer the motor should definately be able to generate the force required with the current. I did a bit of testing of my own and found a few interesting things. The current sourced by the motor amplifier when the system was tunned with Kp=8 and Kd=20 was only around 62mA for a really compliant load and 0.1A for the more stiffer load this is for a 1000 step move at maximum velocity and acceleration in Labview. So it is a current issue.

What I did do is check the openloop response of the system. ie. Just unplug the potentiometer feedback and applying pulses. Now with a Kp=5 I was getting 2A going through a motor and an extremely fast move. So basically it is something to with the response of my system that is not allowing the current to reach it max value. Maybe I need to increase Kp more than 8?? . With implementing feedforward control do I hook up the two outputs channels (+ and -) in series. Will that sum the voltages together? So I will implement this open loop control on one axis and closed loop PID on axis 2. Also what exactly is the following error I didn't quite understand it that well?

Another thing I was going to try was to play around with acceleration and velocity feedfoward gains ? What effect does that have on the system.??

Is there anyway I can test the open loop response of the motor.

I think I am getting close to finding a solution so looking forward to your feedback

 

Thanks,

Darren

0 Kudos
Message 16 of 22
(2,428 Views)
Hi Daren,

It sounds like increasing Kp will get you closer to the response you need.

With the feedforward control, you will need a summing op amp.  You cannot just connect the signals together.  There are many places that you can learn more about op amps, such as this.

By setting the following error to 0 in MAX, you are disabling the following error.  If it is not disabled, the motor will be killed when the set tolerance for following error is exceeded.  This must be done because the second axis control is only providing a proportional offset to compensate for the varying load.  If this axis actually runs in closed-loop mode with following error enabled, it will generate a following error as soon as the motor's position is offset from zero by the number of counts that is equal to your following error.  I know that was somewhat confusing, but the bottom line is set the following error to 0.

Set the feedforward gains to the maximums.  Otherwise, you are just making your system less responsive.  You want the feedforward to provide pure P-loop control, and using anything other than the maximum settings will only hinder this.


Regards,
Brandon M.
Applications Engineer
National Instruments
Message 17 of 22
(2,410 Views)
Hi Brendon,
 
If I operate the device the way it is now and increase the velocity and accleration feedfoward?  that should give me that extra accleration I required for my move for now? Will implement the feedforward control as a next step in implementation.
 
Cheers,
Darren
0 Kudos
Message 18 of 22
(2,395 Views)
Hi Brendon,
 
I just wanted to check back on something you helped with earlier. I read up some notes on the internet that said 2*pi rad/s=1Hz. I remember you told me rad/s and Hz were the same? can you tel me how this is different in this case?
 
Looking forward to hearing from you.
 
Regards,
Darren
0 Kudos
Message 19 of 22
(2,381 Views)
Hi Dazal,

Hertz is a measure of frequency, as is radians per second.  Hertz is a measure of cycles per second, or one full rotation per second.  Radians is an angular measurement (like degrees), and there are 2*pi radians in a full rotation.  Therefore, 1 Hz = 2*pi rad/s.  They are the same in that they both measure frequency, but they are related by a factor of 2*pi.

Hope this clears things up!
Maclean G.
Applications Engineering
National Instruments
0 Kudos
Message 20 of 22
(2,357 Views)