- Posts: 22011
- Thank you received: 7491
Servo Wiring and Tuning detailed How To example Mesa 7i77.
- tommylight
- Offline
- Moderator
-
Less
More
8 years 6 months ago #108974
by tommylight
You are welcomed, always.
Also there is a button under each post for "thank you", if you have missed that.
Replied by tommylight on topic Servo Wiring and Tuning detailed How To example Mesa 7i77.
DaOne wrote: Thank you!
You are welcomed, always.
Also there is a button under each post for "thank you", if you have missed that.
The following user(s) said Thank You: DaOne, DanMN, Pro_El, randypetersen, COFHAL, suraj9735
Please Log in or Create an account to join the conversation.
- Type_Zero_Design
- Offline
- Premium Member
-
Less
More
- Posts: 133
- Thank you received: 7
7 years 2 months ago #141478
by Type_Zero_Design
Replied by Type_Zero_Design on topic Servo Wiring and Tuning detailed How To example Mesa 7i77.
Tommy,
This was extremely informative! I'm excited to start my running. I have a few questions I hope you don't mind me asking here. (I think they may help other people as well)
First, my joint.N.f-error on all three joints dose not seem to be producing any results. I'm assuming that is because it is not using the encoder feedback for some reason. Under .hal configuration tool I can see my encoder counting and used it to determine my steps per rev initially, but I'm guessing that I missed something somewhere to tie this in and close the loop?
Second, when talking about the p value and it's initial adjustment. When you talk about the vibration, I can not physically feel a vibration in the servo motor itself, but after a jog I can audibly here faint vibration noise and if I put my hand on the screw I can feel the motor ever so slightly "vibrating" attempting to hold the position. Putting even very light pressure on the rotation of the screw physically and audibly changes that "vibration" it's almost more of a buzzing sound. My question being is this what you are considering vibration or is what your referring to something more aggressive? Also I'm guessing before messing with this and the P to much I should figgure out the joint.N.f-error situation first.
Lastly, will my accel/decell and velocity affect the tune. Should they be solidified prior to running? I'm not to sure on how to decide those numbers yet.
Thanks for any info!
This was extremely informative! I'm excited to start my running. I have a few questions I hope you don't mind me asking here. (I think they may help other people as well)
First, my joint.N.f-error on all three joints dose not seem to be producing any results. I'm assuming that is because it is not using the encoder feedback for some reason. Under .hal configuration tool I can see my encoder counting and used it to determine my steps per rev initially, but I'm guessing that I missed something somewhere to tie this in and close the loop?
Second, when talking about the p value and it's initial adjustment. When you talk about the vibration, I can not physically feel a vibration in the servo motor itself, but after a jog I can audibly here faint vibration noise and if I put my hand on the screw I can feel the motor ever so slightly "vibrating" attempting to hold the position. Putting even very light pressure on the rotation of the screw physically and audibly changes that "vibration" it's almost more of a buzzing sound. My question being is this what you are considering vibration or is what your referring to something more aggressive? Also I'm guessing before messing with this and the P to much I should figgure out the joint.N.f-error situation first.
Lastly, will my accel/decell and velocity affect the tune. Should they be solidified prior to running? I'm not to sure on how to decide those numbers yet.
Thanks for any info!
The following user(s) said Thank You: suraj9735
Please Log in or Create an account to join the conversation.
- tommylight
- Offline
- Moderator
-
Less
More
- Posts: 22011
- Thank you received: 7491
7 years 2 months ago #141490
by tommylight
Replied by tommylight on topic Servo Wiring and Tuning detailed How To example Mesa 7i77.
I think you would be better off with a new config if the feedback is detached somewhere.
Yes that is the vibration i am refering to, try to reduce that by also setting the deadband, it helps minimise the vibration when stationary.
Do not try to tune anything until you get to the point where you can see the DRO in Linuxcnc change when you move the motors by hand, then check if they are counting in the right direction, then you can try to enable the drives and check if you need to reverse the output.
The main thing is when you enable the drives in Linuxcnc they should stay put, try to jog them very slowly after setting the jog speed to a reasonable value (50 - 100mm/m) and see if they stop ( some drift is ok at this point or hunting ).
Only after checking all that proced to tune the P value till you get some vibration while stationary and some more vibration after jog and stop, then lower that value till you get barely noticeable vibration, tune the deadband, test, see if you can increase P by just a bit and still have barely noticeable vibrations. Now try to move the motors by hand while enabled, they should fight back quite vigorously the more you try to move them.
Now the tuning can start.
If you notice that the motors can move a lot before they fight back, deadband should be adjusted some more.
Now you can try ading some I or/and D till you get very stiff motors that fight back as soon as you try to move them. It is much better to have I and D set to zero than to have them at wrong values, this can be tuned even after everything else.
To tune the FF1 there are two methods, the one i use and explained here, and the other that PCW recommends by setting the output scale to maximum velocity in machine units so the FF1 is always 1 ( please do check this as i might have missed something as i never used this method ).
If using the method described here, start with 0.1, then 0.2 and so on all this while the velocity is set to 50-100mm/m, check the feedback for the least error while jogging, then add another decimal like 0.25 and test again for the lowest error, then do 0.255 and check, then 0.2555 and so on till you get a flat feedback line. Increase the jog speed a bit and test again, add decimals, increase speed, and so on. Those values are just example, but do not worry if you end up with something like 0.345678.
Yes that is the vibration i am refering to, try to reduce that by also setting the deadband, it helps minimise the vibration when stationary.
Do not try to tune anything until you get to the point where you can see the DRO in Linuxcnc change when you move the motors by hand, then check if they are counting in the right direction, then you can try to enable the drives and check if you need to reverse the output.
The main thing is when you enable the drives in Linuxcnc they should stay put, try to jog them very slowly after setting the jog speed to a reasonable value (50 - 100mm/m) and see if they stop ( some drift is ok at this point or hunting ).
Only after checking all that proced to tune the P value till you get some vibration while stationary and some more vibration after jog and stop, then lower that value till you get barely noticeable vibration, tune the deadband, test, see if you can increase P by just a bit and still have barely noticeable vibrations. Now try to move the motors by hand while enabled, they should fight back quite vigorously the more you try to move them.
Now the tuning can start.
If you notice that the motors can move a lot before they fight back, deadband should be adjusted some more.
Now you can try ading some I or/and D till you get very stiff motors that fight back as soon as you try to move them. It is much better to have I and D set to zero than to have them at wrong values, this can be tuned even after everything else.
To tune the FF1 there are two methods, the one i use and explained here, and the other that PCW recommends by setting the output scale to maximum velocity in machine units so the FF1 is always 1 ( please do check this as i might have missed something as i never used this method ).
If using the method described here, start with 0.1, then 0.2 and so on all this while the velocity is set to 50-100mm/m, check the feedback for the least error while jogging, then add another decimal like 0.25 and test again for the lowest error, then do 0.255 and check, then 0.2555 and so on till you get a flat feedback line. Increase the jog speed a bit and test again, add decimals, increase speed, and so on. Those values are just example, but do not worry if you end up with something like 0.345678.
The following user(s) said Thank You: Sadmeatball, Masiwood123, suraj9735, dkraft
Please Log in or Create an account to join the conversation.
- Type_Zero_Design
- Offline
- Premium Member
-
Less
More
- Posts: 133
- Thank you received: 7
7 years 2 months ago #141513
by Type_Zero_Design
Replied by Type_Zero_Design on topic Servo Wiring and Tuning detailed How To example Mesa 7i77.
Thanks for the feedback Tommy!
So what's strange is I do believe that I have done everything you mentioned I should up to the point of tuning. I'll have to verify tonight but I believe that my DRO was counting manually moving the motor by hand. I know for sure that when enabled that the motor will fight you to try to stay in position.
If the DRO is changing when rotating by hand without enabled is there anything else I should check to get the joint.N.f-error reporting something on the screen?
So what's strange is I do believe that I have done everything you mentioned I should up to the point of tuning. I'll have to verify tonight but I believe that my DRO was counting manually moving the motor by hand. I know for sure that when enabled that the motor will fight you to try to stay in position.
If the DRO is changing when rotating by hand without enabled is there anything else I should check to get the joint.N.f-error reporting something on the screen?
Please Log in or Create an account to join the conversation.
- Type_Zero_Design
- Offline
- Premium Member
-
Less
More
- Posts: 133
- Thank you received: 7
7 years 2 months ago #141514
by Type_Zero_Design
Replied by Type_Zero_Design on topic Servo Wiring and Tuning detailed How To example Mesa 7i77.
Thanks for the feedback Tommy!
So what's strange is I do believe that I have done everything you mentioned I should up to the point of tuning. I'll have to verify tonight but I believe that my DRO was counting manually moving the motor by hand. I know for sure that when enabled that the motor will fight you to try to stay in position.
If the DRO is changing when rotating by hand without enabled is there anything else I should check to get the joint.N.f-error reporting something on the screen?
So what's strange is I do believe that I have done everything you mentioned I should up to the point of tuning. I'll have to verify tonight but I believe that my DRO was counting manually moving the motor by hand. I know for sure that when enabled that the motor will fight you to try to stay in position.
If the DRO is changing when rotating by hand without enabled is there anything else I should check to get the joint.N.f-error reporting something on the screen?
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
-
Less
More
- Posts: 4793
- Thank you received: 1480
7 years 2 months ago #141523
by Todd Zuercher
Replied by Todd Zuercher on topic Servo Wiring and Tuning detailed How To example Mesa 7i77.
If the DRO is working, the joint.N.f-error will be working as well, They are calculated from the same input.
You may need to adjust the vertical gain in Halscope to actually be able to see what the f-error is doing. It is entirely possible (quite probable in fact) that the f-error is so small that it looks like a flat line in Halscope until you adjust the gain. I usually have the gain set to 1-10u/div (0.001-0.01) when tuning a servo.
You may need to adjust the vertical gain in Halscope to actually be able to see what the f-error is doing. It is entirely possible (quite probable in fact) that the f-error is so small that it looks like a flat line in Halscope until you adjust the gain. I usually have the gain set to 1-10u/div (0.001-0.01) when tuning a servo.
The following user(s) said Thank You: tommylight, Sadmeatball, suraj9735
Please Log in or Create an account to join the conversation.
Time to create page: 0.541 seconds