Please Help - How to Configure a 5 Axis Head-Head
- IronManDylan
- Away
- Premium Member
- Posts: 113
- Thank you received: 19
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
Please Log in or Create an account to join the conversation.
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.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
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.
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.
Please Log in or Create an account to join the conversation.
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.
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.
Please Log in or Create an account to join the conversation.
- IronManDylan
- Away
- Premium Member
- Posts: 113
- Thank you received: 19
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.
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.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?
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.At this point the repeatability of my machine is more in question than the tightness of my tram I think.
And that means you probably have a lot more experience with 5axis machining than most users here, me included.I actually worked in a 5 axis shop for a spell...
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.
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.
- IronManDylan
- Away
- Premium Member
- Posts: 113
- Thank you received: 19
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.
Please Log in or Create an account to join the conversation.
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.