Ender 3 pro calibration - Page 1
Forum section: electronics / general

author: Jan Audio
author_rank: Frequent Contributor
timestamp: November 11, 2021, 04:14:21 pm
content: Hi, i want all axis the correct size.If i print a calibration-cube, where do i change the settings in my ender 3 pro ?thanks

author: tszaboo
author_rank: Super Contributor
timestamp: November 11, 2021, 04:38:42 pm
content: You change it in Cura or the slicing software that you use. Before printing, you should make sure that the bed leveling is OK, and tension all the belts, and that you use the correct temperature to your filament, as in my experience that has more to do with the dimensional accuracy, than anything else.

author: Jan Audio
author_rank: Frequent Contributor
timestamp: November 11, 2021, 04:55:12 pm
content: Where do i adjust the axis then ?Not done by scaling right ?Why is there no calibration in the ender 3 pro ?

author: xrunner
author_rank: Super Contributor
timestamp: November 11, 2021, 05:30:03 pm
content: Quote from: Jan Audio on November 11, 2021, 04:14:21 pmThe question is not such a simple thing to answer. There could be more than a single setting that can cause the calibration cube to be too large or too small. Which axis is off? By what amount is the calibration cube off? Tenths of a millimeter or several millimeters (or more ...) ?

author: Lindley
author_rank: Regular Contributor
timestamp: November 11, 2021, 06:25:53 pm
content: As @xrunner mentions you need to say what is out and by how much.If this is your first attempt at 3D printing have you built the unit yourself and followed some of the helpful videos on how to set it up.Also as mentioned, the Chep video on Bed levelling is good and has the gcode for the test prints.Until those key points are correct its pointless calibrating further.

author: Bassman59
author_rank: Super Contributor
timestamp: November 11, 2021, 08:50:04 pm
content: Quote from: Jan Audio on November 11, 2021, 04:55:12 pmThe printer has a way to set the number of motor steps per mm for each axis (X, Y, Z and the extruder). My printer is across town so I can't tell you the exact menu item to choose for this, but it's there. Here's the thing, though: the firmware from Creality has hardcoded constants for them that are correct for the hardware. They know the size of the bed and the number of teeth on the gear that drives the belts and they know the diameter of those gears so there is no real reason to change those constants. When you slice your design, you get gcode that says "move to this position" and the Marlin firmware knows how many steps it has to move each motor to make that happen. As long as the machine is stable this works.The exception to that is the extruder motor. Surely you've come across the statement, "Calibrate your E-steps!" and the reason you need to do this is because every spool of filament has slightly different diameter (from the nominal 1.75 mm). You can test the accuracy of your extruder motor by telling it to extrude 100 mm of filament and then measuring how much you actually got. Then there's a simple formula to get the value of E-steps to enter into your printer.As for everything else: remember that all movements in the machine are relative to some known home position. Home position is determined by moving each axis until hit hits the home limit switch. X and Y are not really all that sensitive because all they do is control where on the bed the filament gets extruded. If your X origin is off by a few millimeters, it doesn't really matter -- the entire print will be offset from the corner of the bed by that much.The Z axis is critical. It's what sets the position of the nozzle with respect to the bed. And there are a couple of variables here: the Z axis limit switch (which tells the firmware "this is home!") and the four bed-leveling adjustment knobs that move the corners of the bed up and down. The "calibration" here is that you set the Z axis limit switch location to something that allows for reasonable adjustment of the actual bed height. That is, when you tell the machine to move the Z position of the nozzle to "home" it should go to very close to the bed. It can't be actually touching the bed because you can't extrude the first layer. So the idea is to set the bed about 0.1 mm below the nozzle at "home" everywhere on the bed. The usual recommendation is to use a piece of printer paper, which is about 0.1 mm thick, as reference. (or a feeler gauge if you have one.) Then you "level" the bed by moving the head to X and Y positions over each of the adjustment screws, and you put your calibrated paper between the nozzle and bed and you should have a bit of friction as you move the paper. No friction? Move the bed UP in that corner by turning the knob. Too much friction or the bed is touching the nozzle? Adjust the knob to move the bed DOWN. Repeat for all corners. And do it again to be sure. And maybe check the middle of the bed.By the way, do your bed level adjustments when the bed and nozzle are both at working temperature (usually 60ºC bed/200ºC nozzle for PLA). The beds warp and change slightly with temperature.To answer your question: there's really no "calibration" that the machine can do by itself. The above is really all you need to do.Oh, I forgot: you do want to make sure the temperature-control loop is working properly. The firmware uses standard PID to control temperature and there's a simple procedure to allow the machine to auto-tune the loop for a given working temperature.

author: Bassman59
author_rank: Super Contributor
timestamp: November 11, 2021, 08:54:35 pm
content: Quote from: Jan Audio on November 11, 2021, 04:55:12 pmOne more thing:Scaling as such is done in your design software. Say you're using Fusion360. You tell Fusion that your design units are mm (the default). Everything in your design, then, is done in those units. You export your design in STL or the preferred 3MF format. Those formats don't know about units, which is fine, because the slicers expect STL and 3MF files to use mm for units. (Cura or PrusaSlicer, I forget which, has an option to import a file using Imperial units.)Therefore the slicer "knows" your design is in mm, and will export sliced gcode that tells the printer to move the nozzle and bed in those units.

author: xrunner
author_rank: Super Contributor
timestamp: November 12, 2021, 02:00:36 am
content: I've had my Ender 3 pro for something like 3 -4 years and I started out not knowing Jack Squat about it. I've made lots of mods to it, I keep the Marlin firmware updated with many chances to make mistakes in the config files, and fiddled with stuff I probably shouldn't have ...I really can't recall any model being badly scaled more than what, 1 mm ... certainly nothing larger than several mm off or I'd remember it. I mean where could radical scaling errors occur? In the slicer by accidentally changing the X, Y or Z model scaling by accident? The flow and e steps can be a problem but it wouldn't make the model off by some crazy large amount.

author: Jan Audio
author_rank: Frequent Contributor
timestamp: November 12, 2021, 03:01:00 pm
content: I am printing casings and had a odd model.I had to place the front panel on the side so it wont take 10 hours extra for supports.I had to take off the text for the potentiometers and name.Then i noticed : it wont fit, i printed again before posting this time.I just cut a bit off and it fits.Oh well this velleman PLA bends very much anyways so it was already bad, + bad design, lessons learned.I want to redo this whole project, i also feel like doing nothing until next year, exept calibrating my printer.It was a few millimeter off on the Z axis.What can i set where ?, i need it before next year.

author: MarkF
author_rank: Super Contributor
timestamp: November 12, 2021, 07:49:46 pm
content: The firmware in your printer should already be very close (i.e. within a few millimeters).Here is a pretty good video showing the procedure to adjust the calibration (all 3 axis plus the extruder):Since the filament will have some shrinkage, your slicer software can also do a percentage scaling. This will be trial and error. In Cura for example, you can have a different % scaling for each axis. I only change this after I know that the printer movement in each axis is correct. Be aware that each filament type and brand will be slightly different.

author: Lindley
author_rank: Regular Contributor
timestamp: November 13, 2021, 11:58:24 am
content: Quote from: xrunner on November 12, 2021, 02:00:36 amAssume you mean Marlins own software rather than Crealitys software, which I gather is a modified version of Marlin ?As a beginner with an Ender3 V2, is it worthwhile installing Marlins own version ? not sure what advantages it offers ?

author: xrunner
author_rank: Super Contributor
timestamp: November 13, 2021, 02:14:53 pm
content: Quote from: Lindley on November 13, 2021, 11:58:24 amYes, Marlin from here -https://marlinfw.org/QuoteGood question. It allows you to add features that the manufacturer did not enable on the menu of the printer. All the improvements / bug fixes in the underlying control software are also part of new versions. You can see all the changes in the release notes. Many don't apply to each specific printer but many apply to all printers -https://github.com/MarlinFirmware/Marlin/releasesFor example, one thing you can enable is something called Linear Advance, you can read about it here -https://marlinfw.org/docs/features/lin_advance.htmlYou have to initially make changes to the Marlin-supplied configuration.h and configuration_adv.h files so all the machine settings specific to your printer are correct. You can probably find these config files for your printer available. If you can compile Marlin with those configuration files and get your printer working the same then you are all set. After that, you can move forward and experiment with items not enabled in the firmware supplied with the printer and keep the underlying control software routines updated.I compile with Visual Studio Code -https://code.visualstudio.com/The binary file is written to an SD card and inserted into the printer's SD card port when the printer is off. When the printer is turned on and the printer sees a card with firmware.bin on it, it will automatically install the firmware.If you don't like tinkering with this sort of thing and your printer is working to your satisfaction, then I wouldn't do it. But if this sort of tinkering doesn't bother you and you can take a few failures and problems, then go ahead and go for it.

author: Lindley
author_rank: Regular Contributor
timestamp: November 13, 2021, 02:46:23 pm
content: @xrunner - thanks for your detailed reply, will certainly have a good look at Marlin, do not mind tinkering or compiling, half the fun , plus can always revert to Crealitys software if I get lost

author: xrunner
author_rank: Super Contributor
timestamp: November 13, 2021, 02:53:48 pm
content: Quote from: Lindley on November 13, 2021, 02:46:23 pmRight - if you can get the firmware (binary file) from Creality for your specific printer you can just re-install that it if anything goes wrong.

author: Jan Audio
author_rank: Frequent Contributor
timestamp: November 13, 2021, 03:31:49 pm
content: I found it in the original firmware also.Under control->motion