Auto bed Compensation goes off of the bed

  • I finally have all of my axis homing properly, but when I tried to hit the auto bed compensation the Y axis went off the back of the bed. Im pretty sure I have my dimensions entered correctly. So I tried to move the bed all the way to the endstop on the Y axis. Then using the control panel I made it come to the front of the bed. According to the control panel it moved 150mm. The bed is 250mm. So it thinks it should be able to go another 100mm but physically it can not. Im sure its something to do with the steps but I would be guessing trying to make it work.Here is my config.g if anyone can shed some light.

    ; General preferences
    M111 S0 ; Debugging off
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates…
    M83 ; ...but relative extruder moves
    M555 P2 ; Set firmware compatibility to look like Marlin
    M208 X400 Y250 Z300 S0 ; Set axis maxima

    ; Endstops
    M574 X1 Y1 Z1 S0 ; Define active low and unused microswitches
    M307 H3 A-1 C-1 D-1 ;

    M558 P5 X0 Y0 Z1 H5 F100 T2000

    G31 X-43 Y0 Z0 P25

    M557 X15:400 Y15:250 S68 ; Define mesh grid

    ; Drives
    M584 X0 Y1 Z2 E3
    M569 P0 S1 ; Drive 0 goes forwards - X
    M569 P1 S0 ; Drive 1 goes backwards - Y
    M569 P2 S0 ; Drive 2 goes backwards - Z
    M569 P3 S0 ; Drive 3 goes forwards - Extruder

    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation 16
    M92 X160 Y160 Z1600 E800 ; Set steps per mm 16
    M566 X600 Y600 Z12 E120 ; Set maximum instantaneous speed changes (mm/min) - (JERK)
    M203 X6000 Y6000 Z500 E400 ; Set maximum speeds (mm/min)
    M201 X1000 Y1000 Z1000 E250 ; Set accelerations (mm/s^2)
    M204 P1000 T1000 ; Set Max acceleration for P=printing moves and T=travel moves
    M906 X1600 Y1600 Z900 E1000 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Heaters
    M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C

    ; Tools
    M563 P0 D0 H1 ; 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

    ; Network
    M550 PBlack Widow ; Set machine name
    M552 S1 ; Enable network
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Fans
    M106 P0 S0.3 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 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Custom settings are not configured

  • How about the X? Does it move "150" when it should be 250 as well?

  • The X goes 190mm and the Z goes about 270mm.
    My dimensions should be

  • administrators

    Are you using 1.8 or 0.9deg motors; and how many teeth are there on the motor pulleys? You have the X and Y steps/mm set to 160, which would be correct for 0.9deg motors and 20 tooth pulleys.

  • the motors are 1.8 not completely sure how many teeth on the pulleys

  • The usual value for a 20 tooth 2mm pitch (GT2) pulley with 16X micro stepping and 1.8 degree motor is 80. 20 teeth x 2mm pitch = 40mm per rev. 1.8 degree per step so 200 steps per rev. 200\40 =5 full steps X 16 micro steps is 80. The other common pulley size is 16 teeth which gives 100 steps per rev.

  • Awesome that seems to work. Thank you

  • Ok everything else seems to be good but when I run the Auto bed compensation, the probe checks the height of the bed then it moves to the front left corner checks it, no problem. Back left corner, no problem but when it goes to the back right corner it tries to go off the right side of the bed. But when I run the"Run mesh grid compensation" it probes 5 points across and four points back with no issue, so why does it mess up in the auto bed compensation function.

  • administrators

    The Auto Bed Compensation runs G32, which in turn runs bed.g. It is up to you to make sure that the probe points in bed.g are reachable by the Z probe, allowing for the offset of the Z probe from the head.

    On a Cartesian or CoreXY system, you should use mesh bed compensation. You can still use the bed.g file for implementing leadscrew levelling if you have multiple independent Z motors, or the manual bed leveling assistant if you don't.


Looks like your connection to Duet3D was lost, please wait while we try to reconnect.