Hi everybody.
I am new to 3D printing but I have used stepper motor with Trinamic drivers for close to 8 years. I am aware that 3D printing outcome is a "dance" of quite a few parameters and also involves not only the kind of filament you use, PLA i.e. and what quality the supplier of the filaments provide and if it has been stored in a dry environment. I want to limit myself in this thread to the topic of printing speed only.
The first aspect I want to touch is the controller used being used in a controller board. If speed printing is one objective 8-bit controllers are not an option. 32-bit controllers are the ones to look on. I had chosen the BTT-SKR-PRO V1.2 as it was the only one that uses an ARM Cortex M4 controller in the list of boards I saw on a YouTube video from Kersey Fabrications. It runs at 168 MHz, this data is not even displayed in the
webpage from BTT about this one of their products.
Also comparing the quality of the prints of different boards done by Kersey Fabrications there were cases where the computing performance of the controller executing G Code came to its limits when testing higher speeds. Also, it had an impact when the controller had to operate a graphic display that required a bit of processing power from the main controller.
Here I wonder why ARM Cortex M4 dual-core controllers are not being used. These controllers run at 200 MHz which results in >20% processing power and those controllers are not expensive. But also their ARM Cortex M0+ core could be used to control peripheral functions leaving the ARM M3 core to dedicate its computing performance exclusively dedicated to executing G Code instructions.
As I take out of this is that the computing performance of a 3D printer using such a controller could have the rate at which it can pass commands to the SilentStepStick much faster and so that the parameter of available computing power could be improved a lot. The problem that I would dig in deeper is to analyze how Marlin 2.0 could be adapted to benefit from using a dual-core controller.
The next parameter influencing the potential to increase printing speed is to make sure that the stepper motor used to implement moves in either X, Y or Z. As Trinamic writes in its FAQ section for motors on their website, stepper motors would typically be used supplying a voltage up to 20x the value of the nominal voltage the stepper motor is characterized. I have purchased together with the BTT-SKR-PRO V1.2 board a Meanwell 600W 48 VDC power supply and 3 SilentStepSticksTMC5160hv that were still available at Watterott, the partner of Trinamic for designing and production of SilentStepSticks for their driver ICs. These driver ICs can be fed with up to 60 VDC and 20 A, far above the 48 VDC I am using and far below the nominal value for their current for NEMA17 stepper motors. Higher supply voltage makes possible 2 things. One is that much higher step frequencies can be achieved by a stepper motor as the induction voltage resulting from the faster change of voltages applied to the coils of the stepper motors. As you all might be aware, the induced voltage in the coils is always of inverse polarity to the applied voltage and so the effective voltage the sum of both will stay above the nominal voltage value that is responsible for the amount of current flowing through the coils that are being limited to its nominal value by the PWM the Trinamic driver uses. The second benefit results from the fact that Trinamic stepper motor drivers are aware of the torque load a stepper motor faces. It can reduce the amount of current if less torque would be sufficient to tackle the actual torque load resulting in less stepper motor heating and less power consumption. This was important to me as I do operate a stepper motor in my hobby, naval modeling to operate as winch and the supply does come from a battery pack, 12 LIFePO4 battery cells connected in series. But Trinamic stepper motor drivers also use the higher supply voltage to address peak torque loads by temporarily increasing the current flow under control via the PWM of up to 20% for a brief time. Time is limited due to stressing the motor with a current value above the nominal value which results in additional heating of the motor.
The final aspect I see to increase the speed of printing is in the selection of the stepper motor. This really seems to apply only to those stepper motors responsible for the movement in the X, Y, and Z directions. Moving the filament in the extruder the key objective is to keep its weight as low as possible to have the least amount of kinetic energy stressing the rigidity of the 3D printer frame. Without problems to exchange apply as long as we use NEMA17 stepper motors. Typically in the 3D printers for the consumer market that I have been seeing, is that the nominal values are not shown on a plate as it should always be with any motor.
It requires a bit of searching on the Internet to find NEMA17 stepper motors that do have such a plate showing its nominal value and the torque. The differences are of the factor of 2 of the torque that is directly linked to the amount of current its nominal current value has. But also relevant is the length of those stepper motors. The standard length can be up to 3x and those offer the highest amount of torque. Replacing the existing stepper motors that move the X, Y, and Z directions at least on my 3D printer, a Creality Ender 5 Plus, is not a problem and can be changed with minimal effort.
What has to be analyzed and understood is obviously the settings for Marlin and the Slicer to be used.
The next parameters of interest are the temperature of the nozzle, the heat bed, and in the air in the environment of the printing volume. But those are parameters, together with the topic of the cooling fans I am leaving for later.