Mesh grid don't work
-
@o_lampe bed.g is ran when G32 is called.
So for printers with independent Z motors, the bed.g is where the the appropriate probe points go to do this.@matej1006 G29 is cancelled out whenever G28 is called.
You can check if compensation is active during a print as part of the output of M122 -
@matej1006 said in Mesh grid don't work:
Please help i don't have any more idea
You have to enable the compensation by adding a line for
M376
in the config.g
Please set the the H-option to your prevered value.
https://duet3d.dozuki.com/Wiki/Gcode#Section_M376_Set_bed_compensation_taper -
Okay awesome yeah i missed that. what height i must use
-
@jay_s_uk i have first g28 and then G29
M561 ; Disable any Mesh Bed Compensation G90 G1 X201 Y200 F10000 ; Move to the center of the bed M558 F500 ; Set the probing speed G30 M558 F50 ; Set a slower probing speed G30 G32 ; Run 3-point bed calibration defined in bed.g G1 X0 Y0 F10000
-
@DIY-O-Sphere this doesn't set mesh levelling by itself
lets say you are printing a 40mm high part.
Without this set, mesh levelling would be applied throughout the whole height of the part. Therefore, Z would still be adjusted for the last layer.
M376 sets how high in the part mesh levelling should be applied for.
So with M376 H10, the mesh levelling would only be applied to the first 10mm and then after that it would be accounted for.
You could have M376 H10 in config.g for example but mesh levelling won't be applied unless G29 (or G29 S1) is sent. -
@matej1006 can you confirm that it is turned on during a print?
Post the output of M122 if you're not sure -
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2 running on Duet Ethernet 1.02 or later + DueX5 Board ID: 08DLM-996RU-N8PS0-6J1FD-3S06L-1BT3P Used output buffers: 3 of 24 (24 max) === RTOS === Static ram: 23460 Dynamic ram: 71608 of which 36 recycled Never used RAM 16976, free system stack 213 words Tasks: NETWORK(ready,169) HEAT(blocked,311) DUEX(blocked,35) MAIN(running,448) IDLE(ready,19) Owned mutexes: === Platform === Last reset 00:00:07 ago, cause: software Last software reset at 2021-02-21 14:22, reason: User, GCodes spinning, available RAM 16976, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 MCU temperature: min 18.6, current 19.1, max 19.4 Supply voltage: min 24.1, current 24.1, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: position 0, standstill, SG min/max not available Driver 1: position 0, standstill, SG min/max not available Driver 2: position 0, standstill, SG min/max not available Driver 3: position 0, standstill, SG min/max not available Driver 4: position 0, standstill, SG min/max not available Driver 5: position 0, standstill, SG min/max not available Driver 6: position 0, standstill, SG min/max not available Driver 7: position 0, standstill, SG min/max not available Driver 8: position 0, standstill, SG min/max not available Driver 9: position 0, standstill, SG min/max not available Driver 10: position 0 Driver 11: position 0 Date/time: 2021-02-21 14:22:23 Cache data hit count 9209468 Slowest loop: 9.65ms; fastest: 0.20ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 9 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 2.7ms, write time 5.7ms, max retries 0 === Move === DMs created 83, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1 === 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 LCD 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: 10.78ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 2 of 8 Interface state active, link 100Mbps full duplex === DueX === Read count 1, 7.91 reads/min
-
@matej1006 said in Mesh grid don't work:
=== Move === DMs created 83, maxWait 0ms, bed compensation in use: none, comp offset 0.000
Its showing as being in use, which is a good start.
I don't see an M557 as part of your config.g (this sets up the mesh to be used for G29). Do you know what probe spacing etc you used?
Did you run G29 when the bed was hot or cold?
Can you post an image of your height map? -
@jay_s_uk
i probe with hot bed
here is height map
M557 is 125 line i config.g file -
if thats levelling on 3 points before hand, it suggests you have issues with you rails being higher at the back left and lower on the back right.
thats a lot to compensate.
you can also go tighter with your mesh as the duet can handle up to 441 mesh points. 60mm between points is quite sparse. -
yes i do G32 before i do G29
i will do 20mm now or 10mm ? -
can i have i bed.g M561 disable any mah compesation or no?
-
@matej1006 disabling mesh levelling in bed.g in normal.
If you use the drop down compensation menu to define the mesh, it will tell you if you have too many points -
@matej1006 said in Mesh grid don't work:
yes i do G32 before i do G29
You only need a G28 before G29...
But you can use G32 to get measured values for the adjustment. The result is saved in the console. It makes it easy to adjust the bed with the leveling srews. -
@jay_s_uk where is that drop down compensation menu i can not find it?
-
@DIY-O-Sphere he does need to do it before as he has independent z levelling
-
-
@jay_s_uk said in Mesh grid don't work:
levelling won't be applied unless G29 (or G29 S1) is sent.
You are right....
I would recomement to add "G29 S1" in homez.g.
That's the way I have set it up.... -
ow this drop down menu ok sorry
my homez.g
if !move.axes[3].homed M291 R"Cannot Home Z" P"U axis must be homed before Z to prevent damage to tool. Press OK to home U or Cancel to abort" S3 G28 U ; RRF3 does not permit Z homing without x&y being homed first. Popup window for convenience. if !move.axes[0].homed || !move.axes[1].homed M291 R"Cannot Home Z" P"X&Y Axes must be homed before Z for probing. Press OK to home X&Y or Cancel to abort" S3 G28 Y X if state.currentTool != -1 M84 U M291 R"Cannot Home Z" P"Tool must be deselected before homing. U has been unlocked, please manually dock tool and press OK to continue or Cancel to abort" S3 G28 U M561 ; Disable any Mesh Bed Compensation G90 G1 X201 Y200 F10000 ; Move to the center of the bed M558 F500 ; Set the probing speed G30 M558 F50 ; Set a slower probing speed G30 G32 ; Run 3-point bed calibration defined in bed.g G1 X0 Y0 F10000 G29 S1 P"heightmap.csv" ; Mesh bed
-
@jay_s_uk new bed with 20 spacing