Saturday, August 18, 2018

UMMD: What Would I Change, What Would Stay the Same


It's been a bit over a year since I "finished" building UMMD.  Some people at the makerspace and in online forums have asked me what I would do differently if I were to build another, so that's what I'll cover in this post.

The XY stage:

The XY stage performs well, but a few things are less than ideal.

I designed the XY stage with the motors outside the enclosure so they wouldn't overheat when printing ABS at 45-50C inside the enclosure.  After using the printer for about a year, I find that the motors only get a little warm (aluminum motor mounts screwed to aluminum plates helps!), so I think they'd be fine inside the enclosure.  That would simplify the front door of the enclosure and allow a single door, held on with magnetic strips to be used.

The extruder carriage design leaves a lot to be desired.  I did not adequately account for the nozzle offset from the center-line of the extruder so I had to shift the bed to one side to make the entire surface printable.  The carriage is a little longer (vertically) than I'd like it to be, too.  In the original design, I simply mounted the extruder motor, extruder, and hot-end at the end of a piece of cut up tubing.  The puts the weight well below the X axis bearing block and so you can imagine it swinging around like a pendulum.

Original long extruder carriage design.  The heavy extruder/motor hang like a pendulum and probably swing like one, too.

I have redesigned the extruder carriage and have already put the new design into the machine.  The new design moves the motor and extruder immediately above the X axis bearing block and only the hot-end is down below, so there isn't nearly as much mass swinging back and forth like a pendulum.  The new design is sort of a very short Bowden type- there's an 80 mm tube between the extruder and the hot-end.

New extruder carriage design.  This is made of two aluminum parts- a short piece of rectangular tube where the belt clamps are mounted, and a flat plate onto which the extruder and hot-end are mounted.
The new design leaves lot of room to add a print cooling duct and blower, if I decide it needs it (I rarely print PLA).  The nozzle is now centered, which allowed me to shift the bed and support structure back to the center of the frame, where it belongs.

If I were redesigning the XY stage, I'd probably allow myself a little more room for the extruder carriage- they always take more space than you plan for.

This is the new extruder carriage, just after mounting it and running its first test print.  I'll dress up the wires a little bit when I've decided on the final configuration.  The extruder is a cheap Chinese made aluminum Titan.  It has proved less than great and will be replaced by the E3D Titan that it replaced.
Print quality has improved a little with the new arrangement.  I don't see much difference looking at the prints with my eyes, but under a microscope they look a little better.  Moving most of the weight closer to the X axis bearing block and using a very rigid 4.75 mm thick aluminum plate to mount the hot-end has improved rigidity and reduced ringing a little.

On a complete do-over, I might flip the brackets that hold the bed support on the Z axis over, which would lift the bed higher when it's at the top of the Z axis, allowing the extruder carriage to be shortened by at least 40 mm.

When I designed UMMD, my main goals with regard to floor space were that the machine would easily fit through standard width doorways without having to take anything apart, and would fit into the back of a Prius, both of which were met.  The XY stage design determines the footprint of the machine.  As built, it doesn't make very efficient use of floor space.  For the 300 x 300 mm printable bed area, the machine is about 610 mm wide and 530 mm deep (not counting the XY stage motors protruding from the front).  Of course, that includes the enclosure, so it isn't quite as bad as it seems, but with some additional design effort it might be possible to reduce the required floor space.

Some people have commented that using square aluminum tubing to hold the pulleys for the XY stage is a problem for them because they don't have access to a milling machine.  I used a mill to cut away some of the metal because it was available at the makerspace, but it's not necessary to mill the aluminum tubing.  Straight cuts made with a hacksaw are sufficient to make the pulley mounts and the motor mounts.  No accurate cutting is required, though drilling is best done using a drill press or mill to ensure that the holes on the top and bottom of the tubes line up vertically.

The Z axis:

The Z axis has been working very well, and since the original design was done I have done some experiments and made a few changes.  It originally used 3mm pitch HTD-3M belts with 36 tooth pulleys that made for awful full-step Z axis resolution of 18 um (55.55555 full steps/mm).  I have since changed to 60 tooth, 2mm pitch GT2 pulleys and belts and now the full step motion is 20 um (50 full steps/mm).  I also changed the design of the upper pulley plates by milling anti rotation features into them and going to a single bolt holding each of them to the printer's frame.  Finally, I put twists in the belts so that the smooth sides of the belts ride on the smooth pulley surface (it doesn't seem to have affected performance either way, so I may change it back).

The one issue with the upper pulleys is that the hole locations for the mounting bolt and the pulley's shoulder screw have to be very accurately drilled to keep the belts parallel to the Z axis guide rails.  That takes some very careful measurement and modeling of the Z axis components.  If the pulley could be moved horizontally (maybe mount it on the horizontal frame member above the top of the Z axis frame member) it would be easy to ensure parallel alignment of the belts without having to drill accurately.  That would create another problem- how do you tension the belts???

New upper pulley plate held in place with a single carriage bolt.
The pulley plate isn't the only part that requires careful fabrication.  Any changes to the drive pulleys in the Z axis require changes to the slot positions in the belt clamps.  Fortunately, the belt clamps can be printed, so it isn't too much of a problem.

The Z axis belt clamps are held in place with 4 screws.  The way the belt clamps are designed, the screws have to be accessed from the outside of the Z axis, which is OK if the side panels of the printer are removable, but the panels fit into the t-slots in the frame and are not easily removed.  I would (and may) redesign the belt clamps with the screws on the inside so I no longer have to use a cumbersome right-angled, ratcheting screw driver to remove the screws.

The easiest way to remove the belt clamps is to use a right angled screw driver because the side panels are not easily removable.  I like the side panel material and the way it is mounted, and it should be pretty easy to redesign the belt clamps for easier removal by turning the screws around so the heads are toward the inside.


The heater fan blows warm air against the Z motor- not good.  I added a make-shift heat deflector from a piece of sheet metal, but it needs to be more securely mounted.  I also need to add a wire screen to cover the whole heater assembly- the black and orange wires on the front of the heater bar carry 117VAC.  Debris from the printer and failed prints can fall off the back of the bed and land on the heater bar where they might melt or worse.
The heater needs to be covered to prevent debris falling off the back of the bed from landing on the heater bar, and the wire connections need to be covered to prevent electric shocks.  I still need to add a TCO to protect against SSR failure, and a permanent heat shield needs to be added to the Z motor.

I may add some sort of cover to the Z axis drive pulleys to prevent print debris from landing on them and getting caught between the belt and pulley.  I have never seen anything getting caught in there, but I'm sure it's just a matter of time until something does.

The Z=0 switch currently uses a snap action microswitch.  I think an optical interruptor type switch will be a higher precision way to go, so I'll be redesigning the cam/lever mechanism for an opto switch in the near future.  The cam/lever mechanism works extremely well, making small adjustments to the Z=0 position very easy.

As I said above, I might consider flipping the bed support brackets on the Z axis bearing blocks over so the bed will ride 40 mm higher than it does now.  That would allow me to shorten the extruder carriage.  I didn't do that originally because I was concerned about the possibility of bed vibrations getting amplified by the longer lever between bed surface and the centers of the bearing blocks.

Electronics:

I started with a SmoothieBoard a RRD Graphical LCD panel.  The installation was the least attractive thing about the printer.  The photo below is the best one I have of the top of the printer taken during the installation of the electronics in the original configuration.  The LCD panel was eventually mounted on the front of the plastic basket that is holding the rest of the electronics.  You can see why I wanted to redo the electronics installation:

Original electronics mostly installed.  Ugly, but functional - not up to the high standard of beauty set by the rest of the printer.

Other things kept coming up and the electronics was working, so the redo kept getting pushed out to later and later dates.

If you've been following this blog, you know I was recently provided with a Duet Ethernet controller and 7" Panel Due touchscreen interface by Tony Lock at Think3DPrint3D (thanks!).  That was all the excuse I needed to get to work on rewiring everything.

New electronics installed and working.  I added a custom splash screen (shown).  It sure looks better than the original configuration!  I set the Panel Due and power switch back from the front so that both would be protected from damage during transport.  Unfortunately, that makes the uSD card slot in the Panel Due inaccessible.

It performs very well, and has some great features that are lacking in the SmoothieBoard, but I am still adjusting to the change in work flow that has resulted from the change over.

I am used to putting gcode on SD cards and plugging them into a stand-alone printer and printing. The Panel Due has a uSD card slot, but it's located on the bottom edge of the panel, and in my installation, it's inaccessible.  That means I have to send gcode files to the uSD card on the controller board via a network connected computer.  Of course, I can preload the uSD card with a bunch of stuff to print, but I will still have to have a computer there to tweak things or slice other files.  I'm looking into the possibility of adding an SD card slot, independent of the Panel Due, to the front panel of the printer.

Other than the change to my work flow, the Duet board has been great!  The Panel Due and web interface (for that network connected computer) are much better than anything available for the SmoothieBoard.  Configuration is a little more difficult than SmoothieBoard, mostly because the documentation isn't as complete or well organized, but help is readily available via the online forums and I have no doubt the documentation and its organization will improve with time.

I can't say that I've seen any print quality improvements I'd attribute to the electronics, and don't necessarily expect to, but the machine is much quieter with the 256:1 interpolated microstepping drivers on the Duet board, and that alone may be reason enough to make the change.

There is a manual bed leveling assistant built into the firmware that makes accurately leveling the bed very quick and easy.  I wrote a blog post on that here.  I also set the firmware to put the printer's origin at the printable center of the bed which makes configuring slicers to use this printer much easier.

The top and bottom of the electronics enclosure are made from 1/4" thick foamed PVC.  That material provides some thermal insulation, is light weight, but a little soft and flexible.  I had already reinforced the bottom piece with aluminum tubing, so it was plenty rigid, but I needed to support the top piece to prevent sagging, so I printed a cone through which the filament feeds into the printer from the spool holder that sits on top of the printer.  The cone supports the top cover and prevents sagging.  I used pieces of the dual layer PC to make side, front and rear panel pieces, and printed pillars with slots to fit.  I used bright green PETG to print the pillars and then set up the splash screen on the Panel Due with bright green text to match.

Extruder/Hotend:

I like the Titan extruder and V6 hot-end, but they have some issues (see here and here) that I was able to address by switching to cheaper, Chinese sourced parts.  Specifically, I installed an aluminum version of the Titan (after modifying it), and an XCR3D Hexagon knock-off hot-end.  The hot-end seems to be holding up well, but the initially silent cooling fan that came with it is no longer silent after operating inside the 45C enclosure for a few hours.  The original Titan extruder is going back into the machine because of some problems with the aluminum Titan.  I've heard that Bondtech makes some pretty reliable extruders.  I may give one of those a try.

The Frame and Enclosure:

The one thing I would definitely change is the size of the casters on the front wheels.  I occasionally have to take the machine up and down stairs and the skate wheels are a little too small for that.

Now that the electronics are mounted and enclosed in a more cosmetic manner, I will add some printed bumpers to the back of the frame so that when I slide the printer, laying on its back, into my car, the electronics enclosure won't get damaged.

The dual layer PC I used for most of the enclosure panels has a lot of advantages.  It is very light weight, very tough, thermally insulating, and produces nice optical effects.  The disadvantages are that it doesn't help with printer frame rigidity and installing it in the slots in the frame can make servicing the machine a little troublesome.  I have noticed that the machine shakes a bit when I have acceleration and print speed turned up high.  It might be better to use rigid side panels that bolt to the frame so they can help stiffen it.

The big, lower front door is held on with magnetic tape that has been holding up well.  The adhesive will eventually let go of the printer's frame and/or the 1/8" thick polycarbonate door.  When that happens, I'll apply some contact cement and reattach the magnetic tape and the problem will be permanently solved.


If I think of anything else, I'll add it here.


Friday, August 3, 2018

CoreXY Mechanism Layout and Belt Tensioning


One Level or Two?

The original design for corexy used belts that were on stacked on two levels.  When you look at the photo below, one of the things that jumps out at you is that the belts appear to cross.  They only do that because the designer chose to use separate axles for the corner pulleys.  If the pulleys were stacked on common axles, the belts would not appear to cross.


Original coreXY mechanism with all belts and pulleys on two levels (look closely).  

Close up of the Y axis pulleys set at different Z levels in order to maintain the parallel relationship of the belts and the guide rails.  The corner and drive pulleys are set at two different Z levels, too. 

You can lay the belts out so they are on the same Z level.  That requires separate axles and so lateral offsets for each and every pulley.  It also requires that the belts cross over each other, usually at the M segment.  The belts are going to touch there, so people usually put twists in the belts in that segment so that at the crossover point the smooth back sides of the belts are in contact instead of the toothed sides of the belts.

The thing that many people fail to notice, and that the original designer didn't explicitly state is that there are some critical relationships between the belts and the guide rails. The most important thing in any coreXY implementation is that the belt segments (a segment being the belt between two pulleys or between the extruder carriage and the end pulleys) whose length varies (labeled A-H in the diagram below), must be kept parallel to their respective guide rails. When I say parallel, I mean the literal definition of parallel in the XY, XZ, and YZ planes. 

In the explanations below, whenever I refer to belt segments with letters, this diagram is the reference:


Notice, the belts don't cross at M, the upper belt stays on the upper level and the lower belt stays on the lower level, everywhere.  If you laid out a corexy machine with both belts on the same level, you'd have to use separate axles for all the pulleys and the belts would have to cross at M.

While you do need individual pulleys for each belt, they don't have to be laterally separated like the original mechanism.  They can be stacked so that they share axles, as I did in building UMMD. That leads to a more compact layout (smaller foot print) that can be easier to build and align. Keeping the belts parallel to their guide rails requires careful placement of the pulleys and motors. If you use laterally separated pulleys and axles, you will have 10 points (the locations of the pulleys and motors) of potential error. If you stack the pulleys on shared axles, there are only 6 points of potential error to deal with.


UMMD's coreXY mechanism.  All the pulleys are stacked, and belt segments A-H are parallel to the guide rails.

As I have stated many times, segments A-H must be parallel to the guide rails or the belt tension will vary with the position of the extruder carriage.  It may not be obvious why, and I could spend hours deriving the trigonometric equations to calculate the lengths of the belt segments, but there's a much faster, easier way to get numerical values that demonstrates the importance of correct layout.  I drew some sketches of the pulleys and one belt in a corexy mechanism, with belt segments B and G out of parallel with the Y axis.  Here are the three sketches overlaid so you can see that the only thing that changes is the extruder carriage position and the lengths and angles of belt segments B and G:

3 sketches overlaid showing pulleys, motor and one belt.  The extruder carriage is shown in two positions, 200 mm apart in the Y direction.

Here are the dimensions of the parts.  The layout is about what you might use for a printer that can print over a 200x200 mm bed area.

Here is the area enclosed by the belt with the extruder carriage at one Y position.  The "loop length" is the perimeter of that area, essentially equal to the belt length (plus a little of the perimeter of the extruder carriage).

Here is the area enclosed by the belt with the extruder carriage at the other Y position, 200 mm away from the first.  The "loop length" is the perimeter of the area, essentially equal to the belt length (plus a little of the perimeter of the extruder carriage).
Notice that the "loop length" -i.e. belt length - changes from 1368.3532 mm to 1358.4474 mm.  That's about a -10 mm change in loop length over a 200 mm movement!  That is why the belt tension will vary with the position of the extruder carriage if the belt segments are not parallel to the guide rails.  The problem is the varying angle between the Y axis rails and segments B and G that depends on the extruder carriage position.  If you had tensioned the belt with the extruder at the first position, is would tighten up when you moved toward the second position.  If you had tensioned the belt at the second position, it would get very loose as you moved toward the first position.  Belts are very strong, and they will not stretch 10 mm.  That means something is going to fail.  The mechanism is going to bind and stop moving, or maybe the motor is going to start spinning the pulley without moving the belt.

Maybe you're skeptical of the above.  I have prepared a second set of sketches, similar to those above, but this time belt segments B and G remain parallel to the Y axis.

Here are three sketches overlaid, this time with the belt segments parallel to the guide rails.  Once again, I moved the extruder carriage by 200 mm in Y, so the lengths of the belt segments change and the position of the Y axis pulleys and extruder changes.

Here's the belt length (plus a little of the extruder carriage perimeter) with the extruder carriage in the first position.

Here is the belt length (plus a little of the extruder carriage perimeter) with the extruder carriage 200 mm away from the first position.  
Notice that the loop length doesn't change even though the extruder carriage is moved by 200 mm.  That means the belt tension will be constant regardless of the position of the extruder carriage.  All these drawings are simplified- I did not include the thickness of the belt, as you should when you lay out and build a corexy design- more on that, below.


In the first set of sketches, I used a pretty extreme out-of-parallel dimension (you can find examples of machines built that way all over the web), but the same principle applies even if the offset from parallel is much smaller.  In my illustrations, the X-parallel belt segments were parallel to the X axis guide rail.  Now imagine what can happen if you combine out-of-parallel Y segments with out-of-parallel X segments...

Look at this layout for a corexy printer mechanism (from https://openbuilds.com/builds/printair-corexy.2718/) and see if you can spot any problems with the belt paths.  It looks like none of the segments that are supposed to be parallel to the guide rails are actually parallel to the guide rails!  How well do you think that's going to work?
Here's a look down one of the Y axis rails in a printer called "autox3d".  Do those short segments look parallel to the rail?
Here's an image I used in a previous post...  Absolutely everything about the belt routing is wrong in this build.  Notice the belt wrapped around the drive pulley at the left-rear and notice the belt wrapped around the pulley at the right-rear.  Do you think there is equal tension in those belts?  Do you think the tension is going to be constant when the extruder carriage moves?  Notice that the belts cross for some reason- vertically!  Do you think this will print well?
The examples above are just three of many you can find scattered around 3D printing web sites, so when you are shopping for a corexy layout to build, buy, or use as a base for your own design, study the designs carefully.  Ignore claims that "it works OK" when the designer didn't understand and lay out the mechanism properly.  OK to him may mean something different to you.  OK for printing Yoda heads at the center of the bed may be different from OK to print threaded parts that screw together or parts that have to mate with other objects all over the bed plate.  OK if it works for a couple weeks may not be OK if you want the machine to work for a couple years.

One thing you don't want to do is run a belt between two pulleys that are offset along their axes (like the crossed belts in the picture above).  Gear belts like GT2 have teeth that are perpendicular to the length of the belt.  The pulleys have teeth that are parallel to the pulley's axis.  The two are intended to be used with the belt running perpendicular to the axis of the pulleys and can't tolerate much offset.  If you offset the pulleys and try to run a belt between them, the belt won't be perpendicular to the pulleys' axles.  That will create a lot of stress/strain on the edges of the belt and wear on the pulleys and belt and will lead to premature failure.  What this means is that if you build a machine with stacked belts, each belt has to stay on its own level, everywhere.  Don't cross the belts at segment M and bring the upper belt down and the lower belt up.  There is no good reason to do that and it will cause problems.


Belt Thickness


One of the fine points of laying out these mechanisms is including the thickness of the belt (or cable) in your layout planning.  The belt thickness affects the locations of some of the pulleys and the attachment points at the extruder carriage, so it affects the design of the clamps at the extruder carriage.

GT2 belt, depending on who makes it and whether it's steel or glass core, comes in different thicknesses, usually 1.4-1.8 mm measured with a caliper.  That difference matters because if you ignore it, the belts won't be parallel to the guide rails in the critical segments A-H.

Here's a typical drawing of a GT2 drive pulley, though many don't come with any drawing:


The "outside diameter" value is what you would measure with a caliper on the pulley's teeth.  The pitch diameter is used in selecting/sizing closed loop belts.

Belts vary in thickness from one maker to the next, so you can't really use the pitch diameter value for laying out a printer mechanism.  The best approach is to obtain the drive pulleys and belts you are going to use before you do the final layout so that you can measure the parts. Measure the pulley with the belt wrapped around it and use half that value (PBr in the photo below) when you plan the belt layout.


This is what happens when a belt wraps around a toothed pulley.  If the belt thickness measured from the back to the tips of the teeth is 1.5 mm, when you wrap the belt around the pulley, the pulley's radius, Pr, increases to PBr which is less than Pr + the belt thickness.

This is important because in a coreXY mechanism, the belt thickness affects how you position pulleys and belt clamps.  For example, one side of the drive pulley belt goes to the Y axis bearing blocks, to smooth pulleys.  If you just use Pr to figure out where to put the smooth pulley axle, the belt in segments A and G won't be parallel to the Y axis guide rails.


20 tooth GT2 pulley diameter = 12.25mm, Pr= 6.125


Belt is 1.69 mm thick.


Pulley plus belt diameter is 14.55mm, so PBr is 7.275 mm


Laying out pulley locations.  If you just use the measured diameters of the pulleys and ignore the thickness of the belt on the drive pulley (left), you will position the Y axis pulley in the wrong place and when you put a belt on it, the belt won't be parallel to the Y axis.  You have to take into account the thickness of the belt on the drive pulley (right) to ensure that segment A will be parallel to the Y axis guide rail.
If you're using the same size pulleys (bearings) at the corners, they should be positioned in line with the pulleys on the Y axis bearing blocks.  You'll have to measure the diameter with the belt wrapped around them anywhere you use toothed pulleys and position them to keep segments B and H parallel to the Y axis rails.

It seems like a small thing, but attention to detail like this is what separates great printers from not-so-great printers.  I've shown what happens if the belt segments A-H aren't parallel to the guide rails- belt tension will vary with extruder carriage position. Changes in belt tension can allow the X axis to shift out of square with the Y axis (more on why, below) resulting in distortion in print geometry.  The distortion may not be noticeable if you print at the center of the bed but will get worse as the prints move away from the center.  Also, you set steps/mm in X and Y in the firmware configuration.  That assumes that the belts are parallel to the X and Y axes of the printer and that the X and Y axes are square.  If you change that relationship by improper positioning of the pulleys, steps/mm will vary with extruder carriage position, again resulting in distorted print geometry.

The same care is required when anchoring the belts at the extruder carriage.  The belts/cables must be kept parallel to the X axis guide rail for all the reasons detailed above.  In UMMD, I used 22 mm diameter F608 bearings for the Y axis pulleys.  That meant I had to anchor the belts exactly 22 mm apart, and keep them parallel to the X axis linear guide.


The belt clamps (yellow) were designed to match the diameter of the Y axis pulleys so the belts would be kept parallel to each other, and the clamps were carefully positioned on the extruder carriage to keep the belts parallel to the X axis.


Steel Core or Glass Core?

The two most common GT2 belt cores are glass and steel.  Both have several little "cables" inside that reinforce the belt to minimize stretch.  Steel core belt reinforcement cables consist of a few stainless steel wires. Each glass core belt reinforcement cable consists of hundreds of micron-thin strands.  Why pick one over the other?

Though neither type will stretch very much, in theory, the steel reinforced belts will stretch less at any given tension.  But there are other considerations.

Glass reinforced belts are much more flexible than steel reinforced belts.  When you try to bend a steel reinforced belt around a pulley, it resists and tries to remain straight.  In a coreXY mechanism, you have to bend each belt around 5 pulleys.  That extra effort requires power from the motors.  You have to pull harder on the belts to get adequate tension because the belt is resisting the bending more than a glass reinforced belt.  That means your machine has to be built more solidly to use steel core belts.  

One mystery surrounding steel reinforced belts is the minimum pulley size required to ensure long belt life.  If the pulleys are too small, all the flexing around the pulleys will cause the steel reinforcement cables to fatigue and break, and then the belt will start stretching near the break in the cable.  That causes all sorts of mysterious problems with the prints that are very hard to trace to the source.

In a coreXY printer, everyone wants to use small diameter pulleys to save weight and minimize size.  So the question is, if you want to use steel core belts, how small can the pulleys be?  Since the manufacturers of the steel core GT2 belt usually don't provide that spec, we can look to the next best source of information, steel cable manufacturers.

Two of the determinants of minimum bend radius for a steel cable are the number of strands and the overall diameter of the cable.  If you look at the tables, here, you'll see that as the number of individual strands of wire in the cable increase, the ratio of allowable pulley diameter to cable diameter decreases. The low end 3x7 cable has 21 strands and is OK to bend around a pulley that is 50x the diameter of the cable.  At the high end, a 7x49 cable (343 wires) can be used with pulleys that are 15x the diameter of the cable.

The glass reinforced belt cables are more like the high end of that table, with hundreds of strands of glass in each reinforcement cable, so they can be used with smaller diameter pulleys than the steel reinforced cable that is more like the low end of the table and requires 50x the diameter of the cable.  

I took apart a steel reinforced belt to see what the structure of the reinforcement cables was like.  I found, in the particular belt I looked at, 6 wires per reinforcement cable.  That tells me that we need much more than 50x the diameter of the cable for the pulleys.  It's hard to measure the "diameter" of the individual reinforcement cables because they are buried in the belt, but if we assume they are 0.5 mm diameter (the belt is about 1.7 mm thick, so a reasonable assumption), that would say that the pulley diameter should probably be more than 50 x 0.5mm = 25 mm.  How much more is anyone's guess.

Here are the individual steel wires in a steel reinforced GT2 belt.  In this particular belt, each reinforcement cable consists of 6 strands of steel wire.
Glass reinforced belts work well, even on smaller pulleys.  Unless you're going to use very large diameter pulleys (maybe 30-50 mm), I'd stay away from steel reinforced belts for a coreXY mechanism.  If you're worried about belts stretching, buy wider belts.  9mm wide glass core GT2 belts only cost a little more than 6 mm wide belts, and will stretch less for any specific tension.  If you must use steel reinforced belts, be prepared to replace them as they fail.

Tensioning the belts/cables

In the diagram, showing corexy with stacked pulleys/belts, segments labeled A-H have to be parallel to the guide rails. As we've seen, that requires careful placement of the pulleys, motors, and belt attachments at the extruder carriage. The other belt segments J, K, and M, don't have to be parallel because their length is fixed by the placement of the motors and pulleys. That parallel requirement and the layout diagram can tell you the permissible ways to tighten the belts. You can do whatever you want to tension the belts as long as you don't disturb the belts' parallel relationships to the guide rails at segments A-H. That means there are several places where you can tension the belts. You can pull on the belts where they attach to the extruder carriage (pull only in the X direction), you can move the motors and the corner pulleys in the Y direction, or you can deflect the belts somewhere along segments J and K, or M.


These are all the ways you can tension the belts in a corexy mechanism.  Arrows indicate the direction of increasing tension.  None of them will change the parallel relationship between the guide rails and segments A-H (except that individual adjustments will create torque on the X axis as explained below)

As you apply tension to the belts, you create a torque on the X axis. In the image below, the green arrows show the forces at P1 and P2 created by tension in the lower belt. The blue arrows show forces at P1 and P2 due to tension in the upper belt. The orange arrows are the vector sum of the forces on P1 and P2 when the tensions on the belts are matched. If the tensions aren't matched, the orange arrows won't be pointing along the X axis and will cause the ends of the X axis to tilt relative to the Y axis as much as imperfections (slop in bearings, flex in the frame and guide rails, etc.) in the mechanism allow. So what you want is to match the tensions in the two belts as closely as possible. 

Forces on Y axis pulleys due to tension in belts.  Green arrows are the forces vectors due to tension on the lower belt, blue arrows are force vectors due to tension on the upper belt.  The orange arrows are the vector sum of the blue and green arrows.  As long as the tensions are matched, the orange arrows will point along the X axis and there won't be any torque on the X axis.

This is another reason why it is important to position the pulleys carefully, so that belt tension doesn't vary with the position of the extruder carriage.  If the tension varies, there will be twisting torque applied to the X axis as the extruder carriage moves. 

In corexy mechanisms, when you apply force to one belt (move one of the motors in the Y direction, for example) to change its tension, you also change the tension on the other belt. When you assemble the mechanism and adjust tension on the first belt, the X axis will shift out of square with the Y axis. When you adjust tension on the second belt, you do so until it pulls the X axis back into square with the Y axis. At that point if you feel the tension isn't high enough, you repeat the tightening sequence.

I'm not sure how that's going to work if you adjust tension at the corner pulleys- you're pulling on both belts at the same time.  That would work fine if they start with equal tensions, but I think you need some way to adjust the individual belts (which will also ultimately change tension on the other belt).  I chose to tighten the belts by moving the motor mounts in UMMD because it was very easy to design and build it that way and it works well.

How much tension is enough?  Unfortunately, that's hard to say.  You can buy instruments that measure belt tension by pushing on a span of belt and measuring the deflection, but without any specs on the belts most people use, having a number isn't all that useful. Fortunately, belts work pretty well as long as you take out the slack. Some people pluck the belts like guitar strings to decide if they're tight enough and equal tension, but the real test of relative tension is the squareness of the X and Y axes, regardless of the absolute tension in the individual belts.  So get them tight, but not too tight, and make sure the X and Y axes are square, and you should be fine.  If the belts are too loose you might see some defects like ringing in the print surface that diminish if you tighten the belts.  Ringing can be caused by acceleration and jerk settings, too, so adjusting belt tension alone isn't likely to cure a ringing problem.

All of the above applies to machines with belts or cables that aren't stacked, except that cables can be shifted in Z without creating too many problems.  Cables are a whole different animal that have a unique set of problems and advantages.  In a corexy mechanism, belts are a lot easier to deal with.


Designing a CoreXY Mechanism

When you design any printer, you can work in different ways.  You can start at the outside of the printer and design and build inward, or you can start on the inside and build outward.  The former is better if you have very specific goals with regards to the overall size of the machine- maybe it has to fit in a specific cabinet or specific location in your house or office,   and the latter is better if you have very specific goals for the printing capacity of the machine.  If your goal is a specific print capacity, and you design and build the frame and enclosure first, you may have to struggle to fit the mechanism that meets your print capacity goal inside it and you might not be able to do it.

People often forget about the size of the extruder and the impact that has on the size of the mechanism to move it and the size of the enclosure that will fit that mechanism.  You have to design in some means of tensioning belts, and that type of stuff take up space that has to be included in your design.

I suggest that if you're going to design and build a printer to have a specific print capacity, you start at the extruder carriage and work your way outward, with the frame/enclosure being the last thing you design.  If the extruder is 100 mm wide, you're going to need a 400 mm wide space in order to move the nozzle 300 mm.  If you think you might want to add a second extruder in the future, design the extruder carriage for it (or allow for the space it will take up) when you figure out how big to make your corexy mechanism.

In the diagram above, that shows the possible belt tensioning locations, you'll notice that moving the motors and corner pulleys in the Y direction can be used to tighten the belts without disturbing the parallel relationships between the belts and the guide rails.  People like to use t-slot aluminum extrusions to build printer frames.  Combining the two ideas suggests that if you mount the motors and corner pulleys on the Y parallel frame members, you can apply tension to the belts simply by sliding the motors and/or the corner pulleys in the t-slot and locking them in place using t-nuts.

I recently designed and built such a mechanism using printed parts and cables instead of belts, but the concept will work with belts, too.  In this project I didn't have many constraints except that the frame size had to be 1.9 m x 1 m, and I didn't try to maximize the area of movement.  Whatever I ended up with would be big and big enough.  

Here's video of the mechanism in operation:

Motor mount rev 3 for cable driven corexy from Mark Rehorst on Vimeo.

The left corner pulley block, held in place with t-nuts.  Cable tension is adjusted by moving the block back toward the corner of the frame.

The right side corner pulley block, a mirror image of the left side block.

Here's an older version (compared to the video) of the right side motor mount.  Tensioning the cable is done by moving the mount to the right and tightening the bolts that hold it in place in the t-slot.

Notice the entire mechanism fits inside the frame, and the cables can be tightened by simply sliding the motor mounts and corner pulleys along the slots in the frame.  This particular project doesn't require micron accuracy or precision, so I wouldn't recommend duplicating it for a printer, but a similar mechanism could be built that will provide the necessary precision and accuracy, and very easy adjustment of belt tension, perhaps at the expense of the footprint of the machine being a little larger then it might be if it were optimized for small size.

After some testing of that mechanism, I decided that I couldn't trust the noisy pulleys or my knot tying skills enough, so I redesigned the mechanism for belt drive.  I put both belts on the same Z level, and twisted and crossed them at segment M.  The corner pulley blocks now attach to both the X and Y parallel frame members so they can't be used to tighten the belts.  Belt tensioning is done by moving the motors in the t-slot of the rail they are bolted to. 

sand table mechanism converted to belt drive. from Mark Rehorst on Vimeo.