Triple z axis bed tramming
-
@Phaedrux M671 X-60:-60:485 Y110:365:240 S0.5 ; leadscrews at rear left, front middle and rear right
Ok fixed that. It moves all the way back to the y endstop and it stops No error or anything. Just stops. -
Are you using a right handed coordinate system with 0,0 in the front left? -X moves to the left, +X moves to the right, -Y moves to the front, +Y moves to the back?
Are the lead screw positions in your M671 relative to that 0,0 point in the front left?
Are your probe offsets correct relative to the nozzle? G31 P500 X-20 Y0 Z7.7
Are the points in the M671 in the same order as the motors are defined in M584?
Are the points defined in your bed.g trying to place the probe as close to the lead screws as possible?
-
@Phaedrux X is back right. Y is back. So Left for +Y and Forward for +X. Yes offsets are relative to the nozzle. The points in the bed.g are exactly where they are relative to the endstop 0's. The M671 motors are in the correct order.
-
@mrenz999 said in Triple z axis bed tramming:
So Left for +Y and Forward for +X.
That's definitely a non standard arrangement and I can't tell with metal gymnastics alone if that's going to produce mirrored prints or not, or if it's just an odd rotation of a right hand coordinate system.
Can you post a photo of the printer looking down at it and explain where the endstops are?
Having a non-standard coordinate system is going to make for headaches like this.
Here's an example of a right handed setup.
-
@Phaedrux My other printer is the same from factory. The one I am working on now is a BLV MGN Cube. Not having issues with the prints other than getting the bed leveling handled. The front of the printer is open. So everything goes to the far right for 0,0.
-
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