Prototype Belt Driven Remote Direct Drive Extruder Concept

A concept for a remote direct drive extruder.
12
20
0
1351
updated October 15, 2023

Description

PDF

Overview

See a video of the prototype working here

This is a new* belt driven remote direct drive extruder concept, which was my Masters Thesis project (MSc Advanced Materials and Additive Manufacturing). It uses a secondary belt to drive the extruder on the print head, in parallel with the X-axis belt. This means the extruder motor is fixed stationary to the X-axis in a remote direct drive configuration.

*It turns out someone is already developing this concept for Core XY (see comments).

Benefits

Reduced print head mass

Like other remote direct drive extruders, the aim is to reduce the print head mass, which improves system dynamics by reducing ringing and/or motor torques during accelerations. This prototype is essentially a custom E3D Titan, with a Revo hotend stuffed in it. The prototype print head weighs 190g (including cooling fan, accelerometer etc). 

I also tested the same print head in a standard direct drive configuration using the lightest E3D slimline motor which weighed 349g (46% mass reduction). I know there are lighter direct drives but I did this since it provided a comparative analysis. This specific extruder body can fit either the new belt drive, or standard direct drive, with all other components remaining the same to provide a valid comparative analysis. The mass reduction could be higher if I used better lighter componets for everything else but I used what I had and was practical.

Improved extruder motor dynamics

The main benefit compared to existing cable driven remote direct drive extruders, is that the motor torque speed curve can be matched optimally to the extruder drive, simply by changing the diameter of the new extruder belt pulley on the motor (rather than doing a step up gearing stage or doing specific motor tuning). The speed changes and accelerations of the extruder motor during retractions are less extreme, an issue which can slow down retractions and overall print time with existing cable remote direct drive. The dynamics of the belt system is also a bit more stable, since you don't have a heavy cable flopping around. Also this configuration is a bit simpler and cheaper since it just uses belts and pulleys, although it adds to the printer design complexity somewhat.

Disadvantages

Pulling force on print head

There are disadvantages to this design however, specifically that the secondary belt applies a new pulling force on the tool head. These forces can be minimised by using a high extruder gearing ratio (3:1 titan gearing in this prototype) and/or a larger drive pulley. This effectively sends the power through a lower force, higher speed drive, in the same sense as existing cable driven remote direct drive. The high speed belt is then matched to the extruder motor torque speed curve with an appropriately sized drive pulley as mentioned above, which is quite easy to modify and adjust.

Limited to certain motion systems

The second obvious disadvantage is that this can not be used on all motion systems, specifically Delta or other complex robotic arm type actuators. This prototype was only built on the X-axis of a standard bed slinger machine (for simplicity of design and digital control), but it could be applied in principle to most belt driven motion systems e.g. Core XY,  SCARA etc. which is why I am making this open source, to develop further and potentially improve direct drive printer speeds. 

Core XY would be the optimal configuration to apply this to, with the new extruder belt in parallel to one of the XY motion belts, in this sense it would become a Core XYE (X axis, Y axis, Extruder axis) configuration. EDIT: It turns out a Russian guy is already working on this, see comments.

I think it could also be beneficial on something like the Prusa Mini, by giving it direct drive capability, without adding a heavy motor to the cantilevered X-axis.

More complex extruder motor control

The third disadvantage is that the extruder belt now has to track the motion of the print head while also drivng the extruder accurately. This is actually easier that it looks, and I achieved it with a simple G-code post processor, ‘CXE_PP’ which I have attached (it's literally my first code project ever so don't judge me for how bad it is lol). It basically just adds the X-axis position (multiplied by a correction factor) to the extruder position on each G-code line, so that the extruder motor will move with the X-axis, plus some extra code for edge cases. It's a bit buggy sometimes but works fine for this prototype. I didn't figure out how to apply it automatically through Prusa Slicer, so you will have to open it in something like PyCharm, set the correct R1 value (descibed in the code) give it the base file name and file path and run the code.

Ideally this could be quite easily incorporated into open printer firmwares in future e.g. Marlin, Klipper etc.

Tests conclusions

The conclusion from my testing (by measuring ringing with an accelerometer) was that there was a beneficial effect of the reduction in mass, but when using input shaper with Klipper firmware, there was practically no discernable difference, at least with the speeds I tested (up to 4000 acceleration, 20 Jerk, 200mm/s speed). 

I have seen other high speed printers, do not aim to entirely minimise mass, but to tune the motion system resonance around a single frequency, where the input shaper works much better. In most cases this may be the better option, but there may still be a beneficial effect in reducing required motor torque at very high speeds on Core XY machines. The only way to know for sure is to test it in a high end Core XY(E) configuration which wasn't within the scope of my study (or the equipment I had available to me) so I am sending this out to the community as an open source project.

A secondary finding was that the magnitude of the ringing was proportional to the Jerk velocity (which matches the prediction from second order dynamic equations), down to about 5 where it was lost in background vibrations. This supports the typical jerk setting of 5 in most slicers. If using input shaping however, jerk could be turned way up to 20 with no noticable effect on vibrations.

Making the actual prototype

I don't actually recommend you make this specific prototype, unless you really want to. I have actually changed back to a direct drive motor for the aforementioned reason of no real improvement when using input shaper. Its design is also specifically a modification to an Anet A6, but it could be adjust to other bed slingers if you modified the Fusion 360 file, which is also terribly organised because I was in a bit of a rush. This design is also pretty impractical when assembling or disassembling so really it should be completely redesigned, but I have included all the parts anyway. I will add more details on how to build this if there is interest.

Tags



Model origin

The author marked this model as their own original creation.

License


Highlighted models from creator

View more