@t3p3tony Excuse me, i saw a bookmark next to my message and wondered what it was and clicked it and it disappeared. I accidentally reported myself after... Woops
Best posts made by Piet
-
RE: Problem when turning on printer
-
RE: Mesh bed leveling without M557
For future reference, this works.
The probe file can be adjusted to allow for different types of probing.if !exists(param.X) || !exists(param.Y) ;if parameter X and Y are given echo "Make sure parameter X and Y are given (C and S optional). Aborting probe move." ;notify user G1 X{param.X} Y{param.Y} Z{sensors.probes[0].diveHeight} F6000 ;move to given X and Y coordinates and predefined diveheight M400 ;wait for moves to finish M98 P"waitForHeaters.g" H01 M568 P0 A0 ;turn the extruder heater off (interference changes sensor reading) G4 S1 ;wait 1 second M98 P"preprobe.g" ;call macro to determine triggervalue and see if it is okay to proceed probing ;M291 R"Probing." P" " S1 if global.proceedProbe = true ;if its okay to proceed probing if exists(param.C) ;if parameter C is given if exists(param.S) ;if parameter S is given G30 X{param.X} Y{param.Y} P{param.C} S{param.S} Z-9999 ;probe move else ;otherwise G30 X{param.X} Y{param.Y} P{param.C} Z-9999 ;probe move elif exists(param.S) ;if parameter S is given G30 X{param.X} Y{param.Y} S{param.S} Z-9999 ;probe move else ;otherwise G30 X{param.X} Y{param.Y} Z-9999 ;probe move elif (global.proceedProbe = false) ;if it isnt okay to proceed probing echo "Aborting probe move" ;notify user ;M292 M568 P0 A1 ;set the extruder heater to standby
if global.bedLeveled == 0 G32 M98 P"probe.g" X525 Y250 echo >"heightmap.csv" "Height map file generated at", state.time echo >>"heightmap.csv" "xmin,xmax,ymin,ymax,radius,xspacing,yspacing,xnum,ynum" echo >>"heightmap.csv" global.xMin,",",global.xMax,",",global.yMin,",",global.yMax, ", -1 ,",global.xSpacing,",",global.ySpacing,",",global.xNum,",",global.yNum var y = global.yMin var i = 0 G90 while var.i < global.yNum var x = global.xMin var j = 0 while var.j < global.xNum M98 P"probe.g" X{var.x} Y{var.y} S-1 M400 if var.j == 0 set global.meshLine = sensors.probes[0].lastStopHeight - sensors.probes[0].triggerHeight else set global.meshLine = global.meshLine ^ "," ^ sensors.probes[0].lastStopHeight - sensors.probes[0].triggerHeight set var.x = var.x + global.xSpacing set var.j = var.j + 1 echo >>"heightmap.csv" global.meshLine set var.y = var.y + global.ySpacing set var.i = var.i + 1
-
RE: Using bed leveling screws with independent z motors
@engikeneer That is my concern, i do also have independent z sensors so i know where every Z-motor is before probing. I think there is something to be said that with a good construction it is most likely redundant but the printer isn't build yet so im just speculating about the best approach to take to make sure it goes well anyways. Thanks for the feedback!
-
RE: Trouble assigning filament sensor after using pin for GPIO
@dc42 Im using version 3.4.0beta3 in SBC mode
-
RE: Failed Duet3 & SBC firmware update (again)
Good to hear, I'm not sure i had the same error message coming from a clean image (Invalid protocol version 6). Read somewhere on the forum that it had to do with dissimilair versions on the pi and duet but I'm not sure.
-
RE: Using bed leveling screws with independent z motors
@Phaedrux Thanks for the help. This thread has got me thinking and for the production run I'll most likely use a different solution (less constrained so motors can do its thing). For the prototype I will see if it is helpfull if necessary at all.
Right now I have it working with 4 adjustment points using the following script:
M561 ; clear any bed transform
M98 P"homexyu.g" ; home the x, y and u axis
T0 P0 ; select tool 0
G1 X51.3 Y75 F5000 ; move to first probe coordinates
G91 ; relative positioning
G30 K0 Z-9999 ; probe bed with tool 0 and set Z=0G90 ; absolute positioning
T1 P0 ; select tool 1
G1 X51.3 Y75 Z12.5 U-7.5 F2000; ; move the bed 7.5mm, and the U axis 15mm down
G91 ; relative positioning
G38.2 Z-9999 P1 ; probe bed with tool 1 and stay at Z=0
M400
G10 L1 P1 X0 Y0 Z{-move.axes[2].machinePosition} ; set Z-offset
M500 P10 ; save offset
M400
G1 Z5 ; move the bed 5mm down
G90 ; absolute positioning
M400
M117 "Z offset for tool 1 is set and saved"T0 ; select tool 0
G30 P0 K0 X51.3 Y75 Z-9999 ; probe above leadscrew
G30 P1 K0 X400 Y448.7 Z-9999 ; probe above leadscrew
G30 P2 K0 X748.7 Y75 Z-9999 S3 ; probe above leadscrew and run compensation -
RE: Tool change offset execution order
@jay_s_uk Thank you, that was very helpful. Im assuming you meant G1 R2 Z0, that worked for me.