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

    G32 error while bed leveling

    Scheduled Pinned Locked Moved Solved
    General Discussion
    2
    4
    150
    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.
    • Q2101undefined
      Q2101
      last edited by

      I have a printer with a 3 motor Z-Axis and the pivot point connections are kinematic mounts. I keep getting an error when I have the duet3 6HC attempt to level the bed with the G30 commands. It will probe the correct locations (as close as I could get the sensor, a BL Touch, to the pivot points), however when it finishes the last probe, it kicks out the following error:

      G32
      Error: This kinematics does not support auto-calibration

      I thought I setup the config.g and bed.g files correctly with the pivot points and probe points but it seems I’m missing something. It also doesn't seem to be moving the probe to the center of the bed during the initial homing even though the homeall.g file seems to be subtracting out the offsets. If i manually input the offsets it will put the probe where it should be.

      What am I missing?

      Below is my bed.g, config.g and homeall.g code

      Below is bed.g, i commented out the while loop to see if that was the cause of the issue

      ; bed.g
      ; called to level the bed
      ;
      ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.3+2
      
      G28; home
          G30 P0 X133 Y1 Z-99999 ; Probe near Z motor 1 pivot point
          G30 P1 X35.5 Y294 Z-99999 ; Probe near Z motor 2 pivot point
          G30 P2 X262.5 Y294 Z-99999 S3 ; Probe near Z motor 3 pivot point
          ;while
                ;if abs(move.calibration.initial.deviation) < 0.01 || iterations > 3
               ;    break
      
      G29 ; call mesh bed compensation
      

      Below is Config.g

      ; Configuration file for RepRapFirmware on Duet 3 Main Board 6HC
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.3+2 
      
      ; General
      M90; Absolute coordinates;
      M83; Realtive extruder moves
      M550 P"Railcore" ; set hostname
      
      ; Network
      M552 P0.0.0.0 S1 ; configure Ethernet adapter
      M586 P0 S1 ; configure HTTP
      M552 i1 S2; Start Wifi AP
      
      ; Wait a moment for the CAN expansion boards to become available
      G4 S2
      
      ; Accelerometers
      M955 P121.0 I20 ; configure accelerometer on board #121
      
      ; Smart Drivers
      M569 P0.0 S1 D2 ; driver 0.0 goes forwards (X axis)
      M569 P0.1 S1 D2 ; driver 0.1 goes forwards (Y axis)
      M569 P0.2 S1 D2 ; driver 0.2 goes forwards (Z axis)
      M569 P0.3 S1 D2 ; driver 0.3 goes forwards (Z axis)
      M569 P0.4 S1 D2 ; driver 0.4 goes forwards (Z axis)
      M569 P121.0 S0 D2 ; driver 121.0 goes forwards (extruder 0)
      
      ; Motor Idle Current Reduction
      M906 I30 ; set motor current idle factor
      M84 S30 ; set motor current idle timeout
      
      ; Axes
      M584 X0.0 Y0.1 Z0.2:0.3:0.4 ; set axis mapping
      M671 X133:6.5:263 Y-36:317:317; Z-Axis pivot point locations
      M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
      M906 X1000 Y1000 Z1000 ; set axis driver currents
      M92 X160 Y160 Z1600 ; configure steps per mm
      M208 X0:285 Y0:298 Z0:300 ; set minimum and maximum axis limits
      M566 X900 Y900 Z12 ; set maximum instantaneous speed changes (mm/min)
      M203 X6000 Y6000 Z180 ; set maximum speeds (mm/min)
      M201 X500 Y500 Z20 ; set accelerations (mm/s^2)
      
      ; Extruders
      M584 E121.0 ; set extruder mapping
      M350 E16 I1 ; configure microstepping with interpolation
      M906 E8000 ; set extruder driver currents
      M92 E420 ; configure steps per mm
      M566 E120 ; set maximum instantaneous speed changes (mm/min)
      M203 E3600 ; set maximum speeds (mm/min)
      M201 E250 ; set accelerations (mm/s^2)
      
      ; Kinematics
      M669 K1 ; configure CoreXY kinematics
      
      ; Probes
      M558 K0 P9 C"121.io0.in" H5 F120 T6000 ; configure BLTouch probe via slot #0
      G31 P500 X35.5 Y1 Z2.55 ; set Z probe trigger value, offset and trigger height
      M950 S0 C"121.io0.out" ; create servo #0 for BLtouch
      
      ; Endstops
      M574 X1 P"121.io2.in" S1 ; configure X axis endstop
      M574 Y1 P"io0.in" S1 ; configure Y axis endstop
      M574 Z1 S2; Configure Z Axis endstop
      
      ; Mesh Bed Compensation
      M557 X35.5:285 Y10:285 P7:7 ; define grid for mesh bed compensation
      
      ; Sensors
      M308 S0 P"temp1" Y"thermistor" A"Bed Temp" T100000 B4725 C7.06e-8 ; configure sensor #0
      M308 S1 P"121.temp0" Y"thermistor" A"Revo Temp" T100000 B4725 C7.06e-8 ; configure sensor #1
      M308 S2 P"temp2" Y"thermistor" A"Backup Bed Temp" T100000 B4725 C7.06e-8 ; configure sensor #2
      
      ; Heaters
      M950 H0 C"out0" T0 ; create heater #0
      M143 H0 P0 T0 C0 S140 A0 ; configure heater monitor #0 for heater #0
      M307 H0 R0.275 K0.218:0.000 D27.94 E1.35 S1.00 B0; configure model of heater #0
      M950 H1 C"121.out0" T1 ; create heater #1
      M143 H1 P0 T1 C0 S300 A0 ; configure heater monitor #0 for heater #1
      M307 H1 R4.761 K0.389:0.019 D3.35 E1.35 S1.00 B0 V24.0
      
      
      ; Heated beds
      M140 P0 H0 ; configure heated bed #0
      
      ; Fans
      M950 F0 C"121.out2" ; create fan #0
      M106 P0 C"Revo Cooling Fan" S0 B0.1  H1 T45; configure fan #0
      M950 F1 C"121.out1" ; create fan #1
      M106 P1 C"Part Cooling Fan" S0 L0 X1 B0.1 ; configure fan #1
      
      ; Tools
      M563 P0 S"Revo" D0 H1 F0 ; create tool #0
      M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C
      
      ; Miscellaneous
      M501 ; load saved parameters from non-volatile memory
      
      

      homeall.g

      ; called to home all axes
      ;
      ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.3+2 
      
      ; lift Z
      G91 ; relative positioning
      G1 H2 Z5 F6000 ; move Z relative to current position to avoid dragging nozzle over the bed
      G90 ; absolute positioning
      
      ; home XY
      var xTravel = move.axes[0].max - move.axes[0].min + 5 ; calculate how far X can travel plus 5mm
      var yTravel = move.axes[1].max - move.axes[1].min + 5 ; calculate how far Y can travel plus 5mm
      G91 ; relative positioning
      G1 H1 X{-var.xTravel} Y{-var.yTravel} F2500 ; coarse home
      G1 H1 X{-var.xTravel} F4000 ; coarse home in the -X direction
      G1 H1 Y{-var.yTravel} F4000 ; coarse home in the -Y direction
      G1 H2 X5 Y5 F5000 ; move back 5mm
      G1 H1 X{-var.xTravel} Y{-var.yTravel} F300 ; fine home
      G1 H1 X{-var.xTravel} F300 ; fine home in the -X direction
      G1 H1 Y{-var.yTravel} F300 ; fine home in the -Y direction
      G90 ; absolute positioning
      
      ; home Z
      var xCenter = move.compensation.probeGrid.mins[0] + (move.compensation.probeGrid.maxs[0] - move.compensation.probeGrid.mins[0]) / 2 - sensors.probes[0].offsets[0]
      var yCenter = move.compensation.probeGrid.mins[1] + (move.compensation.probeGrid.maxs[1] - move.compensation.probeGrid.mins[1]) / 2 - sensors.probes[0].offsets[1]
      G1 X{var.xCenter} Y{var.yCenter} F6000 ; go to bed center
      G30 ; probe the bed
      
      
      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        Does your bed.g work if you remove the indentations and run it without conditional gcode commands?

        @Q2101 said in G32 error while bed leveling:

        ; Kinematics
        M669 K1 ; configure CoreXY kinematics

        Order dependency
        M669 must come earlier in config.g than any M671 command.

        https://docs.duet3d.com/en/User_manual/Reference/Gcodes#order-dependency-26

        Z-Bot CoreXY Build | Thingiverse Profile

        Q2101undefined 2 Replies Last reply Reply Quote 0
        • Q2101undefined
          Q2101 @Phaedrux
          last edited by

          @Phaedrux

          I did not notice the order dependency on the M671 command, that is most likely the issue. I'll move that command around and see what that does tomorrow after work. Thank you for pointing that out.

          1 Reply Last reply Reply Quote 0
          • Q2101undefined
            Q2101 @Phaedrux
            last edited by

            @Phaedrux

            The M671 command being in the wrong place was indeed the issue. I also had to adjust the maximum allowable correction to 2mm. Thanks again for pointing that, it would have taken me a while to find it.

            1 Reply Last reply Reply Quote 1
            • Q2101undefined Q2101 marked this topic as a question
            • Q2101undefined Q2101 has marked this topic as solved
            • First post
              Last post
            Unless otherwise noted, all forum content is licensed under CC-BY-SA