Jump to content
Ultimaker Community of 3D Printing Experts
dragsterbox

Impossible to center print on buildplate // help needed

Recommended Posts

Dear all,

 

Little by little, I am getting crazy with this issue. I am trying to figure out how to have a perfect centered print on Cura but none of my fixes have worked out.

 

My printer:

 

- Prusa mendel i3 (hictop/Anet type)

- Surface: 220 x 270 x 235

- Firmware: modified Marlin

- Proximity sensor placed 60 mm behind the printhead

 

#define X_PROBE_OFFSET_FROM_EXTRUDER 0  
#define Y_PROBE_OFFSET_FROM_EXTRUDER 60
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0

 

Solutions that I have tried:

 

1. Unthick origin at center in Cura machine settings

2. Input surface dimensions in Cura

X (width): 220mm
Y (depth): 270mm
Z (Height): 235mm

 

3. Adjust limits after homing in firmware and re-upload

   --> Everything is perfectly centered in Pronterface (G28) but not in Cura

 

// Travel limits after homing (units are in mm)
#define X_MIN_POS 0 
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS 203 
#define Y_MAX_POS 270 
#define Z_MAX_POS 235 

 

4. Manually sent home position in firmware

 

// Manually set the home position. Leave these undefined for automatic settings.
// For DELTA this is the top-center of the Cartesian print volume.
#define MANUAL_X_HOME_POS 3
#define MANUAL_Y_HOME_POS 6

 

5. Modify G code to redefine origin

 

e.g.: 

 

G0 Y-60 ;Move Y to -60
G92 Y0 ;Set this position as the new Y zero

 

Do some of you experimented the same issue ? A fix would be highly appreciated.

 

Thanks to all and merry christmas

Share this post


Link to post
Share on other sites

How far off are you talking about?  Is it off by say 5mm?  10mm?  Is the bed centered under the max travel positions?

 

Your notes are not all clear.  It looks like you are editing Marlin, right?  Is that accurate?  You keep rebuilding Marlin?  Know that when you upgrade Marlin it takes some of the values from your older installation and to get the new values you have to do "reset to factory settings".  I think that steps/mm are among those but not sure about Y_MAX_POS for example.

Share this post


Link to post
Share on other sites

Hi gr5,

 

The head is about 35 mm behind the center and 15 mm on the right.

 

Yes, I have tried a couple of different adjustments but it didn't fix my issue. About the travel limits after homing, yes this is accurate and gives me the right positioning in pronterface.

 

About reset to factory settings, you mean in cura ?

Share this post


Link to post
Share on other sites

reset to factory settings: No.  That code you showed above - what is that from?  Is that part of Marlin?  Or part of cura?  What is that?  Those #define look like c code from Marlin.  Marlin is inside the printer - inside the prusa.  If Prusa uses Marlin (I assume it does) then there should be a "reset to factory settings" option somewhere in the prusa menus.

 

Share this post


Link to post
Share on other sites

Hi,

 

Please find the answer to your questions:

 

1. The code is part of Marlin, except point five that I removed from cura because not working anymore since I changed the bed holder structure
2. Because my machine has been customized, not sure that reseting to factory settings will totally fix the problem
--> Hictop with some upgrades: E3d hothend with custom holder, proximity sensor, better quality bedholder (aluminium structure), reworked brackets
3. I upload the firmware with the arduino app, not from cura or octoprint. By reset the firmware, do you mean clear the memory from the lcd screen menu may be ?
4. About your last question, yes I did :-)
--> The head is about 35 mm behind the center and 15 mm on the right.

 

Please find a link to my config file (Marlin): here

 

Here, my start code in cura as well

 

G28
G90 ; absolute positioning
G21 ; units to mm
G29 ; auto level bed (G29 assumes position is home XYZ = 0, auto levels, moves to XYZ = 0)
G1 X100 Y100 Z10
M300
M0
G1 Z4.0 ; Glass bed thicknes
G92 Z0
G1 X3 Y6 F3000 ;move to front left corner
M104 S{material_print_temperature} ;Start heating extruder
M140 S{material_bed_temperature} ;Start heating bed
M109 S{material_print_temperature} ;Wait for extruder to reach temp before proceeding
M190 S{material_bed_temperature} ;Wait for bed to reach temp before proceeding
M83 ; extruder relative mode
G1 Z.4 F200 ; raise Z .4mm @ 5mm/s **Change this to to your nozzle size**
G1 X15 E2.0 F75 ; extrude a thick line of 2 mm of filament **This should be good for .35 to .50 nozzles**
M82 ; extruder to absolute mode
G92 E0 ; reset E to 0 **Print G-code takes over from here**

 

Hope that it will help a little bit.

Edited by dragsterbox

Share this post


Link to post
Share on other sites

Okay so I obviously need to explain about the "reset to factory settings" thing.

 

There are hundreds of settings in Marlin.  Some can be set easily in the menus.  Some can be changed by gcodes.  Some can only be changed in eeprom.  All can be set in the firmware with #define statements.

 

A small subset of these settings (like steps/mm, z calibration) are stored in a different eeprom than where the firmware is stored.  These settings are A SPECIAL CASE.  These settings can be modified sometimes through the menu but all of them can be modified with gcodes (like steps/mm and possibly bed size).  When you power cycle you lose those settings unless you do a M500 gcode which saves them to eeprom.

 

When you install a new firmware and then boot up for the first time, the firmware knows that it just booted for the first time ever.  It checks this special eeprom area and inside that there is a data version code - different from the firmware version.  If the data version code didn't change then it IGNORES THE SETTINGS IN THE #define statements and instead uses the eeprom values.  If instead the data version changed it looks to see if it knows that version - it usually does - and it tries to move the values around in the eeprom to where they are stored in the latest firmware.  Sometimes this causes problems - especially if you downgrade firmware.

 

However if you do RESET TO FACTORY SETTINGS, then Marlin erases everything in the eeprom (except a few things like total hours odometer) and sets them up to the values in the #define statement.

 

If you do not do reset to factory settings then some of the #define statements are ignored.

 

Does that explanation help?

 

Short version: anything you change in a #define statement may be ignored (will be ignored) if it is one of the few values that are also stored in the eeprom.

Share this post


Link to post
Share on other sites

-> The head is about 35 mm behind the center and 15 mm on the right.

 

Oh!  I thought you meant something else.

 

So on the Ultimaker the nozzle is not centered in the print head - it is to the left quite a bit.  People often complain that on the glass when you use the full build area the right edge of the glass can't be reached - I mean the border on the right side is much larger than the border on the left side.  At that point I have to point out that the print head isn't symmetrical.  For some reason I thought you meant that.

 

So when you say "the head is about 35mm behind center", do you mean:

1) When "centering" and printing a dot with filament - that dot is 35mm towards the rear?

2) The head itself is centered 35mm behind?  (is this the same as #1?  Is the nozzle centered in the head in Y direction?)

3) When you say "center" is that determinded by moving the bed to Y=0 and Y=270 and those hit the extremes and then move bed to Y=135 and it's not the center of the bed?  But *is* the center of the printing area?

 

I'm just confused about different definitions of "center".  I'd like to stick to just one axis (Y axis for example) initially.  Is "center" in reference to the limits the bed moves, or the print bed itself.  Because typically the print area is not centered on the bed.  Not sure about the i3.

Share this post


Link to post
Share on other sites

Thanks a lot gr5. Sorry for my ignorance, everything was working perfect until I upgrade the bed in fact.

 

If I summarize different steps:

 

1. re-check my config file and make sure that new settings are alright and calibrated, especially all about after homing limits, limits for the probe, etc ...

 

2. Re-upload firmware

 

3. About the eprom

 

Is it correct if I proceed as described below:

 

Open pronterface just after the flash

 

Enter M502 to reset settings

Enter M500 to save it in the eeprom 

Share this post


Link to post
Share on other sites
23 minutes ago, gr5 said:

-> The head is about 35 mm behind the center and 15 mm on the right.

 

Oh!  I thought you meant something else.

 

So on the Ultimaker the nozzle is not centered in the print head - it is to the left quite a bit.  People often complain that on the glass when you use the full build area the right edge of the glass can't be reached - I mean the border on the right side is much larger than the border on the left side.  At that point I have to point out that the print head isn't symmetrical.  For some reason I thought you meant that.

 

So when you say "the head is about 35mm behind center", do you mean:

1) When "centering" and printing a dot with filament - that dot is 35mm towards the rear?

2) The head itself is centered 35mm behind?  (is this the same as #1?  Is the nozzle centered in the head in Y direction?)

3) When you say "center" is that determinded by moving the bed to Y=0 and Y=270 and those hit the extremes and then move bed to Y=135 and it's not the center of the bed?  But *is* the center of the printing area?

 

I'm just confused about different definitions of "center".  I'd like to stick to just one axis (Y axis for example) initially.  Is "center" in reference to the limits the bed moves, or the print bed itself.  Because typically the print area is not centered on the bed.  Not sure about the i3.

 

Yes, I needed to use the full printing area for a big par and had to give a couple of tries before starting the print because of this.

 

1. Yes, this is what I have done. I have put a piece of masking tape on the glass, put a cross on the center and then printed. Indeed, the filament dot was 35 mm toward the rear and 15 mm toward the right.

 

2. Neither X and Y are centered. Not centered in the Y direction then

 

3. Yes, this is what I mean. The same for X. From 0 to 220

 

 

Share this post


Link to post
Share on other sites

M502 works, sure.  That's the same as selecting "reset to factory settings" in the menus.  That should pull your #define settings in such that they take affect (if they didn't already).

 

So I'm still not sure if you have a firmware issue or a cura issue.  If you print something really tiny in cura are the coordinates centered around 135 in Y axis?  (the center of your print range)

Share this post


Link to post
Share on other sites

Well,

 

I have a print that will finish Tomorrow morning. I will reset the eeprom afterwards and let you know. Considering the fact that I never reset the eeprom, there is a strong probability that this is the root cause. With the new build plate holder, the positioning is a bit different than before.

 

Yes, 135 on the lcd screen but not centered on the build plate.

Share this post


Link to post
Share on other sites

Hi,

 

I adjusted the the figures in marlin and reset the eeprom but still having the same issue in cura. When I do the homing in pronterface (G28), the print is perfectly centered but not in Cura.

 

Here is the part of my marlin code:

 

// Travel limits after homing (units are in mm)
#define X_MIN_POS -1
#define Y_MIN_POS -25
#define Z_MIN_POS 0
#define X_MAX_POS 210
#define Y_MAX_POS 270
#define Z_MAX_POS 235

 

About Cura, I have tried a very basic start code with G28 only but I am still having the same issue. The print is perfectly centered after the G28 but just after printing moves back 35 mm behing and 12 mm on the right. See the picture attached.

 

P71225-114957.thumb.jpg.c2db2426abc5b63b9cff642a6b70fae2.jpg5a40b50ee56b9_Machinesettings.thumb.jpg.d6b527d50637c631f39ca4b80ba6dd44.jpg

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Our picks

    • Ultimaker Cura | a new interface
      We're not only trying to always make Ultimaker Cura better with the usual new features and improvements we build, but we're also trying to make it more pleasant to operate. The interface was the focus for the upcoming release, from which we would already like to present you the first glance. 
        • Like
      • 18 replies
    • "Back To The Future" using Generative Design & Investment Casting
      Designing for light-weight parts is becoming more important, and I’m a firm believer in the need to produce lighter weight, less over-engineered parts for the future. This is for sustainability reasons because we need to be using less raw materials and, in things like transportation, it impacts the energy usage of the product during it’s service life.
        • Like
      • 12 replies
×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!