Triple z axis bed tramming
-
The 0,0 point doesn't have to be where the endstops are located. The right handed coordinate system assumes you're looking at the printer from the front. It's fine to have the 0,0 position in a different position provided it's both axis that are flipped. If only one is flipped you'd get mirrored prints.
-
@Phaedrux Gotcha. So instead of front left 0,0 is back right on this one and the Zonestar M9Z3 that I have. The CR10sPro that I have is like what you are saying. 0,0 is front left.
-
Yeah back right is fine as long as you're orienting that in your brain. It's still a right handed coordinate system, it's just rotated 180 degrees.
The front left thing is mostly to match the way slicers and CAD software orient the origin and it helps to have a standardized way of talking about it with other people so that we're all on the same page. Instructions usually assume that coordinate system for instance.
The important thing is that where ever you've defined the 0,0 position, if you were standing at the printer such that that point is at the front left, then the motor movements should match what I originally described. -x to the left, etc.
Is that the case?
-
@Phaedrux yep. That is the case.
-
Alright, so now with that in mind, lead screw positions in M671 correct, M208 axis limits correct, probe offset correct, motor order matches.. that leaves us with the points in bed.g and my original question.
Are the points defined in your bed.g trying to place the probe as close to the lead screws as possible?
A good way to check would be to move your print head such that the probe is as close as possible to the first lead screw, then use that current head position as the point to probe, repeat for the other lead screws.
-
@Phaedrux those are exact. I couldn’t probe them.
-
Can you post your homeall?
When you run G32 does it home correctly and then move to the first point?
Does the probe work otherwise?
-
; generated by RepRapFirmware Configuration Tool v3.1.1 on Thu Jun 04 2020 11:20:25 GMT-0700 (Pacific Daylight Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X-450 Y-450 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
G1 H1 X-450
G1 H1 Y-450
G1 X5 Y5 F6000 ; go back a few mm
G1 H1 X-450 Y-450 F360 ; move slowly to X and Y axis endstops once more (second pass)
G1 X250 Y210 F9000 ; go to first bed probe point and home Z
G30 ; probe the bed
G1 H1 Z-465 F360
G90
G92 Z5
Probe works. G32 command only goes near the 0,0 and then just stops.
-
@Phaedrux found part of the issue. The z motors were not mapped correctly in the bed.g. Fixed that. Now it homes all. Then goes back the home x and y and tries to probe which is off the bed.
-
@mrenz999 said in Triple z axis bed tramming:
G30 ; probe the bed
G1 H1 Z-465 F360
G90
G92 Z5This is a problem. You're first using the probe to find Z0, but then you're also homing using an endstop, and then forcing the Z position to Z5. Remove those last 3 lines to maintain the probed Z position, otherwise you're bound to have an offset from where it thinks the bed is and where the bed actually is. Use the probe to home Z. That's what it's meant for.
@mrenz999 said in Triple z axis bed tramming:
Then goes back the home x and y and tries to probe which is off the bed.
As I said before, jog your print head such that the probe is where you want it to probe, the XY coordinates of the head at that point is what you want to use in the bed.g points.
-
@Phaedrux
Ok new bed.g
; bed.g
; called to perform automatic bed compensation via G32
;
; generated by RepRapFirmware Configuration Tool v3.1.1 on Thu Jun 04 2020 11:20:24 GMT-0700 (Pacific Daylight Time)
M561 ; clear any bed transform
;G29 ; probe the bed and enable compensation
G28 ; home
;M401 ; deploy Z probe
G30 P2 X20 Y110 Z-99999 ; probe near an adjusting screw
G30 P3 X20 Y365 Z-99999 ; probe near an adjusting screw
G30 P4 X430 Y240 Z-99999 S3 ; probe near an adjusting screw and calibrate 3 motors
G29
;M402 ; retract probeNew homeall.g
; generated by RepRapFirmware Configuration Tool v3.1.1 on Thu Jun 04 2020 11:20:25 GMT-0700 (Pacific Daylight Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X-450 Y-450 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
G1 H1 X-450
G1 H1 Y-450
G1 X5 Y5 F6000 ; go back a few mm
G1 H1 X-450 Y-450 F360 ; move slowly to X and Y axis endstops once more (second pass)
G1 X264 Y250 F9000 ; go to first bed probe point and home Z
G30 ; probe the bed
;G1 H1 Z-465 F360
;G90
;G92 Z5
-
@mrenz999 said in Triple z axis bed tramming:
G30 P2 X20 Y110 Z-99999 ; probe near an adjusting screw
G30 P3 X20 Y365 Z-99999 ; probe near an adjusting screw
G30 P4 X430 Y240 Z-99999 S3 ; probe near an adjusting screw and calibrate 3 motorsShouldn't that be P1 P2 P3? Your points start at P2 for some reason.
-
@Phaedrux
That's the assigned motors for Z
Is that not the correct way to put it ?
; Drives
M569 P0.0 S0 ; physical drive 0.0 goes forwards
M569 P0.1 S1 ; physical drive 0.1 goes forwards
M569 P0.2 S0 ; physical drive 0.2 goes forwards
M569 P0.3 S0
M569 P0.4 S1
M569 P0.5 S0 ; physical drive 0.3 goes forwards
M584 X0.0 Y0.1 Z0.2:3:4 E0.5 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z400.00 E420.00 ; set steps per mm
M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X20000 Y20000 Z600 E3600.00 ; set maximum speeds (mm/min)
M201 X3000 Y3000 Z100 E5000 ; set accelerations (mm/s^2)
M906 X1600 Y1600 Z1600 E1600 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
M671 X20:20:430 Y110:365:240 S0.5 ; leadscrews at rear left, front middle and rear right -
No, in this context G30 P is the number of the point to probe
https://duet3d.dozuki.com/Wiki/Gcode#Section_G30_Single_Z_Probe
You're probing 3 points and doing 3 point correction, so use p1 p2 p3
-
@Phaedrux Ok changed that. It goes to all 3 points now and probes but then says error: 3 points expected 0 probed.
G32
Error: Bed calibration : 3 factor calibration requested but only 0 points provided -
@Phaedrux Should I change Defining my mesh to less points ?
-
Mesh is different. That's G29 and M557. Not related to independent leveling.
My mistake. It should be P0 for the first point and not P1. So P0 P1 P2
There is quite literally an example here: https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors#Section_Example_for_3_motors
-
@Phaedrux That did it. Now I have an error saying it exceed limits lol. That I can work on.
Thank you so much for your help and patience. -
-
@Phaedrux Did that. Thanks again. Do you know if I can plug a webcam into the SBC ?