Simple control of a linear actuator through LabVIEW advice

Hello all,
Was in need of some quick guidance. I purchased a Firgelli PQ12 linear actuator along with their LAC control board. They provide a sample LabVIEW program which I was able to run properly. What I would like to do is create my own LavVIEW program for the motor, basically with two inputs; stroke length, time. I would like for the actuator's stroke to simply extend and retract for a desired time period. What is the best way to go about creating a LabVIEW program for a DC motor? Any tutorials available for this application? Advice? Any help is appreciated. 
Thank you!
Edit - Details on what is being used
http://www.firgelli.com/Uploads/PQ12_datasheet.pdf
http://www.firgelli.com/Uploads/LAC_Datasheet.pdf

Are you looking to use just basic LabVIEW? Or do you have any toolkits or modules? Here are a few links to an example and tutorial regarding DC motor control in LabVIEW:
-Open and Closed Loop DC Motor Control VI
http://zone.ni.com/devzone/cda/epd/p/id/4953
-Using the LabVIEW PID Control Toolkit with the LabVIEW Control Desgin and Simulation Module
http://www.ni.com/white-paper/6931/en#toc1
Daniel K | NI Applications Engineer | Certified LabVIEW Developer

Similar Messages

  • Control CD or DVD Drive through LabVIEW

    Hi All,
    I am interested in controlling my PCs internal CD/DVD drive using LabVIEW. I've had a look around the forums and ni website and it seems that external CD drives can be controlled using a PXI card and the SCSI interface.
    Searching the LabVIEW help I haven't been able to find any reference to SCSI but I guess the protocol must be implemented somewhere as it can be used with the PXI card I found referenced during my search.
    Initially I would like to just open and close the drive - if anyone can offer some pointers in the right direction I would appreciate it.
    Also if anyone is familiar with the level of access provided by SCSI maybe I could get a little extra information. For example eventually it would be useful to be able to control the motor speed of the CD turntable independently - is this type of command exposed in SCSI?
    Many thanks for your help,
    David
    Solved!
    Go to Solution.

    Open / Close, here: https://decibel.ni.com/content/docs/DOC-19732
    Beginner? Try LabVIEW Basics
    Sharing bits of code? Try Snippets or LAVA Code Capture Tool
    Have you tried Quick Drop?, Visit QD Community.

  • Control a linear actuator

    I need to be able to control a linear actuator from labview.  Can someone show me an example of how I might do this?  Also, I have no idea how I should wire the actuall motor up so that it can go forwards and reverse.
    thanks

    Hi Eileen,
    I'm not sure how exactly the Firgelli actuator would be wired, but according to their datasheet it can be controlled by "simply applying a DC voltage to extend the actuator, and reversing the polarity to retract it."
    I would recommend starting with using the DAQ Assistant Express VI to output a DC voltage from the PCI-6024E. There is a tutorial on Getting Started with the DAQ Assistant that should be very helpful. You will want to check out the "Configuring DAQmx Express VI using the DAQ Assistant (Analog Output)" section to set up a DC voltage output. Then whatever Analog Output channel you have configured your DAQ task for can be wired to the voltage input of the actuator.
    I hope that information is helpful!
    Matt
    Product Owner - NI Community
    National Instruments

  • Linear Actuator Force Control

    How do I control the force and rate of travel of a linear actuator using Labview?

    You need to separate this into two different parts: hardware and software. You first need to determine what kind of hardware you need. You said you "believe that this can be controlled by the voltage". Are you sure? What does the documentation say? If it's controlled by a voltage level, what are the specs? This will help to determine what kind of hardware you need to buy and/or make. 
    The software part is the other half. This really isn't all that difficult, but the exact implementation depends on a lot of factors. One of these is whether you get a DAQ device from NI, or you get one from another vendor, or you build your own. I think you should spec out your hardware first. If you need help with this part of it you can provide more information and we can suggest a couple of items, or you can look over the products that NI sells, or you can call your local NI sales rep.

  • How to finetune the force control of an AC Motor Linear Actuator?

    Hello,
    I
    am hoping to find some help here with the following problem, which I am trying
    to solve for several days now....
    I
    am using the UMI-7774 and an AC servo-motor-driven linear actuator to do
    force control. Basically, I need the actuator to apply a constant force and
    react quickly to force changes. My system setup is as follows: I am using
    a PCI-7344 Motion Control Card to provide the analogue command signal
    (0-10V). This signal is supplied to the actuator controller (through a
    UMI-7774), which transforms the command signal to an amperage command signal
    (0-2.17Arms). This is the signal controlling the actuator’s torque. The actuator controller is working in torque mode. I use
    a Kistler PZT force sensor (ring type) and a Kistler amplifier as my feedback
    source. The signal from the sensor amplifier is directly connected to the ADC of the
    UMI. I am using MAX to tune my system and define a PID controller that gives
    me a good step response.
    (1)
    The results so far show that it works in principle, but I believe my system is
    not yet tuned optimally. However, the best step response results I have
    obtained and the PID parameters I used are shown in the attached files. As I am
    relatively new to this area, could you please advise me on how I could further
    improve the step response of the system? The current rise time and
    overshoot values are very good (a 3% overshoot would also be acceptable),
    but the observed undershoot is causing delayed settling. Also, the oscillation
    observed during undershoot is something I would like to remove.
    (2)
    I have tried increasing Kp and Kd values. Increased Kd does not seem to correct
    the oscillation problem. On the contrary, it destabilises the system. Increasing
    Kp causes an unwanted overshoot.  I have also tried to reduce the
    Derivative Sampling Period but that gave even worse results (System Inertia: J
    = 1.8629*10^-5 Kgm^2).
    At
    Td=2 the actuator was retracting on its own to its home position when I set Ki>=8.
    I got the most stable behaviour using Td=4. Is there any other way I could
    improve the actuator’s response?
    (3)
    I have seen that in some cases people have used a “double PID loop” one
    for the encoder feedback and one for the force feedback. Do you believe that
    this would improve system behaviour? If so, how could
    I implement two PID loops? I mean, MAX only allows me to enter
    one set of PIDs....or is there a possibility to set up a second PID-loop
    somewhere?....I have seen that the "Force Control Using Monitoring
    Force" example essentially works with two Closed-loops, but one of them is
    implemented in the application software and this would result in a
    non-deterministic and comparatively slow response of the system, right??
    Sorry for the long post and thanks
    a lot in advance for help and advice.
    Attachments:
    Force Conrtol Loop Settings Actuator-BEST.JPG ‏41 KB
    Step Responce Actuator-Force Feedback-BEST.JPG ‏58 KB

    Hello Jochen and thank you for your very nice reply.
    The past few days I have been trying to implement your advice, but unfortunately I did not have much success. Let me start by saying that explanations to my problem, the 2nd one looked more probable, as I always make sure that there is contact between my actuator and the workpiece I am pushing against. So, I unmapped my DAC by setting up the axis as a stepper axis with no feedback and I used the Load DAC to apply voltage and see when my actuator starts moving. That gave me the upper and lower limits for the Static Friction Compensation filter (please refer to attached image). I then implemented this filter and tried to retune the PID parameters, but the results I got were poor.
    I can now adjust the parameters so that there is no initial spike and undershoot, but now the force ramps up fast to a specific value and then keeps rising slowly. Vibration is observed at the point of transition from fast to slow ramp-up (ref. Step Responce Actuator-Force Feedback-WITH FILTER_v2).
    I could not eliminate the steady state error. When I tried to eliminate the steady state error by increasing Ki, or tried to create an initial overshoot by increasing Kp, I always ended up with an unstable system or a system with a response similar to the one shown in attached figure “Step Responce Actuator-Force Feedback-WITH FILTER_v1”.
      Do you perhaps have an explanation or comments for this behaviour? As for your other questions:
    Sensor Bandwidth: N/A, Charge Amplifier Bandwidth: 200 kHz, Low pass filter: No (Amplifier has the capability though)
    PID Update Period: 250 microseconds (fastest available)
    NI Motion Version 2.3
    Labview Version 8.5.1
      Thank you,
    Thomas
    Attachments:
    Step Responce Actuator-Force Feedback-Filter Settings.JPG ‏28 KB
    Step Responce Actuator-Force Feedback-WITH FILTER_v2.JPG ‏69 KB
    Step Responce Actuator-Force Feedback-Filter Settings.JPG ‏28 KB

  • Linear actuator controlled with external encoder and smart motor - randomly stops

    Hi,
    This is my first experience with Labview or any sort of programming for that matter.  I am using an Animatic Smart Motor Model: SM1720M version 4.15b with an Ultra Motion Bug linear actuator: 4-2B.125-SM17-3.2-1NO-B/EC4 and a 600 series optical encoder.  I am trying to write a VI that allows me to manually control the linear actuator using the encoder.  I attached the one I have been using, but for some reason it randomly stops working, generally  when the actuator is extended about an inch and 2 1/2 inches.  It stops in the same general area, but not the exact same spot.  Any ideas?  Any help would be much appreciated!
    Attachments:
    Manual Command.vi ‏29 KB

    1. The VISA Clear and VISA Close should be outside the loop. You do not want to be re-initializing the VISA session each time through the loop.
    2. You have the port initialized to use line feed as a termination character. When using termination character, you should not use Bytes at Port. Just set the byte count input of VISA Read to a constant larger than the longest message you expect to receive.
    3. With the termination character you do not need the waits between or before the reads.
    4. The 10 ms Wait in the outer loop is rather meaningless when the start button is True. The VISA Write takes much longer than 10 ms for the string you are writing. It does make sense to have a Wait in the False case.
    5. The start button is set to Latch When Released mechanical action. With that setting it retuns to False every time it is read. The result is that the code in the True case only executes one time for each press of the button. Is that what you want?
    A state machine architecture is more flexible and more robust.
    As to why it stops in a particular place, you have not given us nearly enough information to even guess. What is the relationship between motor speed and displacement? Where do you do anything with the encoder? What is the format of the encoder output? How far does the motor move at various speed settings during one iteration of the outer loop? Where is the command to stop the motor when it gets to where you want it? 
    What error messages, if any, do you get when it stops?
    Lynn

  • Pulsatile Linear Actuator Control - Help Needed

    Hi,
    I have a VI that controls the speed of a linear actuator, which is placed within a case structure. A limit switch input switches
    the case structure between forward and reverse. This allows the actuator to move in a continuous motion either forward and
    reverse. What I would like to achieve is a pulsatile movement. The linear actuator operates for a set time and completely off
    for a set time.
    I have tried various approaches with the elapsed time function, alternating wait times but just can't seem to get this, any help
    would be greatly appreciated, I have attached the VI.
    Thanks
    Ger
    Solved!
    Go to Solution.
    Attachments:
    Pulsatile Linear Actuator.vi ‏95 KB

    A few things:
    Are you using the Run Continuously button?
    If so, stop and put this into a proper loop or state machine.
    I don't think the Elapsed Time function is what you're looking for.
    I think you want to use Time Delays between changing the output on your digitals.
    Take some time with the LabVIEW tutorials. They'll help you a bunch here.

  • Linear actuator, motor controller and labview. Establishing connection.

    Overiew:
    I have a 12VDC linear actuator (potentiometer built in) connected to power and Jrk 21v3 USB Motor Controller with Feedback (http://www.pololu.com/catalog/product/1392). The USB motor controller connects to the computer through USB, actuator's feedback wires connect to the motor controller.
    Problem:
    Establishing connection between the motor controller and labview.
    What I have done so far:
    I installed drivers to the motor controller and windows detects it. NI MAX detects my motor controller (pic attached), but for some reason, when i try to access it through daq assistant in labview it doesnt see it. I also tried accessing it through VISA with no results..
    Help will be appreciated.
    Thanks
    Peter
    Solved!
    Go to Solution.
    Attachments:
    problem.jpg ‏124 KB

    You have a few things you need to look into:
    When you installed the software, did it install a USB > Virtual Com Port dll such as FTDIchip or similar? If so, when you hook up your device, it'll reveal itself as a normal (new) Com Port in Device Manager. You then need to try to talk to that com port.
    If you are trying to use the native USB on the board (as MAX has detected for you), then you'll need to use the .NET framework code provided by the manufacturer (probably written in C#), and make your own Constructors in LabVIEW. If you've never done this, it isn't trivial.
    I would call the manufacturer and just tell them what you are trying to do. They've probably dealt with LabVIEW before, and may have an example to get you started.
    edit: For fun, I followed the link you provided (which doesn't really work). I searched their site for "LabVIEW", and indeed got several hits. This one thing I downloaded (can't resist looking at code) was a gigantic turd ball. However, it did appear to use a normal Com port.
    Richard

  • How to control RS232 Interface through LABView?

    Does LABView have the ability to control RS232 Interface? If it does, what version of LABView has this capability? The LABView versions that we have in the company are 7.2 and 8.1 only. The operating systems that we have are Windows and Linux.

    i have a question i am wanting to control an rfid reader/writer that has a  RS232 or USB connection through labview. Here are some specs on the product. is this possible for it to work.
    Key Features
     Fast data transfer
     Supports multi-detection
     ANT1015A for wall or desktop 
    mounting
     Baud rate: 19,200bps, N, 8, 1
     ABS housing
     RS232 or USB connection
     IP40 protection rating: waterproof 
    and dustproof
    Technical Specifications
    Frequency 13.56MHz
    Technical certificates CE, FCC
    Power requirements 12V DC, 300mA 
    Display 3 status LEDs
    Read/write distance 30cm, with ISO 15693 compliant transponders
    Technical Certificates CE, FCC 
    Antenna connection RP-SMA 50ohm
    Transponder compatibility HF, ISO 15693 compliant transponders
    Operating temperature 0 to 60°C
    Storage temperature -20°C to 70°C
    Humidity 10% to 90% relative
    Dimensions 345mm × 240mm × 20mm (L ×  W × H)
    The link below will take you directly to the product.
    Hf Rfid
    Attachments:
    13.56 MHz. High Frequency (HF) Reader RFID Writer with Antenna.pdf ‏389 KB

  • Control MAX through labview

    Hi,
    Is there any way by which I can control and make selections in MAX through labview code?
    I need to select driver sessions for IVI classes of instruments. For this it will be good if I can create IVI classes and select driver sessions programatically using labview.
    Any take on this?

    JoshuaP wrote:
    The closest thing to a programmatic API for MAX is the NI System Configuration API, however I don't think that you can currently use it to configure IVI settings.
    No, you cant use any existing API to programatically adjust IVI config settings.
    However, all of these settings persist in "XML-Hell."  With the right file manipulations,  regisistry entries and / or details on what, if any, services need to be triggered to update it is THEORETICALLY possible.
    Spoiler (Highlight to read)
    I Wouldn't try it without serious NI involvement.  There is almost certainly a better way to get what you want.
    I Wouldn't try it without serious NI involvement.  There is almost certainly a better way to get what you want.
    Jeff

  • Controlling the displacement of 2 linear actuator

    im using arduino to work the linear actuator 
    1) im not able to sync the 2 linear actuators togethers 
    2) stop at same distance with each other
    3) im using dual channel 10A driver for DC motor board 
    4) using labview to simulate this movment 
    pls check the file below and offer any suggestion in doing so.
    Attachments:
    woirking linear actuator.vi ‏26 KB

    Equal Height CSS Columns ~
    http://alt-web.com/Articles/Equal-Height-CSS-Columns.shtml
    Nancy O.
    Alt-Web Design & Publishing
    Web | Graphics | Print | Media  Specialists 
    http://alt-web.com/
    http://twitter.com/altweb

  • Controlling Linear Actuator via Load Cell

    Hello,
    I need to control the position of a linear actuator based on the force feedback from a load cell (rated up to 100 ft/lbs) connected to the tip of the linear actuator.  What I want to be able to do is to set a force and have the linear actuator (driven by a stepper motor) move until it is within 0.1 ft/lb of the force setpoint.  Once within 0.1 ft/lb of the setpoint, I would like to hold and control to the setpoint based on a user configured hold time.
    I have the following hardware:
    PXI-1033 chassis
    PXI-7340 Motion controller card
    UMI-7764 Terminal Block
    P7000 Drive
    Omega Engineering Load Cell model number LC201-100
    Omega CCT-80 Load Cell Signal Conditioner
    Omega FAR-1 Power Supply
    I have the + output of the CCT-80 connected to the Analog Input (AIN1) and the - output connected to the Analog Input Ground (AIGND).  This output signal is -10V to +10V (verified by DMM)
    I have the ADC range set to -10 to +10
    I'm reading the ADC as fast as possible (get about 700 samples/second) and this just isn't fast enough to control to the precision that I need.  Also, it seems like there is a substantial amount of noise on this line.
    Does anyone have any recommendations on improving the speed of the ADC read, or how to reduce the noise on the line?
    If my requirement of holding to 0.1ft/lb is too strict for this hardware (7340 motion card) is there something else that I should try?
    If I'm missing any other info that is needed to help me out, let me know and I'll update this post.
    Thanks!

    Hello AMac,
    I have a setup similar to yours with a load cell attached to a linear stage. I want to use position control of the stage to apply a set load on the load cell (position-based explicit force control). Do you have a example VI I could look at if yours was successful?
    Thanks,
    Kyle

  • DC motor closed loop control through labview using usb 6008

    Hello
    i am doing a project in which i want to control the speed of a DC motor (PID control) through labVIEW 2010. I am having a DC motor, a drive unit that regulates the voltage to the motor by getting analog voltage from 0 to 3.3V ( it can be used for both directions) and i also have a NI usb 6008 board. The problem is that i can't feed the usb 6008 with the digital signal from my hall effect speed sensor. Is it posible with this setup to control the motor?? I can also try to use the pulse as analog input and trasform the frequency into rpm's. Then i am thinking of generating an analog signal to feed the motor drive. If you have any further suggestion of a probably better hardware setup would be more than helpfull to me.
    Sincerely
    Jason Chaloulos

    Hello Michael
    Thanks for the reply. I came across those topics before and all of them are trying to generate a PWM signal as output i want to use just an analog signal output so timing on the output is not that important i guess. i am struggling on getting the frequency from the digital input signal that my hall effect sensor generates. Since the maximum speed of the motor is 3000 rpm and with my tooth wheel the maximum  output frequency of the sensor will be 300Hz which i see its way less than the limitation of my ni board. Is there any tutorial documentation that might help me with this one ? Thank you in advance.
    Kind regards
    Jason

  • Framegrabber board control with ActiveX through LabView

    I have a framegrabber board that is not from National Instruments. It is
    from a
    company called Coreco. The name of the board is the Bandit board. I have
    been
    trying to determine how to control it through LabView. Several weeks ago
    I found
    the ActiveX control for the Bandit board on the Coreco website (www.coreco.com).
    I installed the control so that LabView could control the board. However,
    I have not
    been able to get image acquisition. I have read the instructions for the
    ActiveX control,
    but everything I try still does not start image acquisition. Does anyone
    have experience
    with both LabView and the Coreco Bandit ActiveX control. I would also consider
    some other approach to controlling
    the Bandit board. Thank you for any help
    that
    you can give.
    Sincerely,
    Trinity Ellis

    >
    > I have a framegrabber board that is not from National Instruments. It
    > is
    > from a
    > company called Coreco. The name of the board is the Bandit board. I
    > have
    > been
    > trying to determine how to control it through LabView. Several weeks
    > ago
    > I found
    > the ActiveX control for the Bandit board on the Coreco website
    > (www.coreco.com).
    > I installed the control so that LabView could control the board.
    > However,
    > I have not
    > been able to get image acquisition. I have read the instructions for
    > the
    > ActiveX control,
    > but everything I try still does not start image acquisition. Does
    > anyone
    > have experience
    > with both LabView and the Coreco Bandit ActiveX control. I would also
    > consider
    > some other approach to controlling the Bandit
    board. Thank you for any
    > help
    > that
    > you can give.
    >
    > Sincerely,
    >
    > Trinity Ellis
    >
    Try to use the Windows-DLL with is delivered with your board. I had used a
    Matrox-Genesis board and had the same problems. The dll's worked. Gruß,
    Tobi.

  • How to make a simple control value comparison a user event?

    Hey everyone,
    I am trying (with no luck) to figure out how to make an event out of a simple control comparison without having to put the controls inside a while loop to be polled or in the event structure.
    For example; how do I make an event when 'numerical control 1' equals 'numerical control 2'?
    I know that I could have these inside a while loop with the event structure and then wire the comparison to a boolean, then reference the boolean's value change event.  But rather, I would like to create an event for the comparison without the boolean and outside the while loop such that the loop doesn't have to run through the comparison each time, and doesn't have to poll the controls and bool.
    Thanks for the help

    Attached is a simple user event structure that I was thinking about.  Using this you can decouple the control from the comparison, it just works on valye comparisons.  Since it uses the event structure there is no polling and is very CPU friendly.  I have allowedfor the comparison to be linked to the "Value 1:value change event" and the compare button true event.  I hope this is what you were looking at.  Also since it is a user event which is dynamically registered you can register/unregister it at will durring execution making it a flexable event handler.  It might be alittle buggy because I have spent about 3 minutes developing it (particularry when passing values into the event structure there might be a state issue from the data flow so local variables are a better choice)
    Paul
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA
    Attachments:
    CompareEventvi.vi ‏49 KB

Maybe you are looking for

  • Installing SQL SERVER 2014 Entreprise Error

    Hello, today I tried to install en_sql_server_2014_enterprise_edition_x64_dvd_3932700 and when I started the installation I got this error: TITLE: SQL Server Setup failure. SQL Server Setup has encountered the following error: No room is available to

  • How to attach a excel or word file when replying to a mail ?

    Hi, I am having problem while using safari app. When i am to reply to a mail and while replying i am to attach an excel or word file, how should i do it ?

  • Image movie not displaying correctly

    Hi All I am trying to make a slideshow in Imovie that I will then attach in IDVD. When I import the images and play them they appear to zoom in and out with some images cutting off heads etc, how can I just display the image then move to the next wit

  • Instantiate JarFile class under java web start.

    I'm really hoping someone has an answer to this. I've searched a lot and have come up empty handed. What I'm wondering is if it is possible to find out the path to the Jar file of the application so I can instantiate a JarFile object to loop through

  • Not able to retry in BPEL

    Hi, I am trying to set the retryMaxCount and retryInterval properties directly to the partner link of a BPEL, we are having issue with accesssing the endpoint location in the invooke, but the retry is not happening when we see the trace. Could sonebo