Servos algorithms, feedback and LinuxCNC

More
21 Mar 2016 16:42 #71990 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.

Please Log in or Create an account to join the conversation.

More
22 Mar 2016 13:24 #72018 by emcPT

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.

More
22 Mar 2016 13:56 #72024 by Todd Zuercher
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 following user(s) said Thank You: pmunizg

Please Log in or Create an account to join the conversation.

More
22 Mar 2016 14:32 #72026 by pmunizg

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.

More
22 Mar 2016 14:45 #72028 by pmunizg

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.

More
22 Mar 2016 15:40 #72035 by Todd Zuercher
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.
The following user(s) said Thank You: pmunizg

Please Log in or Create an account to join the conversation.

More
22 Mar 2016 16:45 #72042 by pmunizg
Thanks Todd. Very insightful!

Please Log in or Create an account to join the conversation.

More
13 May 2016 03:32 - 13 May 2016 03:32 #74583 by Lcvette
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
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.146 seconds
Powered by Kunena Forum