My CoreXY Printer
-
I have a flex drive (now redundant) and went to the nimble, I have a dual on my corexy and a single on my delta, having dealt with both teams and experienced the "politics" as you put it, and the engineering from both, the nimble is head and shoulders above the flex drive, in every aspect. Good luck with corexy and the never ending desire to improve and evolve this type. I have one that too is never finished.
-
Hi @Phaedrux
I have seen in a few posts that you have helped people with mesh bed leveling. I was just wondering if you can offer me some advice as I am having a few consistency issues.
Basically I have all 4 bed steppers motors in now. The maximum deviation after running 3 iterations of the auto bed leveling is about 0.008mm. This is probably beyond the accuracy of my BLTouch however. My bed does have the slightest of bows in the middle of it but is not that bad. I am pretty sure that the mesh grid compensation I have done is not bad either and definitely does show the slight bow.
To do the mesh leveling, I heated the bed to 78 degrees (I am using PrintBite+) so there is an offset that I have worked out with a second PT100 (The bed also has a PT100) and the nozzle to 215 which is what I run at with PLA. I then do the probe offset and put that into my config.g file. I then run auto bed leveling and then run mesh compensation.
Here is where I think I might be getting a bit confused. Should I run a z home between the auto bed leveling and the mesh compensation to ensure that the bed has the correct height before hand? I am guessing I should follow the exact same procedure in Cura as what I did to get the compensation. This is what I have for Cura:
; Startup Gcode
G91 ; Relative Positioning
G1 Z5 ; Move Z down 5mm
G90 ; Absolute Positioning
G28 XY ; Home XY
M561 ; Clear any bed transform
G32 ; Start 4-point probe sequence
G28 Z ; Home Z
G29 S1 ; Load heightmap
G1 Z20.0 F6000 ; Move Z to 20
G1 X0 Y0 ; Move Head to front left
M582 T1 ; check levels of inputs that give rise to trigger #1
G92 E0 ; Zero Extruder
G1 F200 E30 ; Prime the extruder
G92 E0 ; Zero ExtruderAny help would be great.
Kind Regards,
Sam -
@samlogan87 I think everything you're doing should work.
Here's what I do, which is a bit less complex, because I don't use auto bed leveling, because I only have a single motor, so the screws don't get out of sync. Occasionally I do a similar procedure to manual auto bed leveling where I have a macro that moves the nozzle as close as possible to the 3 leveling screws, and then I adjust the screws until the nozzle and the bed are just touching. I do this visually because I can get up close to it and can plainly see if it's touching or not. And by moving 0.01 I think I am getting pretty close. This has the benefit of not using the probe, so there is no offset. The macro goes through the 3 points twice each. It doesn't change much so once it's dialed in I don't really have to adjust the screws at all.
For you, auto bed leveling is probably going to be needed before each print to ensure all the motors are in sync. 0.008mm is probably as good as you can get with the BLTouch. You could verify afterwards by moving the nozzle around and touching it to the bed using the same locations as the auto bed leveling uses.
Once the bed is leveled I measure the Z offset at the center of the bed 10 times and take the average. I manually set z=0 by moving it to touch the bed anyway, so that takes the place of the bltouch offset. That's actually critical to getting a good measurement. You need to manually reset Z=0 each time. Up to you how many times you measure and average together. 3 may be just fine. Once this is measured it shouldn't need to be redone unless something changes with the print carriage, or maybe a head crash that pushes things out of whack.
Mesh grid compensation is run next. I use 20mm spacing on a nearly 300mm^2 bed, so it takes about half an hour, but it's a detailed map. Because it takes so long I don't do this very often unless I've changed something on the bed. I load the heightmap in config.g at boot so it's always being applied.
I do home the printer before each of those steps, but only because it's part of the macros I use. I have 3 separate macros because I don't always do all 3 together. When it matter to get an exact z=0 position for measurement and adjustment I use an M291 Z1 dialogue to jog the axis followed by G92 Z0. So the homing before that is only to ensure the axis are homed so they can move. As long as your motors haven't turned off, and you are manually setting Z=0 when it matters, I think you can get away without homing. The system will keep track of Z=0.
So because you need to use auto bed leveling before each print I think your startup code looks fine. How does your first layer look? Have you done a test print that prints a pattern across the entire surface of the bed to see if the mesh compensation is working?
-
0_1537833130517_bedlevel_nozzle_0.4_200x200-0.3-0.8.stl
Here's a good test pattern to see how well the bed is leveled and how well mesh compensation is working. You may need to scale it a by in X and Y to fit your bed. print it with a single wall using whatever layer height and extrusion width you'd normally use for a first layer. You'll easily see where the bed is too high or too low, and then when you print it with mesh compensation it should look pretty much perfect. -
@samlogan87 said in My CoreXY Printer:
I did a fair bit of research and there seemed to be only a handful of people that have published anything about their CoreXY printers that did not conform with the RepRap philosophy and had made their printers without printing components for it. I did not want to have 3d printed parts due to the size and weight of the printer (although I ended up with a 3d printed extruder). I thought if I was going to build it, I was not going to try and cheap out on the build as I wanted it to be as solid as possible.
And you made it.... Congratulations. Very clever and robust design! Also brutally simple to make parts!
"without printing components for it" one of my top difficulties was have access to a 3D printer to build my first one...
Please, I would like to know more about your extruder! Is it a Remote Direct Drive like the Nimble or something? Is it opensource?
Thanks!
-
Hi @Phaedrux
thanks for that. I have mine set at 20mm grid as well and she is a time consuming job. I did 8 iterations of the nozzle offset. I printed your stl and that has helped alot. It has been coming out pretty perfect to be honest.
I just wanted to confirm at least the order in Cura as I know you helped someone who had issues and you got them to change the order if I recall correctly. For the life of me I couldn't find it.
Thank you. It has been a labour of love over the past few months. I think today i finally have it running properly after some help from @Mutley who makes the extruder that I have. It is a Flex3Drive. Really solid and works really well. He has helped me no end to get it printing correctly
Kind Regards,
Sam -
@samlogan87 yup that looks pretty good. If the lines are all clean and even that means the compensation is working well. Try printing it with compensation off to see how the shape of the bed effects it. It's really quite amazing how well it works. I've printed 0.05 first layers with no problem.
-
@Phaedrux i just gave it a go. Yeah it certainly helped let’s just say that. Thanks for your help
Sam
-
Very nice design. Making something solid with easily machinable or sourceable parts is a worthy path.
A couple points.
Your z lifter screws are over constrained, which can transmit wobble into the bed. Try removing the upper screw bearings. It’s hard to tell if you have bearings at the bottom, but it’d be best to put a flexible shaft coupler (double disc or jaw type. The helical ones aren’t very good) and then a bottom bearing that bears the compressive load along the screw.
Or, much easier, look into integrated leadscrew steppers. E3d has some nice ones.
Adding a fourth screw will overconstrain your design as well. Look to stiffen your bed. However, you should be good enough with the 6mm plus 2020 though so maybe it’s warped?
Also pay attention to plate thermal expansion. It can be considerable and cause binding. Check mark rehorsts (digital dentist) designs for allowing for thermal expansion while still properly constraining the bed.
-
Hi @wesc
Thanks for your comments.
Mine is only constrained at the top. I have Puck Style couplers at the bottom. I have had to do that because I am using the z screws to remove any twist in the bed. As I could not be bothered dealing with adjustment screws, and the fact that the duet does it so well, if you have any deviation (mine is about 0.15mm from power up of the stepper motors), you will find that using a puck style coupler, the screws will pull the couplers apart instead of actually fixing the twist. I do not have any wobble in mine. I find if you actually make sure that there is no loading on the coupler other than the weight of the bed, and you tighten the grub screws in the bearings, they seem to run true.
Trying to find 550mm long integrated lead screws is near on impossible, and if you do, it is a massive risk (getting bent) and expense to get them to New Zealand.
I will have a look at his page. I have mesh compensation running with the mapping having had been done while it is warm and have a total deviation on a 400x400 bed of 0.11mm. I am using exhaust wrapping between the angles and the plate which should help with some expansion as well.
Kind Regards,
Sam