Notifications
Clear all

Can't print below x=5 ish - print truncated  

Page 1 / 4
  RSS
Ian
 Ian
(@ian-3)
Eminent Member
Can't print below x=5 ish - print truncated

My printer won't print at x coordinates less than about 5mm. That is, I don't seem to have 250mm usable bed width, I can't print at less than x=5-ish. There's no skipping or straining - it's not that the print head can't physically get to that position, it's just that when commanded to go there it doesn't. A "G1 X3.500 Y181.594 E0.01714" gcode, for example, is simply ignored.

It's a Mk2.5S that started out as a Mk2 (in 2016) and has been incrementally upgraded to Mk2S to Mk2.5 to Mk2.5S. I noticed the issue on firmware 3.7.2-2363 but I've upgraded to 3.8.0-2684 and get the same behaviour.

Send: M115
Recv: FIRMWARE_NAME:Prusa-Firmware 3.8.0 based on Marlin FIRMWARE_URL: https://github.com/prusa3d/Prusa-Firmware PROTOCOL_VERSION:1.0 MACHINE_TYPE:Prusa i3 MK2.5S EXTRUDER_COUNT:1 UUID:00000000-0000-0000-0000-000000000000

I'm printing PETG, it's in a Lack enclosure, I'm using OctoPrint 1.3.11 on an Octopi that's still on stretch, but is up-to-date for stretch (though I don't think those things will matter).

I'm trying to do a print that has a first layer that's rectangular, 240 x 150mm, and has a skirt 2mm offset, so the skirt should be 244mm wide, so should fit on a 250mm wide print bed, so should be printable on a Prusa Mk2. It's a 34 hour print that uses more than half a roll of filament, so I'm watching the first layer carefully. The first layer is truncated at about x=5mm, so the skirt runs into the print, and the print is (possibly) truncated.

After much checking of my model and my STL I've got to reading the gcode and the OctoPrint console log, and the gcode is fine, the printer's just not doing what the gcode says.

I've cut out about 700,000 lines of gcode to get a test file that just has the skirt, perimeters, and first ten lines of fill. That file also fails in the same way.

This is what's in the gcode for the skirt:

G1 X4.388 Y27.899
G1 Z0.200
G1 E0.80000 F2100.00000
G1 X4.998 Y27.811 E0.01930
G1 X245.004 Y27.811 E7.52522
G1 X245.834 Y27.976 E0.02653
G1 X246.542 Y28.447 E0.02664
G1 X247.017 Y29.151 E0.02664
G1 X247.188 Y29.983 E0.02664
G1 X247.188 Y180.015 E4.70413
G1 X247.117 Y180.557 E0.01714
G1 X246.914 Y181.061 E0.01703
G1 X246.592 Y181.502 E0.01714
G1 X246.173 Y181.848 E0.01703
G1 X245.612 Y182.101 E0.01930
G1 X245.002 Y182.189 E0.01930
G1 X4.993 Y182.189 E7.52533
G1 X4.450 Y182.118 E0.01714
G1 X3.942 Y181.916 E0.01714
G1 X3.500 Y181.594 E0.01714
G1 X3.152 Y181.173 E0.01714
G1 X2.899 Y180.612 E0.01930
G1 X2.811 Y180.006 E0.01919
G1 X2.811 Y29.989 E4.70367
G1 X2.882 Y29.450 E0.01703
G1 X3.084 Y28.942 E0.01714
G1 X3.406 Y28.500 E0.01714
G1 X3.827 Y28.152 E0.01714
G1 X4.334 Y27.923 E0.01742
G1 X4.998 Y27.811 E-0.15550
G1 X7.616 Y27.811 E-0.60450
G1 E-0.04000 F2100.00000
G1 Z0.800 F10800.000

So that extends from x=2.811 to x=247.188

This is the perimeter:

G1 X5.587 Y179.413
G1 Z0.200
G1 E0.80000 F2100.00000
G1 X5.587 Y30.587 E4.66633
G1 X244.413 Y30.587 E7.48822
G1 X244.413 Y179.413 E4.66633
G1 X5.647 Y179.413 E7.48634
G1 X5.210 Y179.790 F10800.000
G1 X5.210 Y30.210 E4.68998
G1 X244.790 Y30.210 E7.51186
G1 X244.790 Y179.790 E4.68998
G1 X5.270 Y179.790 E7.50998
G1 X5.342 Y179.413 F10800.000
G1 X5.269 Y176.499 E-0.76000
G1 E-0.04000 F2100.00000
G1 Z0.800 F10800.000

So that extends from x=5.210 to x=244.790

So the skirt and the perimeter should be about 2.45mm apart on the left side.

This is what prints:
full bed: < http://www.astounding.org.uk/ian/temp/3d/fr_fullbed.jpg >
left side: < http://www.astounding.org.uk/ian/temp/3d/fr_topleft.jpg >
bigger: < http://www.astounding.org.uk/ian/temp/3d/fr_topleft2.jpg >

The right hand side is fine - the skirt is clear of the perimeter. On the left side, though, the perimeter and skirt run together. The skirt is definitely truncated (no radii at corners) and I fear that the perimeter is too.

The internal perimeter is a hole that's 30mm wide. In the gcode the inner edges are a bead at x=34.790 and x=70.210. Thus, I can put a ruler on the print and see what x values the printer is actually doing:
with ruler: < http://www.astounding.org.uk/ian/temp/3d/fr_ruler.jpg >

The skirt, which should be at x=2.811, is at about x=5, with the perimeter beads which should be at x=5.201 and x=5.587 at between that and x=6, so close to the right place, but I'm worried not exactly.

As previously noted, the steppers don't skip, there's no straining, the head doesn't hit anything or jam. The printer simply doesn't do what the gcode tells it to do.

In the OctoPrint log I have:

Send: N58 G1 X4.450 Y182.118 E0.01714*90
Recv: ok
Send: N59 G1 X3.942 Y181.916 E0.01714*87
Recv: ok
Send: N60 G1 X3.500 Y181.594 E0.01714*81
Recv: ok
Send: N61 G1 X3.152 Y181.173 E0.01714*94
Recv: ok
Send: N62 G1 X2.899 Y180.612 E0.01930*91
Recv: ok
Send: N63 G1 X2.811 Y180.006 E0.01919*82
Recv: ok
Send: N64 G1 X2.811 Y29.989 E4.70367*104
Recv: ok
Send: N66 G1 X2.882 Y29.450 E0.01703*109
Recv: ok
Send: N67 G1 X3.084 Y28.942 E0.01714*106
Recv: ok
Send: N69 G1 X3.406 Y28.500 E0.01714*96
Recv: ok
Send: N70 G1 X3.827 Y28.152 E0.01714*100
Recv: ok
Send: N71 G1 X4.334 Y27.923 E0.01742*105
Recv: ok

So according to the communication to and fro the printer gets told to go to x=2.811 and appears happy to do so.

Any suggestions? Why doesn't my printer print below x=5? Why do I only have 245 of the advertised 250mm print width available?

This is my test case gcode: < http://www.astounding.org.uk/ian/temp/3d/psu_0.15mm_PET_MK2.5_start.gcode>

This is the log of communication with OctoPrint: < http://www.astounding.org.uk/ian/temp/3d/printlog.txt>

This is the same with the temperature requests and reports stripped out (easier to read): < http://www.astounding.org.uk/ian/temp/3d/printlog_noTs.txt>

 

 

 

This topic was modified 5 years ago by Ian
Posted : 14/09/2019 10:03 am
Jakob127 liked
Ian
 Ian
(@ian-3)
Eminent Member
Topic starter answered:
RE: Can't print below x=5 ish - print truncated

I've done more poking around and testing. I think one of the upgrades has removed 5mm from the left side of the printbed and the Mk2.5S no longer has a 250mm wide print volume, only 245mm.

This can be demonstrated with anything that will let you send manual gcode to the printer. I use OctoPrint.

Power on (note in the extracts from log I've cut all the temperature messages):

Connecting to: /dev/ttyACM0
Changing monitoring state from "Detecting serial port" to "Opening serial port"
Connected to: Serial<id=0x6ac31490, open=True>(port='/dev/ttyACM0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=90.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
Starting baud rate detection...
Changing monitoring state from "Opening serial port" to "Detecting baudrate"
Trying baudrate: 115200
Send: N0 M110 N0*125
Recv: \x00start
Changing monitoring state from "Detecting baudrate" to "Operational"
Recv: echo: 3.8.0-2684
Recv: echo: Last Updated: Sep 6 2019 19:51:28 | Author: (none, default config)
Send: N0 M110 N0*125
Recv: Compiled: Sep 6 2019
Recv: echo: Free Memory: 2276 PlannerBufferBytes: 1392
Recv: echo:Stored settings retrieved
Recv: adc_init
Recv: FSensor ENABLED
Recv: echo:SD card ok
Recv: ok
Send: N1 M115*39
Recv: FIRMWARE_NAME:Prusa-Firmware 3.8.0 based on Marlin FIRMWARE_URL: https://github.com/prusa3d/Prusa-Firmware PROTOCOL_VERSION:1.0 MACHINE_TYPE:Prusa i3 MK2.5S EXTRUDER_COUNT:1 UUID:00000000-0000-0000-0000-000000000000
Recv: ok
Send: M21
Recv: echo:SD card ok
Recv: ok
Send: M20
Recv: Begin file list
Recv: End file list
Recv: ok
Recv: MMU not responding - DISABLED

Report config / status with M503 (not really necessary):

Send: M503
Recv: echo:Steps per unit:
Recv: echo: M92 X100.00 Y100.00 Z400.00 E144.00
Recv: echo:Maximum feedrates (mm/s):
Recv: echo: M203 X200.00 Y200.00 Z12.00 E120.00
Recv: echo:Maximum acceleration (mm/s2):
Recv: echo: M201 X1000 Y1000 Z200 E5000
Recv: echo:Acceleration: S=acceleration, T=retract acceleration
Recv: echo: M204 S1250.00 T1250.00
Recv: echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)
Recv: echo: M205 S0.00 T0.00 B0.00 X10.00 Y10.00 Z0.40 E2.50
Recv: echo:Home offset (mm):
Recv: echo: M206 X0.00 Y0.00 Z0.00
Recv: echo:PID settings:
Recv: echo: M301 P16.13 I1.16 D56.23
Recv: echo:PID heatbed settings:
Recv: echo: M304 P126.13 I4.30 D924.76
Recv: echo:Retract: S=Length (mm) F:Speed (mm/m) Z: ZLift (mm)
Recv: echo: M207 S3.00 F2700.00 Z0.00
Recv: echo:Recover: S=Extra length (mm) F:Speed (mm/m)
Recv: echo: M208 S0.00 F480.00
Recv: echo:Auto-Retract: S=0 to disable, 1 to interpret extrude-only moves as retracts or recoveries
Recv: echo: M209 S0
Recv: echo:Filament settings: Disabled
Recv: ok

Note that home offset is reported as 0,0,0.

Home x and y with G28 and report coordinates of head with M114:

Send: G28 X0 Y0
Recv: echo:busy: processing
Printer seems to support the busy protocol, will adjust timeouts and set busy interval accordingly
Recv: ok
Send: M113 S9
Recv: ok
Send: M114
Recv: X:4.80 Y:-4.54 Z:0.00 E:0.00 Count X: 0.00 Y:-4.00 Z:0.00 E:0.00
Recv: ok

X is at 4.8!  Why not 0.00 if it has just homed?

Move to (0,0,1) and report position with M114. Issuing this command moved the y motor (roughly the expected 4.5mm but I didn't measure precisely), but x didn't physically move and the printer thinks we're still at x=4.8mm:

Send: G1 X0 Y0 Z1
Recv: ok
Send: M114
Recv: X:4.80 Y:0.00 Z:1.00 E:0.00 Count X: 0.00 Y:0.55 Z:1.00 E:0.00
Recv: ok

Move to (0,50,1) and report position. Again, no physical x movement, though now the printer thinks we are at x=4.75mm

Send: G1 X0 Y50 Z1
Recv: ok
Send: M114
Recv: X:4.75 Y:50.00 Z:1.00 E:0.00 Count X: 0.00 Y:50.55 Z:1.00 E:0.00
Recv: ok

Try (5,50,1). Tiny tiny physical movement in x (a fraction of a millimetre, as expected if we really are at x=4.75 and moving to x=5.00) and the printer reports the position commanded:

Send: G1 X5 Y50 Z1
Recv: ok
Send: M114
Recv: X:5.00 Y:50.00 Z:1.00 E:0.00 Count X: 0.25 Y:50.54 Z:1.00 E:0.00
Recv: ok

Try (0,50,1). Tiny tiny movement back, but not the 5mm commanded, we just get back to x=4.75.

Send: G1 X0 Y50 Z1
Recv: ok
Send: M114
Recv: X:4.75 Y:50.00 Z:1.00 E:0.00 Count X: 0.00 Y:50.55 Z:1.00 E:0.00
Recv: ok

Tracking over to the other side of the bed, I can get all the way to x=250, which puts the nozzle on the bed, but right on the very edge. Actually, I can move the head to x=252 without anything jamming or clashing, though the nozzle is then beyond the edge of the print sheet.

So it seems the print volume is reduced. The true print volume extends from x=4.75 (or maybe x=4.80) to x=250, so about 5mm less than advertised.

Unfortunately, PrusaSlicer doesn't seem to know about this - the bed shape settings still reports a 250x210 bed with origin at 0,0. PrusaSlicer still produces gcode with head movements (including extrusions) to x values less than 5mm, for example in the case I am trying to print - with a 240mm wide object, centred on the bed by PrusaSlicer, with a 2mm offset skirt.

Can someone official confirm that I'm right?

 

 

Posted : 14/09/2019 2:19 pm
Jonathan SCE
(@jonathan-sce)
Eminent Member
RE: Can't print below x=5 ish - print truncated

I was actually about to post about this same problem.  My print was being truncating, a print that worked fine on the mk2.5 before I upgraded to the mk2.5s two weeks ago.

As you can see the skirt is printing into the part on my test print and the wall on the completed part is damaged.  The wall should be the same thickness as the other walls.

From what I can tell and what you said in your post, the x-axis end stop is preventing that last 5 mm.  The actual e-axis carriage has the space for the 5 mm, but the cable bundle at the back of the carriage would hit the metal frame.  A modification to the x-carriage-back and x-axis endstop-block might be able to regain that 5 mm.  However you can't just move the wire bundle to the right too much or you will just recreate the problem on the other side.

This post was modified 5 years ago by Jonathan SCE
Posted : 15/09/2019 12:28 pm
Led
 Led
(@led)
Active Member
RE: Can't print below x=5 ish - print truncated

Did you ever found how to fix this issue?

Posted : 15/12/2019 8:19 pm
JoanTabb
(@joantabb)
Veteran Member Moderator
RE: Can't print below x=5 ish - print truncated

the Mk2 and Mk2.5 have physical endstops, the Mk2.5 extruder has a bolt on endstop operator, if this is operating  the endstop too early it will restrict X axis travel

regards Joan

I try to make safe suggestions,You should understand the context and ensure you are happy that they are safe before attempting to apply my suggestions, what you do, is YOUR responsibility. Location Halifax UK

Posted : 15/12/2019 8:42 pm
Led
 Led
(@led)
Active Member
RE: Can't print below x=5 ish - print truncated

@joantabb Hi, yes that's the endstop part I have installed, but it physically restricts the assembly from reaching the beginning of the plate, basically I've lost about 5mm of print area at the start of the X-axis.

 

I've found a few other posts on this forum with the same issue but no solutions, is this a know issue? I've had a few failed prints before I found out what the problem was since slicer doesn't account for this size difference.

 

Anybody tried printing the end stop part slightly smaller? Removing it I can see the carriage will go a bit further, I've not measured how much (so not sure if it goes the full 5mm without re-tweaking the wires on the back).

 

Posted : 15/12/2019 9:29 pm
JoanTabb
(@joantabb)
Veteran Member Moderator
RE: Can't print below x=5 ish - print truncated

For the  printer to give 250mm travel you have to adjust the endstop to operate to the maximum left hand of the X axis. 

regards Joan

I try to make safe suggestions,You should understand the context and ensure you are happy that they are safe before attempting to apply my suggestions, what you do, is YOUR responsibility. Location Halifax UK

Posted : 15/12/2019 10:27 pm
Led
 Led
(@led)
Active Member
RE: Can't print below x=5 ish - print truncated

@joantabb

Hi, thanks for your reply. There's no adjustment on the endstop, both on the switch side and the endstop-block parts go in a fixed position.

 

I'm talking about this endstop on step 65 here: https://manual.prusa3d.com/Guide/3.+E-axis+assembly/1150

 

Am I missing something? Do you have a 2.5s without this issue?

 

I've loaded up the openscad for the part in question (endstop-block) and I could produce one with 5mm less, but I've measured the actual space on the printer before it hits the cables on the back and there's only about 2mm left. 

 

 

Posted : 15/12/2019 10:37 pm
JoanTabb
(@joantabb)
Veteran Member Moderator
RE: Can't print below x=5 ish - print truncated

I don't have a Mk2.5...   I used the heatbed on my mk2, mmuv1...

however, if the carriage is stopping short of the left hand side of the X axis, there is a problem of some sort...  

regards Joan

I try to make safe suggestions,You should understand the context and ensure you are happy that they are safe before attempting to apply my suggestions, what you do, is YOUR responsibility. Location Halifax UK

Posted : 15/12/2019 11:25 pm
Ian
 Ian
(@ian-3)
Eminent Member
Topic starter answered:
RE: Can't print below x=5 ish - print truncated
Posted by: @joantabb

For the  printer to give 250mm travel you have to adjust the endstop to operate to the maximum left hand of the X axis. 

regards Joan

No, that's not the issue. It's not an endstop issue, it's a firmware issue.  The printer head will not move to any position less than x=4.8mm.

You can prove this with anything that lets you send GCode:

Home x and y with G28 and report coordinates of head with M114:

Send: G28
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: ok
Send: M114
Recv: X:4.80 Y:-3.80 Z:0.15 E:0.00 Count X: 0.00 Y:-3.25 Z:0.25 E:0.00
Recv: ok

X is at 4.8! 

Of try a simple G0:

Send: G0 X20
Recv: ok
[...]
Send: G0 X0
Recv: ok
[...]
Send: M114
Recv: X:4.80 Y:-3.79 Z:0.15 E:0.00 Count X: 0.00 Y:-3.24 Z:0.25 E:0.00
Recv: ok

You can't command the head to a position less than x=4.8.

If you have the head at X=4.8 and command (say) G0 X2 it simply doesn't move. The problem is not endstops, it's in firmware. I'm 100% certain that Prusa have silently reduced the print volume to 245mm wide on this version of the printer. I don't know if it's deliberate or inadvertent, but the Mk2.5S does not have a 250mm wide print volume.

Posted : 16/12/2019 8:14 am
Led
 Led
(@led)
Active Member
RE: Can't print below x=5 ish - print truncated
Posted by: @joantabb

I don't have a Mk2.5...   I used the heatbed on my mk2, mmuv1...

however, if the carriage is stopping short of the left hand side of the X axis, there is a problem of some sort...  

regards Joan

 

Hi, sure there's a problem, that's what I'm trying to diagnose, at the moment I've confirmed that I have all the parts that where supposed to be in a 2.5S the carriage can't physically get any closer (with the endstop part in).

 

  • So either I printed some frankstein version of those parts at the time I did the upgrade (some intermediate version with a bug)
  • Something else needed to changed that I didn't change (X-Axis assembly?), but I went back to the manual and no reference to that exists
  • There's a bug in the Design of parts, looked in the repo for the parts and they didn't even create a 2.5s branch, seems like it was an after though making the stopper part, maybe they just expected it work the same as on the mk3s. It's a pretty easy problem to miss.

If there's an error on my part I will chase it down and fix it, but If there's an error in the Design I would rather not disassemble the whole printer for something I can't fix.

 

To be honest it's not a major problem, more of an annoyance I mean it took me months to stumble into it. But if it is a design issue it would be nice to know when and if it's going to get fixed, basically something that's lingering in the back of 2.5 users is when is Prusa going to ditch support for it, maybe it has already happened, but it would be nice to know.

 

Anybody out there with a mk2.5S can print a full bed 250mm width? I think that would definitely settle the issue on wether it's a design problem or not.

 

For my part I've printed a stopper with 2mm less and I'm going to try it tonight see if I gain those extra 2mm.

Posted : 16/12/2019 2:36 pm
Led
 Led
(@led)
Active Member
RE: Can't print below x=5 ish - print truncated
Posted by: @ian-s3
Posted by: @joantabb

For the  printer to give 250mm travel you have to adjust the endstop to operate to the maximum left hand of the X axis. 

regards Joan

No, that's not the issue. It's not an endstop issue, it's a firmware issue.  The printer head will not move to any position less than x=4.8mm.

 

 

My printer can't physically get any closer to the edge so I think it's just the firmware adjusting the max size based on the endstop and the sensors on the bed.

 

Can yours be pushed further? Does it physically reach the edge of the bed?

Posted : 16/12/2019 2:39 pm
Ian
 Ian
(@ian-3)
Eminent Member
Topic starter answered:
RE: Can't print below x=5 ish - print truncated

My printer cannot reach the leftmost edge of the printbed, because the stop hits the microswitch, but that cannot be the cause of the problem.

The printer has no way of knowing where the printhead is except when the head hits the stop (note, this is not true of the Mk3 - it apparently  detects the motor stalling, but none of the mk2 variants do that).  So if the problem was just that the stop was wrong or something was wrongly adjusted the printer would think that the print-head was at x=0 when the printhead hits the microswitch.  When you sent it to M=250 it would then overshoot the far end of the printbed, but that doesn't happen.

There aren't any 'sensors on the bed' to tell it to stop at 250mm, it stops when it gets as far from the start as it knows it can reach.  So if it can only get from 5mm to 250mm, the firmware has been told it has a bed that's only 245mm wide.

Actually, however, it doesn't think the head is at x=0.  The gcode M114 instructs the printer to tell you where the head is, and if you home the head and then send M114 it tells you the head is at 4.80mm.  At least, mine does.

As a further test, home the print head and then tell it to move to x=2mm by sending 'G0 X2'.  The printer will respond 'ok' but the print head won't move.  The firmware is set to not go further left than x=4.8mm (at least, mine is). 

Or home the printhead, then tell it to go to x=10mm by sending 'G0 X10' and measure how far it moves - which for mine is about 5mm, definitely not 10mm.

You can check the far side by issuing 'G0 X250' then 'G0 X249' then 'G0 X250'.  The print head moves back and forth, so it's able to move to x=250.  At that point the nozzle on mine is directly over the edgemost line on the steel sheet.

If I substituted a shorter endstop, the cable bundle would hit the vertical plate.  It's already presses on the electronics enclosure. 

It seems clear to me that the design of the mk2.5S printhead is such that a Mk 2.5S can't actually get 250mm of movement, it can only manage 245mm of travel, and to achieve that for some reason rather than set it up to print from 0 to 245 Prusa have set it up to print from 4.8 to 250. 

The cockup on their part is that they haven't told the slicer that the printer can't get the head to less than x=4.8mm, so the gcode the slicer produces still has printing in the x=0 to x=4.8 range, which simply all gets piled up on the x=4.8 line.  So if you send a 244mm wide print (as I did) the slicer puts that on the printbed extending from 3mm to 247mm, but fails to print the left-most 2mm.

It would have been nice if Prusa had admitted that the Mk2.5S, as well as all the super new stuff, reduced the print volume by 5mm.  That would have saved me a lot of annoyance.  I would have been really pissed off if I had designed a 246mm object that couldn't be printed at all.  Of course, maybe they 'lost' the 5mm at an earlier version of the printer - can anyone with an earlier incantation report what x value the print head is at after it homes?

 

This post was modified 4 years ago by Ian
Posted : 16/12/2019 5:25 pm
Jakob127 liked
Jonathan SCE
(@jonathan-sce)
Eminent Member
RE: Can't print below x=5 ish - print truncated
Posted by: @pedro-c3
  • So either I printed some frankstein version of those parts at the time I did the upgrade (some intermediate version with a bug)

For reference, I bought the parts for my upgrade, so it's less likely that it's a print issue.

Also, the last time I printed this particular file was on the Mk2s, so this flaw could have been on the Mk2.5 and I never noticed it.

 

Posted : 16/12/2019 5:27 pm
Led
 Led
(@led)
Active Member
RE: Can't print below x=5 ish - print truncated
Posted by: @ian-s3

My printer cannot reach the leftmost edge of the printbed, because the stop hits the microswitch, but that cannot be the cause of the problem.

The printer has no way of knowing where the printhead is except when the head hits the stop (note, this is not true of the Mk3 - it apparently  detects the motor stalling, but none of the mk2 variants do that).  So if the problem was just that the stop was wrong or something was wrongly adjusted the printer would think that the print-head was at x=0 when the printhead hits the microswitch.  When you sent it to M=250 it would then overshoot the far end of the printbed, but that doesn't happen.

There aren't any 'sensors on the bed' to tell it to stop at 250mm, it stops when it gets as far from the start as it knows it can reach.  So if it can only get from 5mm to 250mm, the firmware has been told it has a bed that's only 245mm wide.

Actually, however, it doesn't think the head is at x=0.  The gcode M114 instructs the printer to tell you where the head is, and if you home the head and then send M114 it tells you the head is at 4.80mm.  At least, mine does.

As a further test, home the print head and then tell it to move to x=2mm by sending 'G0 X2'.  The printer will respond 'ok' but the print head won't move.  The firmware is set to not go further left than x=4.8mm (at least, mine is). 

Or home the printhead, then tell it to go to x=10mm by sending 'G0 X10' and measure how far it moves - which for mine is about 5mm, definitely not 10mm.

You can check the far side by issuing 'G0 X250' then 'G0 X249' then 'G0 X250'.  The print head moves back and forth, so it's able to move to x=250.  At that point the nozzle on mine is directly over the edgemost line on the steel sheet.

If I substituted a shorter endstop, the cable bundle would hit the vertical plate.  It's already presses on the electronics enclosure. 

It seems clear to me that the design of the mk2.5S printhead is such that a Mk 2.5S can't actually get 250mm of movement, it can only manage 245mm of travel, and to achieve that for some reason rather than set it up to print from 0 to 245 Prusa have set it up to print from 4.8 to 250. 

The cockup on their part is that they haven't told the slicer that the printer can't get the head to less than x=4.8mm, so the gcode the slicer produces still has printing in the x=0 to x=4.8 range, which simply all gets piled up on the x=4.8 line.  So if you send a 244mm wide print (as I did) the slicer puts that on the printbed extending from 3mm to 247mm, but fails to print the left-most 2mm.

It would have been nice if Prusa had admitted that the Mk2.5S, as well as all the super new stuff, reduced the print volume by 5mm.  That would have saved me a lot of annoyance.  I would have been really pissed off if I had designed a 246mm object that couldn't be printed at all.  Of course, maybe they 'lost' the 5mm at an earlier version of the printer - can anyone with an earlier incantation report what x value the print head is at after it homes?

 

I see what you're saying, regarding instructing the print to go to x=0.

However the fact that my printer can't physically reach the edge of the build plate isn't going to be solved by firmware, and from what I could gather from your message your printer has the same issue?

 

Now on a regular printer there's no other way to know if you're at zero than the endstops, but prusa has the xyz calibration and checks for the location of the metal on the bed, I would expect the firmware to use those as reference points to calibrate origin. (pure speculation on my part, have not looked at the code yet).

So it can know where those points are, set origin based on those and then hit the endstop and not allow past that.

 

I've made a endstop with 2mm less to test this, if your hypoteses is correct and this is a firmware limit we should still hit that limit (that is the x will be closer to edge but we won't be able to go more than 245mm).

If it's the endstop and it uses some other way to calculate origin we should gain 2mm.

I'll attach my stl to this message as I won't be able to test this tonight (a Christmas print got in the way), but I'll try tomorrow and report back.

 

Cheers

 

Posted : 16/12/2019 7:34 pm
Led
 Led
(@led)
Active Member
RE: Can't print below x=5 ish - print truncated

Apparently not allows to attach a stl file, uploaded it to prusa printers:

 

https://www.prusaprinters.org/prints/14394-end-stop-test-for-prusa-mk25s

Posted : 16/12/2019 7:39 pm
Led
 Led
(@led)
Active Member
RE: Can't print below x=5 ish - print truncated

@jonathansce

Thanks for the info, does make it less likely to be a frankenpart.

Posted : 16/12/2019 7:40 pm
Ian
 Ian
(@ian-3)
Eminent Member
Topic starter answered:
RE: Can't print below x=5 ish - print truncated
Posted by: @pedro-c3

I see what you're saying, regarding instructing the print to go to x=0.

However the fact that my printer can't physically reach the edge of the build plate isn't going to be solved by firmware, and from what I could gather from your message your printer has the same issue?

Now on a regular printer there's no other way to know if you're at zero than the endstops, but prusa has the xyz calibration and checks for the location of the metal on the bed, I would expect the firmware to use those as reference points to calibrate origin. (pure speculation on my part, have not looked at the code yet).

So it can know where those points are, set origin based on those and then hit the endstop and not allow past that.

I agree it could in principle do that during the initial calibration.  It's still the case that the printer won't move the head to a value less than about 5mm, and on mine could not get to 0mm even if the endstop was made 5mm shorter (because cables would hit frame), so whether it's hard-coded into the firmware at 245.2mm, or it does detect that it has less than 250mm travel during calibration, I believe the 2.5S does not have the full 250mm print width, and I don't believe my printhead is somehow assembled 5mm wider than it should be - I generally work to rather finer tolerances than that.  On an assembly that's about 50mm wide you need to be pretty cack-handed to make it 5mm wider than it's supposed to be.

 

Posted : 16/12/2019 8:26 pm
BillC
(@billc)
Reputable Member
RE: Can't print below x=5 ish - print truncated

I have just used Settings | Move axis | X and found you are correct. Right travel extends happily to 250 but left travel stops at +4.8 - recently assembled, perpendicular.

Bill
Tagaytay City, Philippines
Founder member of Philippines Prusa Printer Owners FB Group
Sponsor Pillars of God Academy in Bacoor

Posted : 17/12/2019 7:28 am
Dave Avery
(@dave-avery)
Honorable Member
RE: Can't print below x=5 ish - print truncated

when the printer is at x+250 how close the the right travel limit is it in reality

Posted : 17/12/2019 4:53 pm
Page 1 / 4
Share: