Interfacin​g external servo motor in NI sbrio-9632 and programmin​g for it.

Hi..
I am using NI starter kit containing SbRIO-9632 and programming it through Labview..Now if I want to interface external gripper to it, I am using servo motor for its motion but how it is possible to program for this external motor in Labview..I mean Do I need to make some pin high in SbRIO??
Pls help me to start.. 

Hi sharry,
You should be able to connect the signal pin of your servo directly into one of the Digital Pins of the SB-RIO. Then you can simple write a pulse of varying width using the FPGA to drive the servo. A good example of this can be found in the Example Finder. Simply search for "PWM", the example you want is called "Controlling a servo using PWM.lvproj".
The 5V and GND pin of the servo should be connected externally, so that the servo doesn't draw its power from the SB-RIO.
Also be aware that the digital pins on the SB-RIO operate at 3.3V, not 5V. So if you're outputting a pulse to control a servo, it will be a 3.3V pulse. For most servos, this won't be a problem (3.3V is within the range for a HIGH signal in  TTL and CMOS logic levels), but it's worth checking the datasheet with your servo first, or doing a quick test,
Kind regards,
Josh E
Applications Engineer
National Instruments UK & Ireland

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

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

  • Tuning servo motor to withstand external force of another servo motor

    Hi,
    I have two brushless DC servo motors connected to their own third-party amplifier operating in torque mode. These motors control a reel-to-reel system, where a metal ribbon travels from one reel to the other. One amplifier is connected to the NI 9516, where I am using Softmotion to control its velocity. The other amplifier is set at a constant torque to take up the ribbon.
    The problem I am having is with tuning the velocity-controlled motor to withstand the torque caused by the take-up motor. I need the motor to operate at a constant velocity while able to withstand the forces cause by the pull of the other motor. So far I have been unsuccessful at tuning it to counteract that external force. I was hoping to have Softmotion control the motor's velocity while the motor itself is set in torque mode, but it seems I have to set the motor to velocity mode to solve my problem. Is that the only answer, or is there another way?
    Linus

    Just to let you know, I already solved the problem. It seems that my initial settings for the servo amplifier was incorrect, and that I was providing too little power to the motor. It was set to a low power because it was making a noise when it was set to a normal value. I learned eventually that the source of the noise was not because of the power, but because the initial gain tuning parameters were not set correctly. When I changed the tuning parameters, I was able to supply more power to the motors, which gave it enough torque to withstand external forces.
    I initially used the gain tuning values recommended by the Getting Started the AKD EtherCat Drives guide, even though I was not using the same brand of motor. I though the suggested uning parameters would apply to my brushless servo motor, but it turns out that's not the case.

  • How to measure current on DC servo motor.

    Need to measure current on DC servo motor. What is the best way to measure the current on the motor as it moves to position? Using PXI-7344 controller and MID-7654 drive unit.  

    This is not an easy task. Here are some ideas:
    Direct current measurement:
    Add shunt resistors into the motor cabling and measure the voltage over the resistors. As the 7654 doesn't provide DC current but PWM current (32 kHz) you will have to acquire the data pretty fast (at least with 200 kHz). This could be done with a DAQ-board like the PCI-6220. Additionally you will have to do some math to calculate the RMS value of the current.
    Control voltage measurement:
    You could measure the output voltage of the 7344 as it is proportional to the duty cycle of the PWM current signal of the 7654. You will also need some additional measurement hardware but you wouldn't have to use shunt resistors and RMS calculations. The major disadvantage of this option is cabling as there is a single cable connection between the controller and the drive and you would have to use e. g. two external connector blocks and an additional cable in order to be able to connect your measurement hardware to the voltage output of the 7344.
    Torque measurement:
    Torque is also proportional to motor current so you could add a torque sensor to your motor and measure the output signal with e. g. a PCI-6220. Depending on your hardware setup this might be the best option.
    I hope that helps,
    Jochen Klier
    National Instruments Germany

  • Tuning servo motor problems

    I have a PCI 7344 connected to a UMI and a Ecodrive amplifier, with a linear modul and servo. Feedback is a incremental encoder 16404counts/rev (400counts/mm). When i try to autotune, the servo motor goes berserk, so I have to manually tune it with "Step response".
    I am able to get a nice response curve according to "Understanding servotune" but the problem is, curve starts at -50mS? and at 50mS it seems stable, but settling time is indicated to be 500 - 600 mS, and when i use "wait for move complete.vi" it waits about the same period before it returns "move complete". I was expecting/hoping for 50 - 100mS settling time. How to tune this? I run position mode and there is no problem regarding velocity, acceleration and position feedback, the only
    thing is that settling time is to long. I have no following error. Is there any other way to get a signal exactly when a position is reached.

    Hi, thank you for your answer.
    I still have problems with this, so here is some more questions.
    1. I am getting a perfect curve on the step response, similar to attached picture (1), only with shorter time scale. The step response report under the chart that settling time is 500-600mS, which is settling time (<100mS) and steady state (>400-500mS) together. This period seems to be the same that i am experience with "move complete.vi".
    I have Kp=7 Kd=14 and Ki=1, and i have tried to adjust these values but this is the best i get.
    Does the loop need that time to determine that move is complete?
    2. The move i want to do in my application is a movement about 20000 counts (50mm) in 130mS, wait 100mS and return to start in 130mS, this is possible if I use
    software delay and start return move before first move is settled according to "move complete.vi" But this generate a increasing stop position error each move if I loop this sequense with 100mS rest time. These timings should be possible with the hardware I am using. Any suggestions?
    3. I have set the driver/amplifier in velocity mode (incremental encoder feedback), how is that compared to torque mode in the driver in this case?
    4. It is possible to get a second feedback from the drive (torque, velocity or position from an analog output) but this is 8 bit and less accurate than encoder. I also have a second external encoder for precision measurement and a force cell, but they are only active parts of the range to the servo (under the desired move) is there any other way i could set this up?
    Regards
    Attachments:
    153.gif ‏29 KB

  • Como zerar o indicador LV que lê o um sinal de um resolver de um servo motor e a posição de um transdutor linear?

    Estou coletando através de uma placa PCI 6221 um sinal de um resolver de um servo motor, porém quando mando referenciar o zero no servo motor a placa não indica que o motor está na posição 0º.
    Isso também ocorre com um transdutor linear de posição Heidenhain MT 1271, onde não consigo referenciar a posição zero de trabalho.

    Discussão movida de  Comunidade SAP em Português (Portuguese Language Community) para Bancos de Dados & Tecnologia (Database & Technology)
    E Paulo. Obrigado por contribuir.

  • Why does not my servo motor work?

    Hello all,
    I can work my servo motors, so I have two questions.
    Firstly, I'm using PXI-7340 & UMI 7764 to control AC motor on servo motor (TAMAGAWA SEIKI co.),
    But in MAX, motor doesn't work with servo type.And there is no signal between AnalogOutput and AnalogOutputGround.
    Can I connect UMI to the motor correctly?
    Now, I connect encorder signals with changing differential line driver (motor driver) to TTL (UMI) using quadruple differential line receiver.
    Is it right?
    If it is right, why does the motor work?
    Secondarily, when I use stepper type in MAX, the motor work with open-loop. But when I use stepper type in MAX, the motor doesn't work with cloosed-loop.Why?
    Polarities of encorders(A, B, Index) make matches my servo motors by setting in MAX.
    Why?
    Thanks,
    megumi
    Attachments:
    TAMAGAWA SEIKI motor&driver.pdf ‏3063 KB

    Thank you for your reply.
    The "does not work" means that the motor doesn't move with servo type.
    In MAX, there is no error when a target position is less than 999 in 1-D Interactive, but doesn't move. When the target position is more than 1000 and I click "Apply" and "Start", error ramps of "Motor off" and "Following error occurred" are red. And the motor doesn't move.
    I thought that firstly signals of encorder have been wrong because the motor have not moved with stepper mode of closed-loop and feedback of encorder.
    So I would connect correctly wiring of encorders, but the motor doesn't move.
    Wiring of all is "STEP", "DIR", "AO", "ENC A, B and Index bar" respectively. In MAX, type is servo mode, feedback is encorder, kinds of limit switch are not used.
    I supply it if you need the other setup of wiring or information.
    Regards,
    Megumi

  • Servo motor encoder pulses/counter data erroneous

    First off, I am very new to using labview.  I am trying to complete a project a former employee was working on.
    For a quick background on what I am working with, I am using a NI DAQCard-6036E connected to a SC-2345.  The SC-2345 is then connected to a load sensor, Omron R88D servo driver, and an omron servo motor.  The servo motor has a incremental encoder with a resolution of around 2048 pulses per revolution.  My labview program includes a counter that records the data from the encoder on the servo motor.  I have been able to get accurate data when testing through the measurement and automation program by manually turning the motor.  Also when running through the specific DAQ assistant I am using for my counter, I am getting correct readings when manually turning motor.  Once I run my complete program, instead of getting 2048 pulses per revolution, I am getting between 34000-36000 pulses per revolution.  The most logical assumption is that I am getting vibration in the motor itself or some sort of noise is interfering with my signal.  I first attempted to change any possible settings through the omron servo driver that might reduce any vibration in the motor.  I attempting changing the rigidity settings, turning on and off the auto-tuning function, and a few other settings specified by the user manual that might cause vibration.  If I turn the rigidity settings as low as possible, I am able to get around 2000 pulses per revolution, but the data is very sporadic. Also, my equipment needs to be very rigid, and with the lowest rigidity setting for the servo driver, I am able to almost stop the motor with minimal force.  My equipment needs to be able to travel at a near constant speed with fluctuations of up to 200 N of force.  Any suggestions on which direction I should go in finding a countermeasure? 
    Thanks
    Solved!
    Go to Solution.

    The model number of the servo motor is R88M-W10030L.  The servo motor rotates at a constant speed.  The program is designed to drive the servo motor connected to a ball screw in one direction.  Once the load sensor reaches a desired load, it will reverse at a constant speed until no load is on the sensor. Throughout, it records load vs. displacement.   I have found a few things that will alter the pulses counts.  If you apply resistive pressure on the servo motor while it is rotating, the pulse output will vary.  Also when you apply pressure to the casing of the servo motor itself, the pulses will often jump around. I was almost certain my false pulses were caused by vibration.  After have no success adjusting settings to reduce vibration(according to the user manual), I ran the program while moving around several wires to see if any were loose, etc... After applying force to the power lines and encoder cable, the program ran several times with an average of 2000 pulses per revolution and would actually subract pulses while going in reverse(what I want it to do); Although the average was around 2000 pulses per revoltion, i saw positive and negative jumps in pulse counts while traveling forward at constant speed.  Today I re-wired the equipment, seperating as many wires as possible.  After the re-wire, the equipment/program is back to sending 34000+ pulses per revolution, and does not subract pulses while reversing.  I have read the 'Using Quadrature Encoders with E Series DAQ Boards' article.  Referring to the article, I am running similar to "method 1".  I am already using a signal conditioning box, but have the counter data run directly through. Do you believe running the signals through a SCC-CTR01 might solve the problems? 

  • Test stand design for high speed brushless dc servo motor efficiency testing

    We are in the process of designing two test stands around the brushless dc servo motor in the attached specifications.  The first we would like to operate using Labview and a PXI-7352 controller.  The second will be a real time configuration.  The motor will need to run in the 25-50,000 RPM range.  We want to bring the hall sensors back to the controller and do PID and other control there.  The sinusoidal commutation from the controller would then go to an as yet unselected servo amplifier.  When the motor is under test we want to be able to measure accurately the power that is being used by the motor - not the motor and controller / amplifier.
    Can the PXI-7353 handle this motor speed range?
    Will Labview and the PID toolkit be sufficient software to program the first test stand?
    Any example VI's available for this approach (I could not locate any)?
    What is the appropriate controller for a real time system?
    What is the best way to instrument the motor to determine power required at a given test point?
    Any suggestion on a servo amplifier?
    Thanks in advance,
    David
    Attachments:
    B0912-050 Brushless Motor.pdf ‏91 KB

    Mr. Zaatari,
    As you will note, there are six questions posted above.  As you also know, I have been waiting for your response for 5 days and decided to use this alternate method in hope of getting my questions answered.  As you further know you have not answered these questions.   It is a shame that you will  not post your "answers" here so that the rest of this wonderful NI community might have the benefit of your knowledge as well.
    I will respond further to you by email.
    David

  • Can some body help me to develop labview code for generating pulse to drive ac servo motor

    can some body help me to develop labview code for generating pulse to drive ac servo motor... i am using NI 9401 card ....tnx

    Driving an AC servo motor would (I missed AC on the previous msg) requires some complex hardware. This is generally done by drivers specifically designed for this purpose. I doubt you will be able to accomplish this with the hardware you currently have and it might be cheaper to just buy a driver for it and control the speed through the driver.

  • Time varying velocity input for servo motor

    I 'm running a PXI-8145RT CPU with a 7344 motion controller.I want to load a time varying velocity profile for my servo motor.How can I do this? The "load velocity" tile does not have an input for such a profile,but only for a maximum velocity that will be reached after a certain time.

    Are you using the Motion Assistant or a programming language like LabVIEW? If you are using the motion assistant, you can do a contoured move with a Position-Velocity-Time Profile. I have never done this, but it sounds to be what you are looking for. This assumes that you have a controller that can do contoured moves.
    Hope that this helps,
    Bob
    Bob Young - Test Engineer - Lapsed Certified LabVIEW Developer
    DISTek Integration, Inc. - NI Alliance Member
    mailto:[email protected]

  • 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

  • Servo motor

    Hi All,
    Currently I am working on a project involved programing LabView to control an AC servo motor. I have done some simple simulation and controller design algorithm on Simulink and I wish to implement my controller from Simulink to LabView and I am struggle to find the way to input my controller in terms of transfer function. I know there is an add-on toolkit for Control Design and Simulation in LabView, but due to tight budget, I could not purchase that add-on. Therefore I am posting this to ask whether is there any other way I can design/test the controller that I design from Simulink to LabView.
    Thanks.  
    *P.S. Attachment is the basic VI I am using to run/test my servo motor. I need to add on a controller in front, before the signal being sent to motor. 
    Attachments:
    IP2.png ‏17 KB
    26 April Single Axis.vi ‏23 KB

    From the z transform you can generate an algorithm that you can then enter in LabVIEW using the normal functions (shift registers, add functions etc). For example a PD controller might be described in Z and then converted to an algorithm as shown below
    You could then enter this algorithm in LabVIEW
    If you are still stuck I recommend you look in a good control text book which will explain it better than I can
    David
    www.controlsoftwaresolutions.com

  • From where in the UMI flex 6c I should give enable to servo motor amplifier/​driver.

    I am using ADS 50/5 maxon amplifier to run the maxon servo motors with Flex 6C. The problem I am facing is that, How to enable the amplifier so that it works only when desired. I have tried by connecting the enable to the inhibit output but it is not working. before connecting to enable Inhibit output is showing 5v but as soon as I connect it , it drops to 1.5V. I am giving encoder feedback to 6C. Motor runs when I directly connect enable to the power supply, but then it runs continuously. Can anybody suggest me about the correct connections.
    regards
    vkmehta

    If the output voltage of the inhibit output drops to around 1.5V as soon as you connect it to the enable input of your servo amplifier you should check the specifications for the enable input of the amplifier. It seems that an optocoupler is used, and if you apply 5V without any series resistance to the input led of an optocoupler the input voltage will be clamped between 1.5 and 2V. Also, the optocoupler may get damaged due to excessive current on the input led.
    Check the manufacturers specifications for correct input wiring. In most cases a series (current limiting) resistor is needed, somewhere around 470 ohms.
    You should also check whether you are applying the correct logic level to the enable input. Some servo amplifiers need a logic 1 (= 5V) on t
    he input, some require a logic 0 (= 0V) to shut down the amplifier.

Maybe you are looking for

  • Closed Fiscal Year in Financial Accounting

    Hi! I need create a used asset in 2009. It is a asset that was not uploaded in go-live. I tryed transation AS91 but show me the message AA669 (Fiscal year 2009 is already closed in Financial Accounting). How I can upload this asset in AA without chan

  • Print/Design Software on Mac

    Hey I just bought a new MacBook as in yesterday. I'm also a newbie (Mac user that is). I used Microsoft Publisher A LOT on my PC, is there any compatible print/design software for a Mac (besides Adobe InDesign)? or Can I install MS Publisher using Bo

  • Item quantity impossible to reduce after changing header currency

    We have a sales order with several line items. Item 80 has a quantity of 22.500 pieces of material 935269912518. There has been a delivery of 15.000 pieces. These are also invoiced with the currency USD4. This was the header currency at the time. Now

  • BAPI or FM to change an inspection Plan

    Hi everyone, I have a requirment,when a specification (Recipe managment) is changed ,the data accordingly should be updated in the inspection plan that is linked with that. Can you pelase let me if i have any function module or BAPI which can be used

  • 8310 PDF Reading - Not Solved

    Contrary to what my ham-fisted fingers hit (the Solved Button), I still can't read PDF files.   I am unable to read PDF files unless they are sent as actual email as attachments.  I intend to use the 8310 to read service manuals instead of my compute