1
\$\begingroup\$

I have the following Driver IC for a stepper motor:

http://www.ti.com/lit/ds/symlink/drv8825.pdf

When the motor is running, I cannot hear the switching from the current chopping in the motor windings, but when I stop the motor (no more STEP inputs are coming in the driver), i can hear the switching frequency at a random, audible frequency. The Driver should provide 30khz constant switching frequency.

I tried also to switch from mixed decay to slow decay and fast decay, the problem remains the same. I use 1/4 Step Mode.

Can anyone suggest me, what I could do against it? The only thing that works so far is to disable the motor, but then there is no holding torque and that can lead to a drift over time.

I measured with the oscilloscope the switching behaviour when the motor stops, different cases can occur at random:

This one is non aduible: enter image description here

This one is adubile: enter image description here

There are alot of other audible and non-audible cases aswell, where always the audible cases have a constant switching frequency.

\$\endgroup\$
1
\$\begingroup\$

2nd edit Unfortunately this chip has this bug with some motors due to higher L/R ratio under no load causing the alternating cycles to commutate at half speed which becomes audible. EMI can add to some noise if the current sense track is parallel to the flow of current instead of ideally at right angles. So TI decided to integrate the sense R's inside the DRV8886 and others with autotuning the PWM shutoff decay time rather than fix the problem in the DRV8825, Hybrid decay time should be best but many other users in TI's forum had the same issue. I might have tried adding 1 Ohm series R to each coil in hybrid mode to see how it affects performance as this reduces the L/R time constant but maybe not enough to get below 15us to prevent /2 frequency commutation.

Edit: The glitch may be noise ingress issue on your open collector PWM signal but the obvious issue now is 14.7kHz PWM on idle.

This is audible and worse than old TV flyback transformers with NTSC that ran near this rate and some people could hear this.

Correct this by raising the PWM frequency up by 50% or so.

( if it were only possible arghh)

enter image description here Most likely Vss or Vdd glitch noise crosstalk to Vgs , so put low ESR e-cap near driver and use twisted cable to reduce CM noise. Also test with earth ground. Does stepper get warm during idle?

Scope Vdd-Vss with ground clip removed using barrel =1cm gap on 1:1 probe Ac coupled into 50 ohm DSO termination for best transient noise capture. Or just coax.

If this is OK then it is not conducted feedback but radiated feedback to driver inputs. Use minimum loop area on motor current and driver input signals or STP cable and/or with ferrite CM choke suitable for L/R in this range. By low ESR caps I suggest <=50mohm. This is a common issue.

\$\endgroup\$
  • \$\begingroup\$ I have the low ESR cap's near the driver and used the recommended layout from the datasheet. The noise is inside the motor, not on the PCB. The Stepper seems not the get warmer than under normal use. \$\endgroup\$ – HansPeterLoft Apr 22 '18 at 15:32
  • \$\begingroup\$ Is it possible, that the noise comes only from microstepping and when I hold on a full step, that there will be no noise? \$\endgroup\$ – HansPeterLoft Apr 22 '18 at 16:42
  • \$\begingroup\$ What is the mechanical load? microstepping is ultrasonic as well, I was thinking your PWM stepper was aliasing with the PS PWM resulting in audio difference f \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Apr 22 '18 at 17:13
  • \$\begingroup\$ There is actually no load attached, but also with load there is the same problem. I tried now the full step mode, but also here the noise occurs. \$\endgroup\$ – HansPeterLoft Apr 22 '18 at 17:14
  • \$\begingroup\$ How is PWM done? CNC bridge or Arduino>? Slow down scope to 0.5ms/div and look for modulation AC coupled and trigger off envelope \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Apr 22 '18 at 17:15
2
\$\begingroup\$

The current (and resulting forces) may be exciting mechanical resonances in the motor and other parts.

If the noise changes significantly, say, when you put your finger on the motor or mount then this is likely what is happening. Possible mitigation might involve changing the resonant frequencies by adding mass or damping, or increasing resonant frequencies by making things stiffer. The idle waveform has different harmonics than the running waveform, though the fundamental appears similar. The short/long cycle is a bit odd, but not necessarily an issue depending on how the chopping is implemented.

This is analogous to the "coil whine" that sometimes afflicts switching power supplies which operate well above the audible frequency range.

If your driver has an option for reduced holding torque that may help as well, and it will help keep the motor cooler.

\$\endgroup\$
  • \$\begingroup\$ Is seems to have to do with resonance, when I put my finger between the motor phase pins from the bottom, the frequency of the noise changes. When I touch the motor, nothing happens and also when the motor moves, I cannot hear any noise. \$\endgroup\$ – HansPeterLoft Apr 22 '18 at 15:24
  • \$\begingroup\$ If dampening the rotor with finger fixes it then it is mechanical if touching driver changes but doesn’t stop it then it is the EM feedback to driver INPUT. Did you try earth gnd and shielded driver inputs or CM chokes? It is not the motor that switches the driver but it modulates the transition time on the input with ringing. This is made worse by DC offset reducing the motor inductance and raising current \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Apr 22 '18 at 18:02

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.