These are updates to the MakerBot supplied calibration and leveling scripts that fix some problems and are safer and more acurate.
If you are having problems getting your prints centered on the build platform or having problems setting the level that the z-axis starts at then these should help. Even if you are not having any problems, you should consider using these updated scripts because they are more accurate and won't gouge your build plate.
Note that I only have a single extruder Replicator, but for dual extruders you should be able to run these same scripts and just center to the midpoint between the two nozzles.
Replicator-calibration-V2.zip - Contains updated calibration and leveling scripts.
Now your prints should finally be centered and flush.
Original Script | Updated V2 Script | |
1. | Specifically asks you to move the build plate to zero the Z-axis, but does not end up saving this value - it just throws it away so you can never change your z-offset with the script no matter what you do! Arhg! | Actually saves it in the machine so the next build you do will use it. |
2. | Homes the z-axis at 1000mm/m which is faster than the homing rate of 100mm/m that the start.gcode at the beginning of each build uses. This faster rate means that the script will overshoot the little limit switch- on my machine the difference is an average of 0.035mm. | Homes the z-axis exactly the same way that the start.gcode does, so it should be accurate. |
3. | Homes the x and y axis right after you set the height on the z-axis without moving the build plate down. Since the whole reason you are running the calibrate script is because you might not be perfectly level and calibrated, this could possible scrape the nozzle across the plate (it gouged out a deep grove on my machine). | Lowers the build platform 10mm to get it out of the way before homing the x and y axis. |
The whole build process is basically just a list of commands (G-Code) to either move the nozzle to someplace, or turn the extruder on or off.
The commands to tell the machine to move someplace specify the location as a three dimensional coordinate - that is, three numbers representing the location on X, Y, and Z axis.
The location (0,0,0) in the G-Code should be exactly in the center of the surface of the build plate.
The MakerBots use stepper motors so they really have no idea where they are - you just tell them how many steps to move one way or the other. In order to be able to get some idea of where the nozzle actually is inside the machine when it first starts, it does something called homing where it just tells all the motors to keep going all the way until the nozzle hits some little switches at the end of each of the axis. Once all these switches are clicked, it knows that the nozzle is all the way in the top, right corner of the machine. This is the only absolute position that the machine can know.
But just knowing where the top right corner is is not enough because all the G-Code is referenced from the center top of the build platform. The distance from the top right corner to the center of the build plate is different on every machine just because of manufacturing tolerances, so you can't just hard code in something like "the gcode center is 7.5mm down and 4mm out from where you hit the limit switches". Instead, you need to figure it out empirically and then have a way of remembering the relationship between the location of the limit switches and the 0,0,0 location.
The way the replicator handles this is to store three offset values in non-volatile memory in the machine. The offset values represent how far the nozzle has to move (in mm) to get from the homing position by the limit switches to the 0,0,0 location. Seen another (simpler) way, the offset values are actually the coordinates of the limit switches if you declare 0,0,0 to be the center of the build surface
...more to come when my MakerBot is working again!
6/23/2012 | - | First published. |
For support, please email me at...