Comparison of belt stiffnesses
July 07, 2015 01:03AM
This is interesting: according to this Gates document, a 1/4" wide MXL belt is about 35% stiffer than a 6mm wide GT2 (2mm pitch) belt.

http://www.bbman.com/assets/files/pdf-library/Engineering/Timing%20Belts/BeltTensileProperties.pdf
Re: Comparison of belt stiffnesses
July 07, 2015 12:06PM
That PDF is for tensile strength, not stiffness.
Re: Comparison of belt stiffnesses
July 07, 2015 02:39PM
Quote
cdru
That PDF is for tensile strength, not stiffness.

The last column of the chart is the tensile modulus (aka Young's modulus or the modulus of elasticity) which is used to calculate the belt stiffness.
Re: Comparison of belt stiffnesses
July 07, 2015 03:29PM
Doesn't really matter. The belt isn't the weak point, any any stretch will be minuscule compared to backlash in the tooth pitch as well as compliance in the stepper/printer. I calculate expected belt stretch in a 3d printer as roughly 0.000003" from the numbers given.

If you look at recommended belt tension you will realize that running the belts at spec will fold your printer in half anyways. The chart only shows recommendations for power transfer - accurate positioning requires even more tension.
Re: Comparison of belt stiffnesses
July 07, 2015 05:55PM
Hmm, we must be calculating things differently. A 6mm wide 2mm pitch belt has a modulus of 18,000 x 0.236 = 4248. (The numbers shown are per 1" width of belt.) Using the formula on the second page of the PDF document and using a tensile load of about 10lb and an overall belt length of about 20" (ie, max belt distance between the motor and the carriage), I get a maximum deflection of 0.047". Of course, most of the 10lb load is static and can be calibrated out. But even if you have a dynamic load of only 0.5lb then the deflection would be 0.0024" - not insignificant.

Regarding backlash in MXL belts - there's not really that much. While technically there may be some backlash in the MXL tooth profile, the reality is that once you get the belt tensioned, the rubber tooth face mushes into the teeth filling the gap, and effectively there is no free-play at all. I just put a dial indicator on a printer with an MXL belt and the error moving into the indicator v. moving away from the indicator was less than 0.0005", or less that I could measure.
Re: Comparison of belt stiffnesses
July 08, 2015 12:40PM
Thinking about this more, I realized I made a mistake in the deflection calculations - I had been thinking about the maximum single length of belt between the motor and the load. However, with a closed-loop belt both sides of the belt between the motor and carriage act as springs in parallel, so the stiffness should be doubled. Also, the point of minimum stiffness is where the carriage is furthest from the load on both sides, or more like 10". Thus, the overall deflection should be divided 4. So with a dynamic load of 0.5lb, the deflection is only 0.0006".

I came up with the 0.5lb dynamic load estimate assuming a 2lb bed and 2500mm/s/s acceleration (about 0.25g). However, most printers use a non-zero "jerk" setting (which isn't really jerk) that actually attempts to change the carriage velocity instantaneously, which results in much higher dynamic forces. This "jerk", in conjunction with the belt flexibility and other sources of flexibility, is what really causes the ringing people see in their prints.

To digress further, you could avoid most of the ringing by setting the jerk parameter to near zero, but then you end up with over-extrusion at corners, in turn because the GRBL derived firmwares don't account for any hysteresis in the extrusion process. If there was viable hysteresis compensation in the firmware (the existing extruder advance code isn't really a workable approach), then we wouldn't be fussing over stiffness issues nearly so much in the first place.
Re: Comparison of belt stiffnesses
July 08, 2015 12:53PM
What formula do you think extruder hysteresis compensation needs to follow? My fork of the Duet firmware allows for a term proportional to extrusion rate to be added to the extrusion amount, but it isn't successful at avoiding over extrusion at corners. I am prepared to try other ways of modifying extrusion, but I would like a mathematical basis to work from.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Comparison of belt stiffnesses
July 08, 2015 01:19PM
Quote
dc42
What formula do you think extruder hysteresis compensation needs to follow? My fork of the Duet firmware allows for a term proportional to extrusion rate to be added to the extrusion amount, but it isn't successful at avoiding over extrusion at corners. I am prepared to try other ways of modifying extrusion, but I would like a mathematical basis to work from.

I'm ecstatic to find someone willing and able to work on the hysteresis issue as this ripples thru the entire printer design. If I understand the existing extruder advance code, it looks like he's got a pretty sophisticated model of the flow rate adjustment, but it looks like he tries to implement the compensation by jamming in extra steps into the extruder step stream. People who have tried using this code mostly report that it just makes the extruder skip steps.

As a first cut, what I would really like to see is a very simple time advance of the extruder motion. In other words, you do all of the normal calculations for coordinating the extruder motion with the the X-Y motions, but you simply start executing the resulting extruder motion profile N millisec before you start the X-Y motion profile. And then, of course, the extruder will also stop moving the same N millisec before the X-Y motion terminates. In practice, it may be easiest to implement this as a delay in spitting out the X-Y step & direction signals. I've been tempted to try this myself in the Marlin code, but I have no clue how the bowels of the step generation interrupt code work.

My guess is that this simple approximation should help quite a bit.
Re: Comparison of belt stiffnesses
July 16, 2015 08:56PM
Quote
LoboCNC
Quote
dc42
What formula do you think extruder hysteresis compensation needs to follow? My fork of the Duet firmware allows for a term proportional to extrusion rate to be added to the extrusion amount, but it isn't successful at avoiding over extrusion at corners. I am prepared to try other ways of modifying extrusion, but I would like a mathematical basis to work from.

I'm ecstatic to find someone willing and able to work on the hysteresis issue as this ripples thru the entire printer design. If I understand the existing extruder advance code, it looks like he's got a pretty sophisticated model of the flow rate adjustment, but it looks like he tries to implement the compensation by jamming in extra steps into the extruder step stream. People who have tried using this code mostly report that it just makes the extruder skip steps.

As a first cut, what I would really like to see is a very simple time advance of the extruder motion. In other words, you do all of the normal calculations for coordinating the extruder motion with the the X-Y motions, but you simply start executing the resulting extruder motion profile N millisec before you start the X-Y motion profile. And then, of course, the extruder will also stop moving the same N millisec before the X-Y motion terminates. In practice, it may be easiest to implement this as a delay in spitting out the X-Y step & direction signals. I've been tempted to try this myself in the Marlin code, but I have no clue how the bowels of the step generation interrupt code work.

My guess is that this simple approximation should help quite a bit.

I think this may be the topic for a very interesting thread in the developers forum. In my dreams extrusion is completely controlled by a simple open loop controller whose two or three parameters are estimated automatically through image analysis of a picture of a printed calibration pattern.
Re: Comparison of belt stiffnesses
July 17, 2015 10:45AM
I suspect that the amount of time you need to advance the extrusion commands will vary by print speed, material and temperature.

At some point you have to wonder if just sidestepping the problem entirely by running higher acceleration is the best option. If you don't slow down for corners to begin with, there is no need to adjust the extrusion rate.
Re: Comparison of belt stiffnesses
July 17, 2015 11:49AM
Quote
691175002
I suspect that the amount of time you need to advance the extrusion commands will vary by print speed, material and temperature.

At some point you have to wonder if just sidestepping the problem entirely by running higher acceleration is the best option. If you don't slow down for corners to begin with, there is no need to adjust the extrusion rate.

True enough that the required advance time will vary with lots of factors. If you have to use a different value for different materials or temps, that's not a big problem (just another parameter to set at slice time). If the advance time varies wildly with the print speed, then that's a factor that would have to be added in to the advance calculations. However, if the advance time doesn't vary too much over a range of speeds, then picking an average value will be an improvement over nothing.

Regarding setting higher acceleration and jerk values, this direction leads to a lot of expensive demands on the printer design. High stiffness, low mass, and lots of motor power all are pretty costly, whereas if you could adequately compensate for the extrusion dynamics, you could get really nice prints on much cheaper printers.
Sorry, only registered users may post in this forum.

Click here to login