A4988 vs DRV8825 Chinese Stepper Driver Boards/ru

From RepRap
Revision as of 07:25, 10 September 2015 by Xelaform (talk | contribs)
Jump to: navigation, search

Комбинация из Arduino Mega 2560 + RAMPS 1.4 (появившаяся в Декабре 2014) широко доступна и широко используется для управления 3D принтера, либо в виде оригинальных компонентов, либо чаще из недорогих "Сделано в Китае" клонов. Недорогие "Pololu-style" stepper driver boards точно так же подключаются напрямую на плату RAMPS (обычно используется четыре или пять stepper driver boards) доступны из Китая с двумя различными stepper driver ICs, а именно Allegro A4988 и Texas Instruments DRV8825.

Пока "Сделанные в Китае" DRV8825 stepper driver boards наиболее близкие или идентичные клоны оригинального Pololu DRV8825 stepper driver boards, A4988 driver наиболее близкий или идентичный клон StepStick stepper driver boards. The StepStick driver boards совместим по контактам с Pololu A4988 Stepper Motor Driver Carrier, но имеет отличия в разводке печатной платы, которая бесплатно доступна под лицензией GPLv2.

Inexpensive "Made in China" RAMPS 1.4 board without stepper driver boards.

Насколько дорого эти stepper driver boards могут стоить? Ну, прямо сейчас партия из пяти "Сделано в Китае" A4988 stepper driver boards стоит примерно $6.80, в то время как аналогичный набор из пяти "сделано в Китае" DRV8825 stepper driver boards доступен примерно за $10. Некоторые DRV8825 можно найти по цене $1.62 за штуку.

A4988 and DRV8825 stepper driver boards side by side. A different A4988 based stepper driver.

Эта ситуация наводит на некоторые интересные вопросы: стоит ли использовать DRV8825 stepper driver boards вместо более популярных A4988 boards или нет? Кто из них лучше подходит для моего 3D принтера? Какие из них более надёжны / менее надёжны? Могу ли я смешивать платы A4988 с платами DRV8825? Есть ли какие то предостережения при использования этих плат, которые я должен знать?

Эта страница является попыткой дать исчерпывающую информацию, чтобы сделать рациональный выбор и ответить на эти и другие родственные вопросы, если это возможно.

A4988 and DRV8825 stepper driver boards, underside. A different A4988 based stepper driver.

A4988 stepper driver board

I am pretty confident that the Allegro A4988 is an utterly tested and proven solution to drive stepper motors in RepRap 3D printers, and this fact should not be overlooked. As long as the following three conditions are met, these Made in China Allegro A4988 stepper driver boards seem to be bullet-proof workhorses:

  1. The stepper driver boards should not be inserted backwards in their respective slots on the controller board (Doh!).
  2. The stepper cables should not be disconnected from the boards while powered on.
  3. Proper airflow (i.e. active cooling or in other words, a fan) should be provided.

Incredibly enough that last condition is often not met, as many 3D printer kits seem to dispense with the use of a fan blowing some cool air over the controller and stepper driver boards and depend solely on convection / radiation. It is up to the users/builders to later add a fan on their own... or suffer the consequences!

An inexpensive "Made in China" Pololu-style stepper driver board based on the popular Allegro 4988 IC.

Не самое лучшее качество печатной платы и припоя, которое я видел в своей жизни, но ... она работает!

Current sense resistors (Rs)

Note that the original StepStick stepper driver boards use 0.2 Ohm current sense resistors (Rs) while the original Pololu A4988 stepper driver boards uses 0.05 Ohm current sense resistors. However, the Made in China A4988 stepper driver boards use various current sense resistors depending on the manufacturer (usually either 0.05 Ohm, 0.1 Ohm or 0.2 Ohm). The current sense resistors are the two small black components next to the main chip. Compare the pictures above and check the detail below: the green Made in China A4988 board was fit with 0.1 Ohm resistors (labeled with "R100") while the red StepStick Made in China clone was fit with 0.2 Ohm resistors (labeled with "R200"), while other Made in China A4988 boards may come with 0.05 Ohm (labeled with "R050") current sense resistors. So it is very important that you closely examine your stepper driver boards and use the exact values for the current sense resistors when calculating the Vref formula (see below).

An inexpensive "Made in China" Pololu-style A4988 stepper driver board using 0.1 Ohm current sense resistors, detail.

A4988 orientation

IMPORTANT! As mentioned above, inserting an A4988 stepper driver the wrong way around will kill it and possibly damage the RAMPS board as soon as power is applied, so pay attention to the correct orientation of the stepper driver boards when inserting them in their sockets on the controller board. When inserted on a RAMPS 1.4 board, the A4988 driver's trimpot must point to the side nearest to the LCD connectors.

плата шагового драйвера DRV8825

И вот новый кандидат, плата шагового драйвера основанная на Texas Instruments DRV8825:

DRV8825 недорогая плата шагового драйвера.

ориентация DRV8825

ВАЖНО! As shown in some of the pictures above, the DRV8825 stepper driver boards have the trimpot on the other edge of the PCB compared to the A4988 boards, so pay attention to the correct orientation of the stepper driver boards when inserting them in their sockets on the controller board. When inserted on a RAMPS 1.4 board, the DRV8825 driver's trimpot must point to the side nearest to the Arduino's USB connector.

Trimpot adjustment

По умолчанию эти "Сделано в Китае" DRV8825 stepper driver boards приходят с Vref установленной в ~1.6V которое - если формула приведённая ниже правильна - которое слишком высокое и может даже повредить шаговый двигатель. Первая вещь которую вы должны сделать перед использованием драйвера DRV8825 это повернуть подстроечное сопротивление по часовой стрелке и уменьшать Vref примерно до 0.5V (1A тока), а затем сделать тонкую настройку.

Another important thing to note is that the Made in China copy is not quite the same as a genuine pololu DRV8825 board. The exposed via, which is connected to Vref on the genuine board, is actually connected to the bridge B power supply pin (11) of the DRV8825 on the Made in China board. In order to set Vref, you have to measure it off of pins 12 and/or 13 on the actual chip or from the center pin of the adjustment pot--the via will just give 12V or so. Pins 12 and 13 are located just adjacent to the via. If you look at the traces on the board, the via goes to pin 11, then there are pins 12 and 13, and then the last pin is 14.

Место где настраивать Vref на "Сделано в Китае" плате DRV8825

Смешивать шаговые драйверы A4988 и DRV8825

Да, можно! (протестировано и замечательно работает)

Mixing A4988 and DRV8825 stepper drivers on the same RAMPS 1.4? Yes, you can!

Actually I went ahead and tested this mix on my reference P3Steel. As shown above, I used DRV8825 stepper drivers for the X and Y axis and A4988 stepper drivers for the Z axis and the extruder. I already had small heatsinks on the A4988 drivers (not shown above, I`ll take a picture later) so I just left them there, on the other hand I did not install heatsinks on the DRV8825 drivers (see below the explanation for this). A 12V 80mm fan provides active cooling for the stepper drivers and RAMPS 1.4 MOSFETs. The DRV8825 stepper drivers are set to 1/32 microstepping whereas the A4988 stepper drivers are set to 1/16 microstepping. As for the current settings, I have two completely different steppers for the X and Y axis, but basically I am using all the steppers in this printer at 70% of their nominal max. currents and they all work fine and barely get warm to the touch.

After recompiling Marlin with double the original number of steps/mm for the X and Y axis and flashing it to the Arduino Mega 2560, I printed a couple of calibration parts.

Frankly I was pleasantly surprised by how smooth the X and Y axis movements have become with 1/32 microstepping. I guess I had a nasty resonance with the Y-axis stepper and the way its A4988 driver was configured, but now the resonance is completely gone, and the printer prints with much less noise and vibration than before. Unless some unforeseen problems spring up in the next few hours of printing, I am probably never going back to the previous configuration.

Comparison table

The following table compares Made in China A4988 Stepper driver boards vs DRV8825 ones, for RepRap use:

A4988 DRV8825
Availability very widely available widely available
Approx. price $6.80 / 5 pieces $10 / 5 pieces
Max. theoretical current 2A 2.5A
Max. microsteps 16 32
PCB color Green / Red Purple
Stepper current adjust. trimpot Yes, near Dir pin Yes, near En pin
Typical Rs value 0.05 Ohm or
0.1 Ohm or
0.2 Ohm
0.1 Ohm
Vref formula (*) I_TripMax= Vref/(8*Rs) I_TripMax= Vref/(5*Rs)
Thermal Overload Protection (**) Yes Yes
PCB layers 2 4
Small heatsink included (***) Almost always Sometimes not
Active cooling required? Recommended Recommended
IC packaging 5x5mm 28-lead QFN 9.7x6.4mm 28HTSSOP

Note that some important technical characteristics from the respective datasheets of the ICs are not directly comparable. For example, the DRV8825 is fully specified in terms of thermal characteristics, the A4988 is not. Another important characteristic that unfortunately is not directly comparable is RDSon, which is specified at different current levels in the respective IC datasheets.

(*) Adjusting the stepper driver current

See these instructions: Pololu_stepper_driver_board#Tuning_motor_current.

(**) Temperature Overload Protection

It is very important to keep the stepper driver ICs below a certain temperature during printing, since both ICs feature thermal overload protection that when triggered (typically when the die reaches a temperature of around 150~160 C), shuts down the output stages i.e. halts all commands to the affected stepper and in doing so, ruins the part being printed.

(***) Heatsinks

It is not yet determined how much of a real impact the small aluminum heatsinks shown in the pictures above have on cooling the ICs, as both stepper driver ICs depend much more on proper PCB layout and solder pad contact (as well as proper airflow, remember!) for heat dissipation, rather than on dissipation through the top of the IC package. This is because both stepper driver ICs have an exposed metal pad under the chip that contacts the PCB and this is the "path of least resistance" for heat dissipation. The secondary path for heat dissipation is through the package leads and in this aspect the DRV8825 provides for possibly slightly better power dissipation compared to the leadless A4988. It is my understanding that dissipation through the top of the ICs is almost irrelevant here.


Use Cases

(add your own here)

User No. of Stepper Boards Stepper Driver Type Controller Board Current per XYZ stepper Current Extruder stepper Time in Use Picture if available Notes

AndrewBCN 4 A4988 RAMPS 1.4 800mA 1A 3 months Arduino Mega 2560 + RAMPS 1.4 + 4 x A4988 stepper drivers + 80mm fan stack, during a print. Cooling provided by 80mm fan blowing directly over stepper drivers. Zero issues.
AndrewBCN 4 2 x A4988


2 x DRV8825

RAMPS 1.4 800mA 1A Testing Arduino Mega 2560 + RAMPS 1.4 + 4 x A4988 stepper drivers + 80mm fan stack, during a print. Same setup as above, just swapped drivers for X and Y axis and configured for 1/32 microstepping. Smoother displacements of the X and Y carriages, much less vibration and noise when printing compared to previous setup.
Cloggie 4 3 x A4988


1 x DRV8825

RAMPS 1.4 Not measured Not measured Testing N/A RepRap Mendel. Replaced extruder stepstick for a DRV8825 and configured for 1/16 microstepping. BullDog Lite now prints high quality and with a resolution 50 micron layers (previously only 200 micron). Current setting is not critical any more.
Template  ?  ?  ?  ?  ?  ? N/A (any extra useful information added here)