SignalExpress

cancel
Showing results for 
Search instead for 
Did you mean: 

how to eliminate the noise from the stepper motor

I’m using stepper motors to move a traverse on which a hot-wire anemometer probe is mounted. When the stepper motors are turned on, they induce noise on the analog signal of the hotwire anemometer, or of any other transducer, at multiples of 120Hz.

The stepper drives are P41 Series made by American Precision Inc. The P41 Series contains a power supply, a motor drive and a logic controller. The logic controller inputs are optically isolated and utilize the 5 VDC supplied internally by the drive.

An NI 6251 or NI 6024E DAQ card is used with LabVIEW to send digital output signal to the logic controller in order to step the motors.  

The AI input channels of either NI 6251 or NI 6024E DAQ cards and LabVIEW are used to acquire the signal of the hot-wire anemometer. Different DAQ cards are used for the data acquisition and the stepper motor control and the noise is transferred through the laptop to the data acquisition card (analog signal).

All cables are shielded and the noise was confirmed to be conductive and not radiative.

There was no difference when measuring the analog signal with Differential or RSE.

As a test, the leads from to the drive’s logic controller were connected to the AI input channels in order to check the magnitude and frequency of the noise flowing to the DAQ card and were found to be 5 V peak-to-peak at 60 Hz.

Please let me know if you have an idea on how to eliminate this noise.

0 Kudos
Message 1 of 3
(12,447 Views)

Hi rldvw,

In order to eliminate the noise I would recommend isolating the motor controller from the DAQ card. This can be done using a optical isolator with one side powered by the DAQ card and the other side powered by the motor controller. Another option would be to filter the noise out of your analog input signal using a low pass digital filter in LabVIEW. I would recommend taking a look at the Developer Zone article Reducing Noise Using Digital Filtering in LabVIEW. It goes over the basics of filtering out noise in LabVIEW. I was able to find this article by searching the NI website for “Reducing noise in LabVIEW”.

Thanks,

Nathan

Nathan
NI Chief Hardware Engineer
0 Kudos
Message 2 of 3
(12,435 Views)
It sounds like you have a ground loop issue.  If possible, try totally isolating the stepper controller from the data acquistion AI more than you already have.  This could include any of the following:
  1. Ensure the optoisolation on the control lines fully separates the power and ground of the digital output and stepper input.
  2. Use different grounds for the stepper power supply and the DAQ power supply/computer.  Isolation transformers can help here.
  3. Use lower inductance lines for the stepper controller.  This will reduce the movement of the ground.
I suspect you have probably been over the above, so you are left with filtering the noise out of the signal.  Since it has high harmonic content, a simple low-pass is unlikely to work well.  Your best bet is probably to characterize it and use some sort of Fourier filtering.  If the relative sizes of the harmonics are always the same, you can take the Fourier transform, find the height of the fundamental, use this to calculate the sizes of the harmonics, delete them from the Fourier transform, and do an inverse Fourier transform to recover your signal.  Alternately, you can use a series of narrowband filters to remove the noise, although this will also remove any signal at the same frequencies.  It is better if you can improve your circuitry to remove the noise.

Good luck.  Let us know if we can help you more.
0 Kudos
Message 3 of 3
(12,431 Views)