Pretty much at my wit's end



  • Hey guys, I've been having a hard time getting my Ender 3 to work with the Duet WiFi. I've been troubleshooting on and off for the last year and a half or so and I can't seem to get this thing to print properly.

    ;TLDR (More details below): Replaced Ender 3 mainboard with Duet WiFi + BLtouch, nothing sticks to the bed or nozzle too close to bed.

    Machine:
    Ender 3 (Ordered Jan 2019)
    Creality Glass Bed (Ordered Jan 2019)
    Duet 2 Wifi (Ordered March 2019)
    BLtouch V3.1 (Ordered Nov 2019)

    Config.g:

    ; Configuration file for Duet WiFi (firmware version 2.03)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sat Apr 04 2020 11:36:08 GMT-0400 (Eastern Daylight Time)
    
    ; General preferences
    G90                                     ; send absolute coordinates...
    M83                                     ; ...but relative extruder moves
    M550 P"Ender 3"                         ; set printer name
    M918 P1 E4 F2000000                     ; configure direct-connect display
    
    ; Network
    M552 S1                                 ; enable network
    M586 P0 S1                              ; enable HTTP
    M586 P1 S0                              ; disable FTP
    M586 P2 S0                              ; disable Telnet
    
    ; Drives
    M569 P0 S0                              ; physical drive 0 goes backwards
    M569 P1 S0                              ; physical drive 1 goes backwards
    M569 P2 S1                              ; physical drive 2 goes forwards
    M569 P3 S0                              ; physical drive 3 goes backwards
    M584 X0 Y1 Z2 E3                        ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                 ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E93.00        ; set steps per mm
    M566 X1200.00 Y1200.00 Z24.00 E300.00   ; set maximum instantaneous speed changes (mm/min)
    M203 X9000.00 Y9000.00 Z180.00 E6000.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z100.00 E5000.00   ; set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E1000 I50           ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                 ; Set idle timeout
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                        ; set axis minima
    M208 X235 Y235 Z260 S0                  ; set axis maxima
    
    ; Endstops
    ;M574 Z0 S0                              ; set active low and disabled endstops
    M574 X1 Y1 S1                           ; set active high endstops
    M574 Z1 S2 ; Define Z to use Probe. Home to Min
    ; Z-Probe
    M307 H4 A-1 C-1 D-1                     ; disable heater on PWM channel for BLTouch
    M558 P9 H5 F500 T2000                   ; set Z probe type to bltouch and the dive height + speeds
    G31 X-42 Y-10 Z3.3 P25                        ; set Z probe trigger value, offset and trigger height
    M557 X15:220 Y20:220 S40                ; define mesh grid
    
    ; Heaters
    M305 P0 T100000 B4092 R4700             ; set thermistor + ADC parameters for heater 0
    M143 H0 S150                            ; set temperature limit for heater 0 to 150C
    M305 P1 T100000 B4092 R4700             ; set thermistor + ADC parameters for heater 1
    M143 H1 S275                            ; set temperature limit for heater 1 to 275C
    
    ; Fans
    M106 P0 S0 I0 F500 H-1                  ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45               ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1:0 T45             ; set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on
    
    ; Tools
    M563 P0 D0 H1 F0                        ; define tool 0
    G10 P0 X0 Y0 Z0                         ; set tool 0 axis offsets
    G10 P0 R0 S0                            ; set initial tool 0 active and standby temperatures to 0C
    
    ; Custom settings are not defined
    
    
    

    The story so far:
    I changed out the mainboard for a duet WiFi since I somehow broke the original board (I was trying to install a bootloader on it to run Marlin from it), up to that point it was working fine. Anyway, I installed the board and got a BLtouch at the same time, since then, I haven't been able to get anything to stick to the bed, I've tried everything that I can think of, I replaced the BLtouch with a newer one since it somehow started giving errors (I probably did something wrong), I followed every guide that I could find. Right now, it's setup, the new BLtouch is working, but when I print, it looks like it's ignoring the offset for the BLtouch and the nozzle seems to be too close to the bed (first layer is squished right into the texture of the bed), I've changed the offset and it's still too close.
    Any help would be really appreciated.

    Thanks!



  • Have you tried lifting the head using the Duet UI's baby-steps function or setting a positive Z offset in your slicer?


  • Moderator

    @Kweakui said in Pretty much at my wit's end:

    M558 P9 H5 F500 T2000

    See M558. I'd guess this is mostly about the accuracy and repeatability of your probe:

    • F500 (8.3 mm/s) is pretty fast for the probing speed. Try F100 or F50
    • Set a recovery time to let the probe settle (R parameter)
    • Do multiple probes of the same point (A parameter), until within a tolerance (S parameter)
    • Turn off heaters when probing, as they can cause interference (B parameter)

    So try: M558 P9 H5 F100 T2000 R0.5 A4 S0.03 B1

    Then set the Z offset; see https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe

    Edit: Then we need to look at your homeall.g and homez.g, so please post them.

    Ian



  • @Kweakui How did you determine the Probe offset of 3.3mm? I know I've been having some trouble too with getting a good probe offset, but one of the issues I was having is that when you do a G30 there is a little pull back aftwards which was throwing me off. Another issue I have is that my bed not very level and there is not adjustment for it, so when you probe the nozzle at the middle of the bed (X117.5 and Y117.5) then run the probe without accounting for you X-42 and Y-10 it could give some variation in the Z offset between the two locations of the probes.

    I also agree with @droftarts that your probing speed seems a bit fast and you may want to lower that to 200 or less. but I would also increase my T2000 to a normal travel speed for that printer of up to 4200 (70mm/s). See if that helps.



  • @droftarts Thanks! I'll try this and post the homing files tomorrow.



  • @zapta To be honest, I can't remember. I was following the steps on https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe and https://betrue3d.dk/bltouch-on-duet-wifi-configuratio-and-usage/ . I haven't touched the thing in about 6 months due to other things taking precedence, but trying to get it up and running again now.



  • @baird1fa I was following the steps on https://betrue3d.dk/bltouch-on-duet-wifi-configuratio-and-usage/ and https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe (among other sites I was able to find 6 months ago).


  • Moderator

    There's this whole guide series too.

    https://duet3d.dozuki.com/Guide/Ender+3+Pro+and+Duet+Maestro+Guide+Part+1:+Wiring/37

    Part 5 gets into the BLtouch



  • @droftarts

    I made the changes to M558 and redid the Z offset, last time I added to the offset to try and get the nozzle to stop grinding into the bed, that was probably the wrong way to go about it.

    homeall.g:

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sat Apr 04 2020 11:36:08 GMT-0400 (Eastern Daylight Time)
    G91                     ; relative positioning
    G1 H2 Z5 F6000          ; lift Z relative to current position
    G1 H1 X-240 Y-240 F3000 ; move quickly to X and Y axis endstops and stop there (first pass)
    G1 H2 X5 Y5 F6000       ; go back a few mm
    G1 H1 X-240 Y-240 F240  ; move slowly to X and Y axis endstops once more (second pass)
    G1 H1 Z-265 F240        ; move Z down stopping at the endstop
    G90                     ; absolute positioning
    G92 Z0                  ; set Z position to axis minimum (you may want to adjust this)
    
    ; Uncomment the following lines to lift Z after probing
    ;G91                    ; relative positioning
    ;G1 Z5 F100             ; lift Z relative to current position
    ;G90                    ; absolute positioning
    
    

    Homez.g

    G1 X112.5 Y112.5 F4000 ; Move probe to middle of bed
    G1 S2 Z10 ;Move Z up 10 mm
    G30 ;Home using probe
    
    

    I manually modified the HomeZ.g based on what I could understand at the time, but I didn't make any modifications to the homeall.g, so I think it'll need some adjustment. I use CURA as a slicer Here are the start and end Gcodes (Also, if someone can help me out with a good profile for the Ender3 with a duet board, that would be great too. I'm using basically the default Ender3 profile for it. ).

    Start Gcode:

    ; Ender 3 Custom Start G-code
    G92 E0 ; Reset Extruder
    G28 XY ;Home XY
    M561 ; Clear any bed transform that might be in place
    G1 X104.5 Y130 ; Move Probe to middle of bed
    G30 ; Do a single probe
    G29 S1 ; Load my heightmap. Otherwise use G29 S1
    G1 Z20.0 F6000 ; Move Z to 20
    G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
    G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
    G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
    G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
    G92 E0 ; Reset Extruder
    G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
    G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish
    

    End Gcode:

    G91 ;Relative positioning
    G1 E-2 F2700 ;Retract a bit
    G1 E-2 Z0.2 F2400 ;Retract and raise Z
    G1 X5 Y5 F3000 ;Wipe out
    G1 Z10 ;Raise Z more
    G90 ;Absolute positionning
    
    G1 X0 Y{machine_depth} ;Present print
    M106 S0 ;Turn-off fan
    M104 S0 ;Turn-off hotend
    M140 S0 ;Turn-off bed
    
    M84 X Y E ;Disable all steppers but Z
    
    

  • Moderator

    @Kweakui said in Pretty much at my wit's end:

    G1 H1 Z-265 F240 ; move Z down stopping at the endstop G90 ; absolute positioning G92 Z0 ; set Z position to axis minimum (you may want to adjust this)

    This part of homeall will need to be changed to match what you've changed in homez. It's currently setup to use an endstop rather than the probe. So you'll need to position the probe and then call G30. And remove the G92 Z0.

    @Kweakui said in Pretty much at my wit's end:

    G28 XY ;Home XY M561 ; Clear any bed transform that might be in place G1 X104.5 Y130 ; Move Probe to middle of bed G30 ; Do a single probe G29 S1 ; Load my heightmap. Otherwise use G29 S1

    Your start gcode looks ok since you're working around calling G28 there so you're still using the probe to home the Z axis. If you cleaned up the homeall file you could simplify the start gcode by just calling G28 to home everything and then G29 S1 to load the heightmap.

    What does your heightmap actually look like? When did you last re-create it? This could be part of your problem, since if the heightmap was created with a bad Z0 position it could be way off. I suggest you start fresh. Fix your homeall. Relevel the bed manually. Remeasure your probe offsets. Then create a new G29 heightmap. If your first layer is still too close or too far away use baby stepping to adjust and then apply that offset to the G31 offset in config.g.

    The guides I linked to above go over a lot of this stuff for calibration and also has a ender 3 profile for cura you can try.



  • Thanks a lot guys, I'm going through re-calibrating the printer. I have 2 rolls of PLA, but they're pretty brittle (probably because I just let them out in the open for the last year or so), so I'm going to figure out if I can fix it, if not, I'll have to order some more. Either way, I'll update this when I have a chance.

    Thanks again!


  • administrators

    @Kweakui said in Pretty much at my wit's end:

    Thanks a lot guys, I'm going through re-calibrating the printer. I have 2 rolls of PLA, but they're pretty brittle (probably because I just let them out in the open for the last year or so), so I'm going to figure out if I can fix it, if not, I'll have to order some more. Either way, I'll update this when I have a chance.

    Thanks again!

    I find that if I throw away the first few metres of filament, after that it stops being brittle and can be used.



  • @dc42 said in Pretty much at my wit's end:

    @Kweakui said in Pretty much at my wit's end:

    Thanks a lot guys, I'm going through re-calibrating the printer. I have 2 rolls of PLA, but they're pretty brittle (probably because I just let them out in the open for the last year or so), so I'm going to figure out if I can fix it, if not, I'll have to order some more. Either way, I'll update this when I have a chance.

    Thanks again!

    I find that if I throw away the first few metres of filament, after that it stops being brittle and can be used.

    I read somewhere that it's exposure to sunlight (probably UV) that causes that to happen. I've noticed that transparent PLA is much more prone to becoming brittle than solid colour. And since I've moved my printer out of my study which has a window, into my garage which does not have windows, I haven't noticed any brittle PLA, despite it being left on the machine for months. So maybe there is something in that theory about UV light.



  • It appears that putting the filament in a freezer bag with a couple of silica gel packs for a few days fixed the brittleness.

    So I went through the calibration steps at https://duet3d.dozuki.com/Guide/Ender+3+Pro+and+Duet+Maestro+Guide+Part+4:+Calibration/40 and the BLtouch part. I got to the part of printing the test cube, the first layer still isn't sticking properly and I'm not sure the compensation is working, if I look at the first layer it's trying to put down, some of the areas are laying down ok but others look like the nozzle is too close to the bed. I don't see the Z axis screw moving at all when printing, it gets most of the way through the layer, but then a part of it either doesn't stick or comes unstuck and gets pulled by the nozzle and takes the rest of the layer with it.

    I ran the mesh bed compensation to generate the height map and it looks ok I think, I did all the flow rate and esteps calibrations, the bed is as level as I can get it.

    I tried Baby steps and it doesn't seem to be helping, I'll keep messing around with it, but some help would be good. Let me know if you need me to post settings or anything.

    I'm prinintg PLA at 210 with a bed temp of 60 at the moment, the first lines that get printed on the side from Cura seem to go down fine, but when it starts printing on the bed is when things start to degrade, this is on the creality glass bed as well.


  • Moderator

    Clean your bed with warm water and then IPA and try again.

    Are you running G29 before the print or loading a saved heightmap before the print with G29 S1? What does the height map look like?



  • I'm calling G29 S1 in the start code of the slicer

    I ran G29 to generate the heightmap manually just before starting the print.

    Here's a screengrab of the heightmap, that back corner looks a bit high, the back corner of the print is where the nozzle looks too close to the bed, Maybe a re-levelling is in order? But the printer should be compensating for that unless I don't have enough data points?

    4596236c-3e62-453b-89b5-0c7a68cada08-image.png



  • @Kweakui @Phaedrux Ok, cleaning definitely helped (should have tried that first), it still doesn't look like it's trying to compensate though as the part close to that back corner is definitely too close to the bed.



  • I'm a heck of a lot farther now thanks to your help guys, it printed out the test cube, there's still some dialing in for me to do I think, I'm still not convinced it's properly compensating, but I'm going to re-level the bed again and get that back corner in line as much as I can.

    In the 21 mm of the test cube (box?) that it printed, the front looks pretty great but the sides have a bit of wobble to them and the back has these weird artifacts, here's a picture.

    IMG_20200708_171517.jpg

    I think those might be down to Slicer settings, it looks like it does some sort of wipe at those points.

    I'm going to try printing a few other things and see how to dial in all the settings.

    If you guys have any suggestions, I'd welcome them.

    Thanks for all your help!


  • Moderator

    Thin prints like that with short layer times are going to have artifacts like that, so don't worry about it too much.

    It looks like you could level the bed a bit more, but it could also be some skew in the axis itself, which you can't really level out. You can try upping the number of points to get some more detail.

    You can also reduce the first layer speed and increase the bed and nozzle temp a bit to help adhesion. Your extruder should be well calibrated as well.



  • I'll try lowering the speed of the first layer, I tried printing a benchy, the brim seemed to print fine, but the actual benchy wouldn't stick in the middle of the bed. I'll also try upping the bed temp and nozzle a bit.

    I did go through the bed and nozzle calibration while doing the rest, I think they're well calibrated now.

    I'll get this eventually...


  • Moderator

    To help with baby stepping adjustments you can set your M208 Z axis minima value slightly negative like -1 so that you can go below what the firmware assumes is the bed surface, but be careful because it will also allow you to go below what the firmware thinks is the bed surface.



  • So I lowered the first layer speed (down to 15mm) I also bumped up the temp of the plate by 5 degrees (65 now) and the only way I was able to get it to stick was using a layer of glue stick, it's printing a benchy now, I'll see what it looks like after..


  • Moderator

    I found that glass has to be perfectly clean to stick well without using some adhesive. Try giving it a wash with some warm soapy water and then a wipe with IPA.

    65c may be the heater temp, but the actual surface may be substantially lower, so don't worry so much about the number, use whatever value works. So try 70, or even 75.



  • I personally like glue stick as it give a release agent also. You can wash the glue stick away from between the part and the bed.



  • So The benchy printed, I still need to do some tweaking to get it printing perfectly, but it's printing now which is important, in celebration, I did a 14 hour print, a little planter with multiple compartments.

    It printed out almost perfectly.

    Thanks so much guys, your help was what got me back up and running.


Log in to reply