G32 ERROR
-
Hello everyone I'm having problems when I send command G32 to perform true bed leveling. My build uses 4 motors NEMA 17 with worm gear box to drive Z axis. Z axis is belt driven with rod end bearing to eliminate resistance when I send G32 my DC 42 IR sensor it triggers the 4 corners but I get these Errors
( g32: Error: Some computed corrections exceed configured limit of 1.00mm: 9.056 -8.629 -10.350 8.226)
config File
Configuration file for Duet WiFi (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Oct 13 2020 21:14:55 GMT-0500 (Central Daylight Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"DIVINCI-3D (MP4560)" ; set printer name
M669 K1 ; select CoreXY mode; Network
M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P10 R1 T2:2:2:2 S1 ; physical drive 0 goes forwards
M569 P11 R1 T2:2:2:2 S1 ; physical drive 1 goes forwards
M569 P3 S1 ; physical drive 3 goes forwards
M569 P4 S1 ; physical drive 4 goes forwards
M569 P5 S1 ; physical drive 5 goes Backwards
M569 P6 S1 ; physical drive 6 goes Backwards
M569 P8 S0 ; physical drive 7 goes Backwards
M569 P9 S0 ; physical drive 9 goes backwards
M584 X10 Y11 Z5:6:8:9 E3:4 ; set drive mapping
M671 X5.0:455.0:455.0:5.0 Y25.0:25.0:455.0:455.0 ; ZBelts Near Locations
M350 X32 Y32 Z16 E16:16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z410.00 E415.00:415.00 ; set steps per mm
M566 X900.00 Y900.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z400 E1200.00:1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z40.00 E250.00:250.00 ; set accelerations (mm/s^2)
M906 X1800 Y1800 Z1000 E500:500 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X460 Y460 Z460 S0 ; set axis maximaM574 X1 S1 P"!xstop" ; configure active-high endstop for low end on X via pin !xstop
M574 Y1 S1 P"!ystop" ; configure active-high endstop for low end on Y via pin !ystop
M574 Z1 S2 ; configure Z-probe endstop for low end on Z; Z-Probe
M558 P1 C"zprobe.in" H25 F600 T6000 ; set Z probe type to unmodulated and the dive height + speeds
G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height
M557 X20:440 Y20:440 S20 ; define mesh grid; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4725 C7.06e-8 ; 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
M307 H0 A11 C99000 D2000 B1 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"spi.cs1" Y"thermocouple-max31856" ; configure sensor 1 as thermocouple via CS pin spi.cs1
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M308 S2 P"spi.cs2" Y"thermocouple-max31856" ; configure sensor 2 as thermocouple via CS pin spi.cs2
M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2
M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M308 S3 P"duex.e2temp" Y"thermistor" T10000 B3950 ; configure sensor 3 as thermistor on pin duex.e2temp
M950 H3 C"duex.e2heat" T3 ; create chamber heater output on duex.e2heat and map it to sensor 3
M307 H3 A11 C99000 D2000 B1 ; enable bang-bang mode for the chamber heater and set PWM limit
M141 H3 ; map chamber to heater 3; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S1 H-1 ; set fan 0 value. Thermostatic control is turned on
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H2 T45 ; set fan 1 value. Thermostatic control is turned on
M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency
M106 P2 S1 H1:2 T45 ; set fan 2 value. Thermostatic control is turned on; Tools
M563 P0 S"MAIN EXTRUDER" 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
M563 P1 S"SECOND EXTRUDER" D1 H2 F0 ; define tool 1
G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets
G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C; Custom settings are not defined
; Miscellaneous
M575 P1 S1 B57600 ; enable support for PanelDue
M501 ; load saved parameters from non-volatile memory
M911 S10 R11 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
bed.g file
; bed.g
; called to perform automatic bed compensation via G32
;
; generated by RepRapFirmware Configuration Tool v2.1.8 on Thu Apr 30 2020 23:57:44 GMT-0500 (Central Daylight Time)
M561 ; clear any bed transformG30 P0 X5 Y25 Z-999999;
G30 P1 X455 Y25 Z-999999;
G30 P2 X455 Y455 Z-999999; probe near a leadscrew, half way along Y axis
G30 P3 X5 Y455 Z-999999 S4; probe near a leadscrew and calibrate 2 motors
Homeall.g
; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Oct 13 2020 21:14:55 GMT-0500 (Central Daylight Time)
G91 ; relative positioning
G1 H2 Z0 F6000 ; lift Z relative to current position
G1 H1 X-465 F4000 ; move quickly to X endstop and stop there (first pass)
G1 H1 Y-465 F4000 ; move quickly to Y endstop and stop there (first pass)
G1 H2 X5 Y5 F6000 ; go back a few mm
G1 H1 X-465 F360 ; move slowly to X axis endstop once more (second pass)
G1 H1 Y-465 F360 ; then move slowly to Y axis endstop
G1 X235 Y235 F6000 ; Prob at Center
M558 F600 A1 ; Dive fast once
G30 ; probe Z
M558 F100 A10 ; Slow second dive with more accuracy
G30 ; probe z again
please share your expertise and knowledge to help me over come this problem. Thank you
-
@moe-adams9093 said in G32 ERROR:
M671
see the S parameter
https://duet3d.dozuki.com/Wiki/Gcode#Section_M671_Define_positions_of_Z_leadscrews_or_bed_levelling_screws -
I looked over this document to understand M671 few times and I have changed the S parameters between 2 to -10 all of them gave out the same error. So I don't know what I need to change at this time. Correct me if I'm wrong does it mean the S parameters will allow to compensate the difference for example if my M671 X 25 : 455: 25:455 Y 25: 25:455:455 S-10 does that mean the bed 4 corners will adjust between 0 & -10.
-
The S value is the maximum adjustment that it will account for.
If you set it to 5 and it comes out with a difference of 4, it will adjust. If it comes out at 6, it won;t be adjusted.
I have mine typically set at 10 so any out of adjustment up to 10mm will be automatically adjusted.
You shouldn't be setting S to a negative value -
@moe-adams9093 said in G32 ERROR:
9.056 -8.629 -10.350 8.226
you have a difference of 19.3 mm between the points
-
If you set it to 5 and it comes out with a difference of 4, it will adjust. If it comes out at 6, it won;t be adjusted.
Have you verified this by testing?
When I read "Maximum correction to apply to each leadscrew in mm" I took it to mean it would make adjustments up to the S parameter value but no more.
Thanks.
Frederick
-
Thanks for the info. I will try to remove negative value and work alone the positive and see my results
-
@fcwilt yes.
As when I had an adjustment larger than the specified S value, no adjustment took place -
-
@fcwilt Yes the word "apply" would seem to indicate that something will be done.
Snn Maximum correction to apply to each leadscrew in mm
I'll change that to Maximum correction allowed for each leadscrew in mm. Which captures that corrections beyond that are not allowed.
-
Thank you for your help I have figured out my S value needed to be at 6. Another problem im facing now when I home All I need my Z axis to travel to Zmax first and hit all 4 Endstops which they are correspond to each separate Driver then to travel up to the Zmin which will stop by the IR sensor and perform the probing sequence. So long story short I added to my configuration file
M574 Z2 S1 P" exp.e2stop+exp.e3stop+exp.e5stop+exp.e6stop"; and its not doing what it supposed to. Like when I hit home all the z axis won't move at all. I did change some code im my homeall.g where the Z will travel to 500 first then home x and y the can go back to -500 but its not working Correctly. Thanks in advance -
@moe-adams9093 said in G32 ERROR:
Another problem im facing now when I home All...
Please post your current config.g and homeall.g files - using the </> tag.
Frederick
-
oh heres my latest files and configuration
config file
; Configuration file for Duet WiFi (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Oct 13 2020 21:14:55 GMT-0500 (Central Daylight Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"DIVINCI-3D (MP4560)" ; set printer name
M669 K1 ; select CoreXY mode; Network
M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P10 R1 T2:2:2:2 S1 ; physical drive 0 goes forwards
M569 P11 R1 T2:2:2:2 S1 ; physical drive 1 goes forwards
M569 P3 S1 ; physical drive 3 goes forwards
M569 P4 S1 ; physical drive 4 goes forwards
M569 P5 S1 ; physical drive 5 goes Backwards
M569 P6 S1 ; physical drive 6 goes Backwards
M569 P8 S0 ; physical drive 7 goes Backwards
M569 P9 S0 ; physical drive 9 goes backwards
M584 X10 Y11 Z5:6:8:9 E3:4 ; set drive mapping
M671 X5.0:455.0:455.0:5.0 Y25.0:25.0:455.0:455.0 S6 ; ZBelts Near Locations
M350 X32 Y32 Z16 E16:16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z410.00 E415.00:415.00 ; set steps per mm
M566 X900.00 Y900.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z400 E1200.00:1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z40.00 E250.00:250.00 ; set accelerations (mm/s^2)
M906 X1800 Y1800 Z1000 E500:500 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X460 Y460 Z460 S0 ; set axis maximaM574 X1 S1 P"!xstop" ; configure active-high endstop for low end on X via pin !xstop
M574 Y1 S1 P"!ystop" ; configure active-high endstop for low end on Y via pin !ystop
M574 Z1 S2 ; configure Z-probe endstop for low end on Z
M574 Z2 S1 p"!exp.e2stop+exp.e3stop+exp.e5stop+exp.e6stop" ; Configure active- high endstops for high end on Z; Z-Probe
M558 P1 C"zprobe.in" H25 F600 T6000 ; set Z probe type to unmodulated and the dive height + speeds
G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height
M557 X20:440 Y20:440 S20 ; define mesh grid; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4725 C7.06e-8 ; 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
M307 H0 A11 C99000 D2000 B1 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"spi.cs1" Y"thermocouple-max31856" ; configure sensor 1 as thermocouple via CS pin spi.cs1
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M308 S2 P"spi.cs2" Y"thermocouple-max31856" ; configure sensor 2 as thermocouple via CS pin spi.cs2
M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2
M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M308 S3 P"duex.e2temp" Y"thermistor" T10000 B3950 ; configure sensor 3 as thermistor on pin duex.e2temp
M950 H3 C"duex.e2heat" T3 ; create chamber heater output on duex.e2heat and map it to sensor 3
M307 H3 A11 C99000 D2000 B1 ; enable bang-bang mode for the chamber heater and set PWM limit
M141 H3 ; map chamber to heater 3; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S1 H-1 ; set fan 0 value. Thermostatic control is turned on
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H2 T45 ; set fan 1 value. Thermostatic control is turned on
M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency
M106 P2 S1 H1:2 T45 ; set fan 2 value. Thermostatic control is turned on; Tools
M563 P0 S"MAIN EXTRUDER" 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
M563 P1 S"SECOND EXTRUDER" D1 H2 F0 ; define tool 1
G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets
G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C; Custom settings are not defined
; Miscellaneous
M575 P1 S1 B57600 ; enable support for PanelDue
M501 ; load saved parameters from non-volatile memory
M911 S10 R11 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
; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Oct 13 2020 21:14:55 GMT-0500 (Central Daylight Time)
G91 ; relative positioning
G1 H1 Z500 F6000 ; lift Z relative to current position
G1 H1 X-465 F8000 ; move quickly to X endstop and stop there (first pass)
G1 H1 Y-465 F8000 ; move quickly to Y endstop and stop there (first pass)
G1 H2 X5 Y5 F6000 ; go back a few mm
G1 H1 X-465 F360 ; move slowly to X axis endstop once more (second pass)
G1 H1 Y-465 F360 ; then move slowly to Y axis endstop
G1 H2 Z-500 F6000;
G1 X235 Y235 F6000 ; Prob at Center
M558 F600 A1 ; Dive fast once
G30 ; probe Z
M558 F300 A10 ; Slow second dive with more accuracy
G30 ; probe z again
-
This post is deleted! -
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Oct 13 2020 21:14:55 GMT-0500 (Central Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"DIVINCI-3D (MP4560)" ; set printer name M669 K1 ; select CoreXY mode ; Network M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P10 R1 T2:2:2:2 S1 ; physical drive 0 goes forwards M569 P11 R1 T2:2:2:2 S1 ; physical drive 1 goes forwards M569 P3 S1 ; physical drive 3 goes forwards M569 P4 S1 ; physical drive 4 goes forwards M569 P5 S1 ; physical drive 5 goes Backwards M569 P6 S1 ; physical drive 6 goes Backwards M569 P8 S0 ; physical drive 7 goes Backwards M569 P9 S0 ; physical drive 9 goes backwards M584 X10 Y11 Z5:6:8:9 E3:4 ; set drive mapping M671 X5.0:455.0:455.0:5.0 Y25.0:25.0:455.0:455.0 S6 ; ZBelts Near Locations M350 X32 Y32 Z16 E16:16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z410.00 E415.00:415.00 ; set steps per mm M566 X900.00 Y900.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z400 E1200.00:1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z40.00 E250.00:250.00 ; set accelerations (mm/s^2) M906 X1800 Y1800 Z1000 E500:500 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X460 Y460 Z460 S0 ; set axis maxima M574 X1 S1 P"!xstop" ; configure active-high endstop for low end on X via pin !xstop M574 Y1 S1 P"!ystop" ; configure active-high endstop for low end on Y via pin !ystop M574 Z1 S2 ; configure Z-probe endstop for low end on Z M574 Z2 S1 p"!exp.e2stop+exp.e3stop+exp.e5stop+exp.e6stop" ; Configure active- high endstops for high end on Z ; Z-Probe M558 P1 C"zprobe.in" H25 F600 T6000 ; set Z probe type to unmodulated and the dive height + speeds G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X20:440 Y20:440 S20 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4725 C7.06e-8 ; 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 M307 H0 A11 C99000 D2000 B1 ; enable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"spi.cs1" Y"thermocouple-max31856" ; configure sensor 1 as thermocouple via CS pin spi.cs1 M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M308 S2 P"spi.cs2" Y"thermocouple-max31856" ; configure sensor 2 as thermocouple via CS pin spi.cs2 M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2 M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M308 S3 P"duex.e2temp" Y"thermistor" T10000 B3950 ; configure sensor 3 as thermistor on pin duex.e2temp M950 H3 C"duex.e2heat" T3 ; create chamber heater output on duex.e2heat and map it to sensor 3 M307 H3 A11 C99000 D2000 B1 ; enable bang-bang mode for the chamber heater and set PWM limit M141 H3 ; map chamber to heater 3 ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S1 H-1 ; set fan 0 value. Thermostatic control is turned on M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H2 T45 ; set fan 1 value. Thermostatic control is turned on M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency M106 P2 S1 H1:2 T45 ; set fan 2 value. Thermostatic control is turned on ; Tools M563 P0 S"MAIN EXTRUDER" 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 M563 P1 S"SECOND EXTRUDER" D1 H2 F0 ; define tool 1 G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C ; Custom settings are not defined ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M501 ; load saved parameters from non-volatile memory M911 S10 R11 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 ; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Oct 13 2020 21:14:55 GMT-0500 (Central Daylight Time) G91 ; relative positioning G1 H1 Z500 F6000 ; lift Z relative to current position G1 H1 X-465 F8000 ; move quickly to X endstop and stop there (first pass) G1 H1 Y-465 F8000 ; move quickly to Y endstop and stop there (first pass) G1 H2 X5 Y5 F6000 ; go back a few mm G1 H1 X-465 F360 ; move slowly to X axis endstop once more (second pass) G1 H1 Y-465 F360 ; then move slowly to Y axis endstop G1 H2 Z-500 F6000; G1 X235 Y235 F6000 ; Prob at Center M558 F600 A1 ; Dive fast once G30 ; probe Z M558 F300 A10 ; Slow second dive with more accuracy G30 ; probe z again Sorry this is in the requested format
-
thank you
-
Hi,
Try removing the M574 Z1 S2 command from config.g - or comment it out - and see if that makes a difference.
In the G31 command you have the probe X and Y offsets as 0 - that means the probe is in the same place as the nozzle - is that the case?
Have you verified that each Z end stop sensor responds correctly as indicated by issuing an M119 command if you operated them manuall?
Frederick
-
The printer still under construction so I havent made any offset measurements yet to G31 that would be my next step. But I need to solve this issue first where it home correctly as I wanted to do so. Also when I run m119 I get Z endstops to trigger correctly. But the problem is when I click home all the only one axis moves down the other 3 sets as where they are
-
@moe-adams9093 said in G32 ERROR:
But the problem is when I click home all the only one axis moves down the other 3 sets as where they are
Before you mapped all four of those steppers to Z did you try them mapped just one at time to Z to verify that each worked?
Frederick
-
@moe-adams9093 said in G32 ERROR:
M574 Z2 S1 p"!exp.e2stop+exp.e3stop+exp.e5stop+exp.e6stop"
You have one of the switches inverted with !, but not the rest. I assume they are all the same type of switch, yes? If so, you would need a ! before each pin name.