Sepper motor control WITHOUT motion controller

Hello
I am attempting to control two stepper motors in a blened motion move. I can currently drive one of the motors seperately and also change direction and speed.
I know there are motion controllers that can be used but they are unavailable to me as I am in college. (PLEASE NO ONE SUGGEST MOTION CONTROLLERS)
I know it maybe difficult but that is the way I have to do it. My plan is to use the motors in conjuction with a camera which acquires an image and I want the motors to follow the outline of what ever is in the image. The project is very similar to a X-Y Plotter except I will not be plotting anything, I just want the motors to move.
Thank you
Bye 

Hello
I am using Labview 2010 with two RS stepper motors and I want to move them at the same time. There will be no circular motions just straight lines. The cooridinates that are to be supplied to the motors are acquired from an image processing VI. I am taking an image of a line which always leads to the centre of the screen. My plan is to have the motors follow that line.
I have included a VI that I am working on, it includes the image capture part of the program and then the co-ordinates for the motors to follow. These co-ordinates are designed to be used with a motion controller. I do not know how to use these co-ordinates to drive the motors without a controller.
Bye
Attachments:
Thres and Wand With Usb Camera.vi ‏111 KB

Similar Messages

  • Gain scheduling using motion controller

    I have a motor controlled by motion controller.
    The control gains should be different depending on the range of operation, so I want to make a gain scheduling program. I just wonder whether there is any example or idea that I can refer to. I found PID toolset document in NI website. However, it seems like I have to buy if I want to "gain scheduling.vi" in the document. If I know how the vi created, it will help me a lot. If any other method that I can look at, please let me know. Thank you.

    All you have to do to perform gain scheduling in the motion controller is to select at which position you want your gains to change, and download the new gains on the fly when tha positionn is reached.I am attaching the following example vi that should help you achieve this.
    Attachments:
    PID_Control_Loop_Change[1].vi ‏72 KB

  • How to control esp 301 motion controller using labview

    Hi Everybody,
    I am new to Labview. I am trying to connect ESP 301 motion controller from Newport to the labview and control it. But I couldn't find the drivers for it online. How can I connct it and using.
    I am planning to use it with USB connection.
    Could some one please help me in this regard.
    Solved!
    Go to Solution.

    Hello Thomas
    there are existing facilities:
    · Two turntables XY driven by stepper motors 10 microns
    · Central ESP301 command to the decks
    · Central control and data acquisition: Unit PXI
    I want to do the next step
    · Control of stepper motors to perform scans on a large scale wafers two or four inches with a very good resolution of up to 10 .mu.m
    · Programming the ESP unit 301 microstepping mode by dividing the initial step to make scans on small areas at a resolution of up to 1 .mu.m;

  • Motion control: PXI 7350 controller and UMI 7774 to interface with third-party driver UDK5114NW2

    Dear community,
    This is about Motion control in Labview: I try to control a step motor by using a PXI 7350 controller and UMI 7774 to interface with  third-party driver UDK5114NW2. The problem is 5 Disable LEDS on UMI 7774 board always lit even when I check "enable" on "Motion I/O setting" in configuration of PXI 7350 motion controller. Furthermore, when I start to control step motor, it is not working and I found disable LED on UMI board still lit. I don't know how to solve this problem. Can someone help me to figure out? Thank you in advance!
    Hau Nguyen.

    Dear Community,
    I said wrong, 4 disable LEDS on UMI 7774 Board instead of 5 as my previous post. Why nobody help me to solve this problem. I can not turn off disable LEDs on UMI 7774 Board so I can not start the strp motor. Please help me!
    Hau Nguyen. 

  • I want to configure the 7330 motion controller without using MAX

    I am new to labview and I have a project where I have to configure the 7330 motion controller without using MAX. What do I need to do to get started doing so?
    Thanks for the help!
    nw2labview

    Hi,
    There are several VI's that are included with the motion driver for configuring your controller.  They are located on the function pallete under Vision and Motion>>Ni-Motion>>Axis Configuration.  Using these VI's you will be able to configure your axis.  But why don't you want to use MAX?  If you are new to LabVIEW I would suggest configuring and testing your motor in MAX first before you start programing.  Once you have it working there you may want to look at several of the examples such as Simple One-Axis Move.vi.  I hope this helps.
    GG

  • Motion controller for globe E-2620 motor

    What is the correct NI controller/motor drives for a pair of Globe Motor E-2620
    DC Permanent Magnet Motors with Optical Encoder?
    Motor Specs:
    P/N 537A244-3
    24VDC Motor Voltage
    3.1A Max Rated Load
    HP HEDS-5500 Encoder
    Thanks
    Russ Smith

    Hello Russ,
    Thank you for your interest in National Instruments.  For the DC Permanent Magnet Motor you specified you will need one of our brushed DC servo motor drives: 7652 (2 Axis of control) or the 7654(4 Axis of control).  The controller hardware you need will be dependent on what other features you need for your motion system you are building.  The two options for controlling these types of motors are the 7340 series and the 7350 series.  To see the differences in these two types of motion controllers go HERE.  Let us know if you have anymore questions.  Thanks and have a great day.
    Regards,
    Mark T
    Applications Engineer
    National Instruments

  • How can I use one motion controller to control two robotic independently?

    the help document says :
    Note  Configuring and clearing buffers is a processor-intensive operation on the motion controller that requires the allocation and deallocation of memory. You should configure and clear buffers only when motors are not moving and onboard programs are not running. For example, if you wish to execute three simultaneous contouring operations on axis 1, axis 2, and vector space 1 (with axes 3 and 4), you should first configure all three buffers before starting any of the operations. You can start the contour operations independently, and at different times, but should wait until all operations are complete before clearing any of the buffers.
    and i tried to conduct two contouring operation on two vector space. and tried to clear or configuring buffer for one vector when another one is still moving. so that i can start or end the movement at any time i want,and  it is ok.no error. but when i tried add a buffer  breakpoint output along with each vector movement. the bp doesn't work if the other vector is running . is there anyway to solve this problem.

    I think you've misunderstood what the dns attribute is for. The dns attribute returns the hostname of the client accessing your website, not the hostname of the website that linked to your website.
    For example, when someone using the Comcast ISP goes to a malicious website at example.com that loads images from your website at www.amigoo.net, the dns attribute will be something like "c-1-2-3-4.ca.comcast.net", not "example.com". ACLs are used for authentication and authorization of clients (not the websites those clients chose to visit), and they don't provide the functionality you're looking for.
    If I understand correctly, you want to prevent websites other than amigoo.net from linking to files in your d:/webserver/imat/pics_upload directory. You can achieve this adding the following lines to your obj.conf configuration file:
    <Object ppath="d:/webserver/imat/pics_upload/*">
    <Client referer="*~*amigoo.net">
    PathCheck fn="deny-existence"
    </Client>
    </Object>

  • Stepper motor and loacell PID control - waveform motion.

    Hi, 
    Hardware :  cRio9073, C series module 9403 for stepper motor control and 9215 for load cell data acquisition. 
    I am trying to control a stepper motor in a closed feedback loop system with a load cell. The user would have to input two things : the maximum load applied and the frequency of the motion. At the moment I have it working in open loop controlling how many steps forwards or backwards it does and at what rate, with a display showing the load being applied.
    I am now looking to include the "PID.vi" built into labview into my existing code. I am using the load cell output as the 'process variable' and the 'output' of the PID will control the wait time between an ON and OFF signal to the motor (since I have to do the PWM in software as the 9403 module doesn't do it in hardware. Is this the right way to do it? ) 
    I wish to make the motor do a sinewave motion, thus the 'setpoint' of the PID would be dynamic. I have therefore linked the "Sinewave form.vi" (also built into labview) to the setpoint and the frequency of the "Sinewave form.vi" will be the user input for the frequency of the motor. However my problem lies with the 'Sampling info' of the "Sinewave form.vi" : Previously that is what controlled my number of steps, defining the maximum displacement of the motor. Now I need the peak of the generated sinewave to coincide with the maximum load applied defined by the user. How can I make it do that? 
    I have attached my existing code with how I have attached the PID.vi at the moment. 
    Many thanks for your help
    Lawrence 
    Attachments:
    PIDControl.vi ‏23 KB
    BIOGROWTH.lvproj ‏46 KB

    Hi Lawrence,
    Here is an example PID VI.
    Regards
    Rico P
    Attachments:
    General PID Simulator.vi ‏22 KB

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

  • Controlling ESP 300 motion controller via Labview

    Hi all,
    It's for the first time I try to communicate with other devices using Labview. I made a VI (07_rs232.vi) to send commands to ESP 300 motion controller via RS232. This VI should make zig-zig move using two axis (2 and 3). When I'm running this VI slowly (Highlighted execution) or with smaller count of iterations (4x4) everything works fine. But when iteration count is higher error on the device occurs ("command does not exist"). Does it have connection with the memory of the ESP 300? Am I writing too many commands to its memory? I have no experience with this. I appreciate any kind of help.Message Edited by ceties on 09-18-2006 09:34 AM
    LV 2011, Win7
    Attachments:
    Temp.zip ‏83 KB

    Hi,
    For some reason, the link you gave doesn't work ...
    Sory I forgot the subVIs... here is the dll with everything. I didn't use the VIs from NewPort because the code was quite poor.
    You can use th subVIs to :
     - read axis position or informations
     - send command to be executed
     - send "question" and read the "answer"
    It's quite easy to use because the VISA session will be help in the FGV (blue VI), use it to open the session at the beginning of your process, use it for controlling your axis and use it also at the end to close the VISA session.
    Hope thi help
    BTW : aboute the "\r" well yes it is required as an end of message character
    When my feet touch the ground each morning the devil thinks "bloody hell... He's up again!"
    Attachments:
    ESP.llb ‏132 KB

  • Connecting Hall Effect Sensor as an encoder(fe​edback) for PCI 7356 Motion Controller

    Hi,
    We have Labview 2010 and the following hardwares for testing a specific motor (a brushless DC motor):
    NI PCI 7356 Motion Controller
    NI UMI 7774
    AKD Servo Drive P00606
    However, I met some difficulty when wiring the motor to the motor drive(and controller). In the manual, it says PCI 7356 needs encoder signals as the feedback. But our motor doesn't have a built-in encoder. It has three Hall Effect Sensors, which we plan to use as an encoder. If we feed the hall sensor signals as the encoder phase signals (Phase A, B) to the drive/controller, I wonder if Labview or PCI 7356 (after an appropriate configuration) can adjuct the phase (from 120 degree to 90). Does it work even without the adjustment?
    If the above doesn't work, can I feed only one Hall Effect sensor signal as Encoder Phase A and don't feed anything to Phase B (since I only need control the motor speed in one direction)? Will PCI 7356 or Labview recognize the signal and function accordingly?
    If it doesn't work as well, could I use motor's Back EMF as a feedback (this motor produces a decent sinusoidal back EMF)? If I can, how should I configure the hardware and wire the motor to controller accordingly? 
    If all three above don't work, could you suggest a way to solve this problem?
    Thanks so much for your help.
    Best,
    Chen

    Hey Chen,
    I have comfirmed that the PCI card will not be able to do feedback with the hall effect sensors. However, you could do that with our NI 951x modules if you run it in FPGA mode. You would need an extra IO module to set up the hall effect sensors with, but you could effectively customize your control and your feedback on the FPGA board immediately. 
    For your other post, I am not sure you can create a time constraint on the move, I believe that when you define a motion, you would need to define the number of steps or the position and not the time. If you are running the motor at a specific velocity for an amount of time, you would need to set that as the number of revolutions and not time.
    I hope this helps.
    Regards,
    A. Zaatari
    National Instruments
    Applications Engineer

  • Calling dll of Leetro MPC08 PCI motion controller card problems.

    Hi,
    I have been trying to develop an application using Labview 8.5.  I need to control a motorized linear stage which uses the Leetro MPC08 PCI motion controller card.  The manufacturer gave me example VIs which I configure to call "c:\windows\system32\MPC08.dll".  About four months ago, I remembered that i tested them and they seemed to work somehow (but I did not finish the full test since i was busy doing other things).  Nevertheless, when I got back to continue my development a few days ago, i just could not get the same old VIs to work.  I could only get one library function of the card to work which is the "auto_set" which returns "4" which is the number of axes that the card can control.  The next function I need to call is "init_board" but this one keeps returning "-3".  The manual indicates that any negative number returned means there has been something wrong.  I would guess it is "PCI initialization fails" but honestly do not know for sure.  Can anyone help?  My computer is a PC running windows XP. 
    Thanks in advance for any kind help offered.

    Hi,
    Wrapped VISA call means that the SubVI contains a set of VISA calls.
    If you are calling the VI's individually it is possible that the VI's need to pass a reference to each other, so they might not work if run individually.  Hard to know without the DLL docs, so to speak.  It could be possible that there is no need to pass references between subVI's.
    Direct VISA calls are probably not necessary if the device runs with the vendors software.  The main goal was to verify functionality with either VISA or vendor app.
    Ok I was looking at the Leetro web site, you can forget the VISA stuff as it is a PCI card, duh... you said that at the begining. :-)
    The manual says Win2000 or XP.  is this being run on two different systems?
    Mark
    Mark Ramsdale

  • Newmark Systems Motion Controller

    I am trying to control A Newmark Systems Motion Controller using Labview 8.5. The Model number is NSC-M4 and it connects to the computer using an RS-232 connection.
    Using Visa Write commands in Labview I have been able to get some motion out of the linear stages connected to the controller. I have also been able to issue basic commands.
    The difficulty I am having is that typically after a few movements the controller stops responding to my commands. I believe that the controller is encountering an error, but I have no way of knowing because I have been unsuccesful in getting labview to read any values or messages from the device.
    I haven't been able to find any device drivers for the controller, nor have I been able to find any sample Labview programs to give me some guidance on where to go next with this.
    I guess my questions are;
    How do I read any requested information from the device?
    What could be causing my sudden loss of control of the device?(If I'm wrong and it's not just the device erroring out)
    And are VISA read/write commands the best way to communicate with this type of device or is there a better method than what I'm using?
    I'm still pretty new to Labview so any help would be greatly appreciated.

    Hi Chris,
    I am also programming a VI which control a 2-axis stepper motor of Newmark systems. I have managed to control the motion with VISA, communication is rs232. What I need is to simulate the motion of the device on VI. This is because I want to control the deice remotely, without actually seeng the response of the device. I thought this may be managed with the VISA read however, I couldn't manage it. This simulation might be a chart or graph, or I have 3D images of my device and it would be really great if I see the motion actually on these images.
    How can I do that?
    Thanks in advance.
    Regards
    Berk.

  • DC Motor Control - AKD Drive and LabVIEW Softmotion

    Dear all,
    I need to control a DC motor, which basicly has to rotate from -15 degrees to +15 degrees with changeable frequencies/time period.
    The motor is used for inducing vibrations, thus the frequency and positioning must be (easily) controlled in LabVIEW.
    My setup looks as follows:
    cRIO 9082, NI 9514 C-Module, AKD Servo drive and an AKD DC Brushless motor.
    Until this point i have used a "Contour move block - repetitive" for controlling the engine using a table, however, this doesn't allow me to configure velocity and acceleration etc. Furthermore, I don't know what units the block inputs are (radians, degrees, units/rotations whatsoever) - See pictures for details on diagram and setup.
    Also, i would like the possibility to actually see and/or control a PID-controller using the feedback option.
    So, i short, i basicly want to:
    - Control the positioning of my DC motor (from -15 to +15 degrees).
    - Control the motor using a PID controller (not necessarily needed, but i would like the possibilty)
    - Control the velocity, acceleration, deceleration and frequency/time period.
    Thanks in advance - looking forward to some good answers! 
    Have a great easter holiday.
    Best regards,
    Jzaulich
    Attachments:
    Motion and error.PNG ‏20 KB
    Project tree.PNG ‏22 KB

    Hi Anders,
    Thanks for your reply.
    I have the softmotion module installed and working - thats not the issue.
    However, at the moment i'm using the "countour move" example provided with the SoftMotion module.
    It works fine, however, it doesn't allow me to change the system too much and the unit of the input is not denoted anywhere (radians, degrees, revolutions etc.).
    As i am all new to both LabVIEW and SoftMotion there's obviously a lot of obstacles.
    I would like to model the motor control using a PID regulator with the position as input - is this possible, without making it too complex?
    Best regards,
    JZaulich.

  • How do I get labview for linux to send out ascii code to a motion controller?

    I have posted part of this problem but I will now try to clearify things. I have an x-y stage that needs motion control. I have to run the motion controller from within a linux system (RedHat 7.1) due to others in the research area. I have found a motion controller card (PCI) that will run under linux. This card is not National Instruments. I understand that they do not have drivers for their controller cards. This other card comes with the companies own software that uses ASCII codes to move the motors on the stage. I was hoping to create a program that could call those ASCII codes to move the stage. An example would be if a user wanted to have the stage move to the right he would press a b
    utton on the screen instead of typing in whatever ASCII could that move to the right happens to be. How would I go about programming something like this? I have heard of others doing things like this but I am unsure of how to program labview to send out ASCII codes to a PCI card to move motors.

    > would I go about programming something like this? I have heard of
    > others doing things like this but I am unsure of how to program
    > labview to send out ASCII codes to a PCI card to move motors.
    Look in the manual to see get familiar with the sequences of codes you
    need to write, and more importantly, where you write them to. I suspect
    a memory location, but it could be a socket or port.
    Each of these locations will have a slightly different way of accessing
    it. Once you know, search devzone for how to do it on linux, or post
    back here.
    After you can send the codes to the right location, you probably want to
    build a state machine that simplifies the interface and prevents certain
    actions from taking place. Now determine which buttons or
    keys perform
    which actions and use either the event structure or the older polling
    for control changes to affect state changes in the state machine.
    I'm summarizing here assuming that you know what a state machine is and
    why you'd want to use it. If I'm assuming too much, do some research
    and post again with more specific questions. Also be sure to look at
    example VIs as they show how to respond to UI actions.
    Greg McKaskle

Maybe you are looking for

  • How to add an attachment to a  post.

    Have searched the forum for an answer, all responses seem to be related to attachments to mail. I have a query on pages I want to post and need to add an attachment to clarify my problem. How can this be done ?

  • Need help with a 4K Ultra-HD Display, connected to a T530

    Hi guys, the T530 is equipped with an intel HD4000 and a nVidia NVS5400 graphics adapter. I already found out in this post, that the Display Port (of the comparable T430S) is 1.1 and that instead 1.2 is needed for 4K support. Has anyone got better ne

  • IPhoto 5 album names are present; photos are missing

    One month ago I installed Mac OS X (10.5.4) on my iBook G4 to resolve issues with my browser and hotmail. Today after having loaded new photos into iPhotos within the last month, I entered iPhotos and found the last two years of photos missing. The a

  • Bussiness area determination

    is there any configuration where bussiness area is updated with new one instead of default one. how can we change the default bussiness area in sales order.

  • ABAP User Roles and Query for accessing particular T- codes and Reports

    dear Gurus I have one problem, i want to know about ABAP User Query ,i have one requirement my user wants to Lock all the HR Std versus Customized reports in T- code SQ01,other department peoples also see the Payslips and Hr personal reports which is