Skew correction/perpendicularity correction (millkins or millkins_xyz)

More
3 years 1 month ago #281166 by adouglas89
Wait a second, 2.8.4 is the latest stable release, I don't even know where I would get 2.9 and if it's not stable I can't use that for a practical machine.....

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

More
3 years 1 month ago #281367 by rodw

Wait a second, 2.8.4 is the latest stable release, I don't even know where I would get 2.9 and if it's not stable I can't use that for a practical machine.....

You coul dtry my experimental ISO 
forum.linuxcnc.org/9-installing-linuxcnc...or-linuxcnc-x86-only
Yuo can also look at the getting linuxcnc page in the 2.9 docs

Today a user advised that 2.9 is broken. Its fixed in master branch but not backported
It is possible to edit some files to get master branch if it does break for you

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

More
2 years 2 months ago #309100 by itsbrian
I know this thread is old, but it shows up at the top in Google search when you're looking for "LinuxCNC skew". I'd like to say that the millkins.c works for me in LinuxCNC 2.8.4.

Steps:
  1. Download the millkins.c file here: wiki.linuxcnc.org/cgi-bin/wiki.pl?Contri...y_XY_skew_correction
  2. In LinuxCNC open up the terminal to compile/install the file. Replace code block below to where actual millkins.c file is located.
    Code:
    sudo halcompile --install /path/to/millkins.c
  3. The command above compiles and creates a millkins.so file located at /usr/lib/linuxcnc/modules
  4. You can go ahead and close the terminal and now open up your hal file. Find the line (should be at the top) "loadrt [KINS]KINEMATICS" and replace with millkins info. Replace #.### in example below with your actual skew factor.
    Code:
    # Comment out the kinematics in case you want to roll back and add the two lines after installing millkins.so #loadrt [KINS]KINEMATICS loadrt millkins setp millkins.skew #.###
  5. That's it, but here is the big gotcha: This skew factor will not work when you are jogging! If you actually do a gcode command you should see it work.
Hope this helps for anyone searching this! This has been working great for me as I have a 4'x8' gantry and it is quite difficult to get this perfectly mechanically square. I have been squaring by offsetting the home position of my dual steppers on a single axis, but this is a nice alternative.
The following user(s) said Thank You: tommylight

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

More
2 years 4 weeks ago #311309 by upplib
I downloaded the file and compiled millkins.so and i see that it was installed in the /usr/lib/linuxcnc/modules.

However If i remove #loadrt [KINS]KINEMATICS and replace with
loadrt millkins
setp millkins.skew #.###
i get an error during startup and will not load.
Any ideas why? version 2.9.3

Debug file information:
Note: Using POSIX realtime
motmod: dlopen: /usr/lib/linuxcnc/modules/motmod.so: undefined symbol: kinematicsSwitch
./test.hal:13: waitpid failed /usr/bin/rtapi_app motmod
./test.hal:13: /usr/bin/rtapi_app exited without becoming ready
./test.hal:13: insmod for motmod failed, returned -1
2932
Stopping realtime threads
Unloading hal components
Note: Using POSIX realtime



/***************************HAL FILE********************/
Generated by PNCconf at Mon Sep 30 13:53:42 2024
# Using LinuxCNC version: Master (2.9)
# If you make changes to this file, they will be
# overwritten when you run PNCconf again



#loadrt [KINS]KINEMATICS

loadrt millkins

setp millkins.skew 0.005


loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hostmot2
loadrt hm2_eth board_ip="10.10.10.10" config="num_encoders=1 num_pwmgens=0 num_stepgens=5 sserial_port_0=0xxxxxxx"
setp hm2_7i96.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.z,pid.s
loadrt mux4 names=jogincr

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

More
2 years 3 weeks ago - 2 years 3 weeks ago #311322 by Aciera
That kinematic file needs to be updated due to the integration of the switchable kinematic feature in 2.9:

You can try and add 'KINS_NOT_SWITCHABLE' to the kinematics file like this and recompile using 'halcompile':

Code:
KINEMATICS_TYPE kinematicsType() { return KINEMATICS_IDENTITY; } KINS_NOT_SWITCHABLE EXPORT_SYMBOL(kinematicsType); EXPORT_SYMBOL(kinematicsForward); EXPORT_SYMBOL(kinematicsInverse); MODULE_LICENSE("GPL");
Last edit: 2 years 3 weeks ago by Aciera.

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

More
2 years 3 weeks ago #311345 by upplib
Thanks ACIERA.

I get a compiler warning: data definition has no type or storage class. type defaults to INT any idea what data type i have to use?

Also I need to have both lines for in hal file otherwise it gives the same errors as before
loadrt [KINS]KINEMATICS
loadrt millkins

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

Time to create page: 0.161 seconds
Powered by Kunena Forum