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 calledDIGIPOT_MOTOR_CURRENT
Repetier firmware:
Configuration.h
setting calledMOTOR_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:
- Pololu A4988: Current Limit = VREF × 2.5
- Panucatt SureStepr SD8825: Current Limit = VREF x 2
- 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
- Pololu A4988: Product Page, Datasheet
- SureStepr SD8825: Product Page, Datasheet
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...