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

Similar Messages

  • 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

  • How to read the sensorvalu​e of the Hitech Gyroscope and Accelerome​ter in LabVIEW 8.2

    hello everyone,
    I am trying to read the value of Gyroscope  and Accelerometer (3 Axis respectively and simutaneously) in LabVIEW 8.2, but I didn't find any suitable standard VI .  Should I create a new VI by myself ( in this case I need LabVIEW 7.1, don't  I ?)  or can I convert the standard NXT-G block to LabVIEW VI ?
    I am looking forward to any reply. thanks
    Liang 

    now I describe my problem with more detail.  the VI ReadAccel showed me only "0" in LV8.2 , that means it dosn't work.
    Attachments:
    ReadAccel.PNG ‏8 KB

  • Read from both load cell and accelerome​ter

    Hi,
    I'm trying to collect data from both load cell (which doesn't need excitation) and accelerometer (which needs 4 mA excitation). As you can see below, I wrote a simple program to collect data from both devices. However, my program provides 4 mA of excitation to all channels, one of which shouldn't receive any current. How can I selectively provide the excitation to specific channels?
    Any suggestions?
    Solved!
    Go to Solution.
    Attachments:
    readfromtwodevices.vi ‏47 KB

    Good morning jeongho20000,
    Both aeastat and falkpl have provided excellent solutions for this.  I also wanted to mention a good KnowledgeBase article found at ni.com by searching for "daqmx channel same task" in the internal search bar.  This helps to outline both solutions.  After searching, you can then select multiple entries, but the best that I found was the 3rd choice, titled: Using Different Types of DAQmx Global Channels in the Same Task. 
    You can download from the article the attached example VI titled Multiple Channels Created.vi, and modify the block diagram to fit your needs.  Wiring the Task Out to the Task In of two DAQmxCreateChannel VIs is the programmatic equivalent of adding multiple Global Virtual Channels created in Measurement and Automation Explorer (MAX) to a common Task in MAX.  Either method works, it is only a user preference.  Feel free to reply if you need further clarification/explanation. 
    Best,
    Message Edited by cyclone2k9 on 04-06-2010 11:08 AM
    Message Edited by cyclone2k9 on 04-06-2010 11:09 AM
    Adam
    Academic Product Manager
    National Intruments

  • 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

  • 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

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

  • 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 to make the servo motor to move in steps of set degrees and stop

    how to make the servo motor to move in steps of set degrees and stop

    Hi,
    I think the following document would be a good starting place: NI Developer Zone Tutorial: Single Axis Moves It includes links to several example programs that you may find useful for your application. Keep in mind that there are many motion examples that ship with LabVIEW as well.
    I strongly recommend that you check out the following documents as well:
    NI Developer Zone Tutorial: Simple Point to Point Motion
    NI Dev
    eloper Zone Tutorial: Hands-On Motion
    NI Developer Zone Tutorial: Axis Settings for Motion Controllers
    These tutorials will help give you a good foundation for understanding motion control systems.
    Best wishes!
    Dawna P.
    Applications Engineer
    National Instruments

  • CompactRIO restart when run VI of NI 9505 and servo motor

    I plan to use NI 9505 to control a servo motor, and the cables are connected according to the manual of NI 9505 (The M+  and M- ports are connected with servo motor directly). I can read the the encoder value from VI, but when I try to control the servo motor by even a very simple VI, the error happens, and the compactRIO restart. When I disconnect the motor and 9505 module, the voltage between the M+ and M- port can be measured, and it  is 24 V. I think maybe the current of motor through the 9505 module is too high, but why and how to solve it. Is there anybody can help me? Thank you very much. 

    If you believe that your motor pulls more than 5A, take a look at this from the NI 9505 product page. It's the first bullet point.
    Continuous current of up to 5 A at 40 °C (or 1 A at 70 °C) at 30 V - for higher power add NI 9931
    The NI 9931 will allow the 9505 to supply up to 7.3A.
    www.movimed.com - Custom Imaging Solutions

  • Servo Motor and NI Card

    Hello,
    I'm pretty familiar with LabVIEW specially with the vision part of it, but I'm not familiar at all with servo motors.
    Problem statement:
    I'd like to make a VI that controls a servo motor that will rotate a screw every x amount of time (in both directions, obviously).
    Limitations:
    The screw turning should be a smooth as possible as it is a very delicate instrument and experiment. 
    As stated above, I don't know the first thing about servo motors and NI cards, and I would like to get some advice from you. Where should I begin? What are your recommendations for NI cards/ Motors?
    I don't think that the software aspect will be very challenging, it's just two nested loops-- the first is a while loop that controls the whole experiment time and the other controls the turning function.
    Unless, I underestimate to complexity of setting up a servo motor VI.
    I'd be happy to hear any thoughts/ideas you might have.
    Thank you,
    A

    Hey A,
    I would start by checking this website.
    I would recommend using a PCI card 7332, with UMI 7772, and AKD servo drive P00606. Then you can select the motor from here. Depending on the size of your application, choose a motor, and then make sure that the drive has enough current to power it. 
    Regards,
    A. Zaatari
    National Instruments
    Applications Engineer

  • Servo motor noice interfaren​ce in measuremen​t system?

    Dear Friends,
    In My control systems i am having servo motors.
    in addition to this I am using NI-9237 C series Module for loadcell measurement.
    Now, Ones i switch on these servo motor my loadcell signal gets disturb. and it gets retain to normal state as soon as servo motors are switch off.
    Please help me to avoid this intefarence to measurement system.
    regards
    Patel
    CLAD
    Labiew programmer

    Additionally, use separate grounds for the motors and measurement system. Connect these grounds together at one point using a small value resistor (e.g. 10 ohms).
    Ben64

  • Difference between BLDC motors and Brushless Servo Motors

    Hi
       I am new to the concept of motors and motor control. I dont know if I have come to the right place but it would be great if anyone can help me in finding out the differences between Brushless DC motors and Brushless Servo motors. Can I use NI motion controllers to control a Brushless DC motor?
    Regards,
    Suman.

    Suman,
    Brushless DC motors and Brushless Servo motors mean typically the same thing. The word "servo" implies that a position feedback resource (e. g. a quadrature encoder) is used for closed loop control.
    You can use NI motion controllers to control brushless motors. Please refer to this thread in the forums for more information.
    Best regards,
    Jochen Klier
    National Instruments Germany

  • Accelerometer sense tilt then interface with USB-6008 and generate PWM to control M995 servo motor

    hi everyone,
    currently im doing a final year project in LabVIEW using USB6008. my project involve of sensing the tilt from accelerometer and convert the tilt into PWM to control the turning of servo motor.
    accelerometer that im using is ADXL322 which has Dual axis ±2g sense range
    servo motor that im using is M995. when the servo motor in neutral position it required 1500microseconds, while it turns 90degree it requires 2200microseconds and whilw it turns -90degree, it requires 800 microseconds.
    currently im facing problem in generating the PWM signal to control the operation of servo motor.
    attachment is my VI design that i have done to date.
    the program is about attracting tilt range from accelerometer using USB NI 6008 and then convert the tilt into angle in degree, and after that generate PWM to control two servo motor.
    hopefully there is somebody can help me on this. thanks.
    Attachments:
    FYP.vi ‏253 KB

    currently i need to generate PWM to control servo motor model MG995. but i am facing problem in generating the PWM in between 800usec to 2200usec to control the rotation of the servo motor. is there any example for me to refer.
    below is my VI that i have done to date.
    hopefully somebody can identify my mistake because my VI is not able to turn the servo motor.
    Attachments:
    pwm.vi ‏128 KB

  • 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

Maybe you are looking for

  • Header Fields are not displayed when there is no data in the report

    Hi, I am having this strange situation in my webi report. When I refresh my report and when there is no data, column names are not being displayed in my report. All it is showing is two empty rows. When I have data, then report is displaying data alo

  • 80GB iPod Classic stuck in recovery mode, tried EVERYTHING

    Hello, i'm Michael, and i need some help right now :c i just got an iPod Classic with 80GB of HDD, just a gift, but it had some "issues" (the screen showed a dock connector and it reads "Use iTunes to Restore"), i had an iPod Touch 4G, and i had that

  • Hard reset problems - TX

    I had to do a hard reset on my TX because my stylus would not work. Now, after the hard reset, all I get is a screen that says "tap the center of the target." I have tapped the target probably 50 times and that screen won't go away. Any ideas? Post r

  • What notes are requiered for Infotype 0077 changes for veteran status?

    I am in component SAP_HR,release 500, Support Package SAPKE50051.  We want to be able to read the new veteran status in IT 0077.  I verified the tables PA0077 and I have the new table structure of VETS1 through VETS12, but the screen in PA20 only sho

  • 10.4.7 Update won't load

    When attempting to update to 10.4.7 the following appears part way through the download process: "The update "Mac OSX Update (Intel)" can't be installed. A network error has occurred:ERROR NSURLrrorDomain - 1005 (-1005). Make sure you can connect to