When centered in the slicer correctly, without offsets defined in the slicer, the printer is most probably incorrectly configured! Luckily you can do something about that! Basically, you will have to calibrate the printer for a new center.
First of all, the firmware determines where your origin of the printer is. This implies that you need to ...
When homing the printer, the hot end carriage will be instructed to hit the (mechanical or optical) end stops. From this point a well configured firmware knows where to find the origin of the heat bed.
For the printer to know the origin of the bed, offsets are defined in the firmware from the end stop locations to the actual origin of the heat bed.
The Y-Max setting does not help, because it is the software end stop for the other end of the axis.
The Y Home position also doesn't help as it only changes the coordinate that the printer assumes for when it hits the home position. That is used for printers (like deltas) that home to the max end switches.
What could help is a little bit of G-Code right ...
This is a consequence of enabling Z_SAFE_HOMING:
Z Safe Homing prevents Z from homing when the probe (or nozzle) is outside bed area by moving to a defined XY point (by default, the middle of the bed) before Z Homing when homing all axes with G28. As a side-effect, X and Y homing are required before Z homing. If stepper drivers time out, X and Y homing will ...
What is homing?
From the tag wiki homing we can read:
The process of determining the location of a 3D printer nozzle in
three dimension using a reference point (home location) is referred to
as "homing". Homing should occur before every print and involves
bringing the X, Y and Z-Axis motors to pre-defined limit locations
(usually these are ...
Once you pull the plug or disable power to the stepper motors, the printer forgets its location. That is perfectly normal and exactly how it is supposed to work.
The printer knows where the printer volume is once you have "homed" the printer. Homing is done prior to printing with G-code G28 which should be present in your start G-code script of ...
As to why this happens, particularly with a budget printer the end-stop mountings may not be particularly precisely located, or the moving part may actuate the endstop slightly differently in each build. In my case, replacing the hot end (and thus the whole carriage) gave me an offset of some cm. With this upgrade, it was impossible to retain the stock ...
As far as I can see on the attached videos your homing movement is reversed.
as per Marlin, the homing for X shall move towards the left side and for Y to the back of the printer.
That could occur when: cable connectors to stepper motors are reversed, or the motor is assembled the other way (you can set reverse direction in Marlin)
The other issue is steps/...
Now I've finally had time to look into this, since I knew it somehow existed, but wasn't sure how it worked:
Use the M206 G-code command in Marlin, Sprinter, Smoothie, or RepRap Firmware to offset the 0,0,0 coordinate of your printbed relative to the endstops.
The reprap.org wiki page says:
The values specified are added to the endstop position when the ...
Greenonline and I spent this evening hacking/reverse engineering the Ender3 to solve this. Greenonline also wrote about this in his blog.
Step 1 - Get the Firmware
To do this, there are basically two ways:
Find the a ready-to-use firmware
Make your own
Variant 1 would be to use the pre-supplied .hex files from Creality or some other manufacturer. Variant 2 ...
Following on from 0scar's answer
To change or obtain your EEPROM settings you need to open Repetier Host (for Linux or Windows, v2.1.3 - the OSX version I tried, v1.1.0, didn't seem to have this functionality).
To change existing settings
From How to make changes to the EEPROM data. Apparently there is an EEPROM editor available (in Repetier Host). From ...
Homing is the process where the machine finds all the limits of the 3 axis (at the endstop switches), to have a common reference point for each axis. From the endstops, firmware defined values exist to give the printer head the offset to the home position, also known as origin (X=0, Y=0). If the origin position is in front of the plate, wrong offsets may be ...
Touch sensors (or inductive or capacitive sensors) are generally used to probe the bed to determine the bed shape. For metallic beds that are not perfectly straight this works excellent. But, if your bed is straight and level (e.g. when you are using a straight slate of glass), you do not need to probe the surface as it is level. Instead you can use the ...
I finally found the problem. The threaded rod of the Z axis was not mounted tight enough to the motor. This resulted in the slipping of the Z axis by large accelerations of the motor.
So... tightening the threaded rod connector socket and redoing the leveling solved the problem.
It is possible to "home a printer" without having endstops, technically, you don't require endstops, but it makes your job a lot easier if you want to print something!
Basically, when you don't have endstops or limit switches, you need to define where the head of the printer is located. E.g. you can set the nozzle at [0, 0, 0] (origin in [x, y, z]) and add ...
Personally, I have found that if you bend the arm of the limit switch out, it gets triggered earlier and solves this issue for good, (broke a switch clean off at the bend on the pins, soldered old switch back onto the pins in the board) bent the arm to a greater angle, so the striker triggers 3-5 mm earlier, problem averted!
(Summed up from several entries in this thread.)
It is untrue assumption that printer can't move back to home anymore, until the G-Code G28 is executed. Printer can home, but must be ordered to do it.
There are several ways to home printer (LCD hints are for Marlin firmware):
start the print, which (by the book) includes G28 in its initial part
use LCD ...
I've actually found what the issue was. It turns out that my Z steps were way out of whack (i.e. 4000 steps/mm instead of 400). Apparently, that's the default value in GitHub for version 2.0 of Marlin. Not sure if that's a typo or a valid value, anyhow setting it to 400 fixed it.
The Ender 3 has a printable area of 220x220x250 mm according to the specifications. So, there is nothing wrong. Sometimes heated beds are slightly larger than the actual print area. E.g. 235x235 mm or 310x310 mm. For centering the nozzle to the build plate, you should look into "How to center my prints on the build platform? (Re-calibrate homing offset)&...
Most 3d printers control head position using stepper motors and end stops with no position feedback. The stepper motor does not actually know its location.
The printer's control system can only know the location of the head by keeping track of the relative number of steps the head has been moved by the stepper motors.
Homing moves all the axes in one ...
After many hours tinkering, pulling things apart, testing them and re-assembling them, it turned out that the problem was a broken wire for the X_Min endstop. This has now been replaced and the problem is resolved.
For some reason the Z axis finishes homing with the extruder 6 mm above the bed.
If homing Z axes seems proper - i.e. nozzle is "touching" the bed during proces, and not going below the bed level) - then homing may be correct. Otherwise do troubleshooting, as has been suggested in comments. Check also the offset and backoff settings. All these ...
I had the same problem, solved it by inserting
// Move X and Y to 0 after homing
process_subcommands_now_P("G1 X0 Y0 F5000");
at the end of G28.cpp, just before ui.refresh();
This moves the print head to X0, Y0 and leaves Z untouched after the homing procedure. This way any oozing that might happen while the extruder heats up will be outside of ...
Just solved my own problem. Instead of looking in Marlin for the command, I found out the reason it was lifting up quickly was because of a custom command embedded in the G-code by the slicer. I got rid of the command and the problem was solved.
If you enabled Z_SAFE_HOMING, then automatically the printer homes Z at the middle of the build plate, if the bed size dimensions are correctly defined (in your case X_BED_SIZE and X_BED_SIZE should be defined as 300).
In Configuration.h you can find:
#define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X ...
The issues you are facing can be caused typically by a defective X-axis endstop, an inverted logic of the X-axis endstop or a defective printer controller board.
When the X-axis endstop is reporting being triggered, it will not move. After "homing" it will only go to the right of the "home position".
There a couple of things to troubleshoot the X-axis ...
It sounds like there’s two things that could be going wrong here:
Your starting G-code has some code in it that’s making it think that you want to treat a few layers up as Z0. If I were you I would minimize the start G-code until you get this sorted out. A quick fix would Be to add the following code to the end of your starting G-code:
G28: Homes all axis
The original Anet A8 has:
// The size of the print bed
#define X_BED_SIZE 220
#define Y_BED_SIZE 220
// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS -33
#define Y_MIN_POS -10
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 240
So in your case it would be:
// The ...
I would use both if I had a choice, but my stock "Melzi" board doesn't have enough inputs as near as I can tell. Most of the (scarce) instructions show to disconnect the Z switch and connect the BL Touch to the digital inputs in place of the switch.
I don't see any other connectors to wire up the EZ Touch to. Maybe the ICSP programmer, but I haven't messed ...
Or it might be fragility -- there is a little overshoot, i.e. the time between when the Z-stop sensor(whatever type) indicates zero is reached and when the stepper motor actually shuts down. The standard lever-switch has plenty of flexibility and "give" but the BL Touch may not, and may be damaged if the gantry tries to move a couple hundred ...