1
\$\begingroup\$

I'm using a drv8838 to run a small dc motor (<1A). For current sensing I set up a INA199 (see layout). I'm also using a RC lowpass with a cut off frequency of around 70Hz to filter the shunt voltage .

In generel the measurement look alright, but when you stall the motor and let it run again, there are some strange spikes in the measurement.

What I already tried:

  • different capacitor types for the lowpass
  • different capcitor values (3.3 to 330uF) for the lowpass
  • different shunt
  • small cap between out1 and out2
  • big cap between gnd and V+
  • PWM frequency changed in the range of 10kHz to 200kHz
  • checked pwm singal from uC

The adc samples with 125kHz.

With a different dc motor the spikes are smaller, but still there and with a higher C for the lowpass the spikes become smaller, so they are defently there.

Has anyone a idea what is causing these spikes?

thanks for your help!

Update:

I've soldered 10Ohm in the Motor line (gnd line for the chosen rotation direction) and was able to catch the spikes with my scope. I would like too add more pictures, but I'm not allowed to. For me that means the frequency is defently too high to be caused by commutation and the INA199 amplifier works just fine. But I have still no idea what is causing this.

Spikes Layout

\$\endgroup\$
3
  • \$\begingroup\$ Can you tell us more about the control scheme.... YOu say you are using PWM, but how Is that being controlled? What does your output look like VS the control signals. \$\endgroup\$
    – Trevor_G
    Commented Apr 29, 2017 at 14:19
  • \$\begingroup\$ @Trevor for the pictures I shared its is always a pwm signal with constant duty cylce generated by a microcontroller. I already looked at the pwm signals steepness. Looks alright. \$\endgroup\$
    – CurrentGuy
    Commented Apr 29, 2017 at 17:56
  • \$\begingroup\$ Are you sure you are not adjusting it as it comes up to speed? Either way, you need to scope around to see what those spikes line up with. \$\endgroup\$
    – Trevor_G
    Commented Apr 29, 2017 at 18:07

3 Answers 3

1
\$\begingroup\$

Commutation noise caused by the brushes making and breaking connection as the rotor spins.

explanatory image of internal structure of DC motor

Usually filtered using a snubber RC arrangement like this...

schematic diagram, showing RC snubber

Or if you are really clever you can actually channel that noise as motor speed feedback.

The fact that you are measuring the current after the switch probably is not helping you either... Those high or low side diff amps are really meant to have at least one side of the shunt at a fixed potential. I suggest you move it up to the VM line.

\$\endgroup\$
6
  • \$\begingroup\$ Sorry, what i forgot about: with a low side current sensing circut (other ic's, same motor), I cannot see these spikes \$\endgroup\$
    – CurrentGuy
    Commented Apr 27, 2017 at 18:29
  • \$\begingroup\$ @CurrentGuy yes it varies motor to motor depending on the tolerance of the parts. \$\endgroup\$
    – Trevor_G
    Commented Apr 27, 2017 at 18:33
  • \$\begingroup\$ But I do not see these for a free running motor \$\endgroup\$
    – CurrentGuy
    Commented Apr 27, 2017 at 18:37
  • \$\begingroup\$ @CurrentGuy I'm just giving you the typical reason for current spikes on DC motors, with the limited information you have given in the question, (NO SCHEMATIC) I can't give you a better answer. \$\endgroup\$
    – Trevor_G
    Commented Apr 27, 2017 at 18:38
  • \$\begingroup\$ Sorry, updated the pictures \$\endgroup\$
    – CurrentGuy
    Commented Apr 27, 2017 at 18:45
0
\$\begingroup\$

I think they can actually be the overshoot of the INA199 amplifier. Any chance you can probe the shunt directly? (either the oscilloscope or your circuit need to be floating)

\$\endgroup\$
3
  • \$\begingroup\$ I already tried it with 2 channels and math function. But the shunt has only 15mOhm and my scope has only a 12bit adc, i did not see that much. But I will try the Ina199 Version with a gain of 50 and a doubled shunt value. Thanks for the hint! \$\endgroup\$
    – CurrentGuy
    Commented Apr 27, 2017 at 19:56
  • \$\begingroup\$ Indeed, that is not a great idea, the math function will have a lot of error across such a small shunt. However, if you have a signal generator you can apply a square wave to the INA and see if that results in the overshoot. \$\endgroup\$
    – electrobob
    Commented Apr 27, 2017 at 19:57
  • \$\begingroup\$ I catched the spikes with my scope, see update! \$\endgroup\$
    – CurrentGuy
    Commented Apr 29, 2017 at 14:04
0
\$\begingroup\$

Implement this combined differential+commonmode filtering:

schematic

simulate this circuit – Schematic created using CircuitLab

\$\endgroup\$
1
  • \$\begingroup\$ i managed to solder in 2 radial caps to the pads of C1. Sadly i can still see these spikes. \$\endgroup\$
    – CurrentGuy
    Commented Apr 28, 2017 at 17:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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