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

    Manual bed probing / Mesh bed compensation Issue [DUET3]

    Scheduled Pinned Locked Moved Unsolved
    Tuning and tweaking
    3
    11
    562
    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.
    • Pierrelitoundefined
      Pierrelito
      last edited by Pierrelito

      Hi everyone,

      Running on a Duet 3 mainboard 6HC with the following configuration:

      ; General preferences
      G90 ; send absolute coordinates...
      M83 ; ...but relative extruder moves
      M550 P"MA64" ; set printer name

      ; Drives
      M569 P0.0 S1 ; physical drive 0.0 goes forwards
      M569 P0.1 S1
      M569 P0.2 S0 ; physical drive 0.2 goes forwards
      M569 P0.3 S0 ; physical drive 0.3 goes forwards
      M569 P0.4 S1
      M569 P1.0 S1 ; physical drive 1.0 goes forwards
      M569 P1.1 S1 ; physical drive 1.1 goes forwards
      M584 X0.0:0.1 Y0.2 Z0.3:0.4 E1.0:1.1 ; set drive mapping
      M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
      M92 X128.14 Y128.14 Z1600.00 E492.45:800.00 ; set steps per mm
      M566 X1500.00 Y1500.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z1500.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
      M201 X1000.00 Y1000.00 Z40.00 E250.00:250.00 ; set accelerations (mm/s^2)
      M906 X1200 Y1200 Z1200 E800:800 I30 ; 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 X550 Y470 Z450 S0 ; set axis maxima

      ; Endstops
      M574 X1 S1 P"!io0.in" ; configure active-high endstop for low end on X via pin io0.in
      M574 Y1 S1 P"!io1.in" ; configure active-high endstop for low end on Y via pin io1.in
      M574 Z1 S1 P"!io2.in" ; configure active-high endstop for low end on Z via pin io2.in

      ; Z-Probe
      M558 P0 H8 F120 T3000 ; disable Z probe but set dive height, probe speed and travel speed
      M557 X20:540 Y40:460 S420 ; define mesh grid

      I have some issues while trying to use the mesh bed compensation without probe. Before suggesting to add a probe to my printer, I can't do this due to the very high enclosure temperature (240°C).
      I am using a Glass bed (850x850mm built volume reduced to 550x470) for thermal dilatation reason and cannot home lower than the surface or outside of it. My Z home is around 3mm above the glass and the average probed height is -3mm.

      When moving the Z axis to make the nozzle touch the bed, the machine often randomly goes back to the starting height (dive height) of the point. But the worst happens at points different than the first one. The machine goes back to the first point calibration for no reason...

      Phaedruxundefined 1 Reply Last reply Reply Quote 0
      • Pierrelitoundefined
        Pierrelito
        last edited by

        Somehow I also get "Push(): Stack Overflow" when jogging the Z axis too fast and the machine goes back to Point 1

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

          What firmware version specifically are you using? Please provide the results of M122.

          Z-Bot CoreXY Build | Thingiverse Profile

          1 Reply Last reply Reply Quote 0
          • Pierrelitoundefined
            Pierrelito
            last edited by Pierrelito

            I am using the 3.1.1 on the Mainboard 6HC and the 3.0 on the expansion 3HC, in SBC Mode. I thought the Expansion was on 3.1.0 but it seems that even though the 3.1.0 bin is here the machine never acknowledged it

            Here is the result of M122:

            M122
            === Diagnostics ===
            RepRapFirmware for Duet 3 MB6HC version 3.1.1 running on Duet 3 MB6HC v0.6 or 1.0 (SBC mode)
            Board ID: 08DJM-956L2-G43S4-6J1DL-3SD6Q-1S5AF
            Used output buffers: 1 of 40 (13 max)
            === RTOS ===
            Static ram: 154604
            Dynamic ram: 163684 of which 52 recycled
            Exception stack ram used: 224
            Never used ram: 74652
            Tasks: NETWORK(ready,1972) HEAT(blocked,1212) CanReceiv(suspended,3520) CanSender(suspended,1488) CanClock(blocked,1452) TMC(blocked,204) MAIN(running,4928) IDLE(ready,76)
            Owned mutexes:
            === Platform ===
            Last reset 00:01:26 ago, cause: power up
            Last software reset at 2020-07-20 15:10, reason: User, spinning module LinuxInterface, available RAM 73960 bytes (slot 1)
            Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task MAIN
            Error status: 0
            MCU temperature: min 22.9, current 33.0, max 33.1
            Supply voltage: min 24.0, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
            12V rail voltage: min 12.2, current 12.2, max 12.3, under voltage events: 0
            Driver 0: standstill, reads 30616, writes 14 timeouts 0, SG min/max 0/0
            Driver 1: standstill, reads 30616, writes 14 timeouts 0, SG min/max 0/0
            Driver 2: standstill, reads 30617, writes 14 timeouts 0, SG min/max 0/0
            Driver 3: standstill, reads 30617, writes 14 timeouts 0, SG min/max 0/0
            Driver 4: standstill, reads 30617, writes 14 timeouts 0, SG min/max 0/0
            Driver 5: standstill, reads 30621, writes 11 timeouts 0, SG min/max 0/0
            Date/time: 2020-07-21 08:10:04
            Slowest loop: 5.43ms; fastest: 0.14ms
            === Storage ===
            Free file entries: 10
            SD card 0 not detected, interface speed: 37.5MBytes/sec
            SD card longest read time 0.0ms, write time 0.0ms, max retries 0
            === Move ===
            Hiccups: 0(0), FreeDm: 375, MinFreeDm: 375, MaxWait: 0ms
            Bed compensation in use: none, comp offset 0.000
            === MainDDARing ===
            Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
            === AuxDDARing ===
            Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
            === Heat ===
            Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = 6 -1 -1 -1
            === GCodes ===
            Segments left: 0
            Movement lock held by null
            HTTP* is ready with "M122" in state(s) 0
            Telnet is idle in state(s) 0
            File is idle in state(s) 0
            USB is idle in state(s) 0
            Aux is idle in state(s) 0
            Trigger* is idle in state(s) 0
            Queue is idle in state(s) 0
            LCD is idle in state(s) 0
            SBC is idle in state(s) 0
            Daemon* is idle in state(s) 0
            Aux2 is idle in state(s) 0
            Autopause is idle in state(s) 0
            Code queue is empty.
            === Network ===
            Slowest loop: 1.02ms; fastest: 0.01ms
            Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions
            HTTP sessions: 0 of 8

            • Ethernet -
              State: disabled
              Error counts: 0 0 0 0 0
              Socket states: 0 0 0 0 0 0 0 0
              === CAN ===
              Messages sent 278, longest wait 2ms for type 6011
              === Linux interface ===
              State: 0, failed transfers: 0
              Last transfer: 17ms ago
              RX/TX seq numbers: 2064/2065
              SPI underruns 0, overruns 0
              Number of disconnects: 0
              Buffer RX/TX: 0/0-0
              === Duet Control Server ===
              Duet Control Server v1.3.2.0
              Code buffer space: 4096
              Configured SPI speed: 8000000 Hz
              Full transfers per second: 0.03

            ad for the Expansion Board 1
            M122 B1
            Diagnostics for board 1:
            Board EXP3HC firmware 3.0RC1 2019-12-16b1
            Never used RAM 162.8Kb, max stack 304b
            HEAT 1088 CanAsync 1452 CanRecv 1428 TMC 168 AIN 532 MAIN 2224
            Driver 0: standstill, reads 35834, writes 14 timeouts 0, SG min/max 0/0
            Driver 1: standstill, reads 35837, writes 14 timeouts 0, SG min/max 0/0
            Driver 2: standstill, reads 35842, writes 11 timeouts 0, SG min/max 0/0
            Moves scheduled 0, completed 0, hiccups 0
            VIN: 24.0V, V12: 12.1V
            MCU temperature: min 32.4C, current 32.7C, max 32.9C
            Ticks since heat task active 81, ADC conversions started 222824, completed 222824, timed out 0
            NVM user row de9a9239 aeecffb1 ffffffff ffffffff

            1 Reply Last reply Reply Quote 0
            • Pierrelitoundefined
              Pierrelito
              last edited by Pierrelito

              the expansion Is now on 3.1.0
              M122B1
              Diagnostics for board 1:
              Board EXP3HC firmware 3.1.0 (2020-05-15b1)
              Never used RAM 163.6Kb, max stack 312b
              HEAT 1272 CanAsync 1452 CanRecv 1420 TMC 156 AIN 524 MAIN 2184
              Last reset 00:00:37 ago, cause: software
              Driver 0: standstill, reads 9689, writes 11 timeouts 0, SG min/max 0/0
              Driver 1: standstill, reads 9691, writes 11 timeouts 0, SG min/max 0/0
              Driver 2: standstill, reads 9694, writes 11 timeouts 0, SG min/max 0/0
              Moves scheduled 0, completed 0, hiccups 0
              VIN: 24.0V, V12: 12.1V
              MCU temperature: min 32.4C, current 32.7C, max 32.9C
              Ticks since heat task active 91, ADC conversions started 37834, completed 37834, timed out 0
              Last sensors broadcast 00000000 found 0 94 ticks ago
              Free CAN buffers: 36
              NVM user row de9a9239 aeecffb1 ffffffff ffffffff

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

                @Pierrelito said in Manual bed probing / Mesh bed compensation Issue [DUET3]:

                When moving the Z axis to make the nozzle touch the bed, the machine often randomly goes back to the starting height (dive height) of the point. But the worst happens at points different than the first one. The machine goes back to the first point calibration for no reason...

                Can you provide a video of this behaviour?

                Z-Bot CoreXY Build | Thingiverse Profile

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

                  This may be related to using SBC mode and the dialogue boxes required. @chrishamm may have an idea.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  1 Reply Last reply Reply Quote 0
                  • chrishammundefined
                    chrishamm administrators
                    last edited by

                    I am quite surprised you are seeing Push errors. Are you running G29 as part of any macro file or do you start that from the DWC dropdown menu?

                    It may help to see a console log from DCS with log level debug. Please refer to this section for further details.

                    Duet software engineer

                    1 Reply Last reply Reply Quote 0
                    • Pierrelitoundefined
                      Pierrelito
                      last edited by

                      I am using the dropdown menu for True Bed leveling (same behavior with the mesh bed compensation).

                      You can see it the Z axis going up again in this video.(around 0.18) It happens the most when the Z jogging is quite fast but also randomly.

                      And in this video (interesting part at 1.15), you can see the machine going back the first probing point while I'm probing the third one.

                      As requested by @chrishamm I'll try to get the DCS Log level

                      1 Reply Last reply Reply Quote 0
                      • Pierrelitoundefined
                        Pierrelito
                        last edited by

                        Here is the result of the debug
                        [info] Settings loaded
                        [info] Environment initialized
                        [info] Connection to Duet established
                        [info] IPC socket created at /var/run/dsf/dcs.sock
                        [debug] Requesting update of key boards, seq 0 -> 1
                        [debug] Requesting update of key directories, seq 0 -> 0
                        [debug] Requesting update of key fans, seq 0 -> 2
                        [debug] Requesting update of key heat, seq 0 -> 24
                        [debug] Requesting update of key inputs, seq 0 -> 0
                        [debug] Requesting update of key job, seq 0 -> 0
                        [debug] Requesting update of key move, seq 0 -> 29
                        [debug] Requesting update of key network, seq 0 -> 2
                        [debug] Requesting update of key sensors, seq 0 -> 8
                        [debug] Requesting update of key spindles, seq 0 -> 0
                        [debug] Requesting update of key state, seq 0 -> 0
                        [debug] Requesting update of key tools, seq 0 -> 10
                        [debug] Requesting update of key volumes, seq 0 -> 0
                        [debug] Updated key boards
                        [debug] Updated key directories
                        [debug] Updated key fans
                        [debug] Updated key heat
                        [error] Failed to merge JSON: {"key":"inputs","flags":"d99vn","result":[{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"HTTP","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"Marlin","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"Telnet","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"File","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"Marlin","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"USB","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"Aux","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"Trigger","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"Queue","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"LCD","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"SBC","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":true,"lineNumber":0,"name":"Daemon","stackDepth":1,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"Aux2","stackDepth":0,"state":"idle","volumetric":false},{"axesRelative":false,"compatibility":"RepRapFirmware","distanceUnit":"mm","drivesRelative":true,"feedRate":50.0,"inMacro":false,"lineNumber":0,"name":"Autopause","stackDepth":0,"state":"idle","volumetric":false}]}
                        System.Text.Json.JsonException: Failed to deserialize property [InputChannel].Name (type CodeChannel) from JSON "Aux2"
                        ---> System.Text.Json.JsonException: The JSON value could not be converted to DuetAPI.CodeChannel. Path: $ | LineNumber: 0 | BytePositionInLine: 6.
                        at System.Text.Json.ThrowHelper.ThrowJsonException()
                        at System.Text.Json.Serialization.Converters.JsonConverterEnum1.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options) at System.Text.Json.JsonPropertyInfoNotNullable4.OnRead(ReadStack& state, Utf8JsonReader& reader)
                        at System.Text.Json.JsonPropertyInfo.Read(JsonTokenType tokenType, ReadStack& state, Utf8JsonReader& reader)
                        at System.Text.Json.JsonSerializer.ReadCore(JsonSerializerOptions options, Utf8JsonReader& reader, ReadStack& readStack)
                        at System.Text.Json.JsonSerializer.ReadCore(Type returnType, JsonSerializerOptions options, Utf8JsonReader& reader)
                        at System.Text.Json.JsonSerializer.Deserialize(String json, Type returnType, JsonSerializerOptions options)
                        at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 282
                        --- End of inner exception stack trace ---
                        at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 287
                        at DuetAPI.Machine.ModelCollectionHelper.UpdateFromJson(IList list, Type itemType, JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelCollection.cs:line 214
                        at DuetAPI.Machine.MachineModel.UpdateFromFirmwareModel(String key, JsonElement jsonElement) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/MachineModel.cs:line 162
                        at DuetControlServer.Model.Updater.Run() in /home/christian/duet/DuetSoftwareFramework/src/DuetControlServer/Model/Updater.cs:line 176
                        [debug] Updated key move
                        [debug] Updated key network
                        [debug] Updated key sensors
                        [debug] Updated key spindles
                        [debug] Updated key state
                        [debug] Updated key tools
                        [debug] Updated key volumes

                        1 Reply Last reply Reply Quote 0
                        • Pierrelitoundefined
                          Pierrelito
                          last edited by

                          To make it was due to the SBC, I configured the duet in standalone mode and everything worked.
                          I might need the sbc in the future.

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