RepRapFirmware 3.01-RC4 G31 offset not working

  • Duet3d wifi
    RepRapFirmware 3.01-RC4

    G31 offset not working

    I made changes on the config.g file at the G31

    G31 P500 X0 Y0 Z-0.05
    G31 P500 X0 Y0 Z-0.5

    have the same behavior, I need to babystep down 0.300 to have a fine first line....

    Could it be a bug?

  • I manage a workarrounf with this lines in initial gcode script at slicer
    M290 R0 S0 ; Clear Babysteps
    M290 S-0.3 ; babystep the head down -0.25mm

  • administrators

    I'm sorry, I can't reproduce this. Check that you have not G31 or M851 command in your slicer start script.

    You can send G31 without parameters to report the current trigger height, to check it is set to the value you think it is.

  • this is my script

    M107 ; Start with the fan off
    M290 R0 S0 ; Clear Babysteps
    M290 S-0.27 ; babystep the head donw -0.25mm
    G90 ; absolute positioning
    M83 ; set extruder to absolute mode
    G28 ; home
    ;M140 S[first_layer_bed_temperature] ; set bed temp
    ;M104 S160 	; set extruder temp
    ;M190 S[first_layer_bed_temperature] ; wait for bed temp
    ;M109 S160 	; wait for extruder temp
    ;G1 Z10 F6000
    ;G30			; Z datum
    ;G32		; probing
    G29 S1		; Load heightmap
    G1 X0 Y-100  Z150 F6000
    M104 S[first_layer_temperature] ; set extruder temp
    M140 S[first_layer_bed_temperature] ; set bed temp
    M190 S[first_layer_bed_temperature] ; wait for bed temp
    M109 S[first_layer_temperature] ; wait for extruder temp
    G92 E0                  ;zero the extruded length 
    G1 F200 E10        ; Saca un poco de filamento
    G92 E0                  ;zero the extruded length again
    M291 S3 R"Remove Filament from nozzle" P"Then press OK"
    ;G4 S8 ; Pausa de 8 segundos

    this is my config

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sat Jan 18 2020 22:05:47 GMT+0100 (hora estándar de Europa central)
    ; General preferences
    G90                                                     ; send absolute coordinates...
    M83                                                     ; ...but relative extruder moves
    M550 P"AKL+3"                                           ; set printer name
    ;M665 R134.142 L280.14 B105 H272                         ; Set delta radius, diagonal rod length, printable radius and homed height
    ;M666 X0 Y0 Z0                                           ; put your endstop adjustments here, or let auto calibration find them
    ; Delta parameters
    M665 L280.140:280.140:280.140 R132.379 H272.157 B110.0 X-0.059 Y-0.679 Z0.000
    M666 X-0.282 Y-0.347 Z0.630 A0.00 B0.00
    ; Network
    M552 S1                                                 ; enable network
    M586 P0 S1                                              ; enable HTTP
    M586 P1 S0                                              ; disable FTP
    M586 P2 S0                                              ; disable Telnet
    ; Drives
    M569 P0 S0 F1                                             ; physical drive 0 goes forwards
    M569 P1 S0 F11                                             ; physical drive 1 goes forwards
    M569 P2 S0 F13                                             ; physical drive 2 goes forwards
    M569 P3 S1 F4                                             ; physical drive 3 goes backwords
    M584 X0 Y1 Z2 E3                                        ; set drive mapping
    M350 X256 Y256 Z256 I0                                  ; configure microstepping without interpolation
    M350 E16 I1                                             ; configure microstepping with interpolation
    M92 X1280.00 Y1280.00 Z1280.00 E410.00                  ; set steps per mm
    M566 X900.00 Y900.00 Z900.00 E1500.00                ; set maximum instantaneous speed changes (mm/min)
    M203 X18000.00 Y18000.00 Z18000.00 E3600.00             ; set maximum speeds (mm/min)
    M201 X1800.00 Y1800.00 Z1800.00 E1500.00                ; set accelerations (mm/s^2)
    M906 X1200 Y1200 Z1200 E750 I30                         ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                                 ; Set idle timeout
    ; Axis Limits
    M208 Z0 S1                                              ; set minimum Z
    ; Endstops
    M574 X2 S1 P"xstop"                                     ; configure active-high endstop for high end on X via pin xstop
    M574 Y2 S1 P"ystop"                                     ; configure active-high endstop for high end on Y via pin ystop
    M574 Z2 S1 P"zstop"                                     ; configure active-high endstop for high end on Z via pin zstop
    ; Z-Probe
    M558 P5 R0.4 C"" H5 F1200 T6000     ; set Z probe type to effector and the dive height + speeds
    G31 P500 X0 Y0 Z-0.05                                  ; set Z probe trigger value, offset and trigger height
    M557 R85 S20                                            ; define mesh grid
    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" A"Heated Bed" T100000 B4725 C7.06e-8 R4700 ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0                                   ; create bed heater output on bedheat and map it to sensor 0
    M143 H0 P0 S120 A2                                      ; disable temporarily H0 if temp exceeds 120C
    M143 H0 P0 S130 A0                                      ; heater fault H0 if temp exceeds 130C
    M307 H0 B0 S1.00                                        ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                                 ; map heated bed to heater 0 
    M308 S1 P"e0temp" Y"thermistor" A"Hotend" T100000 B4725 C7.06e-8  R4700 ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"e0heat" T1                                    ; create nozzle heater output on e0heat and map it to sensor 1
    M143 H1 S275 A2                                         ; disable temporarily H1 if temp exceeds 275C
    M143 H1 S285 A0                                         ; heater fault H1 if temp exceeds 280C
    M307 H1 B0 S1.00                                        ; disable bang-bang mode for heater  and set PWM limit
    M308 S3 Y"mcu-temp"	A"MCU"								; create sensor for MCU temp M308 S3 Y"mcutemp"
    M308 S4 Y"drivers"	A"Drivers"							; create sensor for drivers temp M308 S4 Y"drivers"
    ; Fans
    M950 F0 C"fan0" Q100                                    ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0 H-1                                          ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"fan1" Q100                                    ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S1 H1 T45                                       ; set fan 1 value. Thermostatic control is turned on
    M950 F2 C"!fan2" Q100									; create fan 2 on pin out4 - alternative with tacho M950 F2 C"!fan2+^pb6"
    M106 P2 L.3 B.5 T45:65 H100:101:102 					; Set fan 2 PWR fan. Turns on when MCU temperature, hits 45C and full when the MCU temperature reaches 65C or any TMC2660 alarms
    M950 S0 C"exp.heater3"                                 ; assign GPIO port 0 to heater3 on expansion connector, servo mode. PIN 8 expansion BUS
    ; Tools
    M563 P0 S"T0" D0 H1 F0                                  ; 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
    ;### FW Retract ###
    M207 P0 S1.00 F2400 Z0	;0.10			        ;FW retract PLA+ M207 S0.7 F1200 Z0.10
    ; Custom settings
    M912 P0 S-9.6										; MCU temp calibration
    M592 D0 A-0.0117862324356921 B0.00256222444254177	; Non-Linear Extrusion
    ;M579 X0.99 Y0.99 Z1								; Dimensional adjustment
    M593 F50												; anti-Ringing
    M572 D0 S0.12                                           ; presure advance
    ; Miscellaneous
    M501                                                    ; load saved parameters from non-volatile memory
    M911 S23 R24 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"      ; set voltage thresholds and actions to run on power loss
    T0                                                      ; select first tool
    ;Set smarteffector sensibility to 75 (standard is 50)
    G4 S3                                                   ; pause 3s
    M672 S131:131                                           ; reset sensibility
    G4 S4                                                   ; pause 4s
    M672 S105:150:105                                       ; set smarteffector sensibility 
    G4 S3                                                   ; pause 3s

    I have a rare effector that does not remember settings and I am awaiting to Roland answer to my seller (hector)

  • administrators

    What I don't see in your start script is an auto calibration after homing, or a single G30 command at bed centre after homing to set the Z height by using the Z probe. You should do one or other of these.

  • so if I don´t do a G30 or a G32, the value of the offset in G31 does not affect to stablish Z=0.

    I mean, as you can see, I´ve been doing G30 in my script (it´s disable right now), but the inconsistency of my probe made it imposible to do a single print with babystepping, sometimes up, sometimes down, sometime a few, sometime almost 0.1mm, so I decided to forget about the G30, do a fine calibration and heighmap, and set a probe z offset to adjust it, but failed as you see.

    I have it now working reseting babysteps and setting it back on each print, and it´s 24/7 printing covid shields for my towns hospital, security forces, and little grocery shops. We are in out little town close to do 1000 shields in 48 hours and not really in a mood to take much time to deal with this, but will try again soon

  • administrators

    You had the G30 and G32 commented out, so I assumed you were not using them. You are still loading a height map using G29 S1. My guess is that your height map has a Z offset.

  • Moderator

    If your probe is inconsistent you could switch to using manual probing (M558 P0) which would prompt you to manually jog the nozzle to touch the bed.

    The problem is that without establishing exactly where Z0 touches the bed, you are depending on the endstops to have a perfectly calibrated Z height from the bed surface, which is difficult to do.

    Also, if your height map was generated without first accurately defining the bed surface, it can cause an offset to be present when you load it.

    I hope that makes sense.

    I know you don't want to be messing around with things at times like this. Good luck with the face shield printing.

Log in to reply