NO_FORCE_HOMING and Min/Max limits for axes

More
12 May 2016 20:11 #74566 by RomeReactor
Hi everyone.

As stated in the INI config docs:

LinuxCNC will not know your axis travel limits when using NO_FORCE_HOMING = 1

Is there a way to bypas this (so that LinuxCNC is aware of the Min and Max limits for the Axes even if NO_FORCE_HOMING = 1)?

Thanks in advance.

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

More
12 May 2016 21:02 #74570 by LearningLinuxCNC
LinuxCNC uses the home position to determine the soft limits of the machine. If you use "NO_FORCE_HOMING = 1" then LinuxCNC does not know where it is positioned within the machine work envelope. So soft limits are not able to work.

If you have hard limit switches for the min and max limits on each axis then they will still work as a hard limit switch with "NO_FORCE_HOMING =1".

The only other way it could possibly work is if you had absolute encoders on the machine so it knew it's position at power up.

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

More
12 May 2016 21:47 #74571 by BigJohnT

Hi everyone.

As stated in the INI config docs:

LinuxCNC will not know your axis travel limits when using NO_FORCE_HOMING = 1

Is there a way to bypas this (so that LinuxCNC is aware of the Min and Max limits for the Axes even if NO_FORCE_HOMING = 1)?

Thanks in advance.


Home the axes and they will know the soft limits.

JT

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

More
12 May 2016 22:20 #74573 by RomeReactor

If you have hard limit switches for the min and max limits on each axis then they will still work as a hard limit switch with "NO_FORCE_HOMING =1".

The only other way it could possibly work is if you had absolute encoders on the machine so it knew it's position at power up.


There are limit switches and absolute encoders, but what we want is for the machine to stop before it hits the hard limits, so that it doesn't E-Stop.

Home the axes and they will know the soft limits.

JT

We need homing disabled, so we can use the absolute encoders.

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

More
12 May 2016 23:04 #74575 by BigJohnT

Home the axes and they will know the soft limits.

JT

We need homing disabled, so we can use the absolute encoders.


Just home the axes by moving to a known point and have the search velocity set to 0 and all with a home sequence of 0 and your soft limits set from that point. I have a button on my plasma that moves all the axes to 0 from one button.

JT

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

More
13 May 2016 15:15 #74605 by andypugh

There are limit switches and absolute encoders, but what we want is for the machine to stop before it hits the hard limits, so that it doesn't E-Stop.


This is something that I was intending to look at for my lathe,

When you home the machine it sets the current position to the HOME_OFFSET in the INI file, then rapids to HOME_POSITION.

If you set the search and latch velocities(in the INI) to zero then the machine will set the current position to HOME_OFFSET as soon as the home button is pressed or a homing pin is set in HAL. This works well for the setup where the operator jogs the machine to end-stops or match-marks and then presses "Home" to tell the system is set to the Home position.

Your case is different, you need to tell the system that the current position read by the scales is the home offset, and that it should calculate the home position from that.

I believe that what is needed is to add home_offset pins to the ini.pins created by motion:
linuxcnc.org/docs/html/config/core-compo...s.html#_ini_settings
This approach would be required for the method I intend to use to home my lathe, where homing will be to encoder index, but a secondary measurement device will inform HAL where the current index is on the axis.

For your case a better option might be to have an INI homing switch HOME_IS_ABSOLUTE (or similar) and modify the homing code to understand what this means.

So, I don't think that there is currently a way to do what you need, but I might be missing something.

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

More
15 May 2016 21:08 #74689 by andypugh
It turns out that the required pins for setting HOME_OFFSET as a live value exist in the Joints_Axes14 branch.

Getting that might be easier than modifying a released version, but be aware that it has some very significant difference to the reeled version. All improvements, we think, but definitely differences. Some of the major ones are discussed here:
www.linuxcnc.org/docs/ja/html/getting-st..._configuration_files

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

More
16 May 2016 03:49 #74719 by andypugh
You might be interested to know that, as a result of this discussion, Dewey has made a new version of LinuxCNC that probably fulfils your needs.

Would you be willing to test it to see if it works, so that we can consider adding the option to the released version?

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

Time to create page: 0.094 seconds
Powered by Kunena Forum