Method for Zeroing a "c" axis

More
07 Sep 2024 17:36 #309593 by andypugh
Replied by andypugh on topic Method for Zeroing a "c" axis
There may be an issue with 32-bit counters. Many of the drivers internally store 32-bit HAL pins as 64 bit long int, but not all and I think that some Mesa drivers may be amongst them.

I might change all HAL pins to 64-bit for 2.10 (as I don't see any point in having both 32 bit and 64 bit at the same time). I think that can be done transparently in most cases.

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

More
23 Sep 2024 09:46 #310633 by M4MazakUser
Replied by M4MazakUser on topic Method for Zeroing a "c" axis
So the g10 l20 method looks to be the go, I'll probably try it tomorrow.  The idea is m106 --> brake off/ engage c axis/ read spindle position,  convert it to integer, subtract the integer from the spindle position, then multiply the remainder (0.***) with 360, g10 l20 to set the current c drive position to the spindle position. / if doing a drilling or milling fixed movement execute an m05 to turn on the spindle brake.  Then m106 to release the brake re-assert spindle position etc.

Doing milling on c axis is doing my head in, Im trying to write a cycle to do it, but tool radius compensation to do a square is complex and the calculations for the angular related spindle position in regards to the x position is quite a lot of trig.

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

More
23 Sep 2024 10:06 #310634 by M4MazakUser
Replied by M4MazakUser on topic Method for Zeroing a "c" axis
Geuss there's no way to get polar coordinates working on the x/c axis.

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

More
23 Sep 2024 12:40 #310643 by spumco
Replied by spumco on topic Method for Zeroing a "c" axis

Geuss there's no way to get polar coordinates working on the x/c axis.

The way to do it is by switching kinematics on the fly using switchkins.  But LCNC has no 'built-in' polar interpolation or an example in the sims.

I'm aware of two working configurations; there may be more buried in some obscure forum post or github page.

First is from user NoJo.
forum.linuxcnc.org/10-advanced-configura...oling?start=0#225787
I started playing around with incorporating his configuration in my XZC lathe earlier this year, but I've been sidetracked and don't have anything concrete.  I seem to recall a problem (for the rest of us) with NoJo's kinematic module is that he hard-coded a tool offset in the component rather than using a parameter or value based on tool table data plus X-axis position.  It's a little hazy now.

The second is more recent, and is from Franco (@fsabbatini).
forum.linuxcnc.org/show-your-stuff/53476...rical-mapping#307444
This is for cylindrical mapping - i.e. tool oriented radially as with cross-drilling - but I suspect it could be edited for axial live tools and polar interpolation.  I have not looked closely at Franco's scheme - as usual I get sidetracked off projects.

When I finish my mill in the next few weeks (months) I'll be getting back to my lathe project and polar interp will be near the top of the to-do list.  If you get something working (or not) please post up.  I will do the same when I get back to it and make some progress.

If we (and a few other users who have chimed in in the past year or so) can create a very universal kinematics module, we might be able to get it incorporated in to LCNC mainline code.  There are a few lathe-related features which seem to be a recurring "how do I" forum topic that nonetheless aren't on any developer's list of things to add to mainline LCNC:
  • C-axis/spindle management (one or two motors, one or two encoders)
    • I know this one is fiddly as it's extremely dependent on the user's actual hardware choices
  • Rotary axis look-ahead
  • Spindle homing
  • Polar interpolation
  • Cylindrical interpolation
  • GUI handling of multiple tool orientations
  • Automatic backplot adjustments triggered by any of the above 
The following user(s) said Thank You: tommylight

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

Time to create page: 0.053 seconds
Powered by Kunena Forum