New build in Clapham, North Yorkshire, UK

How about some gcode like this:

G91 ; relative positioning

G1 X2 F1000
G1 X-2
G1 X2
G1 X-2
G1 X2
G1 X-2
G1 X2
G1 X-2

G1 X2 F500
G1 X-2
G1 X2
G1 X-2
G1 X2
G1 X-2
G1 X2
G1 X-2

G1 X2 F250
G1 X-2
G1 X2
G1 X-2
G1 X2
G1 X-2
G1 X2
G1 X-2

G1 X2 F120
G1 X-2
G1 X2
G1 X-2
G1 X2
G1 X-2
G1 X2
G1 X-2

G90 ; return to absolute positioning

That should wiggle back and forth 2mm 4x, then slower, and slower. Maybe that will help you watch for the backlash. It should take just a few seconds to complete (about 8-10).

@jeffeb3

Thanks for this. I was looking at how to write gcode directly to do this very task.

It’s 0128 here so a little late but will do this in the morning.

Rob

1 Like

I ran the tests you posted, so thanks for that. Not sure what they should have done as it was all very slow. But it was moving things back and forward,

I then managed to destroy my 0.1mm drafting pen by ramming it into the base of the board. Stupidity is strong in this one :slight_smile:

However as I was picking the pieces up, I started to wonder if the pen was the problem or part of the problem, so I thought about a different test.

Use the (new) pen to make a mark on the board (or the paper). Pick the pen up and send it to a position 100mm down, stop and bring it 100mm back and then drop it down to see if it hits the same spot as before. Doesn’t rely on the pen, indeed I could just use a pin and a piece of blue tack to let the pin mark the spot.This removes the pen being on the paper as the cause.

Sensible or b£$^&*t crazy?

Rob

1 Like

Been making squares in the air with my CNC machine.

I put a pin on the end of the Z axis, mark a point, raise the Z axis, make a rectangle of any size, come back to (0,0) and the pin hits the mark again, and again and again.

This seems to be working fine when I don’t use a pen. So either the pen is affecting things or the paper is.

I wonder if the pen is stretching the paper?

Mmmm… time for a glass of wine and to put my thinking cap on.

Rob

2 Likes

This wouldn’t be the first time a pen has fooled us.

To check for backlash, you need to come in from the left up to zero. Make a mark. Then go to the right (doesn’t have to be 100mm) and then come back to zero from the right. The distance traveled doesn’t matter. The direction you approach from does.

@jeffeb3

That’s exactly what I’ve been doing. The next steps are to write a Perl program (yes I know, I have the world of languages to choose from and I go back to the 1990’s) to generate the g-code for all of this so I can then add it to cnc.js as a workspace button or whatever. This means I can repeat it time and time again and this avoids me trying to send the Z axis through the CNC bed as I mistakenly use the Move Z axis incorrectly to try and drill though the Earths core (again).

Bluetack (do you have this in the US and is it called this?) and pins are quite a simple way to check this especially when I still don’t have a router so can’t create a spoil board.

Rob

Is there any chance your belts might have steel cords in them instead of fiberglass?

Your crown from the kitchen table would have been visibly worse if you had backlash at that time. Steel belts are known to fatigue very quickly. Apart from pulleys, which you checked, I am at a loss to think of what else could cause such a large backlash issue.

1 Like

@jamiek

Thanks for the reply.

Good question.

This is the actual belt I brought,

This is the belt recommended by V1.

I note that the second one is 10m and mine is 5m. However they look and read the same.

None comment on steel vs fibreglass (or similar). Whats your views?

Thanks

Rob

The steel ones usually advertise that way, and they are usually white.

So, I’m assuming these belts are OK. I have some spare length, I will have a look at them.

Just discovered that writing the gcode for doing a rectangle is trivial. I thought it would be more complicated. I can write gcode like that as fast as I can type. I’d assumed PostScript type complexity.

Have got the PI sitting in front of me, I’ll put it back to non hotspot mode, update cnc.js to provide a button and then put it back to AP mode.

I think those belts are fine. Like Jeff said, the steel-core ones generally say so, and wouldn’t generally be bundled with 16 tooth belts.

Maybe something like this?

G90 ; absolute positioning
G92 X10  ; wherever we are now, call that X=10

G1 X14 F240
G1 X10  ; approach X=10 from the right
G4 S2
G1 X6
G1 X10  ; approach X=10 from the left
G4 S2

G1 X14
G1 X10  ; approach X=10 from the right
G4 S2
G1 X6
G1 X10  ; approach X=10 from the left
G4 S2

... repeat a bunch of times

See if when it approaches X=10 from the left or from the right if it ends up in a different spot, and if so, can you see something mechanical that explains why. For example, do the rollers appear to move to the same position and the problem is in the pen mount, or do the rollers exhibit the backlash too.

@jamiek

Thanks, have got a gcode cheat sheet up on one monitor, am scanning through it. Got a gcode simulator to check it on another monitor. The cheat sheet shows the pause in millisecs. I assume that G4 S2 is seconds.

This looks pretty simple to be honest and now hits a domain I’m a little more familiar with, To be honest it looks like assembler or the output from a compiler. I automatically look at it and try to optimise it :slight_smile:

I’m logged into the Pi now and am working out how to add the button to cnc.js.

Rob

Dwell should be 2 seconds so you have time to look at it and see where it is. I find myself referring to the Marlin gcode manual all the time https://marlinfw.org/docs/gcode/G004.html

I have no doubt you will be rolling your own experiments in no time.

Woohoo, backlash problem found and resolved.

It turns out that just when I thought I couldn’t do anything more stupid I can. The backlash problem was caused by a bad connection to one of the X motors. Most of the time it simply wasn’t working and the X axis was being driven by one motor only. Still pretty dammed good but that was accounting for the 2mm or so loss as the X axis changed direction from +ve to -ve. I had looked for this before and was checking that the motor was turning, but I had assumed a broken motor would be more obvious. And we all know what happens when we assume something…

I found this by checking the Z axis gantry and noticing that it had a small amount of movement in the general X axis. I still didn’t work out what was the problem until I tried to manually turn the various motors via the pulley wheel. One of the X axis motors allowed me to turn it a very small amount but not too much, all of the other stepper motors were impossible to move by hand. Mmmm…

I checked the pulley wheel and it was tight on the grub screws. So knock that on the head. I then decided to pull the belt off and see what the motor was doing. It was doing “not working”. Ah!

Traced the cables back and it looked as if the DuPont connector had broken somehow. I suspect a castor wheel from the table had run over it.

So put a new connector on, powered up and spent a happy 15 mins moving the X axis around. It always came back to zero.

That’s only take a week to find, pretty simple when you know the problem.

However in the meantime I have made an adapter for my digital calipers to measure the height of all the tubing from the CNC bed and to see where the differences are. That’s another post as it’s 22:00 here and sadly I have work tomorrow.

Rob

6 Likes

Nice work. That machine is definitely yours now. You’ve earned it!

1 Like

As I knock one item off my ‘todo’ list, more seem to pop on.

I have already seen that the bed of my MPCNC is not level, though it’s pretty flat.

If I look from bottom left (0,0) towards top right, it was clear that a pen that was lightly touching the bed, but as it went to max X and max Y (top right), it was around 1mm to 1.5mm off the bed.

So I thought I’d measure what was out. Simple enough job…?

So I pulled out my cheap digital caliper. I only trust these to 0.1mm as they were exceptionally cheap about 10 years ago, but that’s enough margin for me.

The first problem is that they aren’t designed to work the way I want them to, I want to measure the distance from the bed to the 25mm tube. The calipers are designed to measure stuff inside the jaws and there’s no nice long flat level edge on the top or bottom of them to rest against the bed. So I thought I’d actually design something in Mac FreeCad to hold the head of the caliper in a stable position and at right angles to the bed. I’ve never used anything but Google Sketchup for design and that was 6-7 years ago, but it can’t be that difficult, can it> Well, I can now scrub Mac FreeCad off my list of well designed and stable Mac products. After the 5 or 6th crash in an hour I gave up. It was just impossible to keep it going.

So I then moved to Fusion 360, it’s free, I’m not breaking any license terms as my income from this is significantly less than £0 to date. It then transpires that you need to have some sort of brain operation twist your brain through 90 degrees to get the hang of it. All I wanted to do was draw a simple block, put two screw holes in it and cut a T out of it. Six hours later and feeling like I’d reengineered the entire Apollo space program, I had two blue blocks in my hand, that 1) fitted my calibers 2) were stable.

I look at the simple (and it was simple) block and look at what Ryan has engineered for MPCNC and I want to cry. Six hours to get two blocks of printed plastic (and eight blocks thrown in the bin as they were wrong). How the devil did Ryan design the thing of beauty that is the Z gantry? Was there a crossroads at midnight , a bloke in a black hood, animal sacrifices and Robert Johnson involved?

Anyway, I now have a device that I have designed and printed by myself and I start to measure my MPCNC. I realise that the absolute numbers are irrelevant and that it’s the difference that’s important.

So here they are:

I have tried to keep this simple as there are lots more measurements I took :slight_smile: I have started building up a mesh. You’d never guess I love data…

Bottom left (0,0 ish) is the datum point. What I am measuring here are the Z values, a +ve Z value is out of the bed and up in the air and a -ve Z value is towards the floor. This matches the Z axis movement in Marlin.

The numbers back up what I thought. The gantry is very slowly moving away from the bed as it moves along the X and Y axis.

Now there appears to me to be two solutions:

  1. I run a small planing run across the spoil bed (not shown) to level it.

  2. I shim the stepper motor mount points on the X and Z axis tubes that hold the Z axis gantry by a small amount so they are trued.

Since I have to do point 1 anyway, is there any value in shimming the stepper motor mounts. It’s easy enough to print a couple of 0.6mm and 0.3mm shims to level things up, or am I worrying about things that I should ignore.

Views and comments welcomed.

Rob

1 Like

When you cut through the board, into the spoil board, you should cut a few mm into the board. That is no big deal, and it will easily consume these <1mm differences. If you make a rabbet or a dado that doesn’t go all the way through, you’ll probably want a bit of tolerance built into that too.

If you are using a v bit, the the error in Z translates to an error in width. That is a bit annoying, but if you are using a small area, you can set the Z there, and use a sharp bit. You won’t notice it.

If you need more accuracy than that, you can surface the spoil board (which is 1 above, I think). But I would avoid doing that for a while. Because it will account for everything that affects the height, and you don’t want to do it too many times. If you use your machine for a while, you can find all the other things you may adjust that affects the height, including shimming the corners, break in, whatever. Then when you surface it, it will be more stable for longer.

1 Like

@jeffeb3

Thanks, for the update. I’ve yet to turn a spindle in anger :slight_smile:

However I don’t expect to use a v slot, but rather a square end for the bit so that probably not an issue at the moment.If I do engraving, I can see it’ll be a problem unless I setup a spoilboard,.

I’ll not bother shimming it and will see about attaching the router (finally turned up), screwing a spoilboard down (and recessing the screws) and then running a 25mm thingymajig across it to get rid of the level differences. I have a faint idea what to do, what could possibly go wrong :astonished:

Rob

[voice person=“George Takei”] Oh, my… [/voice]

“Alphabetically, or in likely order of occurrence?”

“There are some sentences [you] should just stay away from.”

“Whenever you ask that, my tail gets all bushy.”

I could have written:

“I have no idea what I’m doing with very sharp objects spinning at 15,000RPM, 240V electricity using highly complex IT software to control the speed and direction on a plastic machine I built myself, where the last thing I built out of plastic was an Airfix 1:72 scale Battle of Britain Spitfire aged 10 3/4. What could possibly go wrong?” Technically that’s just as accurate :crazy_face:

I have five more spoilboards to use after this one.

I will do a number of dry air runs just to see what happens. I might then connect up a pen to trace it and then and only then connect the router. Then “What can possibly go wrong?”

Rob

1 Like