RepRapFirmware 3.01-RC4 G31 offset not working
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
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"zprobe.in+zprobe.mod" 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 ;Leds 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)
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
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.
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.