The Ender-3 Pro I bought from Micro Center was well packaged and easy to assemble. However, it had some issues out of the box: 1. It would under extrude due to the extruder motor skipping. 2. The bed was a little warped (expected for most printers).
3. Some preassembled components were assembled incorrectly from the factory (one of the extruded base rails was mounted backwards – easy fix). The first issue was primarily due to a low Vref setting on the stepper driver.
The control boards for these printers uses A4988 drivers and a 0. 15 ohm current sense resistor. Using the Vref = R x 8 x Current Rating of motor formula from the A4988 datasheet yields a Vref of 1. 2V for the 1A extruder motor.
Mine was set to 0. 73V. The X, Y, and Z motors are rated for 0. 8A each, so they each would require a Vref of 0. 96V. The Vrefs for these are easily set via the small potentiometers on the control board (RP4 is the reference designator for the extruder, for example).
The center of the potentiometer is conductive, so you can measure the Vref voltage by touching the probe there and referencing it to DC – (black wire) coming in from the power supply. My X, Y, and Z were all set to less than 0.
55V. I bumped these all up to their proper values and experienced no more extrusion or skipped layer issues due to low drive strength of the stepper motors. At these settings, the stepper motors ran at a comfortable temperature (not at all too hot to touch).
The second issue is common as printer beds tend to warp a bit during heating/cooling cycles. Usually, this is not much, but even a tenth of a millimeter can make a difference. To address this, I purchased a CR Touch Z-axis probe and connected it to the 5-position socket on the control board meant just for this purpose.
These sensors allow you to use this probe to home the Z-axis and generate a bed level mesh to compensate for warped beds – this works very well once you can get it to work. You have to update the firmware on the printer to enable the CR Touch probe.
However, I found the firmware to do this on Creality’s website to be VERY buggy – the Z-offset and bed leveling did not work at all as they gave highly erroneous values to these parameters. To correct this, I had to download Marlin bugfix 2.
0. 9. 3 and compile it with the features used for this 3D printer in configuration. h and configuration_adv. h files (there are specific ones pre-generated for the Ender-3). I found this to be a somewhat complex/tedious process.
I (H5Labs) posted compiled binaries at https://github. com/MarlinFirmware/Marlin/issues/23806 in case anyone wants to just download, update, and go. I provided two versions there; one that supports a CR Touch/BL Touch probe and one that is completely stock as the Creality stock firmware is quite buggy.
There is also information at this link that tells you how to set your Z-probe offset when using a CR Touch/ BL Touch. These changes alone get this printer working very well. Additional changes that improve it further making it a true “diamond” include: -Dual-Gear extruder: The factory extruder is plastic and is prone to breaking or losing its tension over time.
An ideal extruder is the Bondtech extruder, which gears down providing more than 3x torque (I implement these on all my 3D printers – I never have extrusion issues afterwards). But, there are other less expensive dual-gear options out there I’ve tried with great results.
If you DO change out to a dual-gear extruder, you will likely need to change out your extruder motor to a Creatlity 42-40 stepper motor without the gear installed as these tend to have a shaft length of about 20mm.
The one that comes stock on these printers has a press-fit gear on them and the shaft is only about 15mm, which is too short on which to install the dual-gear drive gear. -Enclosure: a nice enclosure such as the Creality 445x565x685mm enclosure helps to prevent warping on larger (X/Y) prints as it retains heat in the enclosure.
-Z-axis support rods: These attach to the base legs and the top of the Z-axis extrusions to make the structure a lot more rigid. This helps minimize vibrations for taller prints. -Silicone Bed Mounts: The bed springs that come with the Ender-3 are not great – their spring constant tends to change over time/use.
Silicone bed mounts are inexpensive and implement a semi-rigid bed mount. You can still adjust to get it roughly level and it is more likely to stay consistent with these. -3D printed parts: You can find lot of upgrades on sites like www.
thingiverse. com that you can 3D print yourself. Personally, I like the cable chains – helps tidy up all the wiring. Other items to consider: • Route signal wires away from motor wires as much as possible to minimize noise induction.
• The dual-gear extruder drive gear has a smaller diameter than the original drive gear that comes with the 3D printer. This is a good thing as it results in higher torque capability to apply more force to push the filament.
However, this also requires adjustment of the Extruder steps/mm. For the stock motor/extruder, this value is between 93 and 100 steps/mm. For the dual-gear extruder, this needs to be increased to about 135 steps/mm.
Use the LCD control to set the steps/mm (Configuration -> Advanced Settings -> Steps/mm -> Extruder). o To properly calibrate this setting, use a G Code sender program such as Pronterface (connect PC to Printer via USB).
For the dual-gear extruder specified above, start with 135 Steps/mm. For the stock extruder, start with 93 Steps/mm. For a Bondtech type (3:1 geared) extruder, start with 415 Steps/mm. Preheat nozzle to ~200C Measure 120mm of filament from the extruder inlet – mark this point on the filament Extrude 100mm of filament using the following G Code commands: • M83 ;This sets relative positioning mode for the Extruder • G1 E100 F100 ;This makes the extruder move ~100mm over about a minute.
Once done, measure the distance between the extruder inlet and the mark on the filament – this should be 20mm if the steps/mm is set correctly. If it is less than 20mm, the steps/mm is too high. If it is more than 20mm, the steps/mm is too low.
You can calculate what the steps/mm should be based on your measurement via the following: • Steps/mm = (Total steps) / (100 – Actual extrusion length) where: o Total steps = your steps/mm value x 100 (i.
e. for 135 steps/mm, this would be 13,500). o Actual extrusion length = 120 – the distance you measured between the extruder inlet and the mark on the filament (i. e. if you measured 18mm, this would be 120 – 18 = 102mm).
Change your Extruder steps/mm based on your calculations, if needed. Store settings to EEPROM using the LCD controls (Configuration -> Store Settings), otherwise the old settings would be restored at the next power up.
• I recommend using Prusa Slicer for the slicer software. The Ender-3 comes with an SD Card containing Cura, which is also a slicer. But, I find Prusa Slicer to be better supported and easier to get going.
Plus, it has pre-configured machine settings for the Ender-3 with a BL Touch sensor (BL Touch and CR Touch are interchangeable and are essentially the same thing – however, the CR Touch has a more robust metal probe as compared to the plastic probe of the BL Touch).
• Also note, when printing with PLA (the most common plastic), the extrusion multiplier should be set to about 0. 9 if the extruder steps/mm is calibrated properly (if set to 1. 0, this can cause over extrusion, which can result in shifted layers during printing).
For ABS (a higher shrink-rate plastic), this would be closer to 1. 0. • If the 3D printer is configured for using a CR Touch, BL Touch, or EZABL bed leveling sensor, the starting G Code script in the slicer software should include the following two G Code commands: o G28 ;Auto home all axes.
o G29 ;Generate a bed leveling mesh – this should be done after preheating the bed and nozzle. The starting G code script is added to every single sliced G code file. Hope this helps. -D. J.