Pololu stepper driver board
Release status: working
- Please note: Pololu stepper driver boards has 0.05 ohm sense resistors instead of StepStick 0.2 ohm.
The Pololu stepper driver boards are made as pluggable modules to a electronics motherboard. A good reason of this design is, that it is easy to exchange the Pololu boards when troubleshooting - or when a board has burned out.
List of Boards
Pololu driver boards (8+8 pins):
- Pololu A4988 stepper driver - A4988-based; equivalent to A4983-board but offers overcurrent protection. If the boards get too hot, they will interrupt the current until it cools a bit. If the current is too high for the heat sinking, the motors will pulse as the current is interrupted and restored. See http://forums.reprap.org/read.php?4,116813,116832,quote=1 and its video. Try reducing the current until the pulsing stops.
- Pololu A4983 stepper driver - A4983-based; (discontinued).
Pololu driver boards with Voltage Regulators (longer boards - 8+14 pins):
- Pololu A4988 Stepper Motor Driver Carrier with Voltage Regulators - A4988-based; equivalent to A4983-board but offers overcurrent protection.
- Pololu A4983 Stepper Motor Driver Carrier with Voltage Regulators - A4983-based; (discontinued).
As user Nophead has pointed out, that Pololu driver is a nice design, but with one big shortcoming: it will run hot, and is difficult to cool because it's so small. So what I've done is to design the electronics in such a way that they both perform their function and act as a physical duct for the flow from a fan to direct their own cooling. A happy side-effect of this is that the resulting PCBs are very simple, and can be made single-sided without any thin tracks. That is is why RepRap itself can make them. We must walk before we can run... an another way to improve heat dissipation is the use of small heat sink, unfortunately the small adhesive pad are not so adhesive.... so the use of some thermal conductive glue make the thing easier (like this one, in french www.pc-look.com/boutik/63648.html but if you google: Arctic Silver - Arctic Alumina™ Thermal Adhesive you will find it or equivalent)
- G3D driver
- SureStepr SD82B - http://www.panucatt.com/product_p/sd82b.htm
- DRV8825 Stepper driver (1.5 A max w/o heatsink! 2.2 with) - http://www.pololu.com/catalog/product/2132
Tuning motor current
A4988 and similar
Per the A4988 datasheet, the calculation for the maximum trip current is:
With Pololus, the sensing resistors are Rs=0.05 ohm, so a Vref of 0.4 should produce a maximum current of 0.4/(8*0.05)=1A. Clockwise increases the current which will make the motor run hotter and counterclockwise reduces it which will cool it down (see forum thread 159081).
As another example, aiming for 50% temperature rise on 1A rated steppers by using max 0.7A, so rearrange it as:
Vref = I_TripMax * 8 * Rs
Vref = 0.7A * 8 * 0.05 = 0.280V
With a measured Vref of 0.273V, I should expect 0.6825A, and I measured the current through one coil as 0.486A in full step mode, which should be 0.7071 of the full trip current, or I_TripMax= 0.486/0.7071= 0.687A, which seems close enough.
The Vref signal is accessible as the "VREF" pin on the carriers with voltage regulators, as the through-hole via on the carriers without, and also as the wiper on the trim pot itself on both carriers.
Note 1: for StepStick, the Rs=0.2 ohm, so you'd get 4 times the Vref at the same current.
Note 2: most "Made in China" A4988 Pololu knock-offs have Rs=0.1 ohm.
For the Pololu DRV8825 Stepper Motor Driver, the current sense resistors are 0.1Ω. The calculation changes to "I_TripMax = Vref × 2", or "Vref = I_TripMax / 2".
Note: Check pinout before placing driver, Vref pot on the Pololu DRV8825 is usually on the opposite side of the board when compared to the Pololu A4988, placing driver backwards can destroy the driver.
Vref = I_TripMax / 2
As an example, running at 70% of a maximum 1A motor current, use the formula as follows:
Vref = 0.7A / 2 = 0.350V
The maths in full
For repraps, logic supply voltage (VDD) is 5V. For Pololu driver boards, the trimpot is 100kohm, R5 resistor is 20kohm, sense resistors R7 and R8 are 0.05ohm
VREF max = (TrimpotMaxR/(TrimpotMaXR+R5)) x VDD = (100,000 / (100,000 + 20,000)) * 5 = 4.16V
ITripMAX (effectively max motor current) = VREF / ( 8 x Sense_resistor) = 4.16 / ( 8 * 0.05 ) = 10.4A
To calculate amps from measured VREF: A = VREF / 0.4
To calculate VREF required for a target current: VREF = A * 0.4
The way the IC is designed, it wicks heat much better through the large pad on the underside than it does through the outside of the packaging. This means the heatsink is not actually in the ideal place to wick heat away, and the quality of the solder job underneath is extra important. On some chinese knockoffs (white board and the pot has no built in stop) I notice they overheat and go into thermal shut down before a real pololu board would, even with a heat sink and fan. Heat dissipation could possibly be improved by re-flowing the solder on a hot plate, but I have not tried this as they are my backups. Pololu also offers a "black Edition" board which has extra copper and multiple layers in the PCB to help wick heat away from the IC and keep it cool. This is said to add on an extra 0.2 amps that can be maintained without heat sinking. Also using the same logic, it is more effective to blow cooling air under the board rather than over it, and brilliant design work on the RAMPS boards allows this quite easily.
The voltage divider and pot are poorly selected for the currents used. The board uses a 10k pot and 20k resistor to set the vref, so the effective range is 0-1.7 volts, or 0-4.2 amps! The IC is only rated for a maximum of two amps if you have perfect heat dissipation. This makes it much more difficult to set the ref voltage since at 1/4 turn you have maxed out your driver. The resistor is the easiest to change. You simply need to swap it with one rated at 51K ohms. (part number below) With this modification, the max current is 2.05 A with vRef = 0.82V.
Any resistor in a 0603 SMD package will work. Resistors with a higher resistance will lower the maximum current even further. Some have reported using a 68K-ohm resistor which brings the maximum current down to 1.6 amps. Many of the Pololu clones will shut down before producing this much current, even when cooled with a heatsink and fan, so a slightly higher resistance would work as well.
51K-ohm DigiKey.com part number: 311-51KGRCT-ND
Double check the sense resistor values before making this upgrade, if you actually have stepsticks with 0.2ohm resistors, this is not needed.