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?

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
Attachments:
Pulse train.JPG ‏65 KB

Similar Messages

  • Stepper motor spinning in random directions

    Our set up consists of a PCI-7334 connected to a UMI-7764.  One axis is wired to a MCB15081 Bipolar Microstep Driver driving a 200 step Lin Eng. motor.
    When trying the 1-D interactive move via MAX, I am sending it a command to perform a relative move 5000 counts.  The motor responds by moving some amount (not sure if it is the correct amount yet) in a given direction.  If I repeatedly hit the start button, over and over, sometimes the motr moves, clockwise, sometimes counter-clockwise.  On occasion it will stutter back and forth without really rotating.
    Any thoughts?
    Chris

    I was thinking of the same reason when I read your first posting. If only one winding of the motor is connected properly to the driver it will perform random moves, depending on whether the impact of the activated winding is sufficient to make it move more than 1 full step. Sometimes you can check it by trying to turn the motor shaft manually, it will continue to move in the same direction for a short time and then move randomly again.

  • How can I output a square wave to control a stepper motor using 7332 controller?

    I have the following system configuration for testing a linear actuator (LA):
    LabView 7.1
    NI FlexMotion 7332 Motion Controller
    NI Flex DMM 4070
    The LA is a stepper motor with Step and Direction of Rotation inputs, as well as some discrete I/O for Power Enable and other functions.
    The LA specification only requires that I send a 50% Duty Cycle square wave signal with frequency less than 300 Hz to it in order to make it step.  The LA has it's own power source.  I only need the 7332 to generate the drive signal and the DOR signal to the LA.  Using some of the example VI's, I can get the LA to work, but I will need to incorporate the functions in to a custom application. 
    How can I weed through the numerous advanced functions the 7332 offers and only generate a DOR signal and a step command at a user-defined frequency.  How do I set up the controller for this?
    Thanks

    Hello,
    All the VIs that you can use to create a pulse train and digital I/O from your motion controller are found in the "Analog & Digital I/O VIs" sub-palette in the "Flex Motion" palette. Use "Load PWM Duty Cycle" and "Configure PWM Output" VIs to create the square wave. Use the "Set I/O Port Direction", "Set I/O Port MOMO", and "Set I/O Port Polarity" VIs to create digital output. I hope you find this information useful. You can learn about the specifics of these VIs and their inputs/outputs in the NI-Motion VI Help.
    Regards,
    Aaron B.
    National Instruments

  • Using LabView, Arduino, and Easy-Driver to control a Stepper Motor

    Hello fair folks of the LabView forums!
    I am a humble engineering student in need of some advice and input on a project I am working on.
    I’ve also done a fair amount of reading on the LabView forums with people trying to use LabView and Arduino to control stepper motors, and I’ve used as much information from each as I could. However the problem I'm encountering now is one which is unique to my VI Configuration.
    So, here is what has been done thus far:
    -Installed LabView Interface for Arduino [LIFA]
    -Installed necessary VISA drivers for LabView to communicate with arduino
    -Uploaded firmware to Arduino to allow it to communicate with LabView
    -Properly wired Stepper Motor with Easy Driver and Power Supply; I have verified this by first using the Arduino independently of LabView, using example code found here.
    -I have created a VI, and have just recently got it to run without reporting back any errors. While I suspect the behavior I’m encountering has to do with something inside the VI, it is difficult to determine as there are no errors being reported!
    But here is general problem I am encountering:
    -Connect Joystick to USB Port, connect Arduino to USB Port.
    -Plug in outlet for Power Supply
    -Open LabView VI
    -Run LabView VI
    -LabView successfully detects Joystick, and Arduino.
    -Tilt Joystick; Stepper Motor moves in proper direction, but it only takes a single step. If held, it does not move further. If returned to zero, and then tilted, it again only takes a single step.
    I know that in the example code, the Arduino issued the step command by writing the signal from LOW to HIGH, and varied the speed by how often it did this.
    I assumed that the Write-PWM feature would do this same thing, but perhaps my assumption is wrong. I will continue to tinker with this myself, but I would be extremely grateful for any insight you might be able to lend.
    I’m thinking, if not the Arduino Write-PMW feature perhaps a simple timing-sequence that could be used to alternate between writing 0 and 1, with the timescale of the sequence being scaled to the X-Axis from the Joystick. But, I am open to suggestions, and certainly appreciate any thoughts you may have to offer!
    Attached to this is the VI used in this setup, a picture of said VI, as well as a rough sketch of the hardware configuration.
    Thank you!
    Attachments:
    Arduino Stepper Control.vi ‏1224 KB
    VI Picture.png ‏82 KB
    Configuration Sketch.png ‏522 KB

    Hi danjifraga,
    I am not so familiar with the Arduino toolkit functions, but you may have better luck looking at the Arduino page at:
    www.ni.com/arduino
    I'll ask around on Monday to see if anyone is more familiar with the toolkit.
    Good luck,
    Brian
    Brian G.

  • 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.

    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:
    Ensure the optoisolation on the control lines fully separates the power and ground of the digital output and stepper input.
    Use different grounds for the stepper power supply and the DAQ power supply/computer.  Isolation transformers can help here.
    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.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • STEPPER MOTOR - STEP, Clock, Direction and Preset.

    I have wired a stepper motor, driveboard and a amplification circuit to a DAQ card. However the stepper refuses to move. I am willing to pay a small fee to someone who can guide me through the internet. My e-mel is [email protected]

    Please check out this thread:
    http://forums.ni.com/ni/board/message?board.id=250&message.id=9874
    -Alan A.

  • Write a Labview program to control both speed and direction of stepper motors

    Hello,
    I am currently undertaking a project in University. As part of it I have to run two stepper motors at varying speeds, and one of them in forward/reverse. The motor I have for the project is a RS 191-8334 (V9728) and the controller is a RS 240-7920 (v10900). I have no experience of using Labview, and the version I have on my laptop is Labview 10. Any help would be greatly appreciated.
    Ideally I would want a program to do both full/half steps, forward/reverse, have speed control and be able to control the number of steps.

    Hi Wef,
    I would need to know more information about the devices in order to assist you.
    What inputs does the stepper motor controller require and what hardware are you using to supply the required signals to the motor.
    Best regards,
    Stephen C
    Applications Engineer

  • Position drift during the stepper motor controlled back and forth motion

    Hi everyone there,
    I get a headache position drift problem during the stepper motor controlled back and forth motion. I have been wroking on the problem for the last two weeks, and still can not figure it out. So I write down here my problem in hope of getting some clues from those have some experiences in stepper motor motion control.
    My goal is to use a stepper motor to drive a beam flage fixed onto the shaft to go back and forth for a certain angle, and this back and forth motion needs to be stable and reproducible within hours. With the SMD1 stepper motor driver, I only need to send in a pulse train to control the number of steps(the pulse frequency defines the stepping rate), and another pulse to controle the direction (i.e., cw or ccw). To do this, in LabView, I used the counter of the DAQ board to produce a finite pulse train to step the motor, and used one digital line to produce a pulse to switch the direction every 500ms, the timing is contolled by the software.(I used the oscilloscope to monitor these two pulses, the pulse train produced by the counter looks very stable, and delay between the pulse edges of the direction pulse and the pulse train is also very stable within 500ms. There seems no software timing problems at such a long delay.)  And this labview controlled motor appears to work perfectly as I required, the motor steps a defined number of steps at one direction, and then steps back at the origin position. But after running for a few minutes, the back position shifts gradually(I can not observe a obvious shift at the first few minutes) with repect to the origin position(the position I start running). I looked it up at the manual and also the website, I got a clue that this might because the motor steps at the resonace frequency of the motor and hence misses or takes extral steps sometimes. So I changed the steping rate from 1Hz to 1000Hz to see if the shift disappears or gets smaller at certain frequency range, but the shift always exists.
    I did observe the shift got smaller within the same running time when change the step model from full step (1.8degree/step)to half and quarter step model. According to this, the motor did miss steps (or pulses) during running, the quarter step model has smaller shift due to the smaller steps.  But I also noticed that the motor always shift at one direction, no matter I started with clockwise or counter-clockwise, this seems really strange to me. Because the motor should shift at each direction with the same probability if we assume the motor missis steps randomly.
    There is something must be wrong, either the labveiw program or the motor, but I don't even know a clue of this weird shift problem. And because of this, I haven't made any progress in my lab for the last three weeks. So any suggestions could be very helpful for solving this headache and will be really appreciated.
    Thanks a million in advance and Merry Christmas!
    Li

    Hey, Brian Beal,
    Thanks for your quick response. "accel" and "decel" mean acceleration and deceleration, am I understanding right?
    If yes, then I don't have these in my LabView program, I just generate one TTL pulse train and one TTL pulse with LabView and send them into the SMD1 stepper motor driver.
    The pulse train steps the shaft, and the other switchs the direction.
    Yesterday, I confirmed that if the motor steer always at one direction either CW or CCW, then the stepping were very stable, no missing or extra steps happen for hours.
    And I also observed that the motor took one extra step  from time to time when the direction changes. And this only happens when the direction switch from CW to CCW. (bizarre!)
    I guess this indicates that some pulse noise happens when the motor switch the direction too often.  But I just don't have any clue for irregular extra steps.

  • Trouble positioning a stepper motor accurately (to one step)

    I'm using a PCI-7344 with an MD7506 motor driver from RS. I'm testing angle sensors whose voltage output is proportional to (you've guessed it...) angle.
    I'm stepping the motor round by one step, checking that it's got there by reading the encoder, measuring the sensor voltage and repeating.
    My problem is that the motor sometimes 'hunts' around the target position. In closed loop (with an encoder associated with a motor) this results in sometimes not being able to reach the target exactly with the pull-in moves.
    Using open-loop and reading the encoder directly I get better results because I can loop more times, but the motor will still 'hunt' around a target point, changing direction a few times as it over
    shoots by a step.
    As there are a million MAX settings for this I won't list them all here, but I'm checking for a move complete when the InPos flag is set and I have a deadband of 0 steps too. I'm only rotating at 120 step/sec with a 10ms pause between steps.
    Do I have to accept that stepper motors are only accurate to +/- 1 step or am I doing something wrong?
    Thanks,
    Mike
    Mike Evans
    TRW Conekt
    N.I. Alliance Member, UK
    http://www.Conekt.net

    Mike,
    Maybe other people will have better suggestions, but in my case I can advise to either:
    1. increase the number of pull-in moves,
    2. increase the microstepping of your drive,
    2a... together with a higher precision encoder...
    Other than that, the accuracy is advertised to +/- 1 step, so maybe you would like to consider a stepper with more steps/rev.
    Good luck!, I hope other people will give other suggestions.
    Nestor.
    Nestor
    National Instruments

  • How to generate digital pulses to run stepper motor in a sinusoidal motion profile using NI DAQ 6229 card

    Hi,
             I need to make a stepper motor undergo rotary oscillation with a sinusoidal motion profile. As it nears the extreme points it should decelerate and finally slow down to zero velocity and then it should reverse direction and accelerate until it reaches the other extremity where it should slow down and stop and reverse direction and repeat this motion.
            The hardware is NI DAQ 6229 and the stepper motor can be controlled using digital Hi-Low (1,0) pulses. For each high pulse(1's) the motor turns 1 step. I am able to generate a analog sine wave and convert it to digital data using Analog-to-Digital.vi  But i am not able to convert the digital data to a stream of 1's and 0's in the correct sequence to get the sinusoidal profile with the amplitude and frequency i require.
            The direction of rotation can be changed by giving a pulse to another input of the stepper motor. So only half cycle of sine wave needs to be generated and it can be replayed after changing the direction to get the full sinusoidal profile.
    Any ways of making this approach work or any new approaches to this problem would be helpful. Thank You.
    Regards,
    Prabu.
    Solved!
    Go to Solution.

    Hi,
             I finally figured out a way to do it. The analog sine wave is converted to digital and sampled. Consecutive values are compared and if the least significant bit(LSB) changes then a pulse is sent to the stepper motor to turn one step.
    I have included the sub-VI's that accomplish it for the particular stepper motor and connector block i have. The front panel of both sub-VI's are quite messy but the block diagrams should be much clearer. The sub-VI's get their inputs from a third VI which i have not included. So take a look at the VI connector panel to figure it out. Hope this helps. Kinda messy but worked out fine in the end for my application. 
    Thanks again for all the help. I appreciate it very much.
    Regards,
    Prabu Sellappan
    Graduate Student
    Aerospace and Mechanical Enggineering
    University of Southern California
    Attachments:
    start motor test waveform dtest.vi ‏73 KB
    sine profile generation subVI.vi ‏41 KB

  • Connecting stepper motor to the module 9512

    Hello,
    I must do project in LabVIEW.
    I use the compactRIO with module 9512 (Stepper Drive Interface Module with Encoder Feedback). I built a small program of this tutorial http://www.ni.com/white-paper/9666/en#toc10. Now I need connect stepper motor to the module and I would like to run my VI.
    I want to connect small stepper motor (which once was in the 3.5-inch floppy drive - this is bipolar motor with four pins) with module 9512. I don't know which pins DSUB or MDR I must link with my inputs stepper motor. "In Getting started with NI 951x.pdf" written: "Connect the Step and Direction outputs to the stepper drive." and "Connect the Drive Enable output to the stepper drive."
    Which outputs I should connect with my stepper motor?
    Thank you in advance.

    That is correct, these elements or their equivalent.  It is necessary to convert the control signals from the 9512 into motor drive signals.
    The P7000 getting started gives an overview of all this:
    http://digital.ni.com/manuals.nsf/websearch/A236090A30FBDD6C86257A3E00499610
    Edwin!

  • What is the data throughput in labview. I want to use the parallel as acheap digital i/o to drive a stepper motor.

    I am trying to use the parallel port on a win xp machine to send data a@ up to a 3k rate. This is for the the purpose of driving a stepper motor. I have tried the port.out vi and placed this vi in a loop and it on a scope it looks like I am limited to a a 200hz rate. What am I doing wrong??? Can labview do this or is it too slow ???
    Thanks

    snook wrote:
    > what is the data throughput in labview. I want to use the parallel as
    > acheap digital i/o to drive a stepper motor.
    >
    > I am trying to use the parallel port on a win xp machine to send data
    > a@ up to a 3k rate. This is for the the purpose of driving a stepper
    > motor. I have tried the port.out vi and placed this vi in a loop and
    > it on a scope it looks like I am limited to a a 200hz rate. What am I
    > doing wrong??? Can labview do this or is it too slow ???
    Basically the way the Port I/O VIs are implemented they call through a
    device driver for each port access. This slows down the maximum port
    accesses to something like 1000 times per second depending on the speed
    of your CPU.
    There is a way to do it faster but that is a little more trick
    y. The
    idea is to use a device driver to enable particular port addresses to be
    accessed directly from the application level instead of always going
    through the kernel.
    I have written such a VI library and accompagning DLL and device driver
    and made it available on OpenG. It is not yet part of the standard
    binary distribution packets so you will have to get it from the CVS
    repository.
    Go to:
    http://cvs.sourceforge.net/viewcvs.py/opengtoolkit/portIO/built/portio/
    and download all the files in there including the ones in the
    subdirectory "ogportio.llb" and if you like "docs"
    If you want the nitty gritty technical details you can also look at
    http://cvs.sourceforge.net/viewcvs.py/*checkout*/opengtoolkit/portIO/c_source/Description.htm?rev=1.5
    On my 866 MHz Pentium mobile I can increase the number of port accesses
    in this way from 440 ms for 4000 read byte port accesses (100us ms per
    access) to 20 ms for the same number of read accesses (5 us per access).
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • I want to run a stepper motor using FPGA card 7851r with 9474 driver C rio 9151 is it possible or can i do in LABVIEW CVI

    Hello i want to run Stepper with 7851 R FPGA card with 9474 driver of crio chasis but i am not able to understand how to proceed .Or can opt this option by using lab view CVI
    Solved!
    Go to Solution.

    Hi SHV,
    actually I don't know in which context you want to use your existing hardware for your stepper motor.
    1. The hardware, which you describe, is/was used for which application? ( data acquisition, controlling a system, etc)?
    2. Did you buy the hardware especially for the motor application?
    3. You don't know how which signals are required for your stepper motor.
    Here are some basics from NI about motor control
    Fundamentals of Motion Control
    http://www.ni.com/white-paper/3367/en
    NI Motion Control Technical Library
    http://www.ni.com/white-paper/3054/en
    4. Why do you get the idea the digital output module 9474 is suitable for the stepper motor?
    I would recommend to talk directly to the customer support, so we can figure out in detail your aims about
    the application. Contact your local NI office or request
    a service request on following website:
    Service Request Manager
    https://sine.ni.com/srm/app/login/p/tab/getassistance
    Kind regards,
    RupiDo

  • What are the pin connections from 7764 to stepper motor drive

    what are the pin connections from UMI 7764 to stepper motor drive? I use PCI 7340 controller. Third party driver  is not branded, but assembled.  It has 3 inputs, one for (A,A/) one for (b,b/) one for enable, apart from ground pin.

    Dear enigmata,
    Here is a link to the UMI Manual that describes the signal connections:
    http://www.ni.com/pdf/manuals/321941b.pdf
    What you really need is the documentation for the input of the "translator" mentioned on the left side of the last diagram you posted. It is still not possible to tell which of you drive inputs correspond to step and direction (or CW, CCW) because in the circuit that you posted, these signals have already been converted by other circuitry in the drive to the A, A/, B, B/ output signals for the stepper motor.
    I agree with Jochen: Without the documentation you will need to test it out as he described in his last post.
    Best Regards,
    Nate Holmes
    National Instruments

  • Can I control a stepper motor by a time varying velocity input?

    I want to control the motion of the stepper motor by a velocity input that looks something like a Sine wave.The velocity is changing as a function of time. Can I change the velocity of the motor at a prescribed time interval?
    Thanks in advance
    Kevin

    Thanks for getting back to me on this. The controller card that I have is the PCI-7342 controller card. The time of a cycle is about seven minutes. I want to ramp the RPM of the motor from zero up to a max value then return it to zero and then go in the opposite direction . A graph of the RPM vs Time is attached.
    I thought that I could input an array of velocities into a Load RPM VI and specify the time for each input.I have not been able to do this as of yet, because the load RPM VI will not take an array input.
    All these inputs would be made in labview so they are inputs for the controller card. I was under the impression that the controller card generates the steps and direction from the data entered in labview and sends the step and direction impulses to the driver. Do I have the method of operation right?
    Do you think this is possible?
    Thanks again

Maybe you are looking for

  • Events vanished for a single month of every year

    All events in the month of October of every year ever since I started using iCal have vanished from iCal in my computer. I still have them on my iPod and am not syncing Calendars since I noticed this. How can I get every month of every year to show e

  • Web report req's

    Hi Gurus- My Web report req's are .. Input:Selection screen...        Invoice no: XXXXX Output: Should get dispalyed             Branch : Branch value             Sector : Sector value             Legal entity : Legal entity value             Custome

  • Linking Equipments to all the classes and characteristics

    Hello Everyone, I need a list of all the equipments for a specific technical object type in a given plant with their classes ,characteristics and values. I tried to do it with standard list editing IH08, but it restricts me to max of 20 characteristi

  • Unwanted lightening effect around placed graphic

    I originally posted this in the InDesign forum but that may have been the wrong way to approach it. I have an Illustrator vector graphic placed in InDesign, it's over a dark background. Placed by itself the graphic looks fine, exports to PDF fine and

  • ICHAT VIDEO, SCREEN SHARING, VOICE.SAYS COMMUNICATION ERROR

    IT SAYS COMMUNICATION ERROR WHAT EVER I WANT TO DO VIDEO OR SCREEN SHARE OR WHAT EVER. EVEN IF I AM DOING IT WITH ANOTHER PERSON WITH A APPLE LAPTOP. CAN YOU HELP ME? THANKS!