caxis.comp - problems
27 Jan 2024 17:15 #291751
by spumco
What specifically? Do you see somewhere in the config files where I've not accounted for the 4x? The encoder-in is 2500 lines, so I've set the scale to 10k. And pulses-out doesn't use 4x.
Replied by spumco on topic caxis.comp - problems
4x quadratic counting
What specifically? Do you see somewhere in the config files where I've not accounted for the 4x? The encoder-in is 2500 lines, so I've set the scale to 10k. And pulses-out doesn't use 4x.
Please Log in or Create an account to join the conversation.
- smc.collins
- Offline
- Platinum Member
Less
More
- Posts: 677
- Thank you received: 117
28 Jan 2024 15:53 #291812
by smc.collins
Replied by smc.collins on topic caxis.comp - problems
I don't know enough about the system, I was asking if you accounted for it in your feedback from your encoder ? also, have you checked the drive settings ? I am sketching out the code for the hal component to feed spindle to t axis, I might have time in a week or so to try it on my lathe.
Please Log in or Create an account to join the conversation.
28 Jan 2024 21:38 #291837
by spumco
Replied by spumco on topic caxis.comp - problems
I did realize I need to scale the spindle encoder for counts/degree instead of counts/rev, but I was running open loop during the last round of testing.
The mismatch would account for the encoder velocity being off by a factor of 360, but not why the PID is clamping (or being clamped) by something.
Steps/degree are correct in the drive. Otherwise it wouldn't actually move 180 degrees when a 180 command (or some other position) is given.
The mismatch would account for the encoder velocity being off by a factor of 360, but not why the PID is clamping (or being clamped) by something.
Steps/degree are correct in the drive. Otherwise it wouldn't actually move 180 degrees when a 180 command (or some other position) is given.
Please Log in or Create an account to join the conversation.
- smc.collins
- Offline
- Platinum Member
Less
More
- Posts: 677
- Thank you received: 117
28 Jan 2024 23:00 #291847
by smc.collins
Replied by smc.collins on topic caxis.comp - problems
can you post your hal and INI ? I want to see what kinda code I need to sktech out. I am moving forward with my plan to route spindle speed to the axis from rpm to deg/sec.
Please Log in or Create an account to join the conversation.
29 Jan 2024 00:09 #291854
by spumco
Replied by spumco on topic caxis.comp - problems
They were attached a few posts ago.
Please Log in or Create an account to join the conversation.
- smc.collins
- Offline
- Platinum Member
Less
More
- Posts: 677
- Thank you received: 117
29 Jan 2024 00:15 #291855
by smc.collins
Replied by smc.collins on topic caxis.comp - problems
found the hal, I need to think on this for a few days but I have a few ideas.
Please Log in or Create an account to join the conversation.
29 Jan 2024 03:16 #291861
by spumco
Replied by spumco on topic caxis.comp - problems
I think I figured it out, and this might be an LCNC bug. Probably me though.
I think AXIS GUI is clamping the rotary axis speed.
No amount of fiddling with the [AXIS], [JOINT], or [TRAJ] values would have an effect on G0/G1 command speeds. Even had the [DISPLAY] MAX_ANGULAR_VELOCITY = 3600.
I used PNCconf to cook up a quick config and compared the values to my own. I had my axis/joint values set too low, but even after adjusting them up something was still clamping.
I then spotted this in [DISPLAY]:
MAX_LINEAR_VELOCITY = 3
Hmm... that's not sus at all.
Changed it to MAX_LINEAR_VELOCITY = 6, and now the rotary axis PID output is 6 during a G0. Still too slow, but I think AXIS GUI is the culprit.
So why is AXIS GUI using MAX_LINEAR_VELOCITY value instead of MAX_ANGULAR_VELOCITY?
And maybe the C-axis isn't being clamped because...reasons?
I think AXIS GUI is clamping the rotary axis speed.
No amount of fiddling with the [AXIS], [JOINT], or [TRAJ] values would have an effect on G0/G1 command speeds. Even had the [DISPLAY] MAX_ANGULAR_VELOCITY = 3600.
I used PNCconf to cook up a quick config and compared the values to my own. I had my axis/joint values set too low, but even after adjusting them up something was still clamping.
I then spotted this in [DISPLAY]:
MAX_LINEAR_VELOCITY = 3
Hmm... that's not sus at all.
Changed it to MAX_LINEAR_VELOCITY = 6, and now the rotary axis PID output is 6 during a G0. Still too slow, but I think AXIS GUI is the culprit.
So why is AXIS GUI using MAX_LINEAR_VELOCITY value instead of MAX_ANGULAR_VELOCITY?
And maybe the C-axis isn't being clamped because...reasons?
Please Log in or Create an account to join the conversation.
29 Jan 2024 03:57 #291866
by spumco
Replied by spumco on topic caxis.comp - problems
Interesting development.
If I change the subspindle from W-axis to B-axis, LCNC stops using MAX_LINEAR velocity and starts using MAX_ANGULAR velocity.
Doesn't matter if the INI [JOINT] TYPE = ANGULAR. If the axis is named anything other than A/B/C, either LCNC or AXIS GUI considers it a linear axis and applies the linear max vel ceiling.
Bug or feature?
AXIS or LCNC?
I don't feel like going through setting up a different GUI just to test.
So now I think I can clean things up and re-visit caxis.comp and see if I can get it sorted out.
If I change the subspindle from W-axis to B-axis, LCNC stops using MAX_LINEAR velocity and starts using MAX_ANGULAR velocity.
Doesn't matter if the INI [JOINT] TYPE = ANGULAR. If the axis is named anything other than A/B/C, either LCNC or AXIS GUI considers it a linear axis and applies the linear max vel ceiling.
Bug or feature?
AXIS or LCNC?
I don't feel like going through setting up a different GUI just to test.
So now I think I can clean things up and re-visit caxis.comp and see if I can get it sorted out.
Please Log in or Create an account to join the conversation.
29 Jan 2024 04:15 #291867
by phillc54
Replied by phillc54 on topic caxis.comp - problems
It may be worth adding TYPE = ANGULAR to the [AXIS_<letter>] section.
Warning: Spoiler!
axis_type = [None] * linuxcnc.MAX_AXIS
for a in range(linuxcnc.MAX_AXIS):
# supply defaults, supersede with INI [AXIS_*]TYPE
letter = "xyzabcuvw"[a]
if not (letter in trajcoordinates): continue
if letter in "abc":
axis_type[a] = "ANGULAR"
else:
axis_type[a] = "LINEAR"
section = "AXIS_%s" % letter.upper()
initype = inifile.find(section, "TYPE")
if initype is None: continue # use default
axis_type[a] = initype
The following user(s) said Thank You: spumco
Please Log in or Create an account to join the conversation.
29 Jan 2024 05:17 - 29 Jan 2024 05:21 #291869
by spumco
Replied by spumco on topic caxis.comp - problems
Thanks Phill, that would save me some time editing a new config.
This appears not to be in the LCNC manual config/ini section?
EDIT - I wonder if there's a reasonLCNC shouldn't default to the [JOINT] TYPE = N if the [AXIS] TYPE is not specified.
EDIT 2 - Now that I searched the code on GH, I see that this is an AXIS GUI thing and not LCNC.
Thx again
This appears not to be in the LCNC manual config/ini section?
EDIT - I wonder if there's a reason
EDIT 2 - Now that I searched the code on GH, I see that this is an AXIS GUI thing and not LCNC.
Thx again
Last edit: 29 Jan 2024 05:21 by spumco.
Please Log in or Create an account to join the conversation.
Time to create page: 0.132 seconds