Tuning Your Motor Current

  • Reasons you would want to adjust the motor current

    • Motors running too hot. This is especially a problem when its the extruder motor, since it can soften and deform the filament before it reaches the hot end and cause a jam.
    • Shifts in the middle of prints / skipping steps. This happens when the printer is trying to run faster than the motors can keep up. Increasing power to the motors can help with this, however it is not advised to drive the motors past their rated limits. In this case you should reduce your acceleration instead.
    • Pausing / slowing after printing for a while. Most motor driver ICs have thermal shutdown circuitry. They will shut themselves off if they begin to overheat. Often what will happen is the the driver will get hot and shut itself off, but then after a while it will cool off a little and turn on again. The cycle repeats. If you see the motors start to pause after printing for a while, and the pauses become longer and more frequent, then your drivers are probably overheating. You can easily tell by feeling them. Either reduce the power, or provide better cooling.

    Digital vs Manual Current Control

    Some printers have digipots for digital current control. For these printers, the current is set through your firmware configuration. On other printers the current is adjusted via trimpots on the motor drivers themselves. This goes for any printer using modular Pololu style stepper drivers. Below is where you can find the firmware settings on printers with digipots. For the rest of this guide, we will focus on printers with manual trimpots

    Marlin firmware: Configuration_adv.h setting called DIGIPOT_MOTOR_CURRENT

    Repetier firmware: Configuration.h setting called MOTOR_CURRENT

    Boards with digital current control:

    • Rambo
    • Azteeg X3 Mini

    Boards with manual current control:

    • RAMPS
    • Brainwave Pro
    • Azteeg X5 (optional)

    Getting Started

    In this guide we will be using a Robo 3D R1 as an example, but the steps are applicable for any printer. You will need a Phillips head screwdriver, a multimeter, and preferably some alligator clips.

    Step 1 — Connect Meter

    • Use your alligator clips to connect the negative lead of the meter to one of the ground pins on the board.
    • Check the pinouts for your board to find a ground pin to clip on to. The best place is probably a negative terminal on the main power connector.
    • Touch the positive lead of the meter to the probe point on the motor driver (VREF).

    Step 2 — Alternatively, Connect the Meter to Your Screwdriver

    • The metal cap of the trimpot can also act as a test point. This means you can just clip the positive lead to your screwdriver while you are making the adjustments.

    Step 3 — Calculate Voltage

    • When your printer comes from the factory, it will probably not be set up to run the motors at their rated limits. The current will be throttled down in order to run the motors cooler, quieter, and more efficiently.
    • In general, you should give your motors the minimum power necessary to do the job.
    • Your stepper drivers datasheet will have a formula for converting between the reference voltage (Volts) and the current limit (Amps). Here are the formulas for some common drivers:
    • Remember to set your meter to 20 V DC.

    Step 4 — Adjust Potentiometer

    • Clockwise increases
    • Counterclockwise decreases
    • Be careful not to turn the pot too far. Some do not have stops on the ends.

    More Information

    Stepper Driver Data

    For more information about adjusting your motor current, check out https://bootsindustries.com/portfolio-item/pots-ad...

    This guide is also available at matterhackers.dozuki.com.

  • Well, now I know what I am working in this weekend...

Log in to reply

Looks like your connection to MatterHackers Community was lost, please wait while we try to reconnect.