G29S1 not loading during print and G32 not leveling properly
-
so I did some modification to my M558 code I added new parameters to see if I can get some more accuracy
NEW CODE:
; Z-Probe M558 P1 C"zprobe.in" H5 R.02 A11 S2 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds G31 P500 X5 Y29 Z0.77 ; set Z probe trigger value, offset and trigger height M557 X50:450 Y50:450 S40 ; define mesh grid
and here's a screenshot of my new heightmap
3/10/2021, 3:47:24 AM G29 121 points probed, min error -0.071, max error 1.820, mean 0.505, deviation 0.402 Height map saved to file 0:/sys/heightmap.csv
RepRapFirmware height map file v2 generated at 2021-03-10 03:47, min error -0.071, max error 1.820, mean 0.505, deviation 0.402 xmin,xmax,ymin,ymax,radius,xspacing,yspacing,xnum,ynum 50.00,450.00,50.00,450.00,-1.00,40.00,40.00,11,11 0.609, 0.512, 0.468, 0.510, 0.401, 0.363, 0.488, 0.612, 0.703, 0.933, 1.184 0.446, 0.322, 0.258, 0.262, 0.228, 0.032, 0.397, 0.529, 0.573, 0.867, 1.015 0.361, 0.173, 0.143, 0.090, 0.066, -0.071, 0.336, 0.439, 0.575, 0.769, 1.029 0.306, 0.158, 0.027, 0.071, 0.042, 0.043, 0.248, 0.152, 0.499, 0.752, 1.046 0.215, 0.066, 0.037, 0.036, -0.064, 0.029, 0.232, 0.340, 0.570, 0.796, 1.032 0.188, 0.077, 0.005, 0.048, 0.101, 0.139, 0.313, 0.465, 0.567, 0.813, 1.082 0.252, 0.082, 0.097, 0.082, 0.022, 0.163, 0.350, 0.462, 0.618, 0.874, 1.157 0.343, 0.140, 0.152, 0.086, 0.141, 0.269, 0.408, 0.516, 0.711, 1.016, 1.309 0.384, 0.291, 0.229, 0.293, 0.258, 0.355, 0.559, 0.674, 0.884, 1.150, 1.468 0.468, 0.446, 0.411, 0.413, 0.439, 0.492, 0.675, 0.885, 1.018, 1.376, 1.611 0.842, 0.669, 0.605, 0.626, 0.705, 0.745, 0.965, 1.118, 1.340, 1.582, 1.820
I'm not sure how exactly M558 A & S Parameters should work on the Gcode Dictionary it doesn't explain a whole lot if somebody can share how these 2 parameters can make significant changes. Thanks in advance.
-
@moe-adams9093 said in [G29S1 not loading during print and G32 not leveling properly]
I'm not sure how exactly M558 A & S Parameters should work on the Gcode Dictionary it doesn't explain a whole lot if somebody can share how these 2 parameters can make significant changes. Thanks in advance.
Perhaps an example will help.
With A=10 and S=0.01 the firmware will probe each point up to 10 times trying to get two consecutive readings that are within 0.01.
If after 10 times two such readings do not occur then all 10 readings will be averaged.
I use those values for A and S and they work well.
Frederick
-
Thank you for explaining it. I do have some questions changing the P500 parameter to something else may be like 525 will it help to get it lot more accurate. As you see my map it’s not leveled at all
-
@moe-adams9093 said in G29S1 not loading during print and G32 not leveling properly:
Thank you for explaining it. I do have some questions changing the P500 parameter to something else may be like 525 will it help to get it lot more accurate. As you see my map it’s not leveled at all
Changing the P parameter is not likely to make much difference.
It could be that your bed is just not very flat.
What is it made of?
Frederick
-
Aluminum 6 mm thick I know the bed is not 100% I would say about 70% I have some twist In some spots
-
@moe-adams9093 said in G29S1 not loading during print and G32 not leveling properly:
Aluminum 6 mm thick I know the bed is not 100% I would say about 70% I have some twist In some spots
Is it cast aluminum tool plate?
Frederick
-
No it’s aluminum 6061
-
@moe-adams9093 said in G29S1 not loading during print and G32 not leveling properly:
No it’s aluminum 6061
If you have the resources you may want to upgrade.
This is from one of my suppliers:
Cast Aluminum Plates have a precision machined surface for superior flatness, flat within .015'', and +/- .005'' thickness tolerance,
Frederick
-
If you have the means you might be able to bash it into flatness, or at least take out the worst of the peaks and valleys.
-
@Phaedrux said in G29S1 not loading during print and G32 not leveling properly:
bash it into flatness
I think machinists might cringe at that.
Frederick
-
@fcwilt At least I didn't suggest parking a car on it. ..Yet
-
@Phaedrux said in G29S1 not loading during print and G32 not leveling properly:
@fcwilt At least I didn't suggest parking a car on it. ..Yet
I hadn't thought about that approach - good idea.
Maybe something with treads - like a tank.
Frederick
-
@Phaedrux I'm going to drive on top of it and see if that will make it flat
-
I was thinking a carbon fiber sheet plate
-
@moe-adams9093 said in G29S1 not loading during print and G32 not leveling properly:
I was thinking a carbon fiber sheet plate
That sounds interesting but I have no idea what it is.
Frederick
-
So after spending lots of hours calibration and testing my G29 S1 command is not loading during print. When I run G32 and G29 I get both messages in blue that adjustment made and calibration good to go but still during print I have monitored my z-axis and they don’t baby steps to compensate with the deviation points at all. I don’t know what causing this . In my gcode start file I included the following code
G28;
G32;
G29 S1;My original printer is running on 2.05 duet maestro and it works fine when I run G32 and G29 S1 in my start gcode. So I’m not sure what’s causing this problem.
-
-
If you run G29 S1 from the console, do you see any error messages?
-
After running G29 S1, run M122. In the resulting report, what does it say after "Bed compensation:" ?
-
-
Ok here's when I run G29 S1 it will give me a green check I will post a screenshot .
after that I ran M122 and here's my resultsM122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.1.1 running on Duet Ethernet 1.02 or later + DueX5 Board ID: 08DLM-996RU-N8PS0-7J9D8-3S86T-1B8VP Used output buffers: 3 of 24 (17 max) === RTOS === Static ram: 27980 Dynamic ram: 94736 of which 44 recycled Exception stack ram used: 488 Never used ram: 7824 Tasks: NETWORK(ready,392) HEAT(blocked,1224) DUEX(suspended,160) MAIN(running,1640) IDLE(ready,80) Owned mutexes: === Platform === Last reset 00:07:49 ago, cause: power up Last software reset at 2021-03-11 02:14, reason: Stuck in spin loop, spinning module GCodes, available RAM 7648 bytes (slot 0) Software reset code 0x4083 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f80f BFAR 0xe000ed38 SP 0x20002e24 Task NETW Stack: 00457b03 0045b480 410f0200 3e4ccccd 40a38800 41de202f 37c87400 3331bb4c 40000000 3f317200 b5ddea0e Error status: 0 MCU temperature: min 17.2, current 26.5, max 26.7 Supply voltage: min 25.0, current 25.0, max 25.1, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: standstill, SG min/max not available Driver 1: standstill, SG min/max not available Driver 2: standstill, SG min/max 0/271 Driver 3: standstill, SG min/max not available Driver 4: standstill, SG min/max not available Driver 5: standstill, SG min/max 0/226 Driver 6: standstill, SG min/max 0/292 Driver 7: standstill, SG min/max not available Driver 8: standstill, SG min/max 0/230 Driver 9: standstill, SG min/max not available Date/time: 2021-03-11 14:48:25 Cache data hit count 958208999 Slowest loop: 20.70ms; fastest: 0.13ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 1.5ms, write time 0.0ms, max retries 0 === Move === Hiccups: 0(0), FreeDm: 169, MinFreeDm: 165, MaxWait: 118463ms Bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves: 40, completed moves: 40, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1 === AuxDDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = 3 -1 -1 -1 Heater 1 is on, I-accum = 0.0 === GCodes === Segments left: 0 Movement lock held by null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 Queue is idle in state(s) 0 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 8.92ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 of 8 Interface state active, link 100Mbps full duplex === DueX === Read count 6, 0.77 reads/min
and here's my latest 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 T3:3:10:10 S1 ; physical drive 0 goes forwards M569 P11 R1 T3:3:10:10 S1 ; physical drive 1 goes forwards M569 P3 S1 ; physical drive 3 goes forwards M569 P4 S0 ; physical drive 4 goes forwards M569 P5 S1 ; physical drive 5 goes Backwards M569 P6 S1 ; physical drive 6 goes Backwards M569 P8 S1 ; physical drive 7 goes Backwards M569 P2 S1 ; physical drive 9 goes backwards M584 X10 Y11 Z5:6:8:2 E3:4 ; set drive mapping M671 X50.0:450.0:450.0:50.0 Y50.0:50.0:450.0:450.0 S2 ; ZBelts Near Locations M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation M92 X40 Y40 Z412.00 E420.00:420.00 ; set steps per mm M566 X10000 Y10000 Z800 E600:600 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z800 E6000:6000 ; set maximum speeds (mm/min) M201 X8000 Y8000 Z800 5000:5000 ; set accelerations (mm/s^2) M906 X1800 Y1800 Z1000 E600:600 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 X500 Y500 Z500 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"!zstop+!duex.e2stop+!duex.e3stop+!duex.e5stop" ; configure active-high endstop for high end on Z ; Z-Probe M558 P1 C"zprobe.in" H5 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds G31 P500 X5 Y29 Z0.551 ; set Z probe trigger value, offset and trigger height M557 X50:450 Y50:450 S40 ; 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.cs2" 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 M143 H1 S360 ; set temperature limit for heater 1 to 280C M308 S3 P"duex.e2temp" Y"thermistor" T10000 B3950 ; configure sensor 3 as thermistor on pin duex.e2temp M950 H3 C"e1heat" 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"fan1" Q500 ; create fan 0 on pin fan1 and set its frequency M106 P0 C"WATER COOLING" S1 H1 T45 ; set fan 0 name and value. Thermostatic control is turned on M950 F1 C"duex.fan6" Q500 ; create fan 1 on pin duex.fan6 and set its frequency M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on M950 F2 C"duex.fan7" Q500 ; create fan 2 on pin duex.fan7 and set its frequency M106 P2 S1 H1 T45 ; set fan 2 value. Thermostatic control is turned on ;Led-Indicators M950 P6 C"duex.e2heat" Q500 ; Assign to P6 M950 P7 C"duex.e3heat" Q500 ; Assign to P7 M950 P8 C"duex.e4heat" Q500 ; Assign to P8 M950 P9 C"duex.e5heat" Q500 ; Assign to P9 M42 P6 S0; M42 P7 S0; M42 P8 S0; M42 P9 S0; ; 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 H1 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
-
@moe-adams9093 said in G29S1 not loading during print and G32 not leveling properly:
Bed compensation in use: mesh
So it is active.
If you put a piece of tape on the Z axis motor shafts or lead screw do you see it move during the first layer?
-
I took the bottom plate off to see if my Z motors are compensating and they do move but they move very slow so I don't know if there's an option where I can make my Zmotors to compensate equivalent with the same speed of the X&Y axis while printing