Help with noise on a current shunt measurement

Discussion in 'General Electronics Chat' started by fastwalker, Oct 7, 2009.

  1. fastwalker

    Thread Starter Active Member

    Jun 24, 2009
    Hi All,

    I'm trying to measure the current drawn by a DC pump. I have a 5A, 100mV shunt resistor in series with the pump's power lead. I am reading the voltage across the shunt using a differential input on a 9205 NI A/D card.
    With the pump off I can reliably read small DC voltages across the shunt.
    When the pump motor is on it generates a lot of electrical noise. The pump has onboard power electronics that allow speed control with a 0-5VDC input signal. I have no details on how the internal power electronics works.
    On the scope I saw .4V ptp noise, quite large compared to the .1V signal max. I'm trying to measure. On the Labview end the raw readings are all over the place, I can only get a somewhat accurate answer by using a large sample moving average, but that really slows the response time and still does not result in an accurate enough reading.

    Does anyone have any suggestions as to what to try RE hardware or software filtering to get a better signal? Maybe trying to use a shunt here with so much noise is a lost cause and I should try a different type of sensor? I don't have a spectrum analyzer handy so haven't looked at the noise in the frequency domain yet, but could get a hold of one if anyone thinks it may be a narrow set of noise signals from the pump power electronics.

    Thanks for any help,
  2. someonesdad

    Senior Member

    Jul 7, 2009
    You alleviated my first concern by stating you were using a differential input, but make sure so you're not seeing some common mode noise.

    If the current noise is real, using a different sensor isn't going to help.

    I think your idea of taking a look at the noise spectrum is a good one; you don't need a spectrum analyzer. Just get a scope trace and measure the fundamental. Then use a low pass filter to filter out the noise. If you're varying the speed, however, you might have to vary the corner frequency of the filter.

    I'd suggest starting with a simple RC low pass filter and see if that provides a useful improvement. If not, you may have to use an active filter.

    Perhaps a capacitor across the input of the motor (i.e., closer to the motor than the shunt) could filter some of this noise also, but it might affect operation of the variable speed electronics.

    It could be worth your time looking for a schematic of the controller. There might be a usable current signal already present somewhere.
  3. fastwalker

    Thread Starter Active Member

    Jun 24, 2009
    Thanks for the reply. What's a good value in general to use on a DC motor for noise supression? .1uF? And a ceramic type cap. is best?

    I will also try out the RC lowpass filter when I'm back in the lab tomorrow.

    Thanks a lot,
  4. MikeML

    AAC Fanatic!

    Oct 2, 2009
    You need to revisit the existing high-side current monitor circuit. I'm guessing that it has really poor common-mode rejection at high frequencies.

    You might look at modern IC high-side current monitor chips like a ZXCT1009 (there are dozens of similar ones). They have excellent common-mode rejection, and are very easy to filter on their output side.
  5. fastwalker

    Thread Starter Active Member

    Jun 24, 2009
    Actually I am doing low side current monitoring, as these motors have 130V input. I haven't found a current monitor IC that could take that high a voltage.
  6. SgtWookie


    Jul 17, 2007
    Try a simple low-pass RC filter across your shunt.

    See the attached schematic.

    R1, R2, C1, C2 make up a simple 2-stage filter. Input is a 2.5kHz square wave. The output (green trace) is lagged by about 12mS.

    R3/C3 make up a 1-stage filter. You can see that it's much slower to respond, and much more noise remains (cyan trace).

    If you need faster response/better filtering, you could add more stages using lower resistance.
  7. fastwalker

    Thread Starter Active Member

    Jun 24, 2009
    SgtWookie, I was able to significantly improve the signal across my current shunt today. The biggest improvement came with adding a 100uF capacitor across the motor power leads. Then I tried a single stage low pass filter across the shunt. I setup a 10k potentiometer and a .1uF capacitor in low pass filter configuration. At resistances >3k I saw a significant improvement in the signal. The thing that I don't understand is that when I increased the resistance up to 10k, it didn't seem to change the waveform pattern but it did introduce a positive level shift of about 10mV. The actual voltage across the shunt (according to my multimeter) with the motor running is 20mV. With a LPF with about 3k and .1uF, the value was about 22mv, then went up to 30mV with 10k and .1uF. Why does the low pass filter seem to introduce a positive offset?

    I still also seem to have some higher freq. noise in the signal, not sure why the LPF didn't filter that out. See 1 pump 1 with 100uF filter cap & low pass filter.jpg

    Thanks for all your help, I am in much better shape today than I was Friday.
    Last edited: Oct 12, 2009