TCP 5-axis kinematics
a 4day calibration to get it there
while only a mesherment and a Hal entry woudt have done it also
Please Log in or Create an account to join the conversation.
- plopes9000
- Offline
- Premium Member
- Posts: 87
- Thank you received: 18
the mashine is build center Zero ...
Pic or video available?
Please Log in or Create an account to join the conversation.
From a switchkins perspective I think that as long as the values are set while in trivial kinematics, this should not be a problem.
While in TCP mode, changing the origin would, I suspect, cause an immediate following error.
My routine would be like this: (the calibration ball has a diameter of 20mm for example)
roughly position the touch probe over the calibration ball and start the routine. It would first call a subroutine to touchoff the ball so the coordinate system is right in the middle of the ball. Then call a similar subroutine to touch off the ball the exact same way but only save the X,Y and Z coordinates in 3 different variables. Then it would raise the z axis to 30mm (over the ball coordinate system) and then apply an additional tool length offset of 30mm (G43.1). Then TCP is activated, the C axis rotates 90 degrees, TCP is deactivated and additional tool length offset is deactivated. Then it probes again and writes another 2 variables for X and Y (do that again 2 times). After that the A or B axis (which ever you may have) rotates 90 degrees in one direction the same way it did with the C axis and writes variables for X or Y and Z. Then 90 degrees in the other way, touch off, write variables, then do A0/B0 C0 and calculate all variables to get the exact center of rotation.
So basically i only probe in Trivkins Kinematics but use TCP to follow the ball
i have uploaded my unfinished Pre-Alpha version with missing probing routines and possibly a lot of errors to show how it may be done. Also i can not test this routine because i have to build something to verify correct movement.
Please Log in or Create an account to join the conversation.
- plopes9000
- Offline
- Premium Member
- Posts: 87
- Thank you received: 18
To find the center of rotation I do the following:
- indicate A axis so it’s perfectly horizontal.
- position the spindle in the center of rotation of the C axis with an indicator or touch probe - I have now found X and Y for C rotation.
- rotate A 90 and then -90 and indicate Y. This will give the the z height of the 5 axis plate relative to A center of rotation and the exact Y center of rotation for the A axis.
I then need to probe the renishaw mp12 on the toolsetter and onto the 5 axis plate. This last part is so that it works with tool offsets as measured by the toolsetter.
Some of the procedure I follow is well described here
Please Log in or Create an account to join the conversation.
Is the purpose of the subroutine to find a more precise center of rotation?
yes, the purpose is to find the precise center. Machines "walk" a few hundredths of a milimeter by time and the probed center of rotation may not be the real center of rotation anymore. Thats why this exists
Please Log in or Create an account to join the conversation.
- plopes9000
- Offline
- Premium Member
- Posts: 87
- Thank you received: 18
Without homing index I can see how the center of rotation can walk on one. With, I have a hard time understanding that.
Exactly because of this issue, imprecise homing, I updated all axis to index homing and have not seen the center of rotation walk on me ... maybe I wasn’t paying attention
Please Log in or Create an account to join the conversation.
Because of the differing temperatures during the day the real center of rotation can move. Maybe on smaller machines it is not a problem
I have looked through the patch and found this:
+ loadusr -W xyzac-trt-gui
+ net :table-x joint.0.pos-fb xyzac-trt-gui.table-x
+ net :saddle-y joint.1.pos-fb xyzac-trt-gui.saddle-y
+ net :spindle-z joint.2.pos-fb xyzac-trt-gui.spindle-z
+ net :tilt-a joint.3.pos-fb xyzac-trt-gui.tilt-a
+ net :rotate-c joint.4.pos-fb xyzac-trt-gui.rotate-c
+ net :tool-offset motion.tooloffset.z
+ net :tool-offset xyzac-trt-kins.tool-offset xyzac-trt-gui.tool-offset
+ net :y-offset xyzac-trt-kins.y-offset xyzac-trt-gui.y-offset
+ net :z-offset xyzac-trt-kins.z-offset xyzac-trt-gui.z-offset
is this for the Vismach machine simulation?
What happens if you start the machine, home it, activate TCP, move all axes a small amount, then go in MDI, switch back to TrivKins and then command X0 Y0 Z0 A0 C0? thats when it says:
linear move on line 0 would exceed B´s negative limit
invalid params in linear command
that also happens if i write a program and then run it but does not happen when i have solely trivkins activated. Also why would i get an error for axis B if i dont even command axis B? I have to activate TCP again and then command XYZAC0, then i can deactivate TCP and i can move the axes via MDI or Program. i bet i did something wrong.
Please Log in or Create an account to join the conversation.
- plopes9000
- Offline
- Premium Member
- Posts: 87
- Thank you received: 18
Did not consider thermal expansion.The machines i refer to have Absolute Encoders (Hermle, DMG)
Because of the differing temperatures during the day the real center of rotation can move. Maybe on smaller machines it is not a problem
Yes, and it did work for me.is this for the Vismach machine simulation?
Unfortunately at the moment my machine is disassembled .... I'm scraping it all, hence I cant really test it.What happens if you start the machine, home it, activate TCP, move all axes a small amount, then go in MDI, switch back to TrivKins and then command X0 Y0 Z0 A0 C0? thats when it says:
linear move on line 0 would exceed B´s negative limit
invalid params in linear command
that also happens if i write a program and then run it but does not happen when i have solely trivkins activated. Also why would i get an error for axis B if i dont even command axis B? I have to activate TCP again and then command XYZAC0, then i can deactivate TCP and i can move the axes via MDI or Program. i bet i did something wrong.
I agree that it's odd the message regarding B axis on a AC configured machine.
Since I can't test it now, I see only two ways forward, you reproduce it in the Vismach configuration and then I can test it as well, or you attach your config files and I have a look at it .... other ideas?
Please Log in or Create an account to join the conversation.
A machine like a yasda microcenter has linear motors and the casting, coolant, motors and oils are cooled via heat exchanger and cooling fluid.
To get the most accuracy you need to have it in a lab and hold the temperature within a fraction of a degree also.
Our matsuura mx , when we need to hold .02mm true position, it gets a separate work offset and we probe it prior to boring or machining.
Please Log in or Create an account to join the conversation.
What kind of accuracy are you expecting to hold?
hopefully someday +-0.01mm but i probably wont if i dont find a (reasonably priced) incremental rotary encoder with 0,001° resolution for the rotary axes... and fix some errors
Please Log in or Create an account to join the conversation.