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

    Print sometimes not using mesh bed leveling - startup gcode

    Scheduled Pinned Locked Moved
    IR Height Sensor
    mesh compensation leveling gcode
    5
    15
    2.5k
    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.
    • Phaedruxundefined
      Phaedrux Moderator @nhof
      last edited by

      @nhof that's plausible. The firmware looks for the first z move in the gcode file to determine first layer hight. And if that height is beyond the taper height it may cancel it? But the firmware would also be aware of the actual z height and once the print gcode starts the z height will return to actual first layer height.

      If that does end up being the cause you can work around it be moving the start code into start.g which won't get parsed as part of the print gcode file and the proper first layer height will get picked up.

      Z-Bot CoreXY Build | Thingiverse Profile

      1 Reply Last reply Reply Quote 1
      • ComedianTF2undefined
        ComedianTF2
        last edited by

        Sure, here are the the files:

        5_1550218730449_homez.g
        4_1550218730449_homey.g
        3_1550218730449_homex.g
        2_1550218730449_homeall.g
        1_1550218730449_config.g
        0_1550218730449_bed.g
        I also uploaded the hightmap: 0_1550218850813_heightmap.csv

        It is a huge bed that isn't fully meshed (it's a 1000x1000x1000mm printer, and the bed leveling does X150 to X850 and Y100 to Y800 (700x700) at 35mm spacing for probing, for 400 points total. Firmware maxes out at 441 points and that's the area i'm most confident in. Gonna expand it to 840x840 at 40mm, but leveling already takes 45 minutes so I wanna fix this bug first.

        The prints were both placed within the meshed area (I just doublechecked to make sure, the functioning boat was at the corner where it barely stayed in, the non-functioning one was much closer to the middle)

        it's firmware 2.02(RTOS) (2018-12-24b1), it's a cartesian printer.

        I mean mesh bed compensation where it adjusts the Z-height.

        @nhof I couldn't spot any M376 in the files linked above, where else might I need to spot that?

        1 Reply Last reply Reply Quote 0
        • dc42undefined
          dc42 administrators
          last edited by

          I don't see anything in your slicer start GCode that would account for that problem.

          You can send M376 with no parameters to check whether taper is in use.

          You can send M122 and look in the report for the "Bed compensation in use:" field to check whether mesh bed compensation is being applied.

          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 1
          • ComedianTF2undefined
            ComedianTF2
            last edited by ComedianTF2

            Using M376 gives "Bed compensation is not tapered"
            M122 gives "Bed compensation in use: mesh"

            I took another look at the startup gcode, and noticed it had M82 in it twice, as well as G28 to home all axes, whereas the working one doesn't.

            I figured to try to see if the code would work with those two changes. I also added the T1 and T0 commands for the heck of it.

            M82 ;absolute extrusion mode
            G90 ;absolute positioning
            G29 S1 ; use mesh level
            T1 ; solve firmware bug
            G0 Z5 F9000 ;move the head 5mm up for clearance
            G0 X170 Y120 ;move to 170x120
            G92 E0 ;Zzero the extruded length
            T0 ;solve firmware bug
            G0 Z0.2
            G1 X300 E50 F300 ; Extrude 50mm of filament
            G92 E0 ;Zero the extruded length
            G1 E-1 F500 ; slight retract
            G1 X400 F4000 ;Move away a bit, quickly
            G1 Z1 ; Move up a bit
            M83 ;relative extrusion mode

            With this startup gcode, it works again!

            I took this gcode, and added the G28 command again between G90 and G29 S1, to see if that might have caused it, but that worked fine. I tried the same with the T1/T0 removed, and adding a second M82 command, but nothing.

            I have no clue why it's suddenly working again, but when I run that original file with that original gcode, it doesn't work at all, and now any file I try it does work. I am glad it works now, but I can't tell you why it does!

            1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator
              last edited by Phaedrux

              Your config.g is set to use M83 for relative extruder moves. What is your slicer set to use? It doesn't really matter which you use, as long as it's consistent. Relative is generally prefered. The firmware will use relative moves internally anyway.

              I seem to recall that Cura will insert it's own M82 commands regardless of what you have in the startup code and what it's set to use. It doesn't matter since it inserts them before the start gcode. I'd probably remove them.

              Is Cura configured with multiple extruders? Just trying to understand the possible reasons for the T0/T1 commands.

              I can't see anything else off in your config files.

              Do you have a start.g macro in the sys folder?

              What does your current working start code look like?

              Z-Bot CoreXY Build | Thingiverse Profile

              1 Reply Last reply Reply Quote 1
              • ComedianTF2undefined
                ComedianTF2
                last edited by

                @phaedrux The slicer is set to relative extruder mode. Only set to a single extruder at the moment, but there is a second extruder that will be used later on. It's currently not wired up so haven't enabled it in the firmware. Nobody seems to know why that original startup gcode had the T1/T0 commands in it, and what bugs they were ment to fix. The working gcode is the one linked in the previous comment i made

                1 Reply Last reply Reply Quote 0
                • dc42undefined
                  dc42 administrators
                  last edited by dc42

                  If you can give me two GCode files with the same GCode except for the startup code, which do and don't work, then I'll try to reproduce this.

                  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 1
                  • ComedianTF2undefined
                    ComedianTF2
                    last edited by

                    @dc42 I can't upload the files here, they're over the size limit (5,5mb/15mb), what would be the best way of send it to you? sorry for being a bit slow, was sick for a few days

                    Phaedruxundefined 1 Reply Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator @ComedianTF2
                      last edited by

                      @comediantf2 use drop box or some sort of cloud storage

                      Z-Bot CoreXY Build | Thingiverse Profile

                      1 Reply Last reply Reply Quote 1
                      • ComedianTF2undefined
                        ComedianTF2
                        last edited by

                        https://www.dropbox.com/s/xlzhcwm6c8qfyar/benchy_not working.gcode?dl=0
                        https://www.dropbox.com/s/2kg1cpzdxq78m8h/benchy_working.gcode?dl=0

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