Adjusting stepper motor drivers
There are many things to take in count when we speak about stepper motor drivers. But we don’t want to go in too many details, instead, in this article, I will talk about the basics. I will explain how they work and what we need to know to not damage them or our motherboard. Also, I will provide some tips that I learned on my own skin during my experience.
What is VREF
The literal translation of the term is a voltage reference. Stepper motors drivers have a device designed to maintain an accurate, low noise, constant output current. This is the exact description of what the driver does. The driver is the electronic device that takes care of guiding the stepper motor through the translation of the signals(an electric current) that are given to it by a processor.
Stepper motors move differently from normal electric motors, in fact, they aren’t very fast. They move slowly but are more powerful and very precise.
The calibration that we are going to do on the drivers of these motors is going to affect the VREF and the amount of current that the motors will release. The more precise this value is, the more the motor movement will be optimized. The idea here is to have enough power to not lose steps but also to not overheat the motors.
Ender 3 VREF TMC2208 / TMC2209
If you have an Ender 3 you surely know that the motherboard has integrated stepper drivers which means that we cannot replace them. So the first step would be doing a motherboard upgrade, which has lots of benefits. Having a motherboard with non-integrated stepper drivers, mean that we can easily change them if one burns, also adding the more advanced drivers will make our print more precise and silent.Buy it on AliExpress.com at US $35.28 – BIGTREETECH SKR MINI E3 V2.0 32Bit With TMC2209 UART 3D Printer Parts skr v1.3 E3 Dip For Creality Ender 3 CR10
The maximum settable stepper current for the stepper motors(NEMA 17) on the Ender 3 is 2.0A, but we will want to use a lower value. Something like 0.9 or 0.8. I will be using a TMC2208 stepper driver. The TMC2208 has a max output of 1.2A RMS. Reading the formula below, we see our VREF should be set at 0.96V.
The typical formula to determinate if goes like this:
-> Vref = Amax x RMS <-
VREF = 0.8 x 1.2 = 0.96
Amax = maximum number of Ampere the motor can handle
RMS = is the value of the maximum output on the drivers
How to calculate VREF
Every driver’s family reacts in different ways and some require different calculations and formulas to get the perfect voltage.
For example, the formula for the A4988 is :
VREF = Amax x 8 x Rsense;
Rsense – The A4988 boards are based on the Pololu board and therefore use a resense value of 0.05.
We saw that 0.96V is the ideal setting value for our driver. That said, we can slightly change this value with a margin error of 0.1. My axis drivers are set to 1V without showing any sign of suffering or heating.
How to adjust VREF
Now that the theoretical part is solved let’s move on to the practice.
For this part, the use of a 1.5mm ceramic screwdriver is recommended.
We are sure that no amateur/novice has this kind of tool in their workshop because it is quite technical. I will explain how to make the exact same adjustment using a normal iron screwdriver.
First, we have to go to analyze our drivers and locate the adjustment screw, it has exactly the appearance of a star screw.
The motherboard of some 3D printers is equipped with removable drivers, others have the drivers directly on the board and are less recognizable. The one thing in common that they have is the typical VREF adjustment gear.
If we are installing new drivers we must get the direction right, on the back of the drivers we will see some writings right next to each pin. The pin name must be in correspondence with the connector on the board. In the picture below we can see that different drivers have the VREF gear in different places and this shouldn’t be used as criteria to determine the right orientation, instead, we should use the pin names.
We turn on the electric multimeter and bring it on the 2V scale, in direct current (DC), at this point we place the negative (black) on the negative of our power supply or on the negative of our board (on the arrival of the black wire that brings current to our electronic card).
We put the red test lead in contact with the screw we identified earlier and read the value. Since we are using an iron screwdriver we must unplug everything from the board except for the driver to avoid burning the board! After that, we need to increase/decrease the voltage rotating slowly the gear.
To increase power, the screw must be turned counterclockwise, contrary to what experience and habit tell us.
Now you just have to “tweak”, gradually decreasing the rotation, until you find the right voltage.
Many times, however, this approach to driver regulation, due to keeping us very “safe” does not give the expected results, in fact, it could happen that the extruder still loses a few steps. We only speak of an extruder because the loss of steps in the axis movement motors, is a symptom of some mechanical hitch, therefore it is preferable to check that everything flows smoothly rather than “pulling the neck” on the motors.
If the extruder still loses a few steps, it is possible to switch to brutal adjustment. Following the procedure above (switch off each time before placing the iron screwdriver on the driver screw). Set the tester on Ampere and turning the screw one-eighth of a turn, always counterclockwise to increase the power, increase the power until the loss of the steps has disappeared.
From experience we can say that already at 1,2A all the step losses will disappear and you will be on a voltage/amperage well supported by the motor. Make sure, however, that you have a fan for the drivers as the power increase corresponds to more heat.
We recommend that you monitor the temperatures of the drivers and motors, at least in the first 2 or 3 hours of printing. The working temperature of the drivers should not exceed 60 °C, as well as that of the motors of 50 °C. You can easily monitor the temperature at regular intervals with a digital infrared thermometer.