Initial tuning for corexy with 3 z independent z screws
-
So I am at my wits end here.
I have a d-bot/corexy with 3 screws holding the bed, and I think I have everything setup correctly. Still, my test prints are not sticking to the bed at all, and I think that's because the bed is too low for the extruder (or the extruder too high, depends how you look at it).
So this is the setup:
Piezo probe from precisionpiezo. It has a -0.220 offset on z for triggering
Mic6 aluminum plate bed (6mm)
3 z screws (two on front sides and one in the back).
Duet wifi + duex2I am very confused by my leveling options. I tried leveling it by hand using the bed screws/springs, and then I configured the duet wifi for bed leveling with independent z motors and run g32 twice, and then I tried a mesh bed leveling that got me something like this:
I tried following the steps on the mesh bed leveling wiki page about creating a bed.g with H offsets on each point I used to probe. I did the paper test on each of the 6 points and got results around 0.1 and 0.2. Didn't help, the bed mesh got even weirder.
I noticed that when I home Z, it doesn't go to 0, it stops at -0.22 (that is exactly the probe offset). I have a delta also running duet but I can't remember if it actually goes to 0 when it homes or not (and also they have different kinetics), but worth mentioning.
The only time I almost got something to stick, I had to do almost 2mm of babystepping down for the nozzle even get close to the bed. So I am PRETTY SURE I am missing something or doing something terribly wrong.
At that point I gave up on mesh leveling and decided to trust that my aluminum bed isn't uneven. I also removed the LokBuild surface because I am unsure that it works.
So, at this point I don't even know what I am supposed to be testing/doing. Does someone that setup something like that has any light on what I am doing wrong? Maybe there's something wrong with my build in general?
Thanks!
Configs:
; bed.g ; Clear any bed transform M561 G28 ; Probe the bed at 3 points G30 P0 X0 Y55 Z-99999 G30 P1 X190 Y55 H-0.575 Z-99999 G30 P2 X80 Y250 H-0.385 Z-99999 S3
; config.g ; Configuration file for Duet WiFi (firmware version 1.20 or newer) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool on Thu Oct 26 2017 19:14:01 GMT-0400 (EDT) ; General preferences M111 S0 ; Debugging off G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M555 P2 ; Set firmware compatibility to look like Marlin ; Automatic saving after power loss is not enabled M667 S1 ; Select CoreXY mode M208 X0 Y0 Z0 S1 ; Set axis minima M208 X200 Y250 Z300 S0 ; Set axis maxima ; Endstops M574 X1 Y2 Z0 S0 ; Define active low and unused microswitches ; IR probe ;M558 P1 X0 Y0 Z1 H3 F120 T8000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds ;G31 P500 X4.4 Y22 Z2.35 ; Set Z probe trigger value, offset and trigger height ; Piezo M558 P1 I0 R0.4 F420 H7 X0 Y0 Z1 G31 X0 Y0 Z-0.225 P500 M557 X10:190 Y10:245 S20 ; Define mesh grid ; Drives M569 P0 S0 ; Drive 0 goes backwards M569 P1 S0 ; Drive 1 goes backwards M569 P2 S0 ; Drive 2 goes backwards M569 P3 S1 ; Drive 3 goes forwards M569 P5 S0 ; Drive 5 M569 P6 S0 ; Drive 6 M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation M92 X100 Y100 Z400 E420 ; Set steps per mm M566 X900 Y900 Z80 E120 ; Set maximum instantaneous speed changes (mm/min) M203 X6000 Y6000 Z500 E1200 ; Set maximum speeds (mm/min) M201 X500 Y20 Z450 E250 ; Set accelerations (mm/s^2) M906 X1300 Y1300 Z1300 E418 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Screw bed leveling M584 X0 Y1 Z2:5:6 M671 X-95:250:80 Y55:55:390 S2 ; Heaters M143 S260 ; Set maximum heater temperature to 260C M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0 M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1 ; Tools M563 P0 D0 H1 ; 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 ; Network M550 PD-Bot ; Set machine name M552 S1 ; Enable network M587 S"millhaven" P"thisissecure" ; Configure access point. You can delete this line once connected M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; Fans M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on ; Custom settings are not configured ; Miscellaneous M501 ; Load saved parameters from non-volatile memory
; config override.g ; This is a system-generated file - do not edit ; Heater model parameters M307 H0 A90.0 C700.0 D10.0 S1.00 B1 M307 H1 A625.8 C208.2 D6.3 S1.00 B0 M307 H2 A340.0 C140.0 D5.5 S1.00 B0 M307 H3 A340.0 C140.0 D5.5 S1.00 B0 M307 H4 A340.0 C140.0 D5.5 S1.00 B0 M307 H5 A340.0 C140.0 D5.5 S1.00 B0 M307 H6 A340.0 C140.0 D5.5 S1.00 B0 M307 H7 A340.0 C140.0 D5.5 S1.00 B0 ; Z probe parameters G31 T1 P500 X0.0 Y0.0 Z-0.22 G31 T3 P500 X0.0 Y0.0 Z0.70 G31 T4 P500 X0.0 Y0.0 Z0.00
Example failed print:
Anotehr failed print. The filament just rolls down to the extruder because it won't stick
The screws positions
-
How are you homing Z? Do you have a G28 command in your slicer start script, or not?
-
I am homing Z with the Z probe and yes I have a G28 on my Kisslicer start:
; [mm] mode G21 ; Absolute position mode G90 ; Absolute Extruder mode M82 ; Start heating the Bed M140 S0 ; Starting heating the Extruder M104 S210 ; Home the axes G28 ; Wait till stuff is heated M190 S0 M109 S210 ; ; *** Main G-code ***
-
After you've homed the Z axis, if you then do G1 Z0, is the nozzle just touching the bed (within 0.1mm)? If not, then the probe offset is incorrect.
-
After you've homed the Z axis, if you then do G1 Z0, is the nozzle just touching the bed (within 0.1mm)? If not, then the probe offset is incorrect.
After homed and G1 Z0'ed, I can fit a 0.063 feeler between nozzle and bed confortably. The 0.076 one is a little tight and the 0.102 only goes in with some pushing, so I will guess it's around 0.07, at 0,0,0. At the middle of the bed (100,125,0) I can get the 0.102 to fit snuggly and the 0.152 can't go in. Finally at max (200,250,0) the first gauge that will fit snuggly is the 0.680.
There's definitely a slant there, but I am pretty sure one of the things (bed screw level or mesh) should be taking care of this, unless I am terribly mistaken.
WHen I setup the independent motor thing, the doc mentions that I have to use the coordiates for the screws. I am assuming lead screws on this case, and tht the coordiates will be outside the printable area because, well, the screws are out of the printable area. I did my best on measuring the distance between head and screws to find out the values, but I may be doing something stupid, would not be the first time.
-
That should be fine I'd have thought. I was just concerned that in one of your posts, you said that you had to use 2mm of baby stepping but using those figures, that would put the nozzle about 1.9mm below the build surface.
If those figures are correct, then I would conclude that the reason for the first layer not sticking is not due to layer height but something else. I note that you aren't heating the bed (M140 and M190 both have S0 in you slicer start gcode) and I also note that Lokbuild recommend an unheated bed for PLA but that is unusual. I also notice that in one of your pictures, you were using Kapton tape. If it were me, I'd try the Kapton tape again but heat the bed to around 50 deg C or so (assuming you are using PLA). Clean it well with Acetone or similar first. If that works, then I'd try heating the Lokbuild, despite what the manufacturer recommends.
-
That should be fine I'd have thought. I was just concerned that in one of your posts, you said that you had to use 2mm of baby stepping but using those figures, that would put the nozzle about 1.9mm below the build surface.
If those figures are correct, then I would conclude that the reason for the first layer not sticking is not due to layer height but something else. I note that you aren't heating the bed (M140 and M190 both have S0 in you slicer start gcode) and I also note that Lokbuild recommend an unheated bed for PLA but that is unusual. I also notice that in one of your pictures, you were using Kapton tape. If it were me, I'd try the Kapton tape again but heat the bed to around 50 deg C or so (assuming you are using PLA). Clean it well with Acetone or similar first. If that works, then I'd try heating the Lokbuild, despite what the manufacturer recommends.
So my first few tests where LokBuild with heated bed at 87 C and PETG (that I use on my delta over PEI and works fine). It didn't stick at all. The Kapton and no temperature where already parts of the I will randomly try things to see if something works phase.
I removed the Lokbuild (it didn't seem to work heated or cold with PETG or PLA) and ordered a PEI sheet that should be here later this week, and was trying the tape to see if worked, but until now, no success.
I find it weird that the nozzle distance seems ok but when printing it looks like it's not even close to those values.
I will try tape at 50c and PLA to see what goes.
-
…....................................
I find it weird that the nozzle distance seems ok but when printing it looks like it's not even close to those values.
.....................Yes, that's not right. When printing, the nozzle height above the bed should be at whatever you've set the first layer height to. Maybe that's the problem? Check your slicer settings. If you had to use 2mm of baby stepping then it would indicate that the first layer height is set to around 2mm - maybe 2.0 instead of 0.2?
-
I was using the variable layer height on KISS, from 0.1 to 0.3, I am trying with 0.3 fixed now, but I am pretty sure it wasn't 2mm
-
So I tried with 50C bed and tape. First try I got this
Then I started a new one and while the priming loop detached, I used babystepping to -0.4 and got this
It's at 60% now and seems to be holding and working, I just don't udnerstand why I am havign so much problem with the first layer. I only have used PEI on my printers and never had issues, I am hoping that helps, but I also want to make sure that the Duet bed things are being used to make my life easier.
-
TBH, if that's aluminium tooling plate (which it looks like it is) then all you need do is level it manually. No need to apply compensation to something that is already flat. It's just another added layer of (unnecessary) complication. I don't bother with any of that because my bed is flat and level - just home and print. That doesn't answer why you are having first layer problems but if you are having to set -0.4mm baby stepping for a first layer that ought to be 0.3mm then either Z=0 isn't true (but you've measure it and it is more or less) or there is something amiss with the slicer which is "telling" duet to go to Z=0.7 instead of Z=0.3. Have you had a look at the gcode file to see what the first G1 Z value is?
-
Yeah it's tooling plate, so it is supposed to be super flat, but still have to level the actual gantry/bed
G1 X99.4 Y138.5 Z0.35 E0 F6000 G1 X99.4 Y138.5 Z0.3 E0 F1800
Those are the first Z changes for the prime pillar, the first layer starts with 0.35 too.
-
I guess what you could try is starting a print then aborting it while it's doing the first layer. Make sure that any pause.g file doesn't have a Z lift in it. Then with your feeler gauges, measure the nozzle height which should be whatever you've set the first layer to be (0.35). If it is (within 0.05mm or so), then you can pretty much discount anything to do with bed level or flatness compensation.
The other thing to check is your steps per mm for the Z axis. I see you have that set to 400 which would be correct for those God awful 4 start 8mm lead screws that people will insist on using - sorry but its a pet hate of mine. Anyway, assuming you have 1.8 degree motors, 1 revolution is 200 steps. If the lead of the screw is 8mm that means 25 full steps per mm and at 16X micro stepping that's 400 which is what you have it set to. But if the lead is different, then you'd need to change the steps per mm accordingly.
By the way, you should avoid using a layer height that is an odd number. The reason is that with 25 full steps per mm, 0.1 mm will be 2.5 full steps - i.e half way between 2 and 3 full steps so you'd be relying on micro stepping for positional accuracy which is not so good. So 0.2mm layer height would be 5 full steps which is OK, 0.3mm is 7.5 full steps which is not good. 0.35 is even worse as it's 8.75 full steps. 0.4 is 10 full steps so that's OK.
I'm not saying that is the cause of your first layer problems but it won't help.
-
I think that I am indeed using the awful lead screws that you mention
I let the babystepping there to be able to test other stuff, and I am getting stuff like this
I tried to make my xy belts as tight as they can, and I don't think that kind of ringing is related to that but who knows.
-
OK so that's some sort of progress. It looks to me like the Z height is very inconsistent and now that we've established what you your lead screws are, it could well be that your acceleration and instantaneous speed settings are too high for that course lead and my best guess is that you are skipping steps. I see that you have acceleration set to 450mm/sec^2 which is way too high IMO. Try something like 10 or 20 (M201 Z20) and do the same for instantaneous speed change i.e set M566 Z10 or 20 (mm/sec). Set maximum speed for Z to around 300 (M203). While you are at it, the Y axis acceleration is way too low at 20 - set that to around 1,000 (I use 1000 and my moving mass in Y is 4Kg !).
Edit, here is why those multi start screws are my pet hate https://somei3deas.wordpress.com/2017/01/31/z-axis-lead-screws/
-
Ok, I did the Z change, but it didn't stick again. The Y is really faster and the Z seems more controlled.
I am going to change belts and re-tighten and re-check the build to see if I messed up somewhere, and will report back with, probably, more questions on Friday
-
Edit, here is why those multi start screws are my pet hate https://somei3deas.wordpress.com/2017/01/31/z-axis-lead-screws/
Also I read this and now want to find a way to adapt a 1:2 gear on my current screws. Or change them to a 1 start or threaded rod.
-
You can also try using a wider first layer which sometimes helps - up to 200% of the nozzle width.
-
So I changed the belts, added a 300mm PEI cover to the bed, and that seems to have helped on some of the shift issues
The first layer problems still here tho. I am printing a big box for my duet now, and for the first layer to stick I had to print it with like 10 mm/s, on a Pei bed at 70 degrees. Still I get this:
In this the skirt is raising up on the border because when the nozzle goes throug there, it forces it up.
This is a photo of the first layer, as you can see the bottom part is very squished to the bed while the top part totally isn' t.
I tought that with a MIC6 plate, independent screw correction and mesh maps, I would not have to worry about it getting a correct first layer ever again, but it seems that I may be better manually changing bed screws since I can't reliably believe this printer.
-
What I first would look at is that your piezo probe is working correctly and is consistent.
I find it weird that you have to use the H parameter for G30 in bed.g.
Try to do G31's on the different bed.g locations and repeat like 5 times, you should get values within 10 microns, if not you will need to tune the probe.
If G31 is working as it should then do the same multiple G32's and see if the compensation values vary wildly or not.