Velocity tuning of YY2 gantry

More
19 Sep 2020 03:14 #182700 by OT-CNC
How do you guys do the velocity servo tuning on a gantry with twin Y axes?
The open loop tuning utility is labeled as joints (2.8) and I used it with the oscilloscope to to get x,z b and c going. I expect that the utility honors joint mode and will not slave them? Do I need to disconnect one motor at a time from the ball screws and tune the connected one individually? I expect some issues doing that as it's a rather large machine. How is that approached?

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

More
20 Sep 2020 03:26 #182806 by OT-CNC
I proceeded with testing each joint separately. Just driving one side of the gantry. I got a good starting point but expect it to be off as 1 motor is doing all the work. Is there a better way of doing this?

One observation when the gantry is driven by both motors, during a following error halt, is that I can't reset without going back into following error when the dro counts are off between slaved joint 1 and 2. Oddly the DRO values of joint 1 and 2 stay active when I set volatile_home = 1.
If the machine becomes racked, is there an easy way to clear the DRO encoder values without homing first? This machine when powered off finds it's own mechanical happy place so in essence when enabling the drives both joints need to show the same encoder position before driving it to home.

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

More
20 Sep 2020 08:00 #182831 by tommylight
If you are doing the tuning in LinuxCNC, use Axis GUI and the calibration menu, there you can change settings for both joints and test without restarting LinuxCNC. Just beware that you have to press "test" and "cancel" on both tabs for the joints you are tuning.
That way you always have the same values for the tandem axis. Also when saving, press "OK" and "save to file" on both tabs.
Adding "kinematics = both " to the kins section in the ini file should allow for jogging in joint mode, but that does not always work and requires al lot of care not to rake the gantry.

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

More
20 Sep 2020 13:35 #182901 by OT-CNC
Tommy, thanks for the response. Yes I'm doing it in axis with the calibration menu. and following your tutorial.
Thanks for the clarification as I did not know that both joints would move during testing. I figured it would only be the active tab and as such guarantee racking. I will try again with both joint tabs same values.

I have the kins both setting but it requests homing at start up. Yes I can jog in joint mode after but that does not correct the issue as I need to clear the encoder value without moving if that makes sense?

After getting the tuning correct I need to test the homing sequence. I have 2 home switches set. I know one triggers .004' before the other. If I understand gantry homing correctly, both Y joints will be driven in synch to their home reference. What should I expect? Both joints move to 1st switch, both joints continue movement to 2nd switch, both back off, then repeat at slower feed and stop at my applied home offset value? Is there any point where the homing routine is not slaved other than the move to home offset?

I just need a mental picture of what to expect so I can be on the lookout if I configured something wrong.

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

More
21 Sep 2020 14:27 #183155 by OT-CNC
Homing looks like it's doing what I expected. Will know more once the 2nd motor is hooked up.

The problem I'm still having is that I need a way to have the encoders read 0 on start up. At least for Y and Y2. Or have a way to clear it.

Another issue I'm having is that the dro does not read zero after homing. I'm missing something in the ini.
Where do I find the new homing docs with new illustrations? I don't see it in the 2.8 pdf.

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

More
21 Sep 2020 16:24 #183162 by OT-CNC
just found the doc I was looking for:

linuxcnc.org/docs/devel/html/config/ini-homing.html

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

More
23 Sep 2020 03:49 #183386 by OT-CNC
I thought I was making progress today with the slaved YY2. Both motors are working, homing is correct, but I suspect the motors are fighting each other. The shaft temps are slightly elevated from the other axes and so are the drives. Warm at rest. So looking at halscope, one motor show different dithering at rest. I assume the drives are not both setup exactly the same. This may or may not be an issue as the following error plots line up. Open loop testing looked promising with around .009" following error spikes at start of accel and decel. Gantry (heavy) moves relatively smoothly at 300 ipm. The ballscrew tends to resonate as its rather long and unsupported so I may reduce the acceleration. The wave after the initial spike that levels out. Plot file attached (I don't know if it save out correctly).

Here's problem one; joint 1 and 2 seem to tune and move correctly during open loop calibration but fault out when switching to linuxcnc. Yes I'm saving the changes to the ini and re-starting linuxcnc.
Can someone look over my hal and ini please to see if I missed something obvious? The min and max following error numbers are set high. What binds the Y to Y2?

Problem 2 is; the dro still does not zero out unless I push my gui zero buttons added to the right panel. Did I mess up the halui code as I have zero set buttons also linked to the mpg? I assumed they only zero the g54 coordinate system.

Problem 3: maybe related to problem 2, the final position displayed on the joint screen in axis (shift $) may show as much as a 0.200" difference in position between joint 1 and 2 (Y ,Y2) after a joint following error trigger. I know that this number can't be correct. When the motors are shut down, the gantry is relaxed and should have matching values. Encoders are mounted on the motors and belts did not slip.Pulleys are marked and line up. So what is going on there?? It's as if that value is retained after homing and immediately is triggering a following error.


.
Attachments:

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

More
24 Sep 2020 13:13 #183582 by OT-CNC
I re-tuned and things looked promising until the machine faulted again and of day. Can someone please look over the Y section of my hal and ini to confirm that all the critical parts are there?

The other strange thing is that my encoder scale went off. I initially calibrated against a reference master and all checked out.
Last re-check the machine was overshooting significantly and I had to readjust the scale. Correct me if I'm wrong, but PID tuning should not have any effect on this?

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

More
24 Sep 2020 13:38 #183587 by Todd Zuercher
Yes, PID tuning should have no effect on scale. Unless you accidentally changed the scale while tuning (the scale is one of the tune-able inputs in the calibration menu.)

Make sure that your encoder feedback is solid, with no noise. Noise on the encoder signals can cause all sorts of problems. (Most of which are very very bad.)

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

More
24 Sep 2020 15:24 #183604 by Todd Zuercher
I don't see any obvious errors in the configs. Could you provide screenshots of what the Halscope plot looks like for a short move, showing joint.1.joint-vel-cmd, joint.2.joint-vel-cmd, joint.1.f-error, joint.2.f-error, and the encoder velocity feedback for both joints during a short move? (You might need to install an application to do that depending on what version of Linux you are running, most of the older Linuxcnc iso(s) have them but I think the latest one does not.)

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

Time to create page: 0.160 seconds
Powered by Kunena Forum