Hi Kirk,

thanks for pointing out the stale docs.
Lead screw compensation is fully enabled in emc2 (I think since 2.1.0 
surely, not sure about 2.0.x though).
You only need the following in your [AXIS_*] section
[AXIS_0]
..
COMP_FILE = joint0.cmp
(you can also specify COMP_FILE_TYPE != 0 (default is 0) to make it 
use trim's, see below)
..

(and of course the same for the other ones you want).

The file joint0.cmp will be of the form:
      0.000000 0.000000 -0.001279
      0.100000 0.098742  0.051632
      0.200000 0.171529  0.194216

      .... etc

/* Loads pairs of comp from the compensation file.
   The default way is to specify nominal, forward & reverse triplets 
in the file
   However if type != 0, it expects nominal, forward_trim & 
reverse_trim
 (where forward_trim = nominal - forward
        reverse_trim = nominal - reverse)
*/

Regards,
Alex

----- Original Message ----- 
From: "Kirk Wallace" <[EMAIL PROTECTED]>
To: "Enhanced Machine Controller (EMC)" 
<emc-users@lists.sourceforge.net>
Sent: Saturday, March 10, 2007 9:14 AM
Subject: Re: [Emc-users] lead screw compensation


>I hope to get cheaper rolled lead screws and use lead screw 
>compensation
> to get ground screw performance on my lathe project, so I will be
> watching this thread. Just in case it might help, there is below an
> excerpt from:
> http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Kinematics
>
>
> On Sat, 2007-03-10 at 00:12 -0600, Stuart Stevenson wrote:
>> Gentlemen,
>>    I will have a machine running very shortly. I cannot find 
>> anything
>> about lead screw compensation. How would I implement it?
>> thanks
>> Stuart
>
> --- From KINEMATICS on Wiki ---
>
> Unlike programs that ignore the difference between part and machine
> coordinates, EMC always makes the distinction, even when it doesn't 
> have
> to. EMC uses kinematics to translate from one to the other. For 
> machines
> like Sherlines and Bridgeports, where the part and machine 
> coordinates
> are the same, EMC uses a kinematics module called "trivkins", which
> stands for "trivial kinematics". It is definitely trivial - it 
> simply
> copies the coordinates from one side to the other.
>
> However, trivkins can be replaced with other kinematics modules, 
> that do
> more complicated translations. For something like our radial drill, 
> it
> is pretty easy to do the geometry to convert from "X" and "Y" to 
> "pivot"
> and "radius". (The math is known as cylindrical coordinates.) For 
> the
> robot arm it is more complicated, but still just a bunch of math.
>
> Once you understand that kinematics is nothing more than translation
> from part to machine coordinates, it becomes clear that kinematics 
> can
> be used to compensate for leadscrew error, non-square axes, and many
> other types of machine errors. If the table travel is 89.5 degrees 
> to
> the saddle instead of 90, then for every inch the table moves, the
> saddle needs to move 0.00872 inches to compensate for the 
> misalignment.
> The kinematics module is the ideal place to make such a correction.
>
> Leadscrew Compensation
> Leadscrew correction could be done in the kinematics module as well, 
> but
> EMC treats it as a special case. Since the error is parallel to the
> travel of the screw, the correction is applied directly to the motor 
> in
> question, not to any other machine coordinate. That means it can be 
> done
> downstream of the kinematics module, right before the commands go 
> out to
> the motors. (On the "part coordinates" side of the kinematics, the
> coordinates are a single entity that consists of three linear and 
> three
> angular values. But after the kinematics, each "machine coordinate" 
> is
> an independent value and can be compensated individually.)
>
> EMC1 had leadscrew compensation downstream of the kinematics, so 
> that
> even with trivkins you could still do screw compensation. EMC2 has 
> hooks
> for the same thing, but the code is currently commented out. (The 
> actual
> compensation code is simple, but the method used for getting the
> compensation data from a file on disk to the realtime code that does 
> the
> work was rather messy. In the interest of getting things working, it 
> was
> disabled. It needs to be fixed and enabled.)
>
> The leadscrew compensation algorithm lets you specify two different
> compensation profiles, one for each direction of travel. The 
> difference
> between the two represents the backlash. Using this approach you can
> compensate for a screw that has more backlash near the center where 
> the
> wear is bad, and less near the ends where there is less wear. For 
> users
> who don't want to provide customized screw error and/or backlash
> compensation profiles, conventional backlash compensation can be 
> used
> instead. This replaces the position dependent forward and reverse
> compensation curves (from disk) with a fixed correction that is 
> either
> plus or minus half the configured backlash value, based on the 
> direction
> of travel.
>
>
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to 
> share your
> opinions on IT & business topics through brief surveys-and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
>
>
>
>
> -- 
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.5.446 / Virus Database: 268.18.8/714 - Release Date: 
> 8.3.2007 10:58
>
> 


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to