-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pid tuning #20
Comments
Hi! The PID specific code starts in the main.c file, line 227 of the 2017-08-12 firmware, specifically this part: ` //calculate error
I'd think you should be able to increase the P value from the 2500-3000 range you have now (without touching I and D for now). Can you tell me what happens if you do that? |
Thank you for help. I have increased P to 3500-4000 and i get big oscillations also with 3000 get some oscillations without some good improvement in ferror Also how can increase the pwm frequency to something 21-22khz because now is audible ? |
Hey, sorry for the late reply, I was very busy last week. As you mention, it is possible that the original laser servo driver performed a more complex control algorithm. I personally use the Tarocco motor controllers in my CNC router. I normally don't have an issue using P values higher than 10 000, but my drive system is screw based, so it's not directly comparable. Try increasing the I value once the oscillations start and see if you can get rid of them. Then push the P term higher up again and try to stabilize the system with the I coefficient as necessary. I haven't been able to debug the 20+ kHz firmware as I don't have the time at the moment. Hopefully in a few weeks I'll have enough free time to check the issue with that firmware version. |
Yes 10um sure for step resolution there is 1:3 reduction and the pulley than drivers belt is 30 teeth s2m type with 2mm pitch Mill has a lot less acceleration and speed than laser and much more load. |
I'll try to add the feed forward term next week. I'll let you know when it
is ready for testing.
…On Wed, Aug 25, 2021, 12:04 AM labkab ***@***.***> wrote:
Yes 10um sure for step resolution there is 1:3 reduction and the pulley
than drivers belt is 30 teeth s2m type with 2mm pitch
i have calculated that correct...
But this is not the problem because with the same encoder-motor original
servo drive had much better performance..
If increase I up to 500 ferror reduced almost to half but does not have
good behavior at the change of direction so i set I again to 0. D seems to
do nothing..
X stage of laser has very minimal mass (25% of same type chinese lasers)
so it is almost near to nothing the motor load.
I think without better error reduction algorithm can not perform better
for these type applications(high acceleration/speed)
Something like FF1 of linuxcnc pid i will help a lot.
Mill has a lot less acceleration and speed than laser and much more load.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#20 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACD23JBEL4KVXQEED6INLMDT6R2XPANCNFSM5CFBJHMA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email>
.
|
Any update on this thread - was looking at the driver to replace the 'servos' on my laser, but if this is better suited for a slower CNC then I might look at a different solution |
Me too. |
I know of one person who has converted his laser using the Gecko G-320X drivers, he reported it works great but took tuning with an oscope. These are motors with an encoder on the shaft. I was hoping for a more affordable option as I usually do more vector based work where speed isn't the most critical item |
The tarocco hardware is ok the software is poor. I want servo drives for raster engraving @ 1-2m/sec so for this speed a very good drive is needed. |
May I point out that the software is open source? And therefore open to improvement by others? Perhaps some posts on tech friendly blogs asking for help improving the software would connect those who can improve it with those who need it improved? |
Hello.
Iam using tarocco driver for X axis of a trotec 8003 laser(<50w motor / 500 lines encoder) that has very minimal mechanic load on x axis (head has very low mass and all the system has low mass)
With original driver this laser has 2000mm/s rapid speed and enough acceleration to achieve this speed.
The following error was minimal with original drivers..
I have tried various values for P/I/D and seems that pid tuning is pure.
I and D values does not have much effect for fine tuning..
With P values around 2500-3000 and no I/D is the least following error that i can get
but the following error is too much >> 1mm so does not have accuracy in high speed/acceleration
Seems that PID algorithm is pure because with original driver the accuracy on high speed/acceleration following error is much better.
Now encoder is 500 lines if i change it with 2048 i will see improvement in following error ?
Of course with low acceleration/speed following error improves but then the machine is slow..
Where in the source is the code is the that does the pid tuning ?
Thanks,
The text was updated successfully, but these errors were encountered: