Ender 3 Pro configuration



  • My Ender 3 pro board failed on me for some strange reason. I think the problem was that the extruder motor driver died. 2 of the 4 pins went straight to ground.

    So now I have a Duet board. I have no problem understanding electronics and so forth, but G-Codes and such is way beyond my knownledge.

    So far I have managed to home x and y without any problems. Both hit the endstops and work as expected.

    Z is another story. Z has no endstop, but uses a BLTouch. It works but I have to stop it with my finger because it tries to probe outside of the bed.

    I can manually change it so it probes on the bed via homez and homeall, but when I press the mesh bed compensation it will probe outside of the bed again.

    Do anyone have a working configuration for Ender 3 Pro + Duet + BLTouch? That would help a lot.



  • Here is a checklist of what I want to do.

    1. BLTouch goes to center (x, y) and probes z just like marlin.

    2. Auto bed leveling x amount of probe points just like marlin.

    3. Start to print.



  • @baesjerker said in Ender 3 Pro configuration:

    My Ender 3 pro board failed on me for some strange reason. I think the problem was that the extruder motor driver died. 2 of the 4 pins went straight to ground.

    So now I have a Duet board. I have no problem understanding electronics and so forth, but G-Codes and such is way beyond my knownledge.

    So far I have managed to home x and y without any problems. Both hit the endstops and work as expected.

    Z is another story. Z has no endstop, but use a BLTouch. It works but I have to stop it with my finger because it tries to probe outside of the bed.

    I can manually change it so it probes on the bed via homez and homeall, but when I press the mesh bed compensation it will probe outside of the bed again.

    Do anyone have a working configuration for Ender 3 Pro + Duet + BLTouch? That would help a lot.

    I am actually working on an Ender 3 for a friend of mine. I cannot imagine the differences in machine configuration being drastically different. I would suggest using the Z end stop on the top, that is what I am doing for now and up until this morning when I accidentally corrupted the sd card by trying to write to the bedmesh.g file.....while it was actively reading the bedmesh.g file, it was working extremely well and it is extremely precise.

    Much of your results will depend on (1) How well you assembled it (2) how precisely you assembled it (3) how good you are at troubleshooting, calibrating, and tuning it.

    My configuration will probably be about the best out of anyone using an Ender because I am a machine builder, I am a CNC machinist, I am a Perfectionist, and I have access to the measurement equipment to calibrate it extremely precisely.

    Getting dimensional accuracy with a low-end 3d printer is not within most people's realm. In general, it is not easy. Luckily, Creality did a phenomenal job on the design, relatively speaking. It is, however, time-consuming. I calibrate extrusion with a micrometer and I check perpendicularity with an indicator that measures in ten-thousandths of an inch. I assemble it on granite because of the way granite countertops are manufactured (they are CNC machined, then precision "lapped" which is like wet sanding but more similar to grinding and polishing to get a shiny finish). Granite is VERY precise, the flatness is amazing, we use higher precision granite at work for inspection tables. If you don't have one already, get a 123 block (machined, then ground) from amazon or something and a Fowler, SPI, or Mitutoyo caliper. Amazon or MSC direct will do.

    Assuming your machine is similar in the way it is assembled (your Z height will likely vary due to the change in the Y extrusion) then you could pretty much use my config and you'll only need to do a could things like calibrate your z endstop height from the bed, calibrate your bltouch trigger distance, and maybe your steps per mm may be off a tiny amount if the deviation in the steppers is drastic, but I doubt it'll be all that much.

    The duet hardware alone just STOMPS the sh*tty ender board, there is literally no comparison between the two. The firmware....good god, you have no idea how good it is, how far ahead it truly is. Switching to the Duet is as good of a decision as buying the ender pro, but better because once you get to know the duet and RRF....you'll begin to understand just how much you can do with the boards and how much development actually went into and is still going into the duet ecosystem.

    Since I corrupted my SD card this morning (luckily I had a backup from the night before) I lost a lot of the final config numbers, like the numbers you are asking for to avoid it going off the bed.

    So you aren't super frustrated doing it yourself until I am finished, this should solve some of your problems:

    G31 P500 X-41.5 Y-10.265 Z0.9                                ; Set Z probe trigger value, offset and trigger height
    

    This is the offset value in the X and the Y (both negative, as cnc offsets are ALWAYS relative to the spindle/tool head)
    This is assuming you have the same BLTouch mount that I have, I can only go by what I have in front of me.

    Where this file is located depends on your configuration. If it is a standard config file from the configurator tool, then the G31 value will be by the rest of your Z probe stuff about 3/4 of the way down.

    I have a separate "bedmesh.g" file and call up bed.g file like this:

    ; bed.g
    ; called to perform automatic bed compensation via G32
    ;
    ; generated by RepRapFirmware Configuration Tool on Tue Jun 26 2018 13:03:45 GMT-0400 (EDT)
    
    M561 ; clear any bed transform
    
    M98 Pdeployprobe.g  ; deploy mechanical Z probe
    
    
    M98 Pmachine_bedmesh.g ; configure the bed mesh
    
    G29                 ; probe the bed and enable compensation
    
    ; Probe the bed at 4 points
    G30 P0 X10Y30 H0 Z-99999
    G30 P1 X10 Y220 H0 Z-99999
    G30 P2 X175 Y220 H0 Z-99999
    G30 P3 X175 Y30 H0 Z-99999 S4
    
    M98 Pretractprobe.g ; retract mechanical Z probe
    

    My bedmesh file just looks like this:

    ; machine_bedmesh.g
    ; February 18, 2019
    
    ; This file defines the extent and density of the bed mesh.
    ; The way this is calculated is by taking the max X, subtract the Z probe X offset
    ; from it and use that as the second of the X values.
    ; For example, if max X is 383 and the Z probe X offset is -43, the parameter would be X0:340
    ; For the Y parameter, make sure you don't start too far to the front or you will hit
    ; the bed clips with the hot end.  Anywhere between 35 and 40 is probably a good start.
    ; The S parameter defines the distance between two mesh points in mm.
    
    M557 X0:175 Y20:220 S40      					   ; Define mesh grid
    M376 H15 ; Define height(mm) over which to taper off heightmap compensation
    

    This should get you past the issue you are having now, is you are still going off the bed after this, bump up the X value in the M557 command found in my bedmesh file, or measure the offset in the X and Y value for your BLTouch mount and alter it in the G31 command, obviously left of the nozzle is negative, right is positive as it is relative to the spindle/tool head.

    I'll upload the rest to my github when I am finished.



  • Thank you for taking the time to write a very interesting reply. I will try those codes and reply back.



  • Bumping the Y value fixed my issue. I can clearly see that I will need to edit both the X and Y values to make it more precise. Right now it probes a bit more on the front side (x) than back (by back I mean towards the x motor).



  • @baesjerker

    You are welcome! I know what it is like to switch to a superior....thing...whatever that may be, software, hardware, programming languages, manufacturing techniques, ect. Only to be limited by the genuine lack of exposure to it and the first couple hours, days, weeks, or months are just deeply disappointing, discouraging, frustrating, and you end up questioning if it was the right decision if it is bad enough.

    That is not what people need for additive manufacturing, better OSH, better FOSS, or just in regard to learning in general.

    I am sure if you are less busy than I am the next few days, you might get it printing fairly quickly (it is not hard once it homes correctly)

    You can try to calibrate it yourself to learn some of the code and whatnot. if you do, keep this code in the back of your mind when you are calibrating extrusion and when you are printing test cubes to verify dimensional accuracy (don't forget there is a big difference between high-resolution and high-precision/accuracy).

    https://duet3d.dozuki.com/Wiki/Gcode#Section_M579_Scale_Cartesian_axes

    That along with

    https://duet3d.dozuki.com/Wiki/Gcode#Section_M572_Set_or_report_extruder_pressure_advance

    These are two vital codes that make tuning SO MUCH EASIER!

    This may very well change but as of right now I have M572 set to

    M572 D0 S0.074										; pressure advance
    

    in the bottom of my config.g a few lines above my M501 command.

    You want a 123 block is because it is a precise way to set the nozzle height without touching the bed (I do not heat the nozzle, but i clean it thoroughly before I calibrate so I know I am touching metal, not plastic).

    No damage to the bed and the calibration is perfect. Just make sure you swap out the springs for solid bed mounts, I got mine at Ace and I would have to get a part number to tell you exactly what it is, but now my bed remains the same height. In the CNC realm, consistency is what you need to achieve repeatable precision.

    https://youtu.be/nIjM3FZahjE?t=115

    I just use 25.4 mm for my z height because 1.0000" is exactly equal to 25.4 mm, no trailing numbers, no nothing.

    If you do this though, add a mm or two or three to either the first layer or subtract a couple from your overall Z height (distance from high-end Z endstop) because it is too close to the bed print normally!

    If you do this, incrementally lower the nozzle slowly because that will be 1.0000" to touching the bed, not the few thou high to allow the plastic to come out of the nozzle. If you forget to add a few thousandths of an inch to this, you will damage your bed.

    I will keep this post updated but I will be a bit busy over the next three days with the ABB Yumi getting delivered at work tomorrow morning.



  • Thanks again for a really good reply. I will look into 123 block and swapping out those springs. Looking forward to more replies. I’m going to try to test print something later today.



  • If you would like to see my settings for my ender3 with a BL Touch for comparison, please let me know.



  • @paulhew hi. I would love to. Please share.



  • @paulhew said in Ender 3 Pro configuration:

    If you would like to see my settings for my ender3 with a BL Touch for comparison, please let me know.

    I would be curious what XY offset you are using and what mount you are using, I kinda eye-balled it with my dial caliper.

    It is worth noting that my bedmesh and bed.g files are most likely going to change, but it hits the bed right now, so, for now, it is good enough to move onto the next problem.

    I would be curious what is different between ours,



  • Before my last upgrades, these configs are for Ender3 Pro which has a Bullseye duct and its BL Touch Mount, I am also running a Maestro board in my printer and using a PanelDue touch screen. All original hardware.

    0_1556009924222_config.g
    0_1556009972883_bed.g
    0_1556009989340_deployprobe.g
    0_1556009998929_homeall.g
    0_1556010027421_homex.g
    0_1556010036914_homey.g
    0_1556010048946_homez.g
    0_1556010058346_retractprobe.g

    Hope these help!
    P.



  • Ok. So I printed a test cube yesterday. Usually when I printed something with the stock Ender 3 Pro board, the BLTouch would probe the bed before it starts to print, but not this time. The print looked decent, but a little squished in the layers. I need to experiment a bit here. BUT the strangest thing happened when the print finished. The extruder just stopped at the very last point in the very last layer and then the extruder retracted all filament from the nozzle and all the way back to the filament spool.

    I think this has to be related to Cura somehow. I’m going to try reprap flavor and some tunings found on this forum.

    This is a learning curve, but it’s fun to see progress.



  • @paulhew great! Thank you!



  • since a lot of people are converting their ender 3s it might make sense to include this as a default option in the configurator



  • @Veti Those configs are for a stock Ender 3 Pro with a BL Touch mounted on these parts.
    https://docs.google.com/spreadsheets/d/e/2PACX-1vS2TxsX-kBR6hmoeuBAtugCa8P2651bOPuQJ76QD8jk-UFWg4FWrNI2Ca36mKzLy2FUOWAu_IpzywLo/pubhtml?gid=1441642341&single=true
    BULLSEYE_BASE_CREALITY_9.27
    Bullseye_Duct_9.27
    ALL_BLT_LEFT_X-48_Y-10_3.29

    I was still unsure of the thermistor params, but the ones in the config seemed to work OK.

    Regards
    Paul.





  • Thanks @Veti I used those params in the end, I remember.



  • Thanks again for sharing your configs. I noticed right away that the heated bed/nozzle did not get hot enough so I kept the stock config here.

    M305 P1 T100000 B4138 R4700

    I also changed the xy offset to match my bltouch mount because I don't have a bullseye. Even after that it still seems to probe on the outside. I bumped "Y" again and it is probing on the bed again.

    I am running a test print again using Slic3r. Checked "Use relative E distances".



  • @baesjerker said in Ender 3 Pro configuration:

    Ok. So I printed a test cube yesterday. Usually when I printed something with the stock Ender 3 Pro board, the BLTouch would probe the bed before it starts to print, but not this time. The print looked decent, but a little squished in the layers. I need to experiment a bit here. BUT the strangest thing happened when the print finished. The extruder just stopped at the very last point in the very last layer and then the extruder retracted all filament from the nozzle and all the way back to the filament spool.

    I think this has to be related to Cura somehow. I’m going to try reprap flavor and some tunings found on this forum.

    This is a learning curve, but it’s fun to see progress.

    You'll need to check your start and end gcode in the slicer. It specifies what happens before and after the print. To home before printing there needs to be a G28. And to lift the nozzle after or at least move it away you can use G28 X to home the X axis to move it away from the print. You can get as fancy as you want.

    The retracting all the filament thing happens when cura is set to use absolute extrusion and the end gcode tells it to retract a bit of filament but instead of retracting just a bit, it commands it to go all the way back to the very beginning of extrusion. Setting cura to use relative extrusion distances will solve that.



  • Thank you @phaedrux Slic3r stock with checked " Use relative E distances" solved it, but I really don't like Slic3r. I find Cura much easier to use.

    I will look into how to use relative extrusion in Cura.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.