Rotary, Marlin, and all their friends :)

New here, I’ve read several question/answers from the forum and I can’t seem to find one that is exactly toward what I’m facing… Therefore asking for help/advice?
My situation is the following: I’m building myself a combo machine CNC/laser cutter/engraver/3d printer. I own a NeJe laser cutter and I’m really happy with Lightburn with GRBL. Being a developper myself, I went for a custom version of Marlin firmware (for 3D AND Laser) along with some nice options that I wanted to have, among those:

  • A proper Z axis
  • A different axis for my rotary

I’m currently in the process of building the machine and I’ve hit some weird issue. I’ve my rotary, (a normal Y axis rotary) hooked on the E2 output of my MKS Tinybee, defined as a rotary A axis. According to the configuration in the docs, for a roller rotary, one should just need to change the roller diameter to get to the right move. Well, that part is not working at all… If I choose in the config A Axis, I can’t change the degress per rotation and the diameter seems totally off range. Can someone point me in the right direction, please ?
Then another weird issue, I create a single line from point 0,0 and in marlin I defined my A Axis as being RELATIVE… but… When starting to cut/engrave, I’ve a weird call G0 A94.261 F5000 that moves my rotary for whatever reason. Does somebody know why that occurs? I could modify my firmware to prevent the move, but I’d like to understand why it is acting that way
Thanks a milion in advance,

Take a look at this post from Oz.

I think what’s missing is that the firmware configuration for the A-axis is not set to provide one full motor rotation for a 360 degree move.

Okay, thanks I will try to look into that.

Still not working properly, I have two issues here:
The first one: Even though I configure my axis as being rotational, there’s not way to tell it to accept degrees… the close I could get it to set it to M92 A9 which then for G1 X20 A360 F1000 (Test rotary from LB) does a full 360 degree rotation… In that case, it is extremelly slow and the “Roller diameter” option changes absolutely nothing :frowning: But even there, once I try an actual line of 10 mm, my axis moves about 2.5 times that size ???
Then 2. it seems that LB does not accept the fact that my A axis is relative and send a G90 which completely changes the behavior. Is there a way to define A like Z on “Relative moves only” ?
I’ve already turned off G0 A… moves in my firmware.
But both AXIS4_ROTATES and AXIS_RELATIVE_MODES have no effect it seems…

Further in the investigation… When I send G1 A360, I’ve one full revolution: so far, so good…
Now in LB, I define my rotary roller diameter (16mm), I therefore awaait for a 50.26mm line to translate to 360 degrees… and LB sends A522.251 ??? Help :cry:

I don’t have anything approximating your setup to experiment with so won’t be much direct help on this.

But could you not back into the Marlin config required based on what you’re actually getting out?

Let’s assume that you leave the 16mm for the roller diameter.

And let’s say for example you have a cylindrical object of a known circumference of 100 mm. if you run a job of 100 mm height that should give you a full revolution of cylinder. Test, configure A-axis, and repeat until this matches.

I got it…
I made a wrong assumption that LB would accept my A axis as being “Relative” which is not the case…
But moving my (50.265) line to 0,0, LB sends 360 to my firmware… I just needed to put the line (at Y=0) in LB :slight_smile:
It would be a nice to have in LB to be able to define A axis as relative… but meanwhile, I can modify my fw to cope with it :wink:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.