Servo Motor Control

Hi all...
I'm working with the AT-MIO-16E-10 Board,
and I use its 2 counter (0 and 1) to control 2 servo motors, when I
using them to generate continuous pulse, both motors can move
continuous. But my problem is, when I generating a finite pulse train,
only either 1 motor can move(ie. no of pulse=10000)...why and how can I
control 2 servo motors by this board?

sushma:
You currently have 4 other threads asking help for control of a stepper, one of which you said you had a working solution. Now you are asking about servos which operate totally different from stepper motors. Please keep discussion on one thread and include what hardware you have to work with (motor driver, motor, DAQ card) so that others may help in an efficient and timely manner.
Thanks
~~~~~~~~~~~~~~~~~~~~~~~~~~
"It’s the questions that drive us.”
~~~~~~~~~~~~~~~~~~~~~~~~~~

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

  • Control a servo motor thru labview.

    I want to control a servo motor thru labview. I have the following hardware: servo motor, electro-craft bdc-12, s8vm-15024 cd power supply, NI PCI-7831R, and scb-68 circuit board. I am new to the field and I have no idea how to connect the amplifier to the circuit board and create a program in labview to control the motor. Thank you for your help.

    reposted here: http://forums.ni.com/t5/LabVIEW/I-want-to-control-a-servo-motor-thru-labview/td-p/1651742

  • 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

  • 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

  • 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

  • DC motor control

    dear all,
    I should control 2 DC servo motors with labviw.
    currently i have Labview 7.1 and PCI-6221 M-Series DAQ card.
    what i need is to implement a  control algorithm to control the motors at each millisecond.
    i actually have a profile of motion and i should differentiate it with respect to time for velocity and acceleration information and i dont know how to do that
    plz help me to solve my problem. 
    best regards,
    masood

    Masood,
    It will be difficult to develop a robust program for motion control using the PCI-6221.  The PCI-6221 DAQ card will only source 5 mA, which will most likely not be enough power to effectively drive both servo motors.  So the first thing you will need is a drive or amplifier for your motor.  Also, it will be very difficult, and probably impossible to get windows to run code deterministicly at 1ms intervals. 
    I would recommend using one of our motion controllers (7330, 7340 series controllers).  This would be the fastest and easiest method.  Another option would be our SoftMotion control module.  The SoftMotion control module will be the the least expensive of the two.  If there is no budget for additional hardware/software, you will need to develop your own control algorithm. Here is some information to get you started:
    Introduction to Mechatronics
    http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=BD3CD96DA0C3692EE034080020E74861&p_...
    Fundamentals of Motion Control
    http://zone.ni.com/devzone/conceptd.nsf/webmain/722ECF56222AAD5086256F7B007072C4
    Basics of Feedback
    http://zone.ni.com/devzone/conceptd.nsf/webmain/147F72A0CD247A6586256841006AEC57?opendocument
    S. Arves S.
    National Instruments
    Applications Engineer

  • Need some info about Brushless Motor control

    Hi
       I am new to motion control and I am planning to control a Brushless Servo Motor. What I understand from  the motion control tutorials is that I need to use a high performance controller with a third party drive to control a brushless servo motor. Can anyone let me know if thats right and also help me out in finding some more information about Brushless Servo motors and how to control its motion.
    Thanks,
    Sada

    Sada,
    "Do u know where I can find some detailed information about controlling a brushless motor so that I can decide which of the two options to follow?"
    Servomotors
    The NI-Motion users manual has a section on brushless servo motors...
    NI-Motion User Manual
    The 7350 help file (the only Motion boards that can provide internal commutation) has a section on brushless servo motors.
    NI 7350 User Manual
    In almost everycase I am aware of, you will need to buy a UMI to interface with a brushless motor drive (the only case in which this wouldn't be true is if the Drive manufacturer created a drive specifically to cable directly to an NI Motion board).
    Feel free to ask more questions,
    Lorne Hengst
    Application Engineer
    National Instruments

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

  • Need help with LabVIEW code for motor control.

    Hi,
    My name is Sasi. I am a BME grad student working on my thesis topic of evaluating spine implants for low back pain. For this I am building a test machine that would apply pure moments to a spine specimen. I am using LabVIEW 8.5 to implement control of a brushless AC servo motor. My requirement is,
    Step 1: Initialize the motor.
    Step 2: Start moving it at a uniform RPM to the right (This RPM value too user can enter).
    Step
    3: While doin Step 2; simultaneously read torque cell data (Using DAQ
    asst.). DAQ o/p is from 0 V to 10 V; 0 V being -10 Nm n
                10 V being  +10 Nm
    Step 4: When Torque value reaches +10 Nm, i.e 10 V, the motor stops.
    Step
    5: From the position where motor stopped (i.e no need to reset to
    initial position) Start moving in the opposite direction at the same
                uniform RPM as in Step 2 while reading torque cell data.
    Step 6: Once again when torque reaches -10 Nm, i.e. 0 V, the motor should stop.
    Step 7: Repeat 'Step 2' to 'Step 6' 3 times.
    Step 8: Reset motor postion.
    Till now I have managed to get the motor to move forward n backward @ a desired vel, accl, n deceleration for 3 cycles. I am attaching my code. I am having problem inserting the code for reading DAQmx amidst all this. Can anyone help me out.
    Thnks,
    Sasi.
    Solved!
    Go to Solution.
    Attachments:
    Test_012609.vi ‏35 KB

    Hi Sasidhar,
    I took a look at your problem and I think I have a workable solution for you.  I definitely agree with Lynn's suggestion of using parallel loops.  This will allow the DAQmx portion to run uninhibited by the motion portion, and vice versa.  Plus, you only need to iterate the motion loop whenever the voltage level crosses a threshold.  So, by iterating on the motion code in the same loop that you are iterating on DAQmx code, you are essentially wasting processor.
    I created a VI that should do what you are wanting.  I tested it out myself and it works great.  You might have a tweak a few things to apply to your system (like motion board ID and DAQmx physical channel, etc.).  I used two parallel loops and event-based programming.  Basically the motion loop starts the motor spinning at the specified velocity.  Once the motor is spinning, it waits for the DAQmx loop to tell it that the voltage value has crossed the threshold.  When the voltage value exceeds the maximum threshold (which I set to a value slightly less than 10 to allow for jitter and saturation), the DAQmx loop signals the motion loop that it can finish its iteration.  The motion loop stops the motion, reverses the direction, and starts the motion again.  Once motion has started, it again waits for the DAQmx loop to tell it that a threshold has occurred, but this time, it is looking for a minimum threshold.  I used "Occurrences" to implement the event-based programming in LabVIEW.
    I have commented the code rather thouroughly, so hopefully the comments will answer any remaining questions.  The benefit of using event-based programming for this is that you save processor time, and your motion is more closely synchonized with the DAQmx.  Instead of iterating the motion loop as fast as you can, checking for updates each time, you just pause it, and wait for the other loop to tell you when to start up again.  In the mean time, the processor doesn't have to worry about iterating that loop over and over again.  Also, when the occurrence does occur, you catch it immediately, instead of having to wait until the next iteration.  Thus, you are more closely synchronized with the DAQmx portion of the code.
    I hope this will help you.  Please post back if you have any questions about the code or its implementation.  Good Luck!
    Message Edited by Wes P on 02-03-2009 05:18 PM
    Wes P
    Certified LabVIEW Developer
    Attachments:
    Motion and DAQ.vi ‏59 KB
    DAQmx Loop.png ‏24 KB
    Motion Loop.png ‏17 KB

  • 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

  • FPGA programming for motor control using free downloadable IP cores for PWM and Quadrature encoder interfacing

    Hi,
    I have a cRIO-9014 with a NI9505 DC brushed servo drive module, and I would like to program the FPGA for PWM and Quadrature encoder interfacing using the intellectual property IP functions mentioned in the "CompactRIO Motor Control Basics Tutorial":
    Quadrature Encoder dX Method (FPGA, Use in SCTL).vi
    Pulse Width Modulation (FPGA, Use in SCTL).vi
    I made a search at ni.com/ipnet but I couldn't find them.
    Where can I find free downloadable IP cores for PWM and encoder blocks to include them in my FPGA interface program?
    Thanking you in advance,
    Manuel
    Solved!
    Go to Solution.

    Found by myself (google search!) at:
    https://lumen.ni.com/nicif/us/codepowelecguide/content.xhtml

Maybe you are looking for

  • I want to create a blog on my website but don't know where to start.

    My server is Lunarpages and they have Wordpress for creating a blog. Can you direct me to simple bulleted instructions on how that might interface with using my website template that is consistent for all html pages? I already have eBlogger.com blog

  • ITunes on Win 7 Pro won't recognise iPhone

    iPhone 4 S is 12 months old next month. OS is 7.0.2 iTunes vers is: 11.1.0.126 Computer OS is Win 7 Pro (anti virus is Microsoft Essentials, Firewall is ZoneAlarm) I have manged to connect the phone to iTunes ... so there is a backup. However, that w

  • Query result: reducing the query's line returned

    I have the query output below: SELECT null NRO_NEW, 123 NRO_OLD, 384603 OID_OLD, null OID_NEW FROM DUAL UNION ALL SELECT null , 0143355014948714, 384611, null  FROM DUAL UNION ALL SELECT null , 0143356000159014, 385305, null FROM DUAL UNION ALL SELEC

  • Officejet 5610 All-in-One Printer: Properties dialogue box for Mac OS

    I recently connected an Officejet 5610 to a Macbook Air (OS 109.2) & was offered the default driver download which I accepted. The Properties options for the printer are very much different than for Windows XP that I was using and seem to offer far f

  • Packaged Application installation error??

    Hi guys, I have downloaded sample packaged application from APEX product home page, and trying to download these application but continiously facing error, i have tried both to install (using application express and through sqlplus with FLOWS_020200