Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Stepper motor noise in 1 direction

Hi guys, i'm currently using my 6221 DAQ to provide the pulse train to drive my stepper motor (through a stepper driver). But i'm currently having a problem. The motor always produce clicking noises when i run it in 1 direction. I've tried swapping the driver and checking the cables but to no avail. Based on your experiences, what may be the problem here?
0 Kudos
Message 1 of 16
(5,939 Views)
As I have posted many times in this forum, I'm not a fan of using DAQ boards for controlling motors (e. g. here, here and here). Typically the costs that you can save by using a cheaper DAQ board (compared to a motion control board) will be wasted rapidly by the additional time that you need to spend for implementing a solution that is anything but ideal.

But anyway.
Which part of the 6221 are you using to control the motor? (DIO, AO, Counter)? Are you using software timing or hardware timing? Have you checked the electrical signals with a scope? There is a chance that the control signals are pulled down by low-impedance inputs of the drive. E. g. if this happens to the Dir+ signal, you may see the problem that you are talking about (ok, when Dir+ signal is low, not reliable if Dir+ signal is high).

By the way: NI motion control boards provide open collector outputs that allow to drive up to 64 mA.

Best regards,

Jochen Klier
National Instruments

0 Kudos
Message 2 of 16
(5,933 Views)
Thanks Jochen for your reply.

>As I have posted many times in this forum, I'm not a fan of using DAQ boards for controlling motors (e. g. here, here and here). Typically the costs that you can save by using a >cheaper DAQ board (compared to a motion control board) will be wasted rapidly by the additional time that you need to spend for implementing a solution that is anything but ideal.

Well, sometimes tasks are given to us just like this...


>But anyway.
>Which part of the 6221 are you using to control the motor? (DIO, AO, Counter)? Are you using software timing or hardware timing?

I'm using AO to generate the TLL pulses. I'm using software timing

>Have you checked the electrical signals with a scope? There is a chance that the control signals are pulled down by low-impedance inputs of the drive. E. g. if this happens to the Dir+ signal, you may see the problem that you are talking about (ok, when Dir+ signal is low, not reliable if Dir+ signal is high).

I've checked the pulse train for both forward and reverse action and it both looks the same. My Dir signal is driven with a DIO line. How would i know if my Dir signal is causing the problem? I haven't thought of probing it with the scope yet but what kind of 'unreliability' should i be looking for? Isn't it just 5V and 0V?

And if Dir signal is the problem how can i rectify it?

>By the way: NI motion control boards provide open collector outputs that allow to drive up to 64 mA.
Mine requires 1.5A
0 Kudos
Message 3 of 16
(5,929 Views)
Hi Jochen, the driver i'm using is L297 from ST. If what you say about the direction pin is true, would pulling is high to 5V with a 10k resistor help?
0 Kudos
Message 4 of 16
(5,924 Views)
  1. As long as you are not running the application on a real-time operating system, you definitely should switch to hardware timed AO (waveform generation). Otherwise the jitter caused by Windows will always result in bad step timing, which could result in step loss or bumpy moves.
    Please note, that the AO can drive only +/- 5 mA.

  2. If the problem is caused by the Dir signal, you may see a voltage drop when you connect the digital line to the Dir input. Maybe the voltage is pulled down close to a level of the drive's switching voltage, which could result in the drive not being able to detect the Dir signal reliably. Depending on the output you are using, the DIOs on your board can drive 24 or 16 mA.

  3. The 64 mA that I gave you didn't refer to the current required to drive the motor but to the current that you can draw from the controller's outputs. So you should compare it to the other current specs in this post.

Please check your drive's input impedance specs and monitor the control signals with a scope. If you see a voltage drop, the drive's input impedances are too low to connect it directly to the outputs of the 6221. In this case you should use buffers (e .g. voltage follower circuitry) between the 6221 and your drive (or use a motion control board instead Smiley Wink)

I hope this helps,

Jochen Klier
National Instruments


0 Kudos
Message 5 of 16
(5,921 Views)
Does it rotate while making the noise? Is the motor shaft connected to anything else?
~~~~~~~~~~~~~~~~~~~~~~~~~~
"It’s the questions that drive us.”
~~~~~~~~~~~~~~~~~~~~~~~~~~
0 Kudos
Message 6 of 16
(5,908 Views)
Hi AnalogKid. Yes, when it makes the clicking noise it is still rotating, sometimes it looks as if it's skipping a step. The shaft is connected to a series of gears.

Jochen,
>1. As long as you are not running the application on a real-time operating system, you definitely should switch to hardware timed AO (waveform generation). Otherwise the jitter >caused by Windows will always result in bad step timing, which could result in step loss or bumpy moves.

I'll try to look up on AO hardware timed pulse generation then post back. But it's strange though the noise only happens at 1 direction, if the waveform generation is an issue shouldn't i be having same problem in both direction? Furthermore, when i tried with other units which uses stepper motors the same problem doesn't exist.

>2. If the problem is caused by the Dir signal, you may see a voltage drop when you connect the digital line to the Dir input. Maybe the voltage is pulled down close to a level of the >drive's switching voltage, which could result in the drive not being able to detect the Dir signal reliably. Depending on the output you are using, the DIOs on your board can drive 24 >or 16 mA.
>Please check your drive's input impedance specs and monitor the control signals with a scope. If you see a voltage drop, the drive's input impedances are too low to connect it >directly to the outputs of the 6221. In this case you should use buffers (e .g. voltage follower circuitry) between the 6221 and your drive (or use a motion control board instead >:smileywink

The driver i have uses L297 and L298. I've checked the datasheet for L297 and the direction pin is connected to a flip-flop. Flip-flops shouldnt' need an extra buffer does it?
0 Kudos
Message 7 of 16
(5,901 Views)
Hi guys, i've checked the direction pin. No problem, no sudden voltage drop...
0 Kudos
Message 8 of 16
(5,894 Views)

I wonder if you have some gear lash issues that are unidirectional. Can you test the motor in both directions when disconnected from the gear train?

Another test is to provide a stable frequency from a function generator to control speed and just use a voltage source to control direction. This would eliminate the use of your program and DAQ card as a test to see if it a problem with the motor and gears.

~~~~~~~~~~~~~~~~~~~~~~~~~~
"It’s the questions that drive us.”
~~~~~~~~~~~~~~~~~~~~~~~~~~
0 Kudos
Message 9 of 16
(5,885 Views)
That's a good idea analogkid. I'll try it with a function generator.

Another thing, though i don't this is the case, would the power supply quality be a problem? Maybe it's not 'clean' enough etc...though i don't think it's the problem otherwise i would have the same issue on both directions of the motor.
0 Kudos
Message 10 of 16
(5,874 Views)