Steppers & Linear encoders

More
17 years 5 months ago #236 by gtom
Replied by gtom on topic Re:Steppers & Linear encoders
Just tested this, as you told me before, does not work, Steppers are definetly not made for Pid/Closedloop.

In the german forum i had the following idea, tell me if im wrong...

if the stepgen has to move ie 100mm the encoder gives us at the end of the move the absolute position.
So lets move not 100mm, let us move just 99mm and keep the 1mm differenc as a constant, lets say "A"

Example: Desired move: 100mm, - Constant "A" -> move just 99mm
Compare the actual Position given by the Linear encoder with the 99mm

i.E. "real" Position ist now 98mm.

At this moment we know that we need 2mm (Constant "A" + difference 99-98mm).

Now let the stepper move the remaining 2mm (just stepping)

result: Any kind of error (backlash) is nearly eliminated,
Backlash is eliminated cause we move in the same direction -> gets near "0"
Lenght error of the ballscrew: is nearly eliminated cause this error is normaly bigger if you move long distances and very small if you move a short distance...

Thought about a kind of "StepGen" - Dummy that will be connected between axis.* and the "real" Stepgen

Would this be a way to integrate linear-encoders into emc without dealing with pids,control loops etc... ???

regards Thomas

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

More
17 years 5 months ago - 17 years 5 months ago #237 by BigJohnT
You can have a screw comp table if you have variations in your screw pitch.

www.linuxcnc.org/docview/html//config_ini_config.html#sub :[AXIS]-section

Not sure if this is what your trying to accomplish, but I thought I'd give it a stab.

Regards,
John
Last edit: 17 years 5 months ago by BigJohnT.

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

More
17 years 5 months ago - 17 years 5 months ago #238 by gtom
Replied by gtom on topic Re:Steppers & Linear encoders
No, this was not my intention, as i got linear encoders on my machine i want to use em to make this machine more accurate...
The encoders provide a excellent position- value and they avoid errors inside the drive/screw/motor combination cause they are mounted directly on the table. So reading the encoders gives us the "real" position. The accuracy of a machine with linear encoders like heidenhain integrated in their cnc- control is a dream for each machinist. Running steppers closed loop is really difficult (ok, it is running on my machine but not as good as i excpected)
My intention was using the steppers (NOT CLOSED LOOP, JUST STEPPING) and try to compensate the resulting error (Targetposition/effective Postion given by the linear encoder) "stepping" near the desired position
Screw- Pitch errors occur when the temperature changes, linear encoders are more or less resistant against temperature changes,
Last edit: 17 years 5 months ago by gtom. Reason: forgot someting...

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

More
17 years 5 months ago - 17 years 5 months ago #242 by BigJohnT
Ok I understand now what your after. Sorry if I'm slow sometimes.

EMC has the comp file ability so I'm wondering out loud what it would take to have adaptive compensation. Since your not looking to make up for lost steps (usually from a stalled stepper) but for inaccuracy in the drive mechanics it kinda makes sense to me.

On another note, I'm working on a THC that basicly hijacks the axis.n.motor-pos-cmd and adds to or subtracts from the stepgen.n.position-cmd as needed to maintain the proper tip voltage. It's not done yet as there is a lot to consider. You might think about writing a comp to add your scale.

Regards,
John
Last edit: 17 years 5 months ago by BigJohnT. Reason: more info

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

More
17 years 5 months ago #243 by gtom
Replied by gtom on topic Re:Steppers & Linear encoders
Well, i think that a component between axis* and stepgen* ist the best solution to integrate the linear-encoder.
Another advantage is that emc can stop on lost steps also cause the stepgen* and axis* are not modified. We'll be still able to use position feedback and fmin_error / fmax_error the same way if've already on my machine. Need some test now to see if such a component makes sense or not...

regards, Thomas

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

More
17 years 5 months ago #244 by BigJohnT
I'm not sure if you know about CVS but you can download a CVS checkout and configure a run in place. This is an easy way to test your comp out each time you modify it.

wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Ins..._the_source_with_CVS
wiki.linuxcnc.org/cgi-bin/emcinfo.pl?CVS

www.linuxcnc.org/docview/html//hal_comp.html

Regards,
John

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

Time to create page: 0.544 seconds
Powered by Kunena Forum