Skew Correction... for Dummies?

Okay, so… maybe it’s just a major fail or an exercise of mental midgetry on my part, but I cannot seem to wrap my head around how the Marlin skew correction is done. Like, at all. Can anyone point me to any sort of comprehensive guide on how to tackle this as it relates to the MPCNC?

Every result that I conjure up through Google queries generally yields a forum discourse where the participants all seem to have either a degree in Marlin wizardry or are part of an exclusive Cult of Marlin where they are clearly speaking in tongues. Either that or they just don’t speak Dumbass, which automatically means I have no hope for a basic understanding of their discussion.

Any help would be greatly appreciated. Even if it’s one of those “first google result” links that clearly demonstrates my failure to use even the most basic of internet technologies.

It only compensates for an unsquare XY. If you have an unsquare XY, then I what have you tried to fix it?

It basically boils down to moving X when traveling in Y.

Let’s say you had intentionally skewed your XY and your far right Y motor was 10mm farther up. When the tool is at the far left, you can imagine the compensation off. But when X is on the right, the compensation would be -10mm in Y. By doing that, the line it just drew will be perpendicular to the Y axis and your squares will be squares, instead of parallelograms.

If you have dual endstops, it has the same effect as adjusting the position of one of the endstops. If you don’t have dual endstops, then you should start with some hard stops to get repeatable starting locations and then adjust the hard stops to get it square.

Thank you, Jeff. I am currently wrapping up a primo build with a full size Rambo and dual endstops in hopes to make this less of an issue. But my Burly build (mini Rambo), despite my best efforts to correct it (triple-checking square, adjusting tension on core assembly, etc.), still has some minor skewing going on. It’s really only noticeable when I am cutting mirrored cabinet panels that take up the majority of the build area (24"24"). Ideally, these cabinet panels would line up on all edges when stacked together for post-processing, but there is noticeable skewing that is placing my “dog bone” pockets out of alignment. Granted, it isn’t exactly a whole lot, but it’s enough to cause the cabinets to to rock after assembly with no good way to mitigate it with post-processing.

Are my expectations just not realistic? I didn’t think that I was being too demanding of it. It’s a damn fine machine for what it is. I get that it isn’t a MultiCam, but I like to think that it’s capable of so much more than I’ll ever really ask of it.

If I’m being honest with myself, I’d have to say that I was hoping that I could fix the skew within the firmware as opposed to having to tear down its enclosure and rebuild it completely. But even if there were a viable remedy within the firmware, I’d have no idea where to even begin.

What about the floor :slight_smile:

Don’t most cabinets have feet for exactly this reason? I see frank howart using feet even though his woodworking is world champion level.

The firmware can fix skew, but if you have dual endstops, then you adjust the endstop offset with M666 and by physically moving the endstops. No need to enter the skew correction land. There are instructions in the doc that basically ask you to make a cross hair with a pen at 4 corners of a rectangle and then use M666 or move the endstops to make sure you have the same diagonal measurements. Then you should be able to just go at it with the bit and still get perfect results.

The other thing that may help with precision is full depth finishing passes.

Go for it, if you like. But the dual endstops should give you repeatable alignment and as long as the tubes are straight, it should stay pretty near perfect.

Once again, I am grateful for your input. And yes, I do use feet for the riser units that I build, but that’s generally just to compensate for uneven floors. The cabinets in question are bar top arcade cabs that would have to go through a redesign to facilitate feet and still be modular in the way that they fit together with the riser/storage systems. Basically, what I am trying to do is be lazy and greedy at the same by having the CNC do all of the heavy lifting while I work less and charge more.

Unfortunately, my Burly build uses a mini Rambo, leaving me without the dual end stop option. So I decided tonight that if I can’t drum up a quick fix via firmware, I’m going to tear it all down along with the enclosure, donate the printed parts to another would-be CNC enthusiast, and use it to build a Lowrider. I have a sign business that is really my bread and butter and I could definitely benefit from being able to cut sheet goods anyway.

There’s no reason you couldn’t just replace the mini Rambo with the full version (or one of a number of 5+ stepper driver controllers) on the existing machine and add the needed end stops in order to get dual end stop auto squaring. The broad range of possible control boards and the overall modularity of the design makes a “brain swap” a pretty simple operation.

Don’t get me wrong - build out a new machine from scratch if that makes sense in your situation (whether aesthetically, feeds a need to tinker, or is best for the business bottom line), but since folks sometime search the forums for solutions long after the original postings have been made, I didn’t want to leave folks with the impression that a complete tear-down and rebuild was needed to accomplish the goal of eliminating minor skew.

That is sound advice, Tom. And I can appreciate your effort to provide clarification for anyone potentially seeking solutions to similar problems in the future. Thank you, sir.

Sorry, I misread your mini rambo on there burly. On the mini rambo, the best way to get it square is to have some hard stops at one extreme. I used some 3D printed clips that fit over the tubes and I could pull my MPCNC into those clips while enabling the motors. Then it would start square (within a full step, or about 0.1mm). You could also use hose clamps or something similar.

That is what I do with my low rider.

My worry with skew correction is that you won’t have a repeatable value. You might be able to measure before each job. If you had a good square on the spoil board, you could turn off any previous skew. Then travel to a far corner. Then measure how far off you were and come up with a skew amount. I think something like that would work.

I have been poking at this in my “spare time” today and I think I may be able to help with something to try.

I had fun diving into this rabbit hole. Here’s what I think will work, but I haven’t tested it:

Configure Marlin

You should be ready to flash your mini rambo. I would start with the latest stable release from MarlinBuilder releases. Then open the Configuration.h and enable SKEW_CORRECTION:

#define SKEW_CORRECTION

That seems like it’s all you need to be able to adjust it later in the gcode.

Calculate Skew

Here is a calculator I made to compute a skew value from some measurements from a working machine. I would expect this skew value to change from boot to boot.

The basic idea is to mark 0,0, send it to some rectangle coordinate, like 100,100 and make a mark. Then put the distance from those marks in the calculator and then adjust the skew with M852.

https://www.desmos.com/calculator/ojsqm1dv4b

Disclaimer

None of this is tested, but I think it is right. I wouldn’t be surprised if it was negative or missing a *2…

3 Likes

Dude. You are such a badass. Cant wait to try this tonight. I will absolutely post results and keep you informed.

Thank you so much for your involvement in all of this.

1 Like

Okay, so… here’s my quick and not-so-exciting update: I haven’t done a damn thing as far as testing goes. Believe me, I’m foaming at the mouth to get out in the shop and get a million things done, but I had to put it off in favor off making some handmade cutting boards and wind chimes for my daughters to give to their mother and grandmothers as Christmas gifts.

I figured that would be a great way to get them out in the shop to do some “fun” stuff before I had to take them back to their mother’s in Arkansas a couple of days ago.

Buuuuut, now that I’m back, I plan on tackling that before the day is over. Or at least before the sun rises again tomorrow.

1 Like