Difficulty driving a servo motor using cRIO 9103 and Module - 9505 and 9012 controller

I want to run an example project (Position Control-closed loop)on my FPGA target... 
My hardware - as mentioned above...
When I open a new project Labview automatically detects the hardware... but when I open the example proj... how do I link the hardware with the project ?? How do I configure the cRIO now?
Thanks in advance,
Jaydev

Hi Shoaib,
Have you seen this tutorial, or is this the one you're referring to? http://zone.ni.com/devzone/cda/tut/p/id/6143
The files are at the bottom....
Jeff | LabVIEW Software Engineer

Similar Messages

  • Servo motor control using CRIO+FPGA and 9477 digital out module

    Hello experts,
    I have a futaba BLS551 brushless motor digital servo (3 wires-+,-, signal). i also have a CRIO+real-time+fpga and 9477 digital out module. how can i generate servo signals using this module
    please help...
    Thanks,

    freemason,
    In order to control your servo motor with the FPGA and or DIO module you will have to write drivers to control your motor and drive.  While this is possible is an extremely complicated and time consuming process.  I would highly recommend you consider using the NI 9514 with soft motion as it will provide full servo functionality and is relatively easy to use.
    Regards,
    Sam K
    Applications Engineer
    National Instruments

  • Servo motor using parallel port

    Hello,
            I have a XY mirror scan Servo motor used for optical scanning experiment.
    The question I have is:
          I already have a program to control stepper motor via parallel port. Can I use the same to control servo motor ?
    Or is the SERVO motor concept different to that of a STEPPER motor ...
    Thank you
    Abhilash S Nair
    Research Assistant @ Photonic Devices and Systems lab
    [ LabView professional Development System - Version 11.0 - 32-bit ]
    LabView Gear:
    1. NI PXI-7951R & NI 5761
    2. The Imaging Source USB 3.0 monochrome camera with trigger : DMK 23UM021
    OPERATING SYSTEM - [ MS windows 7 Home Premium 64-bit SP-1 ]
    CPU - [Intel Core i7-2600 CPU @ 3.40Ghz ]
    MEMORY - [ 16.0 GB RAM ]
    GPU - [ NVIDIA GeForce GT 530 ]

    You will need a DAQ card that can generate the voltage needed to send a command signal to the 671.  The 671 will need to be tuned to the 6880 with whatever sized mirror is attached.  (If you bought the galvo and servo driver as a package it should already be tuned.)
    CTI systems take in an analog command from -10 to +10 Volts.  Almost all the NI DAQ cards (and many other brands) output +/- 10 Volts so that will be easy.
    Then you will need to decide how to scan your target.  A ramp pattern or triangle wave is the usual choice for scanning objects so you need to generate that in LabVIEW code along with the code that will read your sensor.  This should be done simultaneously but you really don't need a very expensive DAQ card to accomplish that.  Look on the NI website for options in your price range and do some research...
    Is your system one axis (one 6880 and one 671)?  If so you will scan a raster (ramp or triangle) to measure a single line of light intensity, move the stage a tiny distance and scan another line.  When you put all the lines together into a 2D image you will have a representation of one face of your object.  Many people use a rotary stage to spin the object while scanning to assemble a 3D model of the object.  This is a bit more complex of course.
    Using LabVIEW: 7.1.1, 8.5.1 & 2013

  • Controllin​g a Servo Motor Using LabVIEW, Phidget & Mac OS

    Can anyone help me with this problem? 
    I'm attempting to control a servo motor attached to a Phidget, using a VI in LabVIEW on a Mac. The Phidget works fine with the Mac, LabVIEW works fine with the Mac, but there seems to be a problem combining the three. The problem I'm encountering is that the examples on the Phidget website (www.phidgets.com) for LabVIEW use ActiveX. Can anyone suggest a solution for this? Is it possible to use one of the control options in LabVIEW (GPIB, VISA, etc etc.) instead?
    I'm not great with computers so really have no idea where to start. 
    Thanks!  

    Thanks for your reply Jeff! So I can insert a CIN to the block diagram, right click and use the 'create .c file' option, insert the example code for controlling the motor from the Phidgets website (after tweaking it to make it specific to my setup) and that should work? How do I load the C library? Or a better question may be, what is the C library? (I wasn't joking when I said I'm totally new to this!)
    I've been working my way through 'C for Dummies' this week but I have to admit, the bit about header files and libraries lost me. I downloaded a bunch of stuff from the Phidgets website, including the phidget21.h and phidget21.lib files...do I '#include' both of these at the top of the example code?
    I've been in touch with the Phidget Support team (who are indeed great!) and received a similar reply ("You would have to call into the mac Phidget21 Framework directly").
    Once the CIN is all set up do you know what degree of control I'll have over the motor? The aim is to have the motor move in steps from -60deg to +60deg around a central point. Would this need to be defined in the code and then linked into LabVIEW or is this something I could control from within LabVIEW? The idea of my project is to use the motor to move a light source around a sensor. The sensor is hooked up to an NI DAQ that will record and display values (after some manipulation) on the front panel. I hope to display the sensor values and the corresponding motor position values.  

  • Servo motors, rpm measuremen​ts and accelerome​ters

    Hello reader,
    Please excuse my question if it seems trivial but I am an undergrad trying to make LabVIEW work! We are running LabVIEW 8 and plan to use USB-6009 to make the measurements. I have read that this device isn't the best for control tasks. Any suggestions?
    For our experiment, we wish to have six controllable spinning cylinders attached to servo motors or stepper motors, which ever works the best. Each cylinder will be spinning at a set rpm which we wish to measure the desired rpm versus actual at all times. If possible, we would like to have an accelerometer functioning as well.
    I was wondering if this is possible with LabVIEW. If so, does anyone have any suggestions on how one might do this?
    Thank you very much for your time!
    -I. Fritz

    ifritz,
    there are several  considerations for choosing a servo or a stepper:
    Inertia of the cylinders
    maximum rpm values
    maximum acceleration and deceleration values 
    The maximum velocity for stepper motors is typically 3000 rpm. At this velocity the torque that the motor can provide has decreased to a small fraction of the specified maximum torque.Stepper motors have very limited capabilities to compensate following errors, so you need to calculate carefully the required torque at a given velocity and compare these values with the motor specs. Additionally you need to make sure, that the ratio between the motor's inertia and the inertia of the load is not too low. To avoid torque reflections this value should be somewhere in the range of 1:1 and 1:5.
    If you find a stepper, that is a good match for your application, the difference between commanded speed and measured speed should be very close to zero (except potentially some micro-oscillations).
    If you need higher torque and/or velocities and dynamic following error compensation, a servo motor should be a better choice, but you will have to tune the system which makes it a bit harder to configure the system.
    In any case the USB-6008 is the wrong choice for the control task, as it's not fast enough and can't be used in real-time control applications.
    Depending on the type of your feedback signal, it might be used for your measurements, but I also doubt, that this is a good choice. According to your post, you need to compare commanded velocity and real velocity. This implies, that you have access to the data of the trajectory generator and that you can acquire these data at the same rate as your feedback signal. This requirement conflicts with most of the available motion control units in the market. The minimum system that could meet this requirement is a real-time system with one ore more PCI or PXI multifunction DAQ  plugin boards (depending on the number and type of output channels that you need to control the motors) and optionally (recommended) the NI SoftMotion Development Module.
    Depending on your accuracy and speed requirments there might be also other solutions, but with the USB-6008 you are definitely on the wrong track.
    Kind regards,
    Jochen Klier
    National Instruments

  • Data acquisition using cRIO-9066 and C++

    Hi there!
    I want to write a C++ application which would acquire data from some modules installed in cRIO-9066 chassis and this application have to work without LabView. How can I do it? Can I connect this chassis to my PC using NI DAQmx? Is it possible?
    Solved!
    Go to Solution.

    Hi aanodin,
    When using a device that uses our RIO architecture, it is usually best to use LabVIEW to develop your application. This way you can also program the FPGA using the LabVIEW FPGA module, and it makes programming the Real-Time processor much easier. In fact, your model of cRIO is only officially supported by our LabVIEW programming language, as seen on page 4 of the manual: (http://www.ni.com/pdf/manuals/376186a.pdf).  
    Because of the FPGA interface, you cannot use DAQmx with cRIO. Hope this helps.
    Best Regards,
    Roel F.
    Applications Engineer
    National Instruments

  • Controlling dc motor using PCI-7342 and MID-7652

    Hi,
    I am trying to control an electric linear actuator driven by a 24V dc motor (no encoder). The feedback is coming from an integrated analog linear potentiometer (+10v to -10V). I am using the automatic analog feedback vi and created my desired feedback profile. I began with a  Kp value of 9, all other gains set to zero for now. The problem is that there is a constant offset of approx. 8V between the desired profile and the actual feedback from the linear pot. I have ADC 1 configured as -10 V to +10 V. I am not sure if its a wiring problem or there is something that needs to be configured in measurement & automation, axis 1. I am new to motion control so bear with me.
    Thanks

    Hi there,
    Where are you measuring this 8V difference? Is it the difference between the servo output of the MID-7652 and the analog feedback input to the 7652 analog input channels?
    If you try changing the PID constants in your control loop, does this 8V difference remain the same?
    Way S.
    NI UK Applications Engineer

  • 975X PowerUp - Possible to use Intel Raid and JMicron Controller?

    Hi,
    as you can see I've got an MSI 975X PowerUp Edition with Bios 7.7.
    Because of many problems I had with earlier Bios version I've got completely disabled the JMicron controller in the Bios.
    I'm running 4 HDDs at the Intel controller while using 2x Raid0.
    Is it now possible to use the JMicron at the same time?
    I would like to add a fifth SATA HDD at the JMicron controller and aybe an old IDE HDD also on the JMicron controller. So, is it possible?

    Quote from: carrera1988 on 19-January-08, 18:48:17
    Sorry, didn't found that thread.
    I've tried it now with an fifth Sata HDD, works perfekly until now. I'm formating the new HDD at the moment...
    What's the best way to shut down the Intel controller WITHOUT the risk of loosing data?
    I want that oly the new HDD is detected so I can use her for testing purposes...
    If only for testing purposes, why did you leave raid connected........? Especially, if planning to alter boot sequence......
    I turn off computer and unplug disks, when I am doing testing of HD's......... that way data is safe. You have to setup bios again after testing but only takes a few mins or 10 mins if you have written down settings

  • Servo motor control using MCB2300 and Labview

    Hello Everyone,
    I have to drive servo motor using MCB2300 board and labview. I am new to LabView as well as MCB2300 board. I understand that I have to generate Pulse to control the servo motor. 
    I have gone through some of the post but could not find something useful. 
    I need to do it asap, a fast and eloborating answer is much appreciated. 
    Thanks is advanced.

    I don't know if this will help you, but think about this tip:
    On the back of my (digital-) Servo package there was some data written (see attached image).
    You've heard of PWM (Pulse Width Modulation)? If not look it up in
    wikipedia / microcontroller.net / (if you speak german) http://www.rn-wissen.de/index.php/Servos or google
    The description of the Servo says that I have to send every 200ms +/- 1ms a positive (+5V +/- 1V) signal with a length depending on the angle I want the Servo to be set. The Signal is coded in conjunction to time, which means, as longer the Signal as higher the angle is. The Signal range is in between 70 to 240 ms (with my servo and not exactly). The Signal must repeated every 200 ms like I said before. I don't know, if you understand C but here is a function I wrote, which works fine for me:
    void set_Servo_0(uint8_t angle)
      DDRA |= 2; // Specific Port declaration for my µC (Atmel)
      uint8_t tick; // a var to count how often I send my Signal
      for(tick = 0; tick < 2; tick++) // loop to count -> send Signal three times
        if(getStopwatch1() > 200)  // getStopwatch is a libary specific function to measure time in ms steps
          PORTA |= 1;  // port high
          sleep(angle);  // angle comes from outside the function, it is a parameter for this function. Sleep for this time with port high = pos Signal
          PORTA &= ~1;  // then pull down
          setStopwatch1(0); // reset the timer 
      mSleep(250); // Finally I have to wait for this time (in ms) when I send different angle parameters one after another, to let the whole system
                          // (µC + Servo and rest of program) to settle down, else I will loose signal steps due to incorrect timing (not nice, but works).
    This function gets the angle as Integer from 7 to 24 and puts the Servo in corresponding position one time.
    Maybe You can adapt it, good luck.
    Attachments:
    Servo.jpg ‏207 KB

  • Using serial port to communicate with servo motor drive

    I wish to use Labview 7.1 to control a brushless servo motor with encoder (from MCG) and digital drive (from AMC) via the serial port. The application simply involves progressively loading the shaft on the motor in 180 degree increments, and reading the torque. Is this possible? If so, how complicated is this approach? Thanks!

    Communicating with your AMC drive via LabVIEW is no problem. There is an example in the Example Finder (Help >> Find Examples . . ) called Basic Serial Write and Read.vi which will show how to send and receive serial commands. You will have to find out what serial commands your drive responds to by looking at the AMC drive user manual. Certainly there are commands to position your servo motor at various increments and at various speeds.
    As for reading torque, however, I would be surprised if the drive would directly output a torque value. One possibility might be to read the current being sent to the servo and then interpret that into a torque reading - provided that the drive has a serial command to read the current output (normally servo motors have a fairly linear current to torque conversion). Current to Torque conversions are motor specific and the accuracy using such a method might not be to good.
    A more accurate method would be to use a torque sensor (Transducer Techniques sells these along with many other sensor companies) - or to use a strain gauge. Both types of sensors would need to be read in with a DAQ board (see link for National Instruments DAQ boards).
    Hopefully this gives you some ideas - good luck with your project!

  • Dc servo motor in simulink matlab

    hi
    i want to design dc servo motor in matlab simulink. but i dont know much about how to design.. so if anyone help me please??

    Hi Asaad,
    You will want to use the MATLAB® support forums to get help designing DC Servo motors using Simulink®. If you would like learn how to design and tune a controller using a DC motor with LabVIEW, take a quick look at this excellent white-paper to help you get started.
    Teach Tough Concepts: Closed-Loop Control with LabVIEW and a DC Motor
    http://www.ni.com/white-paper/12944/en/
    MATLAB® is a registered trademark of The MathWorks, Inc.
    Aldo A
    Applications Engineer
    National Instruments

  • Can we cascade PID and PIV loops to control the servo motor

    hi
    presently we are using PID loop for controlling the motion of a servo motor using ni-7352 card. We  are not able to receive the desired response from this implemenatation. So is there any other alternative like using a PIV loop or using PID cascaded with PIV to achieve a better response. If there is possibility help us to proceed further with this.
     also tell us which is more reliable 1)using PID alone  2) Using PIV Alone 3) using PIV and PID cascaded.
    please mail to this query to [email protected]

    Sidda,
    before you start thinking about advanced control architectures I want to ask you to tell me some details about your system behavior and the control parameters that you have used. I have used 73xx boards for very dynamical systems and I have always been able to find control parameters that resulted in a very fast and stable system behavior.
    For the case that you need some help with tuning please have a look at this link. In many cases autotuning doesn't result in good system behavior but you will find a lot of interesting hints about the manual tuning process there (e. g. that increasing the Kd gain typically results in a better damped system).
    If this doesn't help please attach some screenshots from your step response and the control parameters that you have used.
    Best regards,
    Jochen Klier
    National Instruments Germany

  • Can DAQ 6008 control degree of servo motor ?

    Hi, I'm new using DAQ and LabVIEW. I've project to control degree of servo motor. can device NI-DAQ6008 control it? I ever used pwm example but I had some error before the program running it.
    example motor servo which I want control.
    thank's

    Hello NMaolana
    This is another thread that actually talks the same issue https://forums.ni.com/t5/Multifunction-DAQ/usb-6008-dc-stepper-servo-motor/td-p/2320144  and in there you can see that you can't do a proper control for a servo due to the jitter given the fact that this device only has software timed outputs. If you would like, read through said thread.
    Juan B.
    National Instruments

  • How can i control the motor movement of stepper motor using a NI PXI 7330

    Good day to all,
    i'm a newbie in programming in motion control of NI. I just want to ask if how can i control the clockwise and counter-clockwise rotation of a stepper motor using NI PXI 7330 module. all i can do is the counter-clockwise rotation using the example vi (Simple one-axis move.vi) found in the examples of LabView 2009.
    Thanks

    what type of limit switch sensor are you using and how did you wire itß What are your MAX settings regarding the limit switches?
    Good day SIr Jochen,
    I am using two reed switch for the reverse and forward limit. I wired the signal wire of the reed switch to the limit ports(forward and reverse Limit) and its ground to the digital ground of the UMI-7764.
    the attachment below is the my max configuration about limit switches
    Attachments:
    max configuration.JPG ‏155 KB

  • CRIO using 9502 and 9514 for servo motor

    Hello,
    The 9514 states it is an interface from the cRIO to a servo driver and the 9502 states that it is a servo driver.  Can you hook the two together to work as a system?  Is there any benefit of using the two together as opposed to just one?  I couldn't find any reference in either manual of the other's use.
    Thanks,
    Zach

    "Why would the interface to an external drive have the PID loop on board, when the end product driver itself does not?"
    Essentially the cRIO FPGA is part of the 9502 module. Putting the control logic on the FPGA instead of in the module means that the module is less expensive and that it is more customizable. The performance is the same if not better.
    The goal with a lot of cRIO products, and especially new motion products, is to give customers an API that can be opened and customized by customers all the way down to the actual IO pins if necessary.
    In motion that means that when you use the 9502 you can run the example as is, or you can open it up and modify the logic that defines that hardware to customize it to your needs.
    While the 9502 is less expensive than the 9514+Drive there are some tradeoffs. The 9502 can support up to 4 Amps continuous current. We are doing a lot of work to make the LV FPGA-based 950x modules integrate seamlessly with NI SoftMotion.  In LabVIEW 2011 it takes some custom programming to write the interface code between the NI SoftMotion engine and the FPGA.
    The 9514 can potentially control a drive that can drive larger motors. It is also easier to use with the NI SoftMotion engine in LabVIEW 2011.

Maybe you are looking for