Kinematics issue
-
I posted back in March when I switched to a Kinematics setup and had a lead screw issue that was my own mistake. Got that fixed and then spring hit, and I haven’t touched it since. Well, I broke my hand and all outside stuff came to a halt so I figured I would get this printer going again.
It’s a CoreXY with a Duet2, Duex5, BLTouch, and Hemera extruder. Print volume 410mm x 410mm x 440mm. My Z motors are front 2 corners and middle rear.
When I run the G32 command everything seems right, then I run G29 S0, and that seems fine although the height map shows high in the right rear, see picture. When I print, I have the G29 S1 command in my slicer and it says it’s loading the mesh in DWC, but it prints exactly like the height map without compensation. Nozzle too close at right rear, center prints perfect and left front doesn’t even stick because it’s too high. The opposite 2 corners print ok, but not perfect.
config.g
; General preferences
M575 P1 S1 B57600 ; enable support for PanelDue
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"The Plastic Beast" ; set printer name
M669 K1 ; select CoreXY mode; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0 S0 ; physical drive 0 goes backwards
M569 P1 S0 ; physical drive 1 goes backwards
M569 P2 S0 ; physical drive 2 goes backwards Z axis 1 front left
M569 P3 S1 ; physical drive 3 goes forwards
M569 P5 S0 ; physical drive 2 goes backwards Z axis 2 middle rear
M569 P6 S0 ; physical drive 2 goes backwards Z axis 3 front right
M584 X0 Y1 Z2:5:6 E3 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X79.60 Y79.60 Z1600.00 E393.50 ; set steps per mm
M566 X1000.00 Y1000.00 Z100.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X24000.00 Y24000.00 Z300.00 E1200.00 ; set maximum speeds (mm/min)
M201 X3000.00 Y3000.00 Z100.00 E250.00 ; set accelerations (mm/s^2)
M906 X1000 Y1000 Z1000 E950 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X400 Y410 Z420 S0 ; set axis maxima; Endstops
M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
M574 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
M574 Z1 S2 ; configure Z-probe endstop for low end on Z; Z-Probe
M950 S0 C"duex.pwm1" ; create servo pin 0 for BLTouch
M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
G31 P500 X-26 Y1.7 Z1.094 ; set Z probe trigger value, offset and trigger heightM671 X-2:203:410 Y-4:409:-7 S1.0 ; leadscrews at front left, rear middle, and front right
M557 X33:375 Y31:371 S40 ; define mesh grid; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; 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
M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S280 ; set temperature limit for heater 1 to 280C; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on; Tools
M563 P0 D0 H1 F0 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C; Custom settings are not defined
; Miscellaneous
M501 ; load saved parameters from non-volatile memory
M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
T0 : select first toolbed.g
M561 ; clear any bed transform
G28 ;home
G30 P0 X33 Y29 Z-99999 ; probe near left front leadscrew
G30 P1 X203 Y374 Z-99999 ; probe near a rear middle leadscrew
G30 P2 X375 Y28 Z-99999 S3 ; probe near right front leadscrew and calibrate 3 motorshomeall.g
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X-404 Y-415 F1800 ; move quickly to X or Y endstop and stop there (first pass)
G1 H1 X-404 ; home X axis
G1 H1 Y-415 ; home Y axis
G1 X5 Y5 F6000 ; go back a few mm
G1 H1 X-404 F360 ; move slowly to X axis endstop once more (second pass)
G1 H1 Y-415 ; then move slowly to Y axis endstop
G90 ; absolute positioning
G1 X229 Y206.3 F4000 ; go to center of bed
G30 ; home Z by probing the bed -
@cdsmith12 said in Kinematics issue:
M208 X0 Y0 Z0 S1 ; set axis minima
You should allow negative z-min limit. At least during bed-tramming.
Also, you should run G32 twice with a single G30 at bed center in between to reestablish the new Z height. -
@o_lampe dont you mean run G32 twice?
@cdsmith12 you could update your bed file so it continues to run until a set tolerance is reached. we have an example here that will do that https://teamgloomy.github.io/useful_macros.html#bedg-file-for-g32 -
Does the deviation reported by G32 increase or decrease after multiple runs?
-
@Phaedrux I homed it and did 4 g32's and then homed it again and did 4 more. Before I homed it the first time, I had manually leveled it and got this height map.
-
It's possible your Y axis on the right side is raised slightly at the back.
-
@Phaedrux I've had a 7mm 6061 Aluminum bed from the beginning 5 years ago or so, and I know it's warped, but mesh compensation always worked ok. I'm thinking that it's been heated so many times that it is warping or flexing during printing.
I decided I'm going to at least eliminate a problem, and just ordered a new cast tooling plate from RatRig so I will get it installed and post an update soon.
Thanks to everyone for the suggestions. This forum never lets me down.
-
@cdsmith12 If you are going to the expense of using a known flat cast build plate, then may I suggest that you invest a little time and effort and get the frame square so that the build plate is tram with the XY gantries. Your height map suggests that you clearly have a problem with the far right corner of the frame. If you are still going to use mesh compensation, rather than getting XY gantries tram with the bed, then don't waste your money buying expensive tooling plate. Either get the frame tram with the known flat bed thus negating the need for any compensationn, or buy cheap aluminium which isn't guaranteed flat and use compensation. Doing both makes no sense.
-
@cdsmith12 I concur with @Phaedrux and @deckingman: most likely your gantry is skewed.
I had a similar looking height map on my E3D Tool Changer when I first installed it. I tried installing washers under some of the bed mounting points to fix it, but they had much less effect than I expected. Then I realised that the bench that the printer was standing on wasn't level, and this was causing the two Y axis rails on the gantry to be slightly out of parallel. A spirit level confirmed this. I fixed it by raising one of the feet supporting the printer.
-
@deckingman @dc42 Thanks for both of your input. When I rebuilt my printer and went to kinematics back in January, I took the entire frame apart. When I put it back together, I used metal corner and frame brackets for everything, and eliminated all my printed connectors. There's like 60 or so brackets, and it is completely square and level, took me a couple days to loosen one place tighten another, but short of being welded, it can get much better.
The corner that is high is the edge with the single pivot point. When I put a straight edge across, you can see about 1mm gap, and I think that all the negative numbers are what's causing the biggest issue. I tried building it up with tape to the point the magnetic bed almost wouldn't stick on one side. It looked better, but I felt like if it was that warped, i should just get a good new quality plate.
-
@deckingman appreciate everyone's input. I have not printed yet, but here is the heightmap with the new ratrig brand tooling plate. I did check to make sure everything was still square, but I didn't do anything but take the old 6061 bed off and put the new one on. My guess is either it wasn't truly 6061 when I bought it, or it was warping during print, or both. Will print something later and post an update.
-
@cdsmith12 That doesn't look too bad. What is your maximum deviation? After tramming my frame, I got my 400mm X 400mm bed flat and level within 0.03mm at every point on the surface. With a little more time and effort, I could probably have improved on that but 0.03 is more than adequate imo. So no auto bed levelling or mesh compensation required or used - just home and go.