any way to adjust machine_Z for A-axis height ?

More
28 Jul 2014 07:22 #49203 by numbskull
I have built an XXYZA router (2 motos on X, 1-ea on Y,Z & A). So far I have only edited my .ini file (and not messed with HAL or anything else). I've been using it as XYZ router for a couple of months and just built my 4th (A-axis). It works. It took me a while to find that I could change the order of XYZA to AXYZ in the 'GEOMETRY' section to get Axis to display tool motion sort-of okay. I have written a fair amount of (independent) programs for generating G-code files for my work. That all works ok. I even managed to figure out G93 inverse time for feeds just fine. I have cut air with my XYZA code just fine except for Z_heights.

But here is my problem. And from all the hours I've spent scouring these forums (i.e. forum thread #39623. et.al.) and elsewhere on the web I think I'm not alone in this issue. My A-axis is portable; not always installed. It can be a little off each time I bolt it to the table. I understand why [Touch Off] is inappropriate for determining the Y-Z center of rotation of A. In fact 'touching off' different Z's while looking at the [X view] (end-on of A) will expand or contract radially the toolpath drawing. NOT the toolpath, but the toolpath DRAWING on the display. No matter what, in my case at least, the the toolpath of 'A' is always relative to the fixed machine location of the Y-Z axes at 0,0 (zero,zero) (home).

A can achieve a little adjustment of my Y axis because I can loosen my Y-axis homing switch after bolting down my rotary axis and tweak it's location to get Y=Homed to be directly above the 'A'. But my Z-axis home switch is a cam bump that is part of the machine and I cannot move it. I understand that LinuxCNC doesn't "know" where anything is when it starts and that "Homing" is required to set zero points.

It would be SOOooooo nice if there were "touch-off" style capabilities to "adjust" the home positions after LinuxCNC was running. Are they there somewhere that I'm missing? If not, are they on some 'to-do-in-a next-version' list?

I was looking at the INI documentation at www.linuxcnc.org/docs/devel/html/config/ini_config.html in section 2.10.1 "Homing" and at the "Home_Offset" parameter. I can use a dial indicator or fixture to measure the height of my tool above the A-axis center, so I'll know that offset. My gcode expects Z=0 to be at A-axis center too. But that is at the tool tip. My spindle is a router so the tool can be at any depth in the collet. A new [Set Machine Z-zero] button would allow me to change tools and then enter a number to compensate for the Z-height.

In lieu of that could I exit LinuxCNC, edit my .INI file and edit the "Home_Offset" parameter to make that compensation? I'll assume that, for my purposes, my Z_home switch is repeatable over a 10 minute period to a thousanth or so, which is fine for me. Will this work?

Alternatively, could I fire up LinuxCNC and jog the tool tip to the A-axis height (in Z); then exit LinuxCNC, edit the .INI to "Immediate Homing" (per linuxcnc.org/docs/html/config/ini_homing.html, section 3.12) just for my Z-axis; then start LinuxCNC again and click the [Home All] button, which should accept the current Z height as machine_zero_of_Z ? (x and Y could remain normal --- homing to their home switches) This is essentially what a new [Set Machine Z-zero] button would do, but without exiting the program.

Any insights into this "rotary only rotating about machine_YZ_zero" issue (without serious LinuxCNC programming) ?

Thanks!

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

Time to create page: 0.109 seconds
Powered by Kunena Forum