how to synchronize two servomotors
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5008
- Thank you received: 1440
13 Jun 2017 18:37 #94467
by Todd Zuercher
Replied by Todd Zuercher on topic how to synchronize two servomotors
Following errors with closed loop are to be expected until you get the pid loops properly tuned. Open up the min and max following errors in the ini file to 20-30mm while you tune the pid loops. Then after you have it all working right, put them back to their correct small settings.
Please Log in or Create an account to join the conversation.
13 Jun 2017 18:38 #94468
by PCW
Replied by PCW on topic how to synchronize two servomotors
Can you post your current HAL/INI files?
Your plots look like FF1 is incorrect (they have a ferror proportional to velocity)
Your plots look like FF1 is incorrect (they have a ferror proportional to velocity)
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5008
- Thank you received: 1440
13 Jun 2017 18:48 - 13 Jun 2017 18:49 #94469
by Todd Zuercher
Replied by Todd Zuercher on topic how to synchronize two servomotors
Also is it possible that the position loops in the servo drives are not tuned good enough? Resulting in when you are running open loop you don't see how far off the motor error is, but when you add the encoder feedback Linuxcnc is expecting better motor control than the drives are giving with their current state of tune.
Last edit: 13 Jun 2017 18:49 by Todd Zuercher.
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5008
- Thank you received: 1440
13 Jun 2017 18:52 #94470
by Todd Zuercher
Replied by Todd Zuercher on topic how to synchronize two servomotors
When you post plots of halscope, use a screen shot rather than photos of the computer screen.
Applications Menu/Accessories/Screenshot
Applications Menu/Accessories/Screenshot
Please Log in or Create an account to join the conversation.
13 Jun 2017 19:48 #94474
by Jasper 3
Replied by Jasper 3 on topic how to synchronize two servomotors
shit just delete it.
again.
thanks for your help.
Here are my hal and ini file.
I had set P in 50er steps from 0 to 1000. and than I raised it in 500er steps till 8000.
When P is set to 5000 it is a reasonable value with less oscillations. When P is 5 I get no oscillations. (I was watching the hm2_5i25.0.encoder.02.positon to set up the P value. Is this right? Or what should I use to set the P value?
again.
thanks for your help.
Here are my hal and ini file.
I had set P in 50er steps from 0 to 1000. and than I raised it in 500er steps till 8000.
When P is set to 5000 it is a reasonable value with less oscillations. When P is 5 I get no oscillations. (I was watching the hm2_5i25.0.encoder.02.positon to set up the P value. Is this right? Or what should I use to set the P value?
Please Log in or Create an account to join the conversation.
13 Jun 2017 20:11 #94475
by PCW
Replied by PCW on topic how to synchronize two servomotors
OK the PID maxerror setting for all axis should be changed to 0
Note that you will likely need to set P to 10 or so or you will have violent oscillations
(P was basically not doing anything because of the 0.5 micron max error setting)
Note that you will likely need to set P to 10 or so or you will have violent oscillations
(P was basically not doing anything because of the 0.5 micron max error setting)
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5008
- Thank you received: 1440
13 Jun 2017 20:52 #94477
by Todd Zuercher
Replied by Todd Zuercher on topic how to synchronize two servomotors
A bit more explanation of what Peter is telling you. The PID maxerror setting, limits the size of the error input into the PID loop, so when you were commanding small/slow moves the pid loop could keep up and calculate the command for the movement, but when a large error occurred it could not calculate a large enough command to keep up (because it was only seeing a fraction of what the real error was) and the error would grow until you got a following error alarm.
Please Log in or Create an account to join the conversation.
13 Jun 2017 21:52 - 13 Jun 2017 21:53 #94481
by PCW
Replied by PCW on topic how to synchronize two servomotors
Yes, that's correct.
PNCCONF sets this to number that makes sense if the feedback comes from
the stepgen itself (and your units are in inches)
But its much too small for metric systems and if you have external feedback
(a PID maxerror value of 0 means don't bound the maximum error at all)
A PID maxerror of 0.0005 mm means that the maximum velocity correction is P*0.0005 mm/second
which is why using extremely high P values (which will cause instability with reasonable bounds) helped
PNCCONF sets this to number that makes sense if the feedback comes from
the stepgen itself (and your units are in inches)
But its much too small for metric systems and if you have external feedback
(a PID maxerror value of 0 means don't bound the maximum error at all)
A PID maxerror of 0.0005 mm means that the maximum velocity correction is P*0.0005 mm/second
which is why using extremely high P values (which will cause instability with reasonable bounds) helped
Last edit: 13 Jun 2017 21:53 by PCW.
Please Log in or Create an account to join the conversation.
15 Jun 2017 09:24 #94521
by Jasper 3
Replied by Jasper 3 on topic how to synchronize two servomotors
thanks alot.
I'm trying to tune my axis. here are the halscope pictures.
My problem is, that I cant get rid of the little overshoot. I tried everthing from these tutorials.
gnipsel.com/linuxcnc/tuning/servo.html
forum.linuxcnc.org/10-advanced-configura...-how-to?limitstart=0
Also Its wierd that my ff1 needs to be set to 5.0006 when I set ff1 to 1 or lower my followring error oscilates not arround "zero". You'll see this in my pictures.
I'm trying to tune my axis. here are the halscope pictures.
My problem is, that I cant get rid of the little overshoot. I tried everthing from these tutorials.
gnipsel.com/linuxcnc/tuning/servo.html
forum.linuxcnc.org/10-advanced-configura...-how-to?limitstart=0
Also Its wierd that my ff1 needs to be set to 5.0006 when I set ff1 to 1 or lower my followring error oscilates not arround "zero". You'll see this in my pictures.
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5008
- Thank you received: 1440
15 Jun 2017 12:25 #94523
by Todd Zuercher
Replied by Todd Zuercher on topic how to synchronize two servomotors
Maybe it has something to do with the fact that your encoder scale is 5x larger than your step scale? Does the DRO show the correct distance moved? (ie does a 10mm move actually move 10mm)
A little bit of FF2 tuning should help with the spikes of error on acceleration and deceleration. (Assuming the machine can achieve the accel settings you put in the ini file.)
A little bit of FF2 tuning should help with the spikes of error on acceleration and deceleration. (Assuming the machine can achieve the accel settings you put in the ini file.)
Please Log in or Create an account to join the conversation.
Time to create page: 0.107 seconds