• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

Nozzle rams into bed when not near center

Scheduled Pinned Locked Moved Solved
Tuning and tweaking
5
20
761
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined
    deltwalrus
    last edited by 20 Jan 2021, 20:23

    ...I'm ready to pull out whatever is left of my hair over this.

    I've been slowly working on my converted Anycubic Kossel Linear Plus printer over the past 12 months or so, putting in a Duet WiFi board, Haydn's magnetic arms, a Duet Smart Effector, and a borosilicate glass plate (among other rebuild items).

    The issue I'm having now is that I can print small objects (20mm calibration cube, 3D Benchy, etc.) without major problems and they look great. But once I print anything that is larger and requires travel any considerable distance away from the center of the plate, the nozzle drags against the glass and I have to emergency stop the printer to avoid damage.

    I have auto-calibration included in the start G-Code in Cura for each print, and I do not have an auto-home set after that. My bed is almost perfectly level, I have a bubble level that, when placed on various parts of the plate, reads the same at each position. Also, it looks the same (the same amount of almost perfectly level) when placed atop the Smart Effector, bubble is in the same place.

    I have performed Z trigger height calibration with paper at 5 points on the bed (X0/Y0, X100/Y100, X-100/Y100, X100/Y-100, and X-100/Y-100), and they're all within 0.1mm of each other, but I'm not sure how to take that variance into account in G-Code (or if I need to at all).

    I took a speed square and checked for warping on the glass plate, and there doesn't appear to be any of that going on, but just in case, I've ordered some mirrors that are due to arrive tomorrow and I will try those to see if that changes anything.

    The magnetic arms are all within 0.02mm of each other in length, 304.12mm-304.14mm.

    I'm going to post my config files in the hopes that I have made some obvious, boneheaded mistake, but I'm starting to wonder if this thing will ever work. Any advice on what to check next or tweak would be very much appreciated. At this point, I feel equally like I could be one tweak away or completely turned around, I just don't know.

    undefined 1 Reply Last reply 21 Jan 2021, 07:34 Reply Quote 0
    • undefined
      deltwalrus
      last edited by 20 Jan 2021, 20:24

      config.g config-override.g

      1 Reply Last reply Reply Quote 0
      • undefined
        Phaedrux Moderator
        last edited by Phaedrux 20 Jan 2021, 20:32

        Include your homedelta.g and bed.g as well as the out put put M122 and M98 P"config.g" please.

        Have you seen these?

        https://duet3d.dozuki.com/Wiki/Calibrating_a_delta_printer
        https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareDeltaPrinter

        Z-Bot CoreXY Build | Thingiverse Profile

        undefined 1 Reply Last reply 20 Jan 2021, 20:50 Reply Quote 0
        • undefined
          deltwalrus @Phaedrux
          last edited by 20 Jan 2021, 20:50

          @Phaedrux said in Nozzle rams into bed when not near center:

          Include your homedelta.g and bed.g as well as the out put put M122 and M98 P"config.g" please.
          homedelta.g bed.g

          M122
          === Diagnostics ===
          RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05.1 running on Duet WiFi 1.02 or later
          Board ID: 08DGM-917DA-G4MSJ-6JTD6-3S86L-19N7A
          Used output buffers: 3 of 24 (6 max)
          === RTOS ===
          Static ram: 25712
          Dynamic ram: 92664 of which 336 recycled
          Exception stack ram used: 392
          Never used ram: 11968
          Tasks: NETWORK(ready,764) HEAT(blocked,1232) MAIN(running,3816) IDLE(ready,160)
          Owned mutexes:
          === Platform ===
          Last reset 00:02:19 ago, cause: power up
          Last software reset at 2021-01-20 13:59, reason: User, spinning module GCodes, available RAM 11944 bytes (slot 3)
          Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
          Error status: 0
          Free file entries: 10
          SD card 0 detected, interface speed: 20.0MBytes/sec
          SD card longest block write time: 0.0ms, max retries 0
          MCU temperature: min 2.6, current 8.6, max 8.7
          Supply voltage: min 12.7, current 12.8, max 13.0, under voltage events: 0, over voltage events: 0, power good: yes
          Driver 0: standstill, SG min/max 0/378
          Driver 1: standstill, SG min/max 0/391
          Driver 2: standstill, SG min/max 0/369
          Driver 3: standstill, SG min/max not available
          Driver 4: standstill, SG min/max not available
          Date/time: 2021-01-20 15:47:44
          Cache data hit count 413972580
          Slowest loop: 3.60ms; fastest: 0.06ms
          I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
          === Move ===
          Hiccups: 0, FreeDm: 160, MinFreeDm: 154, MaxWait: 126689ms
          Bed compensation in use: none, comp offset 0.000
          === DDARing ===
          Scheduled moves: 5, completed moves: 5, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
          === Heat ===
          Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
          Heater 1 is on, I-accum = 0.0
          === GCodes ===
          Segments left: 0
          Stack records: 2 allocated, 0 in use
          Movement lock held by null
          http is idle in state(s) 0
          telnet is idle in state(s) 0
          file is idle in state(s) 0
          serial is idle in state(s) 0
          aux is idle in state(s) 0
          daemon is idle in state(s) 0
          queue is idle in state(s) 0
          autopause is idle in state(s) 0
          Code queue is empty.
          === Network ===
          Slowest loop: 15.46ms; fastest: 0.00ms
          Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
          HTTP sessions: 1 of 8
          - WiFi -
          Network state is running
          WiFi module is connected to access point 
          Failed messages: pending 0, notready 0, noresp 0
          WiFi firmware version 1.23
          WiFi MAC address 60:01:94:2e:12:42
          WiFi Vcc 3.38, reset reason Turned on by main processor
          WiFi flash size 4194304, free heap 23648
          WiFi IP address 192.168.1.36
          WiFi signal strength -55dBm, reconnections 0, sleep mode modem
          Socket states: 0 0 0 0 0 0 0 0
          
          M98 P"config.g"
          HTTP is enabled on port 80
          FTP is disabled
          TELNET is disabled
          

          Have you seen these?

          https://duet3d.dozuki.com/Wiki/Calibrating_a_delta_printer
          https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareDeltaPrinter

          I have read them and followed them, yes.

          1 Reply Last reply Reply Quote 0
          • undefined
            Phaedrux Moderator
            last edited by 20 Jan 2021, 20:51

            Cura start gcode?

            Z-Bot CoreXY Build | Thingiverse Profile

            undefined 1 Reply Last reply 20 Jan 2021, 20:52 Reply Quote 0
            • undefined
              deltwalrus @Phaedrux
              last edited by 20 Jan 2021, 20:52

              @Phaedrux said in Nozzle rams into bed when not near center:

              Cura start gcode?

              G32          ; auto-calibration
              G21          ; metric values
              G90          ; absolute positioning
              M107         ; start with the fan off
              G92 E0       ; zero the extruded length
              G1 F4000 E3  ; extrude 3mm of feed stock
              G92 E0       ; zero the extruded length again
              G1 F{speed_travel}
              
              1 Reply Last reply Reply Quote 0
              • undefined
                Phaedrux Moderator
                last edited by 20 Jan 2021, 20:53

                Thanks. I'm not a delta user, so I can't really see anything that is obvious to my eyes, but at least we now have all your relevant files posted so someone with a better feel for deltas might spot something off.

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • undefined
                  garyd9
                  last edited by garyd9 20 Jan 2021, 21:51

                  Contrary to many (most?) other duet (+ smart effector) delta users, I do NOT include G32 in my slicer's start gcode. I've found that, depending on the filament in use, the bit of ooze from the nozzle can impact the calibration negatively.

                  What I typically do is, whenever I change the filament to something that requires different heating parameters, I heat the bed and plate to what new filament requires, clean the nozzle (cleaning filament, then wire brush the nozzle until there's no oozing whatsoever) and manually run G32 a few times until the deviation values are consistent, and then save that to config-override.g (via M500.)

                  (I have the re-running of G32 automated via conditional gcode, but it's best to do everything manually until you understand what's going on.)

                  Then in my slicer config, I use G28 (to just home the printer) before it starts printing.

                  "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    dc42 administrators @deltwalrus
                    last edited by 21 Jan 2021, 07:34

                    @deltwalrus, please run G29 after auto calibration and shown us the resulting height map.

                    Duet WiFi hardware designer and firmware engineer
                    Please do not ask me for Duet support via PM or email, use the forum
                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      deltwalrus
                      last edited by 21 Jan 2021, 13:35

                      G29
                      89 points probed, min error -0.240, max error 0.062, mean -0.035, deviation 0.046
                      

                      heightmap.csv

                      1 Reply Last reply Reply Quote 0
                      • Vetiundefined
                        Veti
                        last edited by 21 Jan 2021, 13:37

                        the picture please

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          deltwalrus
                          last edited by 21 Jan 2021, 15:04

                          Sorry about that.

                          Screen Shot 2021-01-21 at 10.03.42 AM.png

                          1 Reply Last reply Reply Quote 0
                          • Vetiundefined
                            Veti
                            last edited by 21 Jan 2021, 15:06

                            did you use M500 to save the calibration or did you put the values in config.g?

                            1 Reply Last reply Reply Quote 0
                            • undefined
                              deltwalrus
                              last edited by 21 Jan 2021, 15:14

                              I did not run an M500 immediately after running the mesh grid compensation, no. I wasn't aware that was necessary, I figured it stored that information automatically after it ran. Thanks for the tip on that.

                              I will run another auto-calibration, then another mesh bed compensation routine, then I will run an M500 and try the print again.

                              As a side note, is there ever an instance where you would not want to store the results of a calibration or mesh bed routine? Shouldn't that be done automatically (in a macro maybe)?

                              undefined Vetiundefined 2 Replies Last reply 21 Jan 2021, 16:34 Reply Quote 0
                              • undefined
                                deltwalrus
                                last edited by 21 Jan 2021, 15:24

                                No change in behaviour after running calibration, G29, M500, then starting print. Nozzle hits the bed near the "top left" part of the print, starts to actually rotate the glass bed with it, and even managed to dislodge one of the magnetic arms from the ball before the emergency stop halted the motion and reset the board.

                                1 Reply Last reply Reply Quote 0
                                • undefined
                                  deltwalrus
                                  last edited by 21 Jan 2021, 15:27

                                  This post is deleted!
                                  1 Reply Last reply Reply Quote 0
                                  • undefined
                                    Phaedrux Moderator @deltwalrus
                                    last edited by 21 Jan 2021, 16:34

                                    @deltwalrus said in Nozzle rams into bed when not near center:

                                    I figured it stored that information automatically after it ran.

                                    It does, but only while the printer is powered on. The values are lost after a power cycle unless they are either saved to config-override.g with M500 and adding M501 to the end of config.g to load it. Or manually copying the resulting calibration command into config.g

                                    Z-Bot CoreXY Build | Thingiverse Profile

                                    1 Reply Last reply Reply Quote 0
                                    • Vetiundefined
                                      Veti @deltwalrus
                                      last edited by 21 Jan 2021, 17:04

                                      @deltwalrus said in Nozzle rams into bed when not near center:

                                      I did not run an M500 immediately after running the mesh grid compensation, no. I wasn't aware that was necessary, I figured it stored that information automatically after it ran. Thanks for the tip on that.

                                      G32 not G29.

                                      1 Reply Last reply Reply Quote 0
                                      • undefined
                                        deltwalrus
                                        last edited by 25 Jan 2021, 19:53

                                        I just got the new mirrors today, will test them for thermal suitability then give the problematic print another go.

                                        1 Reply Last reply Reply Quote 0
                                        • undefined
                                          deltwalrus
                                          last edited by 2 Feb 2021, 21:27

                                          It appears either my old glass plate was warped, or in the process of removing it and installing the mirror I fixed this issue, because a larger print is going right now and the bed ramming seems to be resolved.

                                          Go figure.

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA