1
\$\begingroup\$

I am building a circuit with 2 hybrid stepper motors each powered by a stepper motor driver A4988 and both drivers are connected to an Arduino UNO R3.

Before soldering the components together on a PCB, I would like to clear my doubts, confirm what I'm doing and prevent any disasters or improve it, if possible.

I have done some research about the importance of using capacitors, but I still have some unanswered questions.

Here are the specs for each hybrid stepper motor:

Rated current (Amps/Phase): 1.68

Recommended voltage: 12 - 24 V

Holding torque (kg.cm): 4.4

Resistance (Ohms/Phase): 1.65

Inductance (mH/Phase): 3.6

Here are two variants of the section of the circuit schematic relating to the stepper motors and drivers:

A4988 driver capacitor ratings

I have a few questions since during the circuit design, I've been puzzling over several aspects of the decoupling capacitor placements and their respective capacitance and voltage ratings.

  1. I have made two versions of the schematic in the picture above but I can't figure out which one is better. And why? In design B, I have placed a 100nF ceramic capacitor between the 5V and GND of each stepper driver - is it better from a design perspective? Although design B uses one extra 100nF capacitor compared to design A, I am trying to make the best practical circuit possible and explain it coherently.

  2. Why connect a 35 V electrolytic capacitor when only a 9V supply is used to power the motors? How is this 35 V calculated? I found this in a schematic during my search but I want to understand why that value was chosen before i build it.

  3. I have read that as a good rule of thumb to always use a small 100nF ceramic capacitor and a bigger 100uF electrolytic capacitor in parallel to the supply and ground. But in this schematic, there is only a 100 uF between the MV and GND, so should I add a 100nF ceramic capacitor in parallel to improve this design??

  4. Why is a 100nF ceramic capacitor used between the logic voltage 5V (supplied from the 5V output from the Arduino UNO R3) and GND? I read that it filters out high frequency signals. But shouldn't the voltage output from the 5 V pin on the Arduino already be stable??

  5. The recommended voltage for the motor is 12 V, so if I were to use a 12 V DC power supply instead of 9 V, what capacitor voltage ratings should i use? How do I calculate this?

  6. I have set the current limit to each stepper motor to about 500 mA (from my online search, I read that a limit of 500 mA is safe so as not to damage the wires,) so is that something to be considered when choosing the capacitor ratings?

At this point, I am just blindly using what I found in my search online going through several schematics without really understanding why. I would really appreciate some clarifications. Maybe someone with PCB design experience can enlighten me on these issues.

\$\endgroup\$
  • 1
    \$\begingroup\$ Use case B youtu.be/9EaTdc2mr34 As for the capacitor voltage ratings it always should be larger than your maximum supply voltage. And the typically available Voltage rating for an Electrolytic Capacitors are 4V; 6.3V; 10V; 16V; 25V; 35V; 50V \$\endgroup\$ – G36 May 1 at 23:01
  • \$\begingroup\$ That was a very helpful video. Thanks. I was also wondering about the various capacitor values available, and it makes sense now why i've seen mostly the same values used in several schematics online. So, i need to keep the capacitor impedance as low as possible for the widest frequency range for the bypass capacitor to be effective? \$\endgroup\$ – WiredMaker May 2 at 1:56
  • \$\begingroup\$ use a ground plane, do not put slits in that plane \$\endgroup\$ – analogsystemsrf May 2 at 2:36
3
\$\begingroup\$

You have posed a very complex question here. It would take me 5 pages to answer this question to the best of my EE knowledge and abilities. So in the space available I can only offer a few guidelines and principles I have learned about the application of bypass capacitors over many years of design experience.

A. You can never have enough of them.

B. There is no practical way to calculate the required value for a given application. (see G below).

C. There is no practical way to quantitatively assess their effectiveness in the final circuit. (I.e. There is no know "Bypassometer" you can connect to the circuit to measure their actual effect.) The best you can hope for is a "works better" - "works worse" comparative analysis.

D. The reason we use bypass capacitors in the first place is different for different circuit applications & the rules are often confused or interchanged by unknowledgeable applicators. E.g. Bypass caps are used/required for one reason in applying bipolar TTL 7400 logic circuits. They are also used/required for a different reason in applying CMOS 74HCT00 logic circuits. In op-amps circuits they are used for an entirely different reason, and in motor controls like yours, yet another reason. Not to mention their use in RF circuits.

E. Allow for different configurations and combinations in your first-cut PCBs. That is add in extras, so you have assembly options when you get to the debug phase of the project. Again, lots of trial and error is necessary, but you can't do that very effectively unless you've planned for it.

F. In general, the lower the frequency of the signals and the larger the currents and resultant energy involved, the larger the bypass capacitors. This the use of electrolytics and tantalums in these situations because they have greater energy storage capabilities and higher current ratings than equivalent capacitance ceramics, plastics and similar wimpy type capacitors.

G. It is practically impossible to calculate the "correct" value for a bypass capacitor because there is no "correct answer" to the problem they are being used to solve. It's a fuzzy problem with a fuzzy solution. You'll encounter this scenario often: One solution fixes certain aspects of the problem, another solutions fixes other aspects of the problem, no single solution seems to solve all aspects.

H. I like this mechanical engineering analogy: Bypass capacitors are like lock washers in mechanical designs. How do you calculate the size or type of lock washer (e.g. internal star, external star, split ring, etc.) required for a given vibration environment? The answer is you can't. You take a guess, if it doesn't work you try the alternatives until you hit on one that gives the desired, or close enough to the desired, results.

You are pretty much on the right track with circuit B - a capacitor per IC. However, I would parallel the 100 nF ceramics with a small tantalum (not electrolytic), say 2.2 to 4.7 MFD (16 WVDC, since your supply is 9 volts, 10 WVDC would be cutting it too close for comfort.) Why? That would take another page or two to explain.

You might submit more focused questions about the same application. E.g. your section #2 would make a good single topic question.

Good Luck and keep your options open!

\$\endgroup\$
  • \$\begingroup\$ I realize that my post contains several questions that require more in-depth answers to get a proper understanding. Thank you for your answers which helped me to understand the gist of the practical implications but i am still very curious about certain aspects of it, so as you suggested, i will post question #2 separately. \$\endgroup\$ – WiredMaker May 2 at 2:01
2
\$\begingroup\$

A supplement to the fine answer of @FiddyOhm.

If you deviate from commercial designs that seem to work, you better have a good reason. However, even on these boards, you may hear squeals on the ceramics especially if you have long motor cables.

When you want to understand the effects of ESR, you need a good model of everything including; ESR values, actual C values, the track impedance, motor cable length and impedance with motor L/DCR values(3.6m/1.65 =~ 2ms)

Ferrite beads can also help absorb noise from the very fast current risetimes.

Adding more low ESR caps may improve it and increasing rated voltage tends to also lower ESR as well as reduce voltage stress.

This is a 4 layer board to reduce track impedances and uses a low ESR 1206 Cap.
IC Datasheet enter image description here enter image description here https://www.pololu.com/product/2128

The input ceramic capacitors should be closer to the pins than the bulk capacitor e-cap.

You will need advanced probing test methods to measure noise and a good DSO.

I chose to buy my 4988 drivers on cards added to the Uno CNC Shield, operating near 2A and they ran cooler with a 1" micro-fan and was very impressed with GRBL Panel for Windows with all the servo parameters and the User interface.

\$\endgroup\$
  • \$\begingroup\$ Thanks for the suggestions. I will consider them for my next project, but for my current project, i only have standard A4988 stepper motor driver, so i'm considering to use 35V 100uF LowESR version instead of standard capacitor version so that the bypass capacitor can perform better. \$\endgroup\$ – WiredMaker May 2 at 1:48
  • \$\begingroup\$ low ESR in 100uF e-caps means ~ <10us=ESR * C so ~100 mΩ while STD versions are ~ 200us =ESR*C but DMOS drivers are 320 mΩ so I guess if PWM is limited to @ 500mA that is ΔV=50mV , not sure what logic ground shift will be from LdI/dt \$\endgroup\$ – Sunnyskyguy EE75 May 2 at 2:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.