In my previous post, I mentioned I had some issues with the Haas 5-axis trunnion not going to the correct home zero in the a-axis at the machine origin. It's not a big issue as I can find zero and set it with my G54 work offset, but it gets tricky when you start playing around with additional offsets.
I'm working on a 2014 Haas VF2ss, and this process may be different depending on the year of the controller software.
After talking to several Haas service and applications technicians, I finally found one that specialized in 5-axis work, and he was able to walk me through the process!
It turns out that changing machine or global zero for any of the axis is more of what a Haas technician would do in person, but there was a back-pannel way to do it and re-calibrate the angle as well.
The behind-the-scenes part of this is called 'debug' for the Haas controllers, and you can access it through the following sequence:
Unlock both ports on the side of the controller with the keys to allow changes to be made.
SETNG/GRAPH-> 7 DOWN ARROW-> Parameter Lock from On to Off -> LIST/PROG-> ALARM/MESGS-> D E B U G-> ENTER/WRITE
I initially had some problems where I couldn't get the debug change to happen until I unlocked the parameter lock. At which point, I had to go through the exact order of buttons to get it unlocked. The screen didn't change at all, which really threw me off, but there was a green border to everything showing that it was unlocked after going back to the parameters.
Once you're in the background of the machine, I found my way to making the machine zero change, which I got to by the following steps:
PARAM/DGNOS-> 2 1 2-> DOWN ARROW
The number should be 0, but if not, write it down. To find the correct number to input, I used a dial indicator and swept the top surface until I found zero, then went to find the actual position it was at by doing the following:
POSIT-> F4-> RIGHT ARROW
There were several data inputs under the A-axis tab, and I wrote down the number tied to the actual machine position. The decimal point isn't important and can be written as a whole to input back into the 212 parameters. Then home the A-axis and check to see that it worked. Finally, power off the machine and e-stop and double-check all the settings took place. This also gets you out of the debug configuration.
The final thing I wanted to check and re-calibrate was the 90deg tilt at which the trunnion would rotate to. This was actually easier than I initially thought. I put a quick command into the MDI to move the head to a vertical position (don't jog it), and after checking with a dial indicator, the 90deg position was about 0.0015" off from end to end, so it needed to be fixed.
I went back into the debug configuration and found the parameter that defines the a-axis rotation ratio, which is different for each machine. From what I understand, this works by defining how far and how much power the motors get when turning the a-axis.
PARAM/DGNOS-> 4 7-> DOWN ARROW
I initially tried to find the actual position and input the difference when sweeping and moving to the correct position using a dial indicator. However, this number had to be used in an internal equation that I didn't have the answer to, so I resorted to trial and error.
The number in the a-axis ratio was something like 458852. After playing around with adding and subtracting from that number (I started by adding 100 and subtracting 100), I would re-home the a-axis, and with the MDI command the machine to come back to that position to recheck it. You mustn't jog the machine by hand as it's got different variables than your real-life scenario of machine-controlled operations.
It turns out that I only needed to add 34 to the initial number, and I got within 0.0003" (3 tenths) from end to end. After making all these changes, I shut down everything, let it sit for a couple of minutes, then booted it all back up again to ensure it all stayed consistent.