Mesh grid don't work
-
Hello guys i have Duet2 Ethernet with duex5 board.
and i have problems with mesh grid.
when i start print bed won't move enough to enable same thicknes for first layer; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool v2.0.4 on Sat Oct 12 2019 15:44:24 GMT+0200 (Srednjeevropski poletni čas) M561 ; Disable any Mesh Bed Compensation G30 P0 X20 Y99 Z-99999 ; Probe near Front Left leadscrew G30 P1 X210 Y380 Z-99999 ; Probe near Rear Middle leadscrew G30 P2 X400 Y99 Z-99999 S3 ; Probe near Front Right leadscrew G29 S1 ; Enable Mesh Bed Compensation ; Configuration file for Duet WiFi (firmware version 1.21) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2.0.4 on Sat Oct 12 2019 15:44:24 GMT+0200 (Srednjeevropski poletni čas) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M98 P"Turn_printer_on" ; force the PS_ON line to 0V/GND; causing a voltage over relay, thus enabling it. ; With the relay active, it close the circuit of the Live wire, taking over to supply the Power Supply. M550 P"3D Monstrum" ; set printer name M667 S1 ; select CoreXY mode ; Network M552 S1 ; IP address ; Debugging M111 S0 ; Debug off M929 P"eventlog.txt" S1 ; Start logging to file eventlog.txt ; Drives ;X and Y motors M569 P5 S0 ; Drive 5 direction | Y Stepper M569 P6 S0 ; Drive 6 direction | Y Stepper ;Z motors M569 P7 S0 ; Drive 7 direction | Front Right Z M569 P8 S0 ; Drive 8 direction | Back Z M569 P9 S0 ; Drive 9 direction | Front Left Z ;Extruders M569 P1 S0 D2 ; Drive 1 direction | Extruder0 M569 P2 S0 D2 ; Drive 2 direction | Extruder1 M569 P3 S0 D2 ; Drive 3 direction | Extruder2 M569 P4 S0 D2 ; Drive 4 direction | Extruder3 ; Toolchanger actuator M569 P0 S1 ; Drive 0 direction | Toolchanger Actuator M584 X6 Y5 Z9:8:7 U0 E1:2:3:4 ; set drive mapping M671 X-28:172:458 Y146:402:146 S15 ; leadscrews at front left, rear middle and front right M350 X16 Y16 Z16 E16 U4 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z1600 E2811 ; set steps per mm M92 U30.578 ; Steps/deg for U from (200 * 4 * 13.76)/360 M203 X6000.00 Y6000.00 Z300.00 E1200.00 U9000 ; set maximum speeds (mm/min) M566 X900.00 Y900.00 Z12.00 E40 U65 ; set maximum instantaneous speed changes (mm/min) M201 X800 Y800 Z60 E120 U800 ; set accelerations (mm/s^2) M906 X1500 Y1500 Z900 E800 U1000 ; set motor currents (mA) U je bil 670 ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X420 Y360 Z460 S0 ; set axis maxima M208 U0:180 ; Set Elastic Lock (U axis) max rotation angle ; Endstops M574 X1 S1 P"xstop" ; X min active high endstop switch M574 Y1 S1 P"ystop" ; Y min active high endstop switch M574 Z2 S1 P"duex.e2stop" ; Z min active high endstop switch M574 U1 S1 P"e0stop" ; U min active high endstop switch ;M558 P2 C"duex.e2stop" H0 F10 ; Z min active high endstop switch TAMV Tool Alingment Z touch plate ; Z-Probe M950 S0 C"duex.pwm5" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H5 F100 T2000 ; set Z probe type to bltouch and the dive height + speeds G31 P25 X24.333 Y39.003 Z4.323 ; set Z probe trigger value, offset and trigger height ; Heaters ; Bed Heater M308 S0 P"bed_temp" Y"thermistor" T100000 B3950 A"Bed Heater" ; 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 S110 ; set temperature limit for heater 0 to 110C M140 H0 R35 ; map heated bed to heater 0 ; Tool1 Heater M308 S1 P"duex.e2temp" Y"thermistor" T100000 B3950 A"Tool 1 Heater" ; configure sensor 1 as thermistor on pin duex.e2temp M950 H1 C"duex.e2heat" T1 ; create nozzle heater output on duex.e2heat and map it to sensor 1 M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Tool2 Heater M308 S2 P"duex.e3temp" Y"thermistor" T100000 B3950 A"Tool 2 Heater" ; configure sensor 2 as thermistor on pin duex.e3temp M950 H2 C"duex.e3heat" T2 ; create nozzle heater output on duex.e3heat and map it to sensor 2 M143 H2 S280 ; set temperature limit for heater 2 to 280C ; Tool3 Heater M308 S3 P"duex.e4temp" Y"thermistor" T100000 B3950 A"Tool 3 Heater" ; configure sensor 3 as thermistor on pin duex.e4temp M950 H3 C"duex.e4heat" T3 ; create nozzle heater output on duex.e4heat and map it to sensor 3 M143 H3 S280 ; set temperature limit for heater 3 to 280C ; Tool4 Heater M308 S4 P"duex.e5temp" Y"thermistor" T100000 B3950 A"Tool 4 Heater" ; configure sensor 4 as thermistor on pin duex.e5temp M950 H4 C"duex.e5heat" T4 ; create nozzle heater output on duex.e5heat and map it to sensor 4 M143 H4 S280 ; set temperature limit for heater 4 to 280C ; Tool definitions M563 P0 S"TOOL1" D1 H1 F0 ; Define tool 1 ;G10 P0 Z-3.75 ; Set tool 1 offset from the bed G10 P0 R20 S30 ; Set tool 1 operating and standby temperatures(-273 = "off") ;M572 D0 S0.1 ; Set pressure advance on Extruder Drive 0 M563 P1 S"TOOL2" D0 H2 F0 ; Define tool 2 G10 P1 Z-0.1377 ; Set tool 2 offset from the bed with tool-0 as a reference. G10 P1 R20 S30 ; Set tool 2 operating and standby temperatures(-273 = "off") ;M572 D1 S0.1 ; Set pressure advance on Extruder Drive 1, M563 P2 S"TOOL3" D2 H3 F0 ; Define tool 3 ;G10 P2 Z-3.75 ; Set tool 3 offset from the bed G10 P2 R20 S30 ; Set tool 3 operating and standby temperatures(-273 = "off") ;M572 D2 S0.1 ; Set pressure advance on Extruder Drive 2 M563 P3 S"TOOL 4" D3 H4 F0 ; Define tool 4 ;G10 P3 Z-3.75 ; Set tool 4 offset from the bed G10 P3 R20 S30 ; Set tool 4 operating and standby temperatures(-273 = "off") ;M572 D3 S0.1 ; Set pressure advance on Extruder Drive 3 ;Water temp M308 S5 P"e0temp" Y"thermistor" T10000 B10000 A"Water temp." ;configure sensor 5 as thermistor on pin e1temp ; Mesh grid M557 X30:390 Y80:380 S60:60 ; Water colling NOCTUA FAN'S M950 F1 C"!duex.fan7+exp.pb6" Q25000 ; fan 0 is a 4-wire PWM fan so invert it, use high PWM frequency, tacho connected to PB6 on expansion connector M106 P1 H5 I1 T21:23.5 L125 S1 ; set fan 0 value. Thermostatic control is turned on ; Water colling PUMP M950 F2 C"!Fan0" Q25000 ; fan 2 is a 4-wire PWM fan so invert it, use high PWM frequency, tacho connected to PB6 on expansion connector M106 P2 H5 I1 T10:40 L255 ; set fan 2 value. Thermostatic control is turned on ; Solenoid valve M950 P3 C"duex.fan3" ; create fan 3 on pin duex.fan3 and open valve for air on tool1 M950 P4 C"duex.fan4" ; create fan 4 on pin duex.fan4 and open valve for air on tool2 M950 P5 C"duex.fan5" ; create fan 5 on pin duex.fan5 and open valve for air on tool3 M950 P6 C"duex.fan6" ; create fan 6 on pin duex.fan6 and open valve for air on tool4 ; Part cooling fan M950 F0 C"e1heat" Q100; Fan 0 is connected to heater 1 pin, PWM at 100Hz M106 P0 S0 ;LED LIGHT SYSTEM M950 P7 C"e0heat" M42 P7 S0 ;LED LIGHT CAMERA NOZZLE ALINGMENT M950 P8 C"Fan2" M42 P8 S0 ;COOLLING ARIPUMP M950 P9 C"Fan1" M42 P9 S0 ; Machine Thermistors M308 S7 P"duex.e2_temp" Y"pt1000" R4700 ; E2 temperature sensor M308 S8 Y"drivers" A"DRIVERS" ; sensor 4 as temperature warning and overheat flags on the TMC2660 on Duet M308 S9 Y"mcu-temp" A"MCU" ; sensor 5 as thermistor on pin e1temp for left stepper ; Custom settings are not defined ; Miscellaneous T-1 ; select first tool in prusa i have just G29 S1 P"heightmap.csv"; Mesh bed to enable mesh grid compsation
Please help i don't have any more idea
-
@matej1006
AFAIK bed.g is for Delta printers only.
To create a heightmap you have to define a mesh grid with M557 in config.g and then run it once with G29. After that you can recall it with G29 S1. -
@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....