1

Topic: Prints skewed diagonally

Hey guys. I have a Da Vinci Jr (firmware 2.2.6, using slic3r with my custom port of ThreeDubber to convert gcode to 3w files).

My problem is that a lot of my prints seem to be getting skewed slightly diagonally in XY.

For example, if I print a small hexagon with one point toward the back of the machine, then the two flat faces of the hexagon that are toward the front left and back right of the machine end up a good 0.2-0.3mm longer than the others (like something pulled it toward the front right of the machine during the print).

I've read up on backlash and thought that might be my problem (and it still might be), but performing a backlash test with one of those circular "coin holder" type projects didn't show any obvious X or Y backlash gaps like they said it would. It's also not clear how to try tensioning the belts on the Jr since there's very little clearance to do so.

Any ideas if this is backlash, or what else could be causing it? All my prints come out surprisingly well except for this one issue. I've been trying to dial in my slic3r XY adjustments to print parts that mesh well together, but when small circles come out as small ovals, I don't have much hope for that.

Thanks!

2

Re: Prints skewed diagonally

If it's anything like the rest of the Da Vinci printers, your problem is probably that the left and right Y-axiz carriages aren't lined up, so the X axis is actually running a bit diagonally. The easy check is to turn off the steppers and pull the extruder carriage to the front of the printer. The Y-carriages on the left and right should both bump into the front pulley. If they don't, you need to remove tension from at least one of the Y-axis belts and make it slip a few teeth until the two sides match.

If that doesn't make sense, let me know and I'll get some pictures.

3

Re: Prints skewed diagonally

Conceptually that makes sense. Thanks. I'll check that tonight.

However,  the Jr only has a single Y axis belt and a single X axis belt, so if it does need adjustment I'm not really sure how I'll accomplish that.

If pictures would help I'll gladly take some.

4

Re: Prints skewed diagonally

I checked on this. It's actually rather difficult to tell on the Jr whether the Y carriage is square with the X (at least for a noob like me). The Y axis is the bed itself, which is driven by a single belt that clips into the bed carriage near the center and glides on two rods. The X carriage is fixed in the Y plane and can only move the extruder left and right, or move in Z.

I tried to check the squareness by positioning the nozzle at the edge of the build plate and sliding it left and right to make sure it's constant with the edge of the plate, and it seems to check out OK as far as I can tell. That's probably not a perfect test because it's using the plate as a reference instead of the guide rods, but it's the best I could manage since I can't move the extruder in Y.

I'm thinking that printing my hexagon in each of the four corners of the plate might tell me more. That is, if all four hexagons come out equally skewed, then it can't be a perpendicularity problem because any such error would be exaggerated in at least one of the corners and not so much the others.

If one is more obviously skewed than the others, then that won't tell me which axis is skewed, but it will tell me at least which way to make the adjustment, right? If there a slightly acute angle in the axes toward the front right and back left, that would make the diagonal in that direction longer, so I'd either have to move the right side of the X carriage to the back, or the front of the Y carriage to the left.

Maybe another test is to print a large rectangle or hexagon (just an outline, nearly the size of the bed itself) to compare the error. Skewed axes should cause the error to be compounded, so if I'm seeing a 0.6mm difference in a 1cm part, then I should see a 6mm difference in a 10cm part.

If I don't see that, and the overall error is constant, then it's back to the drawing board blaming backlash that I'm not sure how to fix.

5

Re: Prints skewed diagonally

So a few days and many test prints later, I'm getting slightly better results.

Before, my test hexagons (10mm point-to-point) were coming out with about 0.6mm variance face-to-face. That is, say I printed a 10mm hexagon measured point-to-point, measuring the width at the flat faces I'd get values like 9.0, 8.4, and 8.7.

Now, after much tweaking and testing, I'm managing to get the same hexagon to print with dimensions closer to 8.8, 8.6, and 8.5 (nominally they all should be about 8.6mm, but I realize there are tolerances involved). I can be happy enough with this amount of error given the type of machine this is.

What did I do? Well, I don't know exactly what helped most, but I did all of these things:

Leveled my X-axis horizontally against the bed

I didn't fuss with using the !@#$ing power supply to do this. Yeah, I'm a rebel smile I went to the machine and told it to "Home axes". Once power was off to the steppers I moved the bed centered under the X-axis, slid the extruder carriage out of the way (and removed the extruder) and turned the vertical screw by hand to raise and then lower it straight down on my bed. I then loosened the X-axis arm screws, turned the screw a bit more to make it level with the bed and cranked back down on the screws.

I then went back in and adjusted my Z-offset again to accomodate the new leveling. I've had to go back and adjust my Z-offset a couple times since then since I'm not sure I got the screws cranked down quite tight enough (or my X axis is now starting to droop like some people have complained), and I've had to tweak the leveling a little.

So, this may be a work in progress, but I'm seeing better results.

Aligned my X-axis with the edge of the Y-bed

So wiley's suggestion was that maybe my X and Y axes were not perfectly perpendicular, causing my print area to be stretched in certain places. So while I had the X-axis loose, I lowered the X arm all the way down to the bed and slid the bed up against the beam until the clips that hold the bed's glass touched the arm. Once that seemed square I checked the horizontal level again and re-tightened the X-axis.

Messed with my Y-bed glide bars
I noticed that my Y-bed had a bit of play, allowing it to twist around just slightly. I already have the cover plate for the Y-axis off (after testing for backlash), so I loosened the four screws and both ends of the bars, slide the Y-bed all the way to the back (as far as I can and still have clearance anyway), pushed the bars apart from each other and re-tightened the screws on that side. I repeated the process at the front, sliding the bed forward, spreading the bars, and re-tightening the screws.

Printed a new Y-axis idler
Since I was still suspecting a small amount of Y backlash, and my test prints did seem to be getting better, I took the measurements and printed off a new idler pulley to insert into the Y axis.

This idler is 2mm larger in diameter than the old one, to increase the tension on the Y belt just slightly. It installed easily after cleaning up the inner hole slightly and seems to be working fine. There's not enough clearance in the Da Vinci Jr to install one of those clip-like tensioners that just clip onto the belt and effectively shorten it, and the tensioner pulleys at the front and back of the Y-belt are not adjustable and plain useless, so replacing one of the idlers was my best option (there are two, right on either side of the stepper motor that keep the belt tight against the toothed wheel).

In case you're wondering the diameter of the part of the idler that touches the belt is now 12mm in diameter, and my printer printed that within about 0.1mm tolerance on either side. I don't think I can ask for much better accuracy than that on that kind of part.

What's left?
Uh. I don't know. My dimension accuracy is better, but still not perfect in my hexagon test. That might owe to the fact that it's such a small part, or that small hexagons in particular seem to be difficult pieces to print (whether because of slicer inaccuracies or mechanical tolerances). Small squares (side=10mm) and circles (r=10mm) seem to print within 0.1mm tolerance or close to it, so maybe it's just the nature of this kind of piece.

I did notice one other issue that I've started playing around with fixing, but isn't a huge concern. I switched to using "Random" alignment in my Slic3r settings, which starts each layer at a random point on the shape. I also have "External Faces First" enabled to achieve slightly better dimensional accuracy. Doing this it became obvious (during a test print of a 50mm square outline) that I was getting extruder "zits", where too much is being extruded at the very first position of a layer leaving bumps on the exterior of the piece.

So I played with the "Extra length on restart" option, setting a negative value to decrease the amount of extrusion here. Now, strangely, a high value (-1.4mm) helped tremendously on my 50mm square, getting rid of the zits almost entirely, probably because of the long straight sides. But the same setting on smaller pieces with lots of changes in direction ruined those pieces, under-extruding by about 50% and making them just a weak husk of what they should be. So I've reset that back to 0 for now and I'll deal with the zits later.

So that's my story. So far.

6

Re: Prints skewed diagonally

Anthem, Check to make sure that the roller on the right side of the carriage is actually riding up and down on the rod(column).  its hard to see unless you run the carriage down in Z and look from the very top. I had the same problem with skewed parts, and it turned out the roller had either popped off the rod during shipping, or was shipped that way from the factory. I had 2-3 degrees of skew originally, after finding the issue with the roller, my parts were correct to within a few thousandths of an inch.

7

Re: Prints skewed diagonally

Thanks for the tip, montanabob. My roller seems to glide on the rail fine, but it does seem somehow loose, like it's not pressing up against it hard enough to be stable. Any tips there?

8

Re: Prints skewed diagonally

@Anthem, I have an issue with my da Vinci Jr in that it is not printing circles accurate enough which I believed meant something was up in the X or Y axis.

Unfortunately or fortunately, everything is lined up and tight...bed is leveled, x-axis is perpendicular to the glass frame, nothing is loose.  I printed this calibration where you use a nickel...my nickel does not fit, LOL.

The 2 things I did not do that you did were: mess with y-bed glide bars and creating a y-axis idler (it wouldn't be a perfect circle anyway).

For printing models, it's fine, I can live with it...but it means I may not be able to print stuff where the pieces work or fit together.

9

Re: Prints skewed diagonally

Anthem wrote:

So a few days and many test prints later, I'm getting slightly better results.

Before, my test hexagons (10mm point-to-point) were coming out with about 0.6mm variance face-to-face. That is, say I printed a 10mm hexagon measured point-to-point, measuring the width at the flat faces I'd get values like 9.0, 8.4, and 8.7.

Now, after much tweaking and testing, I'm managing to get the same hexagon to print with dimensions closer to 8.8, 8.6, and 8.5 (nominally they all should be about 8.6mm, but I realize there are tolerances involved). I can be happy enough with this amount of error given the type of machine this is.

What did I do? Well, I don't know exactly what helped most, but I did all of these things:

Leveled my X-axis horizontally against the bed

I didn't fuss with using the !@#$ing power supply to do this. Yeah, I'm a rebel smile I went to the machine and told it to "Home axes". Once power was off to the steppers I moved the bed centered under the X-axis, slid the extruder carriage out of the way (and removed the extruder) and turned the vertical screw by hand to raise and then lower it straight down on my bed. I then loosened the X-axis arm screws, turned the screw a bit more to make it level with the bed and cranked back down on the screws.

I then went back in and adjusted my Z-offset again to accomodate the new leveling. I've had to go back and adjust my Z-offset a couple times since then since I'm not sure I got the screws cranked down quite tight enough (or my X axis is now starting to droop like some people have complained), and I've had to tweak the leveling a little.

So, this may be a work in progress, but I'm seeing better results.

Aligned my X-axis with the edge of the Y-bed

So wiley's suggestion was that maybe my X and Y axes were not perfectly perpendicular, causing my print area to be stretched in certain places. So while I had the X-axis loose, I lowered the X arm all the way down to the bed and slid the bed up against the beam until the clips that hold the bed's glass touched the arm. Once that seemed square I checked the horizontal level again and re-tightened the X-axis.

Messed with my Y-bed glide bars
I noticed that my Y-bed had a bit of play, allowing it to twist around just slightly. I already have the cover plate for the Y-axis off (after testing for backlash), so I loosened the four screws and both ends of the bars, slide the Y-bed all the way to the back (as far as I can and still have clearance anyway), pushed the bars apart from each other and re-tightened the screws on that side. I repeated the process at the front, sliding the bed forward, spreading the bars, and re-tightening the screws.

Printed a new Y-axis idler
Since I was still suspecting a small amount of Y backlash, and my test prints did seem to be getting better, I took the measurements and printed off a new idler pulley to insert into the Y axis.

This idler is 2mm larger in diameter than the old one, to increase the tension on the Y belt just slightly. It installed easily after cleaning up the inner hole slightly and seems to be working fine. There's not enough clearance in the Da Vinci Jr to install one of those clip-like tensioners that just clip onto the belt and effectively shorten it, and the tensioner pulleys at the front and back of the Y-belt are not adjustable and plain useless, so replacing one of the idlers was my best option (there are two, right on either side of the stepper motor that keep the belt tight against the toothed wheel).

In case you're wondering the diameter of the part of the idler that touches the belt is now 12mm in diameter, and my printer printed that within about 0.1mm tolerance on either side. I don't think I can ask for much better accuracy than that on that kind of part.

What's left?
Uh. I don't know. My dimension accuracy is better, but still not perfect in my hexagon test. That might owe to the fact that it's such a small part, or that small hexagons in particular seem to be difficult pieces to print (whether because of slicer inaccuracies or mechanical tolerances). Small squares (side=10mm) and circles (r=10mm) seem to print within 0.1mm tolerance or close to it, so maybe it's just the nature of this kind of piece.

I did notice one other issue that I've started playing around with fixing, but isn't a huge concern. I switched to using "Random" alignment in my Slic3r settings, which starts each layer at a random point on the shape. I also have "External Faces First" enabled to achieve slightly better dimensional accuracy. Doing this it became obvious (during a test print of a 50mm square outline) that I was getting extruder "zits", where too much is being extruded at the very first position of a layer leaving bumps on the exterior of the piece.

So I played with the "Extra length on restart" option, setting a negative value to decrease the amount of extrusion here. Now, strangely, a high value (-1.4mm) helped tremendously on my 50mm square, getting rid of the zits almost entirely, probably because of the long straight sides. But the same setting on smaller pieces with lots of changes in direction ruined those pieces, under-extruding by about 50% and making them just a weak husk of what they should be. So I've reset that back to 0 for now and I'll deal with the zits later.

So that's my story. So far.

Excellent writeup, Anthem. I'm having the same problem with my Jr. Is there any chance you could upload the stl file for your y-axis idler?

10

Re: Prints skewed diagonally

Anthem wrote:

This idler is 2mm larger in diameter than the old one, to increase the tension on the Y belt just slightly. It installed easily after cleaning up the inner hole slightly and seems to be working fine. There's not enough clearance in the Da Vinci Jr to install one of those clip-like tensioners that just clip onto the belt and effectively shorten it, and the tensioner pulleys at the front and back of the Y-belt are not adjustable and plain useless, so replacing one of the idlers was my best option (there are two, right on either side of the stepper motor that keep the belt tight against the toothed wheel).

@Anthem, I'm still working toward getting better circles.  I noticed you mentioned the Y-belt tensioner pulleys are not adjustable.  Actually the back one is adjustable just like what is on the X-belt.  At least my version of the Da Vinci Jr 1.0 has it.  Anyway, I am currently printing without the spring for the Y tensioner because I noticed the top part of the "tensioner frame" that holds the roller is deformed upward, so what is happening with the spring's tension is that the roller is being angled instead of being parallel to the floor.  I designed a replacement on tinkercad and am trying to see if I can use that instead of the original part.  Since my printer cannot print circles well, I'm probably going to have to adjust the dimensions to make up for the imprecise prints I'm getting.  For those of you who want to print this tensioner frame or whatever it is called, here is the .3w file.

11 (edited by chorobe 2016-08-27 00:53:43)

Re: Prints skewed diagonally

Anthem wrote:

This idler is 2mm larger in diameter than the old one, to increase the tension on the Y belt just slightly. It installed easily after cleaning up the inner hole slightly and seems to be working fine. There's not enough clearance in the Da Vinci Jr to install one of those clip-like tensioners that just clip onto the belt and effectively shorten it, and the tensioner pulleys at the front and back of the Y-belt are not adjustable and plain useless, so replacing one of the idlers was my best option (there are two, right on either side of the stepper motor that keep the belt tight against the toothed wheel).

@Anthem, I'm still working toward getting better circles.  I noticed you mentioned the Y-belt tensioner pulleys are not adjustable.  Actually the back one is adjustable just like what is on the X-belt.  At least my version of the Da Vinci Jr 1.0 has it.  Anyway, I am currently printing without the spring for the Y tensioner because I noticed the top part of the "tensioner frame" that holds the roller is deformed upward, so what is happening with the spring's tension is that the roller is being angled instead of being parallel to the floor.  I designed a replacement on tinkercad and am trying to see if I can use that instead of the original part.  Since my printer cannot print circles well, I'm probably going to have to adjust the dimensions to make up for the imprecise prints I'm getting.  For those of you who want to print this tensioner frame or whatever it is called, here is the .3w file.

Post's attachments

version_1.3w 277.23 kb, 7 downloads since 2016-08-27 

You don't have the permssions to download the attachments of this post.

12 (edited by Anthem 2016-08-31 04:17:20)

Re: Prints skewed diagonally

Excellent writeup, Anthem. I'm having the same problem with my Jr. Is there any chance you could upload the stl file for your y-axis idler?


Here's the STL and the source .scad file.

Note that for ease of printing without supports, I separated the top disk from the rest of it. Print them separately and glue them together before installing.

Now also on thingiverse: http://www.thingiverse.com/thing:1745442

Post's attachments

idler.scad 626 b, 1 downloads since 2016-08-31 

idler.stl 61.48 kb, 7 downloads since 2016-08-31 

You don't have the permssions to download the attachments of this post.