Mismatched Y-Axis Belt Teeth Counts

I will be buying my X-Carve next week, after a few weeks of researching and picking up all the tips/tricks and experiences from everybody on this forum (thanks!).

I wanted to point out one issue that occurred to me concerning the belts, that I’m not entirely sure manifests itself for everybody, or if anybody has noticed, but I thought that it could be something that would affect the precision of the X-Carve along the Y axis movement, especially in relation to X axis position.

When you install and tighten your belts, the reality is that there’s no established procedure that ensures that both belts have the exact number of teeth from end to end. Perhaps tightening them to an exact measured amount of tightness is the closest you can get, but realistically you will always have one belt with more teeth than the other that are accessible by one of the Y axis steppers along the range of motion. The end result is that even though both motors are receiving the same number of steps, they will begin fighting each other by how ever many teeth’s worth of rotation the belts differ in between their mounting brackets.

The end result is that there will be other forces as the machine moves back/forth, something like the gantry rotating around the Z axis as the effective scaling of the teeth will be off, even if only by a few teeth. This would then affect the X axis motion, depending on what end of the Y axis the gantry is at (and which side the Y axis steppers are fighting each other the most).

Call me crazy, but with my machine I aim to get the exact same number of teeth between the brackets on both Y axis belts. The first thoughts that come to mind regarding a possible approach would be to start by cutting them to the exact same length, laying them out teeth-side up and doing a visual inspection to make sure the teeth line up, to make sure they have the same number of teeth.

The next step would be keeping track of the exact number of teeth being slipped through the brackets on both ends, by visually counting them, or at least doing another side/side comparison when initially sticking them into the first bracket on the non-tightening end and doing the shrink tube or zip tie trick to prevent slippage.

The tightening itself of the belts doesn’t seem like it really needs to be that exact, so long as the pulleys on the motor are not liable to slipping, because it’s the teeth that control the position, and as long as there is an equal number of teeth between both sides then the theoretical issue I have proposed should disappear.

Maybe this is the source of Y axis slippage for some? Thoughts?

The total number of teeth in each Y axis belt wont matter, it’s the spacing between teeth that is important. The belts would have to be really tight (or loose) so that tooth spacing would affect accuracy.

Ok, I’m still a bit skeptical, but I think I see what you’re saying: ie: the tightening bolt on one side would be able to screw in further to achieve the same tension on the belt, taking up the slack of the extra teeth.

There is a certain amount of stretch in the belts, several people have suggested that it’s a good idea to re-tension after a day or two. If correctly installed, I don’t see how the belt on one side is going to stretch noticeably more than the other side.
I’m not sure how counting the number of teeth is really going to achieve anything. The only way that one side will have more teeth than the other is if the belt is longer.

I see what you’re getting at, and I think you’re right that there may be an extra tooth or two just due to some factor or another (variations in belt properties along length, etc.), but I think the effect it would have on the X-Carve is minimal. If you’re shooting for .001" accuracy it’s worth looking into, but I think for a hobby machine you’re beyond the point of diminishing returns when you do that.

Not that I’m telling you not to, it would be interesting to see if you come up with any noticeable data, but my OCD is telling me it’s not worth it. And that’s a VERY rare thing. :grinning:

You can also account for teeth count mismatch by tweaking tension on the belt. Here is what I do to try and get as accurate as possible:

  • Make super sure that the machine is square to the best of my ability
  • this includes making sure that the grid on the wasteboard is square to the machine (Inventables grid or not)
  • tension all belts to their optimum levels… about 3.5 lbs … ish (in the end this doesn’t matter as long as it isn’t too tight or too loose)
  • make sure that Steps per mm are calibrated as dead on as I can in X and Y directions
  • now for the fiddly parts…
  • using an engraving bit as described in @RobertA_Rieke’s great calibration video I align with the bottom left gird point
  • jog the bit point in the X direction making sure that it follows the X line it was on
  • if it does not then I either tension the right belt or slip a tooth and tighten the right belt until it alines with the correct point
  • now back to the bottom left grid point
  • jog the bit in the Y direction to the top left grid point
  • with a squared up machine it should follow this line dead on
  • jog the bit to the top right grid point
  • if it does not follow the line then tension or loosen the belt on the right until it aligns with the correct point
  • do not slip a tooth this time, only use the tension of the belt to move the top right point
  • now run through all points again to double check it all
  • finally (because the belt tension was changed) re calibrate steps per mm in both X and Y

Each time the machine homes then check that both Y plates measure the same distance from the Y end plates and that will help make sure that the gantry is square for the job that is about to run. To minimize the machine falling out of square then I try not to move the gantry by had as much as possible, and if I do then I make sure it homes and is back in square again before a job runs.

This method makes for some pretty accurate cuts on my machine… enough to satisfy a watch maker friend… (which isn’t super easy to do at times)

Hope it helps.

3 Likes

Uh, you guys have way too much time on your hands.

Should be enough to say the machine uses rubber belts.

2 Likes

rubber belts, w/ fiberglass cores which for GT2@ 6mm wide are rated for:

124 lb / 56kg Breaking Strength

6.25 lb / 2.8kg Working Tension

See:

Home | Caldic and http://files.catalogds.com/domains/bbman/trumotionsyncdata_final_3-8-07.pdf

1 Like

While I understand what you are getting at @CharlesVanNoland I echo the sentiments of the others above that there is likely minimal variance caused by this.

I do think that a bigger factor would be switching belt manufacturers form side to side. I could see this happening if the belt broke on one side and was replaced with some replacement belt material that is not from the same manufacturer. This situation would be far more concerning to me than would the potential for tooth count variation based on your tensioning of identical belt material.

I think the most important aspect of this being a possible issue is that the distance along the y-axis of the teeth from each belt may not be the same. For example, if tooth # 50 on the left side is at y = 100mm, then tooth # 50 on the right side may be at y = 100.12mm. I think what will end up happening with this is one of two possible outcomes. Either the the positions of the teeth will remain at different y-axis offset values and the x-axis will be skewed, or the force caused in one belt will be opposite of that caused in the other belt, reducing the skewing to be roughly zero.

At worst, the x-axis is skewed by a fraction of the length between any two teeth (or else the motor on one side would simply self correct its position during movement of the y-axis), which is likely only 2mm at most. Even considering this worst case, the angle of deflection caused by the misalignment would be 0.23 degrees on the 500mm machine and 0.15 degrees on the 1000mm machine.

The idea that the motors would fight each other is not out of the question. However, what I think is most likely is that the overall effect cancels out because of equal and opposite forces, or that the effect is negligible in the context of the machine’s best accuracy outside of the potential issue.

It’s a good point to bring up. I thought a bit about it to consider if I should look into this same thing on my machine. It never hurts to be too careful!

If the pulleys were locked to each other, in that they held the same alignment, then this would be critical, however while they are controlled together, they are aligned independently relative to their own belt. if the belts had different tensions major enough to spread the teeth off from one another, I think that is where we would see a noticeable problem show up.

Infact I am shooting for the best possible precision. I’m aiming to get down to a 1/64" ball nose end mill on aluminum. I may have to resort to 1/32" end mills if I just can’t get it right for the finer bit.

Yes, it’s a hobby machine, but it’s all I can afford for doing the work I want to do, and judging by peoples’ success with fine PCB milling and other work I’ve seen it’s very capable of doing what I need it to do. Actually, just to get a finer step resolution I’ve been researching smaller stepper pulley’s and also considered making a jackshaft for each motor to get even more steps per revolution on there.

We’ll see how it plays out when I get my machine and start actually making some cuts. The only thing really worrying me now is spindle runout on the 611, and whatever backlash there is.

1 Like

This is fantastic! I’m a little fuzzy about the belt adjustment parts but I get the gist. A more detailed guide for everyone would be a huge help, I’m sure. If the X-Carve is capable of satisfying a watch-maker then I am sure it can do the work I am trying to do.

1 Like

Please note that one can increase the max. load by half-again by going up to 9mm wide belts where possible. This is a great upgrade, low-cost, easily done, which also increases the pulley’s grip on the belt by half-again, which helps a lot in reducing missed steps.

If someone knows of some other suitable belt type, or a source for wider GT2 belts and pulleys than 9mm, that’d be good to know.

What work are you trying to do?

I might write up something with images to better illustrate the process… if I can find the time :grinning::+1:

Edit: I just read above. I think with the right amount of tweaking and modding, you’ll be able to get there. Your feeds and speeds will play more of a role in accuracy than the belts when dialed in.

I can’t wait to see some of the work you’re going to be doing, the precise aluminum work sounds very interesting.

If you decide to buy collet sets for the 611, Elaire sells affordable ones with a good minimal runout. Precise Bits sells ones that are a little more than twice the price, but the runout on them is supposed to be a little lower. Make sure you look at the difference between the amount of runout in the two of them before you buy a set. I went for overkill and got the set from Precise Bits, but I have heard a lot of good things from others on here about Elaire.

As for the backlash, that’s something you’ll have to let me know about. I have been hiding my head in the sand since it hasn’t shown up as an issue yet. I was able to cut a bunch of pockets in some mahogany last night with .002" precision, which I think is purty durn good. :smile:

post your process and findings once you get into it if you wouldn’t mind. I’d be and sure many others would be interested in seeing what you are after.

1 Like

Another thing you may consider if you are wanting to do more precise work is slower RPMs. I went with the Makita RT0701 because it has a better range of RPM for slower more precise work. A VDF controlled spindle is even better, but I had to weigh up bang for buck and went with the Makita.

Like @RobertA_Rieke says, you’ll want a few collets for the size bits you are wanting to use. Elaire collets are pretty great and Precise Bits don’t offer collets for Makitas.

As others state, we’d love to hear how you get along.

1 Like

For those interested, I am going to be making ‘specular holograms’. There is a guy in Massachusetts who pioneered creating synthetic holograms by calculating an optical surface that will reflect light as a holographic image. His website is http://www.zintaglio.com

He began doing this back in 2008, and made over 100 holograms over the course of about 5 years before moving on to other projects and areas of research. He never explicitly marketed or sold his holograms, but instead had an installation at the Museum of Math in New York. These holograms consist of reflective grooves in what I imagine to be aluminum, and are 20-150 microns wide, of varying depths.

Nobody else has bothered to figure out the math behind calculating the optical surface, let alone figuring out how to fabricate such a surface. My goal is to push his work further, in a creative sense. I do not (really) have any reservations that I could replicate his fine work on a hobby CNC, but I have no doubt about my ability to create interesting and beautiful holograms nonetheless.

The goal is really to just get down as small and fine as I can. I’ve already figured out the math side of things, and have written a sort of ‘hologram generator’ that loads up a 3D model and allows the user to customize the parameters used to generate toolpaths for groove reflectors that will reflect a holographic image of the model from an overhead light source.

I’ve been chronicling my work on this project for the past 6 weeks on my blog: http://deftware.blogspot.com and started a crowdfunding venture to fund the project. I have since been granted some cash for a machine but will need more funding for cutters/materials to fully explore the boundaries of the X-Carve’s capabilities.

My holograms will probably not be as fine as Brand’s but they will certainly be the only other holograms machined into metal in existence, and also, they will be larger - due to my decision to go with the X-Carve 1000mm over other possible machines on the market.

Here’s a little promo video I made for the crowdfunding campaign:

Also, as an added tidbit, these holograms comprise thousands and tens of thousands of these individual reflector groove optics, meaning lots of little cutting tool paths. I went ahead and began testing out various programs and their ability to import the hologram toolpath SVG files that my program ‘Holocraft’ outputs, and almost none of them can handle the sheer number of paths… Easel can do a few hundred, while running like a slideshow, but won’t be usable for the granularity I am aiming for on aluminum. Everything else just dies. Maybe there are other CAM programs out there, but most of them don’t allow importing unclosed paths and just using them directly as a cutting toolpath, let alone being able to import SVG files.

The only CAM software I could find was MakerCam (http://www.makercam.com), which operates rather beautifully, as a mere Flash applet in the browser, and will probably be what I use during my initial work with the X-Carve. However, I am starting to think the best route to go is directly outputting G-code from Holocraft, instead of SVG files alone. This would entail popping up a dialog asking for the usual details: tool diameter, safety height, depth per pass, feed rate, etc. and would simply obviate the need for a CAM program. Outputting an image of the grooves and using that as a sort of heightmap for a CAM program might work, but I feel like this sort of work requires direct control over the machine, instead of letting a program just generate tooling paths that could ‘miss the point’.

Once I was able to generate G-code, the other problem was finding a program I could drive the X-Carve (or any GRBL controller, for that matter) that could handle the resulting giant G-code program. Again, virtually everything died under the stress. UGS just ignored the G-code entirely (very disappointing after all the raving reviews I read about it) and Chillipeppr experienced the same situation as most CAM programs, where it came to a useless crawl. I tried several before finally discovering grblControl (GitHub - Denvi/Candle: GRBL controller application with G-Code visualizer written in Qt.) which is an open source program that’s cross platform for driving GRBL based machines.

It looks just as good as UGS to me, except faster and better. It’s probably missing features that UGS has but I haven’t noticed. It has heightmapping capabilities for dealing with warped work surfaces, and other really neat features. It’s still being actively developed too, and from what I gather I surmised that the author wrote it for his own PCB milling purposes.

At any rate, grblControl is the only program I could find that could handle my massive hologram G-code programs, and does so with ease, like (mind you that I say this as a life-long programmer myself) “real” software should. Personally, I am tired of these 5 degrees of separation between user and machine, where someone writes a script that runs in an interpreter that runs in a VM that runs in with 50 external dependencies that finally executes on the CPU. It’s disgusting and makes me feel dirty, all for their convenience as “programmers”. Apologies if that’s harsh, but in this instance, people’s inability to learn how to write native code has almost cost me the time it would take to write my own GRBL controller just to do something unique and interesting with the X-Carve. Tisk tisk.

So, that’s what I’m working on. I should have my machine on order by this time next week, and I cannot express how freaking excited I am and how grateful I am that this community exists to help with all of the feedback. I have a background in precision CNC machining, and microcontroller development, so when I stumbled across this project it just seemed like the perfect storm. I am excited to see what I can pull off with the X-Carve, and hopefully, as my utmost top goal, inspire others to pursue anything related to what I’m doing, whether it be math, programming, science, fabrication, etc… I think that the only reason I do anything anymore is to stay inspired about life, and to show others that cool stuff can be done so as to inspire them as well.

Once I get deep into making holograms and honing and refining the process, I’m considering kickstarting a project building hologram-making-machines, and building up Holocraft, so that people basically just need the machine/software and a cutting tool and some aluminum, and they can just model up a 3D scene and ‘print’ the hologram onto the metal with the machine. Maybe just releasing Holocraft will suffice, because it seems unavoidable that people will need to be able to deal with whatever machine is doing their bidding.

Thanks for reading guys.

1 Like

Did you try bCNC? GitHub - vlachoudis/bCNC: GRBL CNC command sender, autoleveler and g-code editor