Auto bed compensation hits the wall

  • Hello.

    Thank you for a wonderful hardware and software! I have already printed at least 100 parts.
    With that said 🙂
    I have never managed to use Auto bed compensation. When I press the button, the printer head runs towards the first point, and beyond into the printer wall. It does not stop at the coordinates G30 P0 X70 Y15 Z-99999 that I have set for the first point in bed.g. I have tried to change the coordinates for the first point, but it runs to the X0 Y0 corner and keeps banging the wall until I hit Emergency stop.

    Before Auto bed compensation, I have run home all, with working x and y endstops. So I would expect the printer knows where it is before auto .

    Any clues?


    Edit: Header

  • administrators

    That sounds odd. Please post your config.g and bed.g files.

    Which firmware version are you running? What happens if you send that G30 command manually?

  • Here is more info.
    Running G30 P0 X70 Y15 Z-99999 in G-console sends the printer head in to the wall in the X0 Y0 corner.
    I am controlling the printer via the web page, not the via Paneldue.

    Current firmware```
    Firmware Name: RepRapFirmware for Duet WiFi
    Firmware Electronics: Duet WiFi 1.0
    Firmware Version: 1.16 (2016-11-08)
    WiFi Server Version: 1.03 (ch fork)
    Web Interface Version: 1.13


    ; Configuration file for BigBox 3D printer
    ;- Communication and general
    M111 S0 ; Debug off
    M550 BigBox ; Machine name and Netbios name (can be anything you like)
    M551 Preprap ; Machine password (used for FTP)
    M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address

    ;- Wifi Networking
    M552 S1 ; Enable WiFi
    M555 P2 ; Set output to look like Marlin

    ;- Movement section
    M569 P0 S1 ; Drive 0 goes forwards (change to S0 to reverse it)
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards
    M569 P4 S1 ; Drive 4 goes forwards
    M574 X1 Y1 Z1.2 S1 ; set endstop configuration (X and Y endstops only, at low end, active high)
    M906 X800 Y700 Z700 E500:500 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M201 X800 Y800 Z15 E1000 ; Accelerations (mm/s^2)
    M203 X15000 Y15000 Z200 E3600 ; Maximum speeds (mm/min)
    M566 X600 Y600 Z30 E20 ; Minimum speeds mm/minute
    M208 X300 Y240 Z300 ; set axis maxima (adjust to suit your machine)
    M208 X0 Y0 Z-0.0 S1 ; set axis minimum (adjust to make X=0 and Y=0 the edge of the bed) --M208 X0 Y0 Z-0.2 S1
    M92 X160 Y360 Z1600 ; Set axis steps/mm
    M92 E417.5:417.5 ; Set extruder steps per mm
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M350 X16 Y16 E16 I1 ; Set 16x microstepping with interpolation
    M84 S60 ;Stop idle hold. Set stepper idle timeout in sec

    ;-Z probe section
    M558 P1 X0 Y0 Z1 H3 F200 T5000 ; Smart IR Z probe, used for homing Z axis, dive height 3mm, probe speed 200mm/min, travel speed 5000mm/min
    G31 P500 X140.0 Y150.0 Z1.05 ; Set the probe height and threshold; increase Z to decrease bed probe distance ;Z1.48

    ;-Heater and thermistor section--;- If you have a Duet board with 1K thermistor series resistors, change R4700 to R1000 to the following M305 commands
    M305 P0 T100000 B4388 R4700 H0 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
    M305 P1 T100000 X200 ;B4388 R4700 H0 L0 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
    M305 P2 T100000 X201 ;B4388 R4700 H0 L0 ; Put your own H and/or L values here to set the second nozzle thermistor ADC correction

    M307 H0 A134.6 C406.4 D4.4 B0 ; PID settings for bed
    M307 H1 A312.6 C145.8 D8.8 B0 ; PID settings for extruder 0
    M307 H2 A216.4 C98.6 D5.8 B0 ; PID settings for extruder 1
    M570 S120 ; Increase to allow extra heating time if needed

    M106 P0 F10 ; Fix for Bigbox Blower
    ;M106 P0 S0.3 I0 F500 H-1
    M106 P1 T70 H1
    M106 P2 T70 H2

    ;-Tool definition section
    M563 P0 D0 H1 ; Define tool 0 to use extruder drive 0 and heater 1
    G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
    M563 P1 D1 H2 ; Define tool 1
    G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures

    T0 ; select first hot end

    M561						; clear any bed transform, otherwise homing may be at the wrong height
    ;G30 P0 X120 Y50 Z-99999 ;test
    G30 P0 X70 Y15 Z-99999       ; define  points in a clockwise direction around the bed, starting near (0,0)
    G30 P1 X70 Y190 Z-99999
    G30 P2 X295 Y190 Z-99999
    G30 P3 X295 Y15 Z-99999  	
    G30 P4 X140 Y100 Z-99999 S  ; finally probe bed centre, and calculate compensation  (S0 or just S??)

  • administrators

    This line in config.g is the problem:

    G31 P500 X140.0 Y150.0 Z1.05 ; Set the probe height and threshold; increase Z to decrease bed probe distance ;Z1.48

    It says that your Z probe is offset from the nozzle by 140mm in the X direction and 150mm in the Y direction. That can't be right.

  • Changed to G31 P500 X0.0 Y0.0 Z1.05 and now it is running as supposed. I do have to put down the bottle… 🙂

    And I should change to S4 at the end of bed.g to save the calculation?

  • administrators

    S or S0 means default, which in your case will be S5 i.e. use all 5 points.


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