Please Help - How to Configure a 5 Axis Head-Head

More
10 Aug 2023 08:05 - 10 Aug 2023 08:09 #277512 by IronManDylan
The lollipop is off center but only like 1.5 thou run out. Could be another thou or so in the collet. Which doesn’t equate to much at 20 degrees. 

But it’s honestly probably coming from measuring off of the spindle surface. The variance in z measurement I got when measuring its location is about 3 thou (the spindle surface isn’t very well grinded around the threads, I may build a reference tool that butts against the inside of the spindle). And I suspect when I measured it last time I may have introduced a little error. But anyway, if I have the z pivot distance off that would cause some z delta when the rotary axis are moving wouldn’t it? I believe if it’s short it would move up and if it’s long it would be down. So maybe this is just a z pivot issue. I have to rebuild the z axis and when I do I’ll nail down the z pivot length more precisely. 

That makes me think though. When I do that I will need to know g53 in order to know my tool offset relative to spindle surface. But g53 isn’t visible on axis gui. Is there a way to output this information? 

Maybe I can write a gcode script to probe in my tool offset using g53 and my known spindle surface height relative to probe in g53..

edit: and just to be clear. b20 and b-20 are showing the same z height. But b0 is showing a 5 thou delta from relative to those position 
Last edit: 10 Aug 2023 08:09 by IronManDylan.

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

More
10 Aug 2023 08:51 #277517 by Aciera

edit: and just to be clear. b20 and b-20 are showing the same z height. But b0 is showing a 5 thou delta from relative to those position 

I would try to calibrate the A-rotary at B0 first because you almost certainly also have an 'offset-z' and an 'offset-x' value.
Up to now I have not spent much thought on how one would methodically find the values for 'offset-[x,z]' and 'pivot-[y,z]'. Maybe contemplating the matter on the xyzab-srt sim config will bring some insights.

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

More
10 Aug 2023 08:53 - 10 Aug 2023 09:01 #277518 by Aciera
My first question would be:
How did you calibrate A0 and B0 positions?

[edit]
The above meaning:
How much out of vertical in the YZ plane is your spindle at A0
How much out of vertical in the XZ plane is your spindle at B0

the next question would be:
How much of an angular error is in the alignment between A and B.

I know these questions seem annoying but there are errors everywhere in a physical machine. Some may turn out to be negligibly small other wont be and angular errors, for example, cannot be compensated for in this kinematic model.
Last edit: 10 Aug 2023 09:01 by Aciera.
The following user(s) said Thank You: tommylight

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

More
10 Aug 2023 10:06 #277523 by rodw
I'm not sure if it would work with 5 axis. but it is possible to compensate for an axis that is not straight by using external offsets.
But I guess taking up the error in the kinematics might be better if you can handle the maths!

For IronMan, external offsets allow position to be changed external to the motion controller. It is used extensively by QTplasmac to manage plasma torch height control based on offsets calculated from torch voltage.

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

More
10 Aug 2023 11:54 - 10 Aug 2023 12:00 #277532 by Aciera
Just to be clear before we head off into the weeds here. I'm not saying that angular misalignment is going to be a problem but before you spend the next couple of months trying to find the offset and pivot lengths you should verify that the most basic requirements have been met.
Maybe you already checked and feel confident about that but I have no way of knowing what you have built there other than from what I see on the pictures. Hence I try to establish the basic facts before spending the time to come up with a method to find offset values.

[edit]
another note, there are not a lot of users on this forum who are familiar with 5axis machining and I don't have any experience beside dabbling in kinematic modelling. So you might also want to check out other sites like 'practicalmachinist' where there are more users with the required knowledge. I'm sure there are standard procedures that can be followed when checking the geometry of a 5axis machine.
Last edit: 10 Aug 2023 12:00 by Aciera.
The following user(s) said Thank You: rodw

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

More
10 Aug 2023 16:50 #277548 by IronManDylan
Okay many things.

First, rodw, you can account for an un-straight axis? Can you elaborate on this? My machine is out of square in XY.  Its negligible near the front of the machine (where I do my machining), then gets far worse near the back of the machine (cheap machine).  So can it handle something none uniform like this? How do you do that and is it only available through qt? 


Aciera, first, what is 'z offset' and how does it differ from 'z pivot'? Is this a z offset between the A and the B?  I obviously figured out how to measure 'y pivot' (and I assume its B counter part is 'x offset'?) by using a indicator under the lollipop and measuring the difference Bx and B-x, but I will have to think about how to measure 'z offset' if that is indeed what it is. 

To answer you first question and second question, YZ plane and XZ plane alignment sounds a lot like tramming.  I used a tool I built with a long reach to hold an indicator to tram, took those offsets from home and made them A0 B0 in INI. The machine is trammed oh to a few thou with a 3-4 inch swing on the tramming tool which is pretty tight.  At this point the repeatability of my machine is more in question than the tightness of my tram I think. 

Yeah, practical machinist may be somewhat helpful, though machine building is a slightly different toolkit than machining.  I actually worked in a 5 axis shop for a spell...


 

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

More
10 Aug 2023 17:15 #277550 by Aciera

Aciera, first, what is 'z offset' and how does it differ from 'z pivot'? Is this a z offset between the A and the B?

Have a look at the xyzab-srt sim config and play around with the sliders in the right hand panel. That should give a very good visual of what happens to pivot values and offsets when you rotate axes A and B.

At this point the repeatability of my machine is more in question than the tightness of my tram I think. 

Ok, so you do seem to have a good grasp on checking the geometry which makes me think that you will probably figure out the pivot and offset values to get the most out of your machine.

I actually worked in a 5 axis shop for a spell...

And that means you probably have a lot more experience with 5axis machining than most users here, me included.


So once you get everything up and running, it would be awesome if you could find the time to give a bit of insight into 5axis workflow and how linuxcnc worked out for you.

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

More
10 Aug 2023 19:30 #277567 by rodw
External offsets
linuxcnc.org/docs/2.9/html/motion/external-offsets.html
you would write a component that applied a given offset based on the axis position.

Ages ago I wrote a component for someone which did adjust y axis position based on x axis position based on the error per distance of length.
It did not use external offsets, just adjusted commanded  position. I have no Idea how I did it now and it seems I never kept a copy. Its buried on the forum here somewhere.

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

More
11 Aug 2023 18:36 #277657 by IronManDylan
rodw
Interesting, I had this idea of using a series of straight angle blocks (a laser fixed between the table and spindle moving on ball joints could also work, this is one way Kern measures their machines) then probing that block in at every single point in xyz on the machine (like every 40 thou or something).  Then you would use this to create a point cloud in xyz that takes the error between where the machine thinks it is vs where it actually is.  Then generating a correction to machine location to make the location super precise.  I know that linear algebra would be used to do this, but I don't code so it is not something I could pull off.  Also, would have to think about how rotary axis would be measured if they are used because that is not as apparent to me. 

This would eliminate the need to make a precise machine, which is arguably the most expensive part of a nice machine. Then you would be left with repeatability, rigidity, thermal stability, accuracy...  But precision could be removed. Or more accurately, a company making these would only have to invest in a few precise measuring tools and could ignore precision in their machines.  


Aciera 
Okay, yes it appears that 'z offset' is a pivot offset that is being applied to A and not to B.  In other words it is accounting for the error between a and b. Which means that all the error in this machine can be fully accounted for. Perfect. 

I believe the process for measuring this would be to first dial in 'y-pivot' and 'x-offest' using the method I described above (indicator under lollipop to measure the z difference between A+ and A- and B+ and B-). Then dialing in 'z-pivot' using an indicator under lolli to measure the z difference between B0 and B+/-. Then finally dialing in 'z-offset' by measuring the z difference between  A+/- and B+/-.  Remember that A is riding on B and that when I say +/- I am talking about the same absolute value.  

As far as 5 axis machining knowledge goes, I definitely picked up some stuff working there, especially some work-holding ideas.  And I may make a YouTube video about that if you want to search for me and follow me there (I may make a self centering vise soon for example).  But honestly my favorite resource for learning and thinking about machining strategy (3 or 5 axis) is NYCCNC and Titans of CNC on youtube and they also have good stuff on their websites. 
The following user(s) said Thank You: tommylight

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

More
11 Aug 2023 21:19 #277673 by rodw
You don't need to know how to code but some basic high school algebra of a triangle and Pythagoras theorem is handy.
There is probably an easier way for your machine because its a gantry. That is to use seperate home switches on each side of the gantry and in your ini file to set the HOME_OFFSET on each side to square the gantry. Stick some paper down over the whole table and with a pencil in the spindle, place a mark each corner. Measure the diagonals and adjust the HOME_OFFSETS until the diagonals are exactly the same length.

People say they don't want to twist the gantry but  it won't really care once homed correctly.

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

Time to create page: 0.095 seconds
Powered by Kunena Forum