This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

switching frequency of DRV8825

Other Parts Discussed in Thread: DRV8825

Hello-

We have built prototype boards with DRV8825 ICs and have found an issue with noise. The switching frequency should be 30KHz but depending on decay mode and step number, the frequency varies between 12 and 28 kHz. Vref A and B are set at 1.59V and the current sense resistor value is 0.68 ohms.

There are two issues with the low frequency:

1.       audible noise

2.       high ripple current

The frequency should be relatively constant as the modulator design is fixed frequency, peak current mode. (See data sheet page 9 first sentence.) Is there something malfunctioning causing the frequency to change more than 2:1 depending on the mode and operating current? I also see double pulsing at times.

Schematic is attached. Grounds are connected to internal plane. +24V is supplied from large bank of low ESR caps close on the PCB. I tried eliminating the fuse resistance with no change. Motor winding is 13 ohms, 7mH. What is causing the issue and how can it be remediated? Thanks and Best regards,

-Tim Starr on behalf of SN@NM

Stepper Motor Circuit.pdf
  • Hi Tim,

    The final switching frequency will always be a factor of the motor inductance, application's power supply voltage and BACK EMF. In other words, the DRV8825 has an internal 30 KHz oscillator trying to regulate current, but the final frequency will be a factor of the motor itself, not the driver. Why is this?

    The current regulation on the DRV8825 is asynchronous to the internal oscillator. That is, the ITRIP event can happen at any time in the fixed frequency cycle. At 30 KHz, we have continuous 33.33 us cycles, but when the actual ITRIP happens inside of this 33.33 us time frame, is an unknown. If the inductance is very low, or the application voltage is very large, chances are the current will increase quite fast, in which case we should see the ITRIP happening closer to the start of the cycle. If the inductance is very high or the application voltage not high enough, current charging will take longer, in which case the ITRIP even will take longer as well.

    All of this will define when the ITRIP takes place, which in turn defines how many cycles will have an ITRIP and how many will not. The customer observed behavior is customary of a system in which current takes so long to reach ITRIP, some cycles are skipped. This is why you do not see the 30 KHz frequency on the current chopping.

    As the customer points out, it is also expected to see the current ripple and current regulation frequency change with the decay mode. There is nothing wrong with this, it is just how it works.

    To eliminate the noise there are a few techniques we can use. I would try to use mixed decay mode most of the time. If the motor is not running, you can switch the decay mode to slow as this will give you the least switching noise or current ripple. It is also possible you have too much current going through the motor, so adjusting the current to a lower level is another means of reducing noise caused by vibration while the motor is running. This is of course only viable as long as the torque response needed by the application is not compromised.

    There were a few parameters not specified. Is the motor being microstepped or full stepped? If on full step, set the decay mode to SLOW at all times. If on microstep, set to mixed decay and change to slow when the motor is to hold the position.

    Hope this info helps. Best regards,

    Jose Quinones