Servos algorithms, feedback and LinuxCNC
21 Mar 2016 16:42 #71990
by pmunizg
Servos algorithms, feedback and LinuxCNC was created by pmunizg
Hi folks!
I am building my very first CNC mill.
After some research I think I will go with the Sigma V Yaskawa servos and their amps; great performance, fantastic auto-tuning and advance anti-vibration algorithms.
Here is where I am completely lost.
- If the motors have an independent algorithm for motion, how can LinuxCNC dictate motions?
- The amp's speed frequency response is 1600Hz: A mesa or pico system handle that?
- Those servos are mounted with 20bit resolution absolute enconders: again, can a mesa or a pico card handle that?
- To feedback the controller with the encoder data, Yaskawa warns that some engineering must be done. Does that mean programming LinuxCNC or the MESA/pico?
Hope someone can shed some light.
I am building my very first CNC mill.
After some research I think I will go with the Sigma V Yaskawa servos and their amps; great performance, fantastic auto-tuning and advance anti-vibration algorithms.
Here is where I am completely lost.
- If the motors have an independent algorithm for motion, how can LinuxCNC dictate motions?
- The amp's speed frequency response is 1600Hz: A mesa or pico system handle that?
- Those servos are mounted with 20bit resolution absolute enconders: again, can a mesa or a pico card handle that?
- To feedback the controller with the encoder data, Yaskawa warns that some engineering must be done. Does that mean programming LinuxCNC or the MESA/pico?
Hope someone can shed some light.
Please Log in or Create an account to join the conversation.
22 Mar 2016 13:24 #72018
by emcPT
Without knowing exactly your system:
Linux send information to where the motor should move depending on the current position known by linuxcnc. The motion algorithm of the drive is between it and the motor.
Linuxcnc cannot work with absolute encoders. They must be incremental - at least the information sent to linuxcnc. It can happen that your drive translates the absolute encoders information to incremental. This is something "normal" when dealing with resolvers, and might be your case.
Regarding the frequency response I do not know to answer that.
Replied by emcPT on topic Servos algorithms, feedback and LinuxCNC
Hi folks!
I am building my very first CNC mill.
After some research I think I will go with the Sigma V Yaskawa servos and their amps; great performance, fantastic auto-tuning and advance anti-vibration algorithms.
Here is where I am completely lost.
- If the motors have an independent algorithm for motion, how can LinuxCNC dictate motions?
- The amp's speed frequency response is 1600Hz: A mesa or pico system handle that?
- Those servos are mounted with 20bit resolution absolute enconders: again, can a mesa or a pico card handle that?
- To feedback the controller with the encoder data, Yaskawa warns that some engineering must be done. Does that mean programming LinuxCNC or the MESA/pico?
Hope someone can shed some light.
Without knowing exactly your system:
Linux send information to where the motor should move depending on the current position known by linuxcnc. The motion algorithm of the drive is between it and the motor.
Linuxcnc cannot work with absolute encoders. They must be incremental - at least the information sent to linuxcnc. It can happen that your drive translates the absolute encoders information to incremental. This is something "normal" when dealing with resolvers, and might be your case.
Regarding the frequency response I do not know to answer that.
The following user(s) said Thank You: pmunizg
Please Log in or Create an account to join the conversation.
- Todd Zuercher
-
- Away
- Platinum Member
-
Less
More
- Posts: 4978
- Thank you received: 1377
22 Mar 2016 13:56 #72024
by Todd Zuercher
Replied by Todd Zuercher on topic Servos algorithms, feedback and LinuxCNC
I think it all depends of which version of the drives you are getting. There seems to be 5 or 6 of them, and some are going to be easier to integrate than others. I think that most of the drives will output a normal incremental quadrature signal to the control (the drive converts what ever signal it receives from the motor encoders.)
I think most of the motion control coolness of these drives are only applicable (or most effective) when used with position control setups (step/dir...). That doesn't mean that they may/ or may not help dampen tuning problems in a conventional analog velocity reference setup.
I think most of the motion control coolness of these drives are only applicable (or most effective) when used with position control setups (step/dir...). That doesn't mean that they may/ or may not help dampen tuning problems in a conventional analog velocity reference setup.
The following user(s) said Thank You: pmunizg
Please Log in or Create an account to join the conversation.
22 Mar 2016 14:32 #72026
by pmunizg
I don't even know my system xD, I am designing it.
I still don't get it. I know Linux sends the information where the motor shall move, but for example what if you want to make a half circle, X and Y axis will move, LinuxCNC will tell the direction, but Yaskawa controllers will move the servos according to its algorithms. I guess I see some overlaping beetween what LinuxCNC does and the controllers.
What a pity the the lack of absolute encoder counter!
Anyway thank you very much emcPT
Replied by pmunizg on topic Servos algorithms, feedback and LinuxCNC
Without knowing exactly your system:
Linux send information to where the motor should move depending on the current position known by linuxcnc. The motion algorithm of the drive is between it and the motor.
Linuxcnc cannot work with absolute encoders. They must be incremental - at least the information sent to linuxcnc. It can happen that your drive translates the absolute encoders information to incremental. This is something "normal" when dealing with resolvers, and might be your case.
Regarding the frequency response I do not know to answer that.
I don't even know my system xD, I am designing it.
I still don't get it. I know Linux sends the information where the motor shall move, but for example what if you want to make a half circle, X and Y axis will move, LinuxCNC will tell the direction, but Yaskawa controllers will move the servos according to its algorithms. I guess I see some overlaping beetween what LinuxCNC does and the controllers.
What a pity the the lack of absolute encoder counter!
Anyway thank you very much emcPT
Please Log in or Create an account to join the conversation.
22 Mar 2016 14:45 #72028
by pmunizg
The difference between the servos is basically the inertia.
Could you please tell me more why you think that, I am still quite green in this field.
Replied by pmunizg on topic Servos algorithms, feedback and LinuxCNC
I think it all depends of which version of the drives you are getting. There seems to be 5 or 6 of them, and some are going to be easier to integrate than others. I think that most of the drives will output a normal incremental quadrature signal to the control (the drive converts what ever signal it receives from the motor encoders.)
I think most of the motion control coolness of these drives are only applicable (or most effective) when used with position control setups (step/dir...). That doesn't mean that they may/ or may not help dampen tuning problems in a conventional analog velocity reference setup.
The difference between the servos is basically the inertia.
Could you please tell me more why you think that, I am still quite green in this field.
Please Log in or Create an account to join the conversation.
- Todd Zuercher
-
- Away
- Platinum Member
-
Less
More
- Posts: 4978
- Thank you received: 1377
22 Mar 2016 15:40 #72035
by Todd Zuercher
Replied by Todd Zuercher on topic Servos algorithms, feedback and LinuxCNC
It is all about the command input type, different models support different inputs. There may be some overlap as some drives may support more than one type of input.
There are drives designed mainly for positioning, these may support different serial connections, and pulse trains to receive their commands. This kind of drive is often controlled by a PLC and not usually used for a CNC axis.
Positioning drives that run on pulse trains (step/dir, or quad) can be used for open loop control (loop is only closed between the drive and motor). In these, the control (Linuxcnc) doesn't know, and doesn't really need to know what is going on. It trusts the drive that it will fault and tell Linuxcnc if there is a problem and following errors get too large.
Velocity control drives, take a velocity command signal from the control and the control must have some form of position feedback to close the position loop. The drive needs some sort of feed back from a tach or encoder to close the current/velocity loop. The velocity signal from the control can be analog or digital. Most analog controlled servos on CNCs are of this type.
Torque control drives don't really need any feedback from the motor (unless they need to do commutation) and the control does all the heavy lifting, but the input signals can be the same as a velocity drive (these are usually harder to tune)
Then there is all the serial control inputs, like EtherCat, CanOpen,... (These are going to be more difficult to use in Linuxcnc and are not well supported.) Most are basically position control input.
If you are asking what specific Yaskawa drive model to get, first determine what control signal you want to use, then ask the manufacture/vendor you buy from what they recommend for your application.
If you already have the drives, and want to know how to control them, you(we) will need to know the specific model#s to figure out what they can work with.
There are drives designed mainly for positioning, these may support different serial connections, and pulse trains to receive their commands. This kind of drive is often controlled by a PLC and not usually used for a CNC axis.
Positioning drives that run on pulse trains (step/dir, or quad) can be used for open loop control (loop is only closed between the drive and motor). In these, the control (Linuxcnc) doesn't know, and doesn't really need to know what is going on. It trusts the drive that it will fault and tell Linuxcnc if there is a problem and following errors get too large.
Velocity control drives, take a velocity command signal from the control and the control must have some form of position feedback to close the position loop. The drive needs some sort of feed back from a tach or encoder to close the current/velocity loop. The velocity signal from the control can be analog or digital. Most analog controlled servos on CNCs are of this type.
Torque control drives don't really need any feedback from the motor (unless they need to do commutation) and the control does all the heavy lifting, but the input signals can be the same as a velocity drive (these are usually harder to tune)
Then there is all the serial control inputs, like EtherCat, CanOpen,... (These are going to be more difficult to use in Linuxcnc and are not well supported.) Most are basically position control input.
If you are asking what specific Yaskawa drive model to get, first determine what control signal you want to use, then ask the manufacture/vendor you buy from what they recommend for your application.
If you already have the drives, and want to know how to control them, you(we) will need to know the specific model#s to figure out what they can work with.
The following user(s) said Thank You: pmunizg
Please Log in or Create an account to join the conversation.
22 Mar 2016 16:45 #72042
by pmunizg
Replied by pmunizg on topic Servos algorithms, feedback and LinuxCNC
Thanks Todd. Very insightful!
Please Log in or Create an account to join the conversation.
13 May 2016 03:32 - 13 May 2016 03:32 #74583
by Lcvette
Replied by Lcvette on topic Servos algorithms, feedback and LinuxCNC
Good read! Being new to servos how do I determine the best control type to select? Is there any good articles on this? I reviewed the wiki bit it have a lot of definitive direction to offer (or I didn't understand what I was reading which is quite possible).
Thanks!
Chris
Thanks!
Chris
Last edit: 13 May 2016 03:32 by Lcvette.
Please Log in or Create an account to join the conversation.
Time to create page: 0.131 seconds