Arduino PWM to Servo

I wante to blend these two example  VI's,  "Arduino Servo" and "Pulse and Transition Measurements".   So that in the end, i get a servo output (servo 1) position based on  the input from a PWM % that is comming in from a stand alone PID loop controller in SSR mode.  ANY help would be SWEET!  And YES, i'm new.  I have gotten the Arduino Servo VI to work and messed with it some.

So if i could figure out how to combine these examples i could have the servo respond to the temperature change via the PI control feedback
Attachments:
Arduino Servo.vi ‏904 KB
PI_control2.vi ‏109 KB
Thermistor Read Example.vi ‏1182 KB

Similar Messages

  • Pwm - Sonar/Servo Area Detection

    Hello,
    In the process of developing an area detection, a stopping point has been hit. The included code is simply for pwm on a MyDAQ. The pulse wave is to drive a RC servo. Really where the dead stop has occured is that the pulse wave only drives the servo between 0 degrees and 90 degrees. I'm not sure why this is the case. The vi starts by using a shift register to move between 1 and 10. This is a back and forth process. This process is intended to develope the part of the pulse wave between 1ms and 2ms, which according to most data sheets will take care of moving the servo back and forth between 0 and 180 degrees. It is my understanding that the complete wave cycle must be around 20 ms. There is a for loop for adding 10 to the shift register, and determining if this is greater than the iteration of the for loop. If this evaluates as true the case structure builds and array for 180 degrees, and if false developes an array for 0 degress.  In all the waveform to my understanding follows the necessary process for devloping a PWM which would drive a servo.  Again, it only goes from 0 to 90 degrees.
    Thanks for any helpful hints
    Attachments:
    Sonar_PWM Area Detection.vi ‏80 KB

    My recommendation would be to look over the below community example on how to output a PWM signal on your myDAQ hardware. The specific application is different, but the DAQ calls are the same. Rather than building a custom array and then continually writing the waveform, you should be able to set the duty cycle directly using the DAQmx Timing VIs and property nodes.
    https://decibel.ni.com/content/docs/DOC-23438
    Karl G.
    Applications Engineer
    ni.com/support

  • Dynamic Duty Cycle Change for PWM

    Hello savvy LabView people out there!
    I am trying to do PWM for servo control using LabView.
    I have been able to manually move my servo with this: http://www.ni.com/white-paper/2991/en
    My goal is to automate the servo position as a sinuisoidal movement, and to do so,
    I need to automate the duty cycle to oscillate in 5%~10% automatically over time.
    I have looked into some stuff as:
    http://forums.ni.com/t5/Counter-Timer/PCI-6602-PWM-GENERATION-Dynamic-sine-duty-cycle/td-p/1522442
    But it was not too helpful, as I was also getting Error -200301.
    I want to be able to move the servo position at ~10Hz, if that is important, and the square wave freq. for the
    servo signal (PWM) has to be 50Hz.
    Any help? Thank you!
    Attached is what I am trying to do. The sine motion of the servo is (supposed to be) actually paired up with
    an analog output from a BNC-2120 board. The servo control part is separated on the top portion.
    Solved!
    Go to Solution.
    Attachments:
    ServoTest3.vi ‏110 KB

    Is something like this for the PWM look like what you had in mind?
    (see attached)
    This works, but I need something that responds faster.
    For example, the PWM needs to be at 50Hz, which means the loop delay should be able to
    go as low as 20ms
    In the picture, it is currently 200ms, and this does not run. I found that with 50Hz, the minimum
    delay that the Error 200301 doesn't pop up is with 500ms delay, at which point the
    accuracy of PWM duty cycle in each period is compromised.
    Is there a way to have the loop delay be as low as ~20ms?
    Attachments:
    Servo.jpg ‏52 KB

  • Problem display from solar power charger

    anyone can help me to solve the problem in my snippet? i can't display my voltage etc on my manual control mode, but auto mode can be display. currently using labview interface for measurement, arduino for control servo motor.
    Attachments:
    latest testing.png ‏267 KB
    asdasdasd.png ‏448 KB

    Duplicate - http://forums.ni.com/t5/LabVIEW/labview-manual-display-problem/m-p/3110137

  • 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

  • RC Servo control using FP-PWM-520?

    I was wondering if anyone has any experience using Labview (7.0) to control a Fieldpoint FP-PWM-520 module to drive small RC aircraft servos? I am a chemist and I am very inexperienced in advanced Labview programming but I am trying to make good use of the equipment I have available. I want to use the servos to automate a remote radiochemical synthesis ( as a syringe driver)  I have read that I may need a pulse width of up to 2 ms to drive this servo. This may kill the project right away since the output of the FP-PWM-520 seems to only go up to 1ms. Is that so? Anyway I would also very much appreciate any example code with LV 7.0 that may show this type of control. I apologize for my lack of knowledge in coding. I hope I can sort of reverse engineer someone elses code and learn a few things in the process. Thanks very much for any and all help!
                                                                                                                   Steve Toorongian

    We tried to use a cFP PWM module to drive RC servos and it almost worked.  My recollection
    is that we could move the servo as required but the turn on and turn off issues killed the idea
    for our application.  There is no way to control when in the PWM cycle the module turns off
    it's output, therefore the final position of the servo (after you turn off the pwm output) could
    be anywhere.  Subsequently, turning on the pwm would cause it to jump from wherever it
    stopped after turn off to the new position.
    Our solution was to develop a small microcontroller based pwm driver.  This gives us complete
    control over the pwm output as well as a bunch of remote I/O points.  We multiplex up to
    64 of these devices onto a serial port on the fp controller.
    If the turn on and turn off issues aren't a problem I can dig out some of our testing .vis.  They
    are not finished applications, just 'move the servo' kind of things.
    The microcontroller driver was developed under contract so I can't offer any of that stuff
    without permission.  Let me know if that would be of interest.
    Matt

  • 7344 servo motion switching between open and closed loop operation

    I have a custom end-of-line test system presently using a 4-axis 7344 servo controller to perform various functional tests on small, brushed DC motors. The system is programmed in C/C++ and uses flex motion functions to control the motor during testing. Motors are coupled to external encoder feedback and third party PWM drives running in closed-loop torque mode from an analog command signal. The system uses all four motion axis channels on the 7344 board to independently and asynchronously test up to four production motors at a time.
    In closed-loop mode, the system runs without issue, satisfying the battery of testing protocols executed by this system. I now have a request to add additional test functionality to the system. This testing must be run in open loop mode. Specifically, I need to use my +/- 10v analog output command to my torque drive to send different DAC output levels to the connected motor.drive while monitoring response.
    I do not believe the flex motion library or 7344 controller includes functions to easily switch between open and closed loop mode without sending a new drive configuration. I am also under the impression that I cannot reconfigure one (or more) servo controller axis channels without disabling the entire drive. As my system runs each axis channel in an asynchronous manner, any requirement to shutdown all drives each time I change modes is an unworkable solution.
    I am open to all ideas that will allow asynchronous operation of my 4 motor testing stations. If the only solution is to add a second 7344 controller and mechanical relays to switch the drive and motor wiring between two separately configured servo channels, so be it. I just want to explore any available avenue before I place a price tag on this new system requirement.
    Bob

    Jochen,
    Thank you for the quick response. The 7344 board does an excellent job running my manufacturing motor assemblies through a custom end-of-line tester in closed loop mode. A portion of the performance history and test result couples the motor through a mechanical load and external shaft. The shaft is in contact with a linear encoder that closes my servo loop.
    My new manufacturing requirement is to also sample/document how the small DC motor behaves in open loop operation. Your solution is exactly what I need to perform the additional functional tests on the product I am manufacturing. I see no reason why this cannot work. I was originally concerned that I would need to reinitialize the 7344 board after changing axis configuration. Initialization is a global event and impacts all four channels on the 7344 board.
    Using flex_config_axis() to change axis configuration on a single channel without disturbing other potentially running axis channels will solve my concern. It will be several weeks before I can return to the manufacturing facility where the 7344-based testing machine is located. I will update this thread once I verify a successful result.
    Bob

  • Position Control of compumotor linear servo table and GV-U6E with PCI-7344

    I'm referring PCI-7344 (not 7334).
    I have the GV-U6E which is a drive only and does not possess control functionality. the drive only version does not store or use programs. So, serial commands can not be sent through COM port by LabVIEW even though A few basic commands can be emulated.
    I am trying to do position control as I mentioned. For example, the motor should move A point to B point exactly with a certain speed. The points must be aboulte position.
    I would like you to see the reference comment that I have been contacting with in your website forum.
    http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RPAGEID=135&HOID=506500000008000000DD490000&USEARCHCONTEXT_CATEGORY_0=_14_&USEARCHCONTEXT_CATEGORY_S=0&UCATEGORY_0=_14_&UCATEGORY_S=0
    Regard,
    Jin Ho Lee
    ----- Original Message -----
    From:
    To:
    Sent: Thursday, September 26, 2002 5:00 PM
    Subject: Re: (Reference#1549-QYW196) "Position Control of linear servo table and GV-U6E with PCI-7344
    >
    > Note: Your reference number is included in the Subject field of this
    > message. It is very important that you do not remove or modify this
    > reference number, or your message may be returned to you.
    >
    >
    > JinHo. Compumotor is a very popular brand, and I know of several customers
    > who integrate our 7334 with Computmotor drives. However, when you say that
    > the MAX configuration doesn't fit in the compumotor drive settings, are you
    > referring to the specs from the 7344? It looks like the 7344 and the
    > Compumotor will work well together through a UMI break out box. If you're
    > referring to specific commands that the Compumotor receives, I'd have to
    > know more about the protocol. If the Compumotor needs serial commands,
    > then you can send them through the computer's COM port from LabVIEW.
    > Please let me know exactly what kind of configurations you're trying to
    > set. The 7344 can be completely configured in MAX and LabVIEW.
    >
    >
    > Best Regards
    >
    > Kyle Voosen
    > Applications Engineer
    > National Instruments
    > http://www.ni.com/support
    >
    > ------------------------------------------------------------------------------
    >
    > Problem Description :
    > "Position Control of compumotor 406LXR linear servo table and GV-U6E(motor
    > drive) with PCI-7344"
    >
    > "Since I had the answers referring:
    > http://exchange.ni.com/servlet/ ProcessRequest?RHIVEID=101&RPAGEID=135&
    > HOID=506500000008000000DD490000& USEARCHCONTEXT_CATEGORY_0=_14_&
    > USEARCHCONTEXT_CATEGORY_S=0& UCATEGORY_0=_14_&UCATEGORY_S=0
    >
    > Wiring step was done well. However, I still have a problem that MAX
    > configuration doesn't fit in compumotor drive settings. Therefore, the
    > setup is shown below, and I want to know how I can set up PCI-7344
    > configuration in MAX or LabVIEW VI.
    >
    >
    > -----------------------------------------------------
    >
    > Uploaded from device address 0
    >
    > Gemini GV Servo Drive Setup
    >
    >
    >
    > Motor Setup
    > DMTR 1703
    > Motor ID (406-x-LXR-M-x-D13-x-x-x-x-E5-x-x-x)
    > DMTIC 2.48
    > Continuous Current (Amps-RMS)
    > DMTICD 0.00
    > Continuous Current Derating (% derating at rated speed)
    > DMTKE 17.6
    > Motor Ke (Volts (0-to-peak)/krpm)
    > DMTRES 10.10
    > Motor Winding Resistance (Ohm)
    > DMTJ 119.300
    > Motor Rotor Inertia (kg*m*m*10e-6)
    > DPOLE 1
    > Number of Motor Pole Pairs
    > DMTW 40.5
    > Motor Rated Speed (rev/sec)
    > DMTIP 7.40
    > Peak Current (Amps-RMS)
    > DMTLMN 3.4
    > Minimum Motor Inductance (mH)
    > DMTLMX 3.4
    > Maximum Motor Inductance (mH)
    > DMTD 0.000000
    > Motor Damping (Nm/rad/sec)
    > DMTRWC 0.23
    > Motor Thermal Resistance (degrees Celsius/Watt)
    > DMTTCM 20.0
    > Motor Thermal Time Constant (minutes)
    > DMTTCW 0.33
    > Motor Winding Time Constant (minutes)
    > DMTAMB 40.00
    > Motor Ambient Temperature (degrees Celsius)
    > DMTMAX 90.00
    > Maximum Motor Winding Temperature (degrees Celsius)
    > DHALL 1
    > Disable Hall Sensor Checking
    > DMTLQS 0
    > Set Q Axis Inductance Saturation
    > DMTLDS 0
    > Set D Axis Inductance Saturation
    > DTHERM 0
    > Disable motor thermal switch input
    >
    >
    >
    > Drive Setup
    > DMODE 2
    > Drive Control Mode
    > DRES 8400
    > Drive Resolution (counts/rev)
    > DPWM 16
    > Drive PWM Frequency (kHz)
    > SFB 1
    > Encoder Feedback
    > ERES 8400
    > Encoder Resolution (counts/rev)
    > ORES 8400
    > Encoder Output Resolution (counts/rev)
    > DMEPIT 42.00
    > Electrical Pitch (mm)
    > SHALL 0
    > Invert Hall Sensors
    > DMTLIM 1.5
    > Torque Limit (Nm)
    > DMTSCL 1.5
    > Torque Scaling (Nm)
    > DMVLIM 119.000000
    > Velocity Limit (rev/sec)
    > DMVSCL 119.000000
    > Velocity Scaling (rev/sec)
    >
    >
    >
    > Load Setup
    > LJRAT 0.0
    > Load-to-Rotor Inertia Ratio
    > LDAMP 0.0000
    > Load Damping (Nm/rad/sec)
    >
    >
    >
    > Fault Setup
    > FLTSTP 1
    > Fault on Startup Indexer Pulses Enable
    > FLTDSB 1
    > Fault on Drive Disable Enable
    > SMPER 8400
    > Maximum Allowable Position Error (counts)
    > SMVER 0.000000
    > Maximum Allowable Velocity Error (rev/sec)
    > DIFOLD 0
    > Current Foldback Enable
    >
    >
    >
    > Digital Input Setup
    > INLVL 11000000
    > Input Active Level
    > INDEB 50
    > Input Debounce Time (milliseconds)
    > INUFD 0
    > Input User Fault Delay Time (milliseconds)
    > LH 0
    > Hardware EOT Limits Enable
    >
    >
    >
    > Digital Output Setup
    > OUTBD 0
    > Output Brake Delay Time (milliseconds)
    > OUTLVL 0100000
    > Output Active Level
    >
    >
    >
    > Analog Monitor Setup
    > DMONAV 0
    > Analog Monitor A Variable
    > DMONAS 100
    > Analog Monitor A Scaling (% of full scale output)
    > DMONBV 0
    > Analog Monitor B Variable
    > DMONBS 100
    > Analog Monitor B Scaling (% of full scale ouput)
    >
    >
    >
    > Servo Tuning
    > DIBW 1500
    > Current Loop Bandwidth (Hz)
    > DVBW 100
    > Velocity Loop Bandwidth (Hz)
    > DPBW 40.00
    > Position Loop Bandwidth (Hz)
    > SGPSIG 1.000
    > Velocity/Position Bandwidth Ratio
    > SGIRAT 1.000
    > Current Damping Ratio
    > SGVRAT 1.000
    > Velocity Damping Ratio
    > SGPRAT 1.000
    > Position Damping Ratio
    > DNOTAF 0
    > Notch Filter A Frequency (Hz)
    > DNOTAQ 1.0
    > Notch Filter A Quality Factor
    > DNOTAD 0.0000
    > Notch Filter A Depth
    > DNOTBF 0
    > Notch Filter B Frequency (Hz)
    > DNOTBQ 1.0
    > Notch Filter B Quality Factor
    > DNOTBD 0.0000
    > Notch Filter B Depth
    > DNOTLG 0
    > Notch Lag Filter Break Frequency (Hz)
    > DNOTLD 0
    > Notch Lead Filter Break Frequency (Hz)
    > SGINTE 1
    > Integrator Option
    > SGVF 0
    > Velocity Feedforward Gain (%)
    > SGAF 0
    > Acceleration Feedforward Gain (%)
    > -----------------------------------------------------
    >
    >
    > Regards,
    > JinHo"
    > NI Software :
    > LabVIEW version 6.0
    > NI Hardware :
    > Motion Control device PCI-7344
    > Driver Version :
    > no
    > OS :
    > Windows 2000
    > CPU :
    > Pentium
    > RAM :
    > 128
    > Vendor :
    > DELL
    > Customer Information :
    > Jin Ho Lee
    > North Carolina State Univ.
    > US
    > [email protected]
    > Ph: (
    > 919
    > )
    > 512-9929
    >
    >

    Yes, we used an NI PXI-7344 motion control card with an NI UMI-7764 box connected to a Gemini GV-U12E servo drive. (which is a drive only.)
    We did positional control in absolute position mode.
    I can send you an AutoCAD schematic detailing how to connect the UMI-7764 to the Gemini GV servo drive.
    In regard to the Rs232 interface to the GV servo drive,
    the GV drive only model is "configurable" not "programmable". You can create unique GV configuration files with Compumotor's Motion planner then download the configuration via Rs232 using LabVIEW as desired. Or, using LabVIEW via Rs232 you can change individual GV drive parameters on demand,
    or use the GV's two analog outputs back to LabVIEW's analog inputs to measure commanded motor current or torque, etc.etc.etc

  • How to install LVIFA_BASE in ARDUINO UNO.

    I am using arduino uno with LABVIEW 2012 EVALUATION VERSION. I had installed LIFA in my win7. I want to control servo motor using LABVIEW .
    I had put the sketch of LVIFA_BASE.pde on arduino software. Then i uploaded LVIFA_BASE on arduino.
    I open the code for controllingservo in labview. and run. It shows ERROR 5002.
    please tell me how to use LVIFA_BASE and control servo and d.c. motors from LABVIEW using arduino.
    arduino>>>file>>> open>>> LVIFA_BASE_2.1.1.69>>> LVIFA_BASE.pde>>> ?????????
    what to do next. and how to control using LABVIEW

    Looks like he's opted to continue this one Gerd. I'll put a duplicate notification on the second thread.
    Chakslord: The latest version of LIFA is 2.2.0 which was updated 31 Aug 2012 to include support for LabVIEW 2012 - are you sure that you are using this latest version? (probably not, looking at the changelog on your screenshot). Update your LIFA version and hopefully this will solve the issue you are seeing.
    An easy way to keep up to date with new versions is to use VIPM.
    -CC
    "If anyone needs me, I'll be in the Angry Dome!"

  • Using LabView, Arduino, and Easy-Driver to control a Stepper Motor

    Hello fair folks of the LabView forums!
    I am a humble engineering student in need of some advice and input on a project I am working on.
    I’ve also done a fair amount of reading on the LabView forums with people trying to use LabView and Arduino to control stepper motors, and I’ve used as much information from each as I could. However the problem I'm encountering now is one which is unique to my VI Configuration.
    So, here is what has been done thus far:
    -Installed LabView Interface for Arduino [LIFA]
    -Installed necessary VISA drivers for LabView to communicate with arduino
    -Uploaded firmware to Arduino to allow it to communicate with LabView
    -Properly wired Stepper Motor with Easy Driver and Power Supply; I have verified this by first using the Arduino independently of LabView, using example code found here.
    -I have created a VI, and have just recently got it to run without reporting back any errors. While I suspect the behavior I’m encountering has to do with something inside the VI, it is difficult to determine as there are no errors being reported!
    But here is general problem I am encountering:
    -Connect Joystick to USB Port, connect Arduino to USB Port.
    -Plug in outlet for Power Supply
    -Open LabView VI
    -Run LabView VI
    -LabView successfully detects Joystick, and Arduino.
    -Tilt Joystick; Stepper Motor moves in proper direction, but it only takes a single step. If held, it does not move further. If returned to zero, and then tilted, it again only takes a single step.
    I know that in the example code, the Arduino issued the step command by writing the signal from LOW to HIGH, and varied the speed by how often it did this.
    I assumed that the Write-PWM feature would do this same thing, but perhaps my assumption is wrong. I will continue to tinker with this myself, but I would be extremely grateful for any insight you might be able to lend.
    I’m thinking, if not the Arduino Write-PMW feature perhaps a simple timing-sequence that could be used to alternate between writing 0 and 1, with the timescale of the sequence being scaled to the X-Axis from the Joystick. But, I am open to suggestions, and certainly appreciate any thoughts you may have to offer!
    Attached to this is the VI used in this setup, a picture of said VI, as well as a rough sketch of the hardware configuration.
    Thank you!
    Attachments:
    Arduino Stepper Control.vi ‏1224 KB
    VI Picture.png ‏82 KB
    Configuration Sketch.png ‏522 KB

    Hi danjifraga,
    I am not so familiar with the Arduino toolkit functions, but you may have better luck looking at the Arduino page at:
    www.ni.com/arduino
    I'll ask around on Monday to see if anyone is more familiar with the toolkit.
    Good luck,
    Brian
    Brian G.

  • Position Control of compumotor 406LXR linear servo table and GV-U6E(motor drive) with PCI-7344

    Since I had the answers referring:
    http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RPAGEID=135&HOID=506500000008000000DD490000&USEARCHCONTEXT_CATEGORY_0=_14_&USEARCHCONTEXT_CATEGORY_S=0&UCATEGORY_0=_14_&UCATEGORY_S=0
    Wiring step was done well. However, I still have a problem that MAX configuration doesn't fit in compumotor drive settings. Therefore, the setup is shown below, and I want to know how I can set up PCI-7344 configuration in MAX or LabVIEW VI.
    ;Uploaded from device address 0
    ;Gemini GV Servo Drive Setup
    ;Motor Setup
    DMTR 1703 ;Motor ID (406-x-LXR-M-x-D13-x-x-x-x-E5-x-x-x)
    DMTIC 2.48 ;Continuous Current (Amps-RMS)
    DMTICD 0.00 ;Continuous Current Derating (% derating at rated speed)
    DMTKE 17.6 ;Motor Ke (Volts (0-to-peak)/krpm)
    DMTRES 10.10 ;Motor Winding Resistance (Ohm)
    DMTJ 119.300 ;Motor Rotor Inertia (kg*m*m*10e-6)
    DPOLE 1 ;Number of Motor Pole Pairs
    DMTW 40.5 ;Motor Rated Speed (rev/sec)
    DMTIP 7.40 ;Peak Current (Amps-RMS)
    DMTLMN 3.4 ;Minimum Motor Inductance (mH)
    DMTLMX 3.4 ;Maximum Motor Inductance (mH)
    DMTD 0.000000 ;Motor Damping (Nm/rad/sec)
    DMTRWC 0.23 ;Motor Thermal Resistance (degrees Celsius/Watt)
    DMTTCM 20.0 ;Motor Thermal Time Constant (minutes)
    DMTTCW 0.33 ;Motor Winding Time Constant (minutes)
    DMTAMB 40.00 ;Motor Ambient Temperature (degrees Celsius)
    DMTMAX 90.00 ;Maximum Motor Winding Temperature (degrees Celsius)
    DHALL 1 ;Disable Hall Sensor Checking
    DMTLQS 0 ;Set Q Axis Inductance Saturation
    DMTLDS 0 ;Set D Axis Inductance Saturation
    DTHERM 0 ;Disable motor thermal switch input
    ;Drive Setup
    DMODE 2 ;Drive Control Mode
    DRES 8400 ;Drive Resolution (counts/rev)
    DPWM 16 ;Drive PWM Frequency (kHz)
    SFB 1 ;Encoder Feedback
    ERES 8400 ;Encoder Resolution (counts/rev)
    ORES 8400 ;Encoder Output Resolution (counts/rev)
    DMEPIT 42.00 ;Electrical Pitch (mm)
    SHALL 0 ;Invert Hall Sensors
    DMTLIM 1.5 ;Torque Limit (Nm)
    DMTSCL 1.5 ;Torque Scaling (Nm)
    DMVLIM 119.000000 ;Velocity Limit (rev/sec)
    DMVSCL 119.000000 ;Velocity Scaling (rev/sec)
    ;Load Setup
    LJRAT 0.0 ;Load-to-Rotor Inertia Ratio
    LDAMP 0.0000 ;Load Damping (Nm/rad/sec)
    ;Fault Setup
    FLTSTP 1 ;Fault on Startup Indexer Pulses Enable
    FLTDSB 1 ;Fault on Drive Disable Enable
    SMPER 8400 ;Maximum Allowable Position Error (counts)
    SMVER 0.000000 ;Maximum Allowable Velocity Error (rev/sec)
    DIFOLD 0 ;Current Foldback Enable
    ;Digital Input Setup
    INLVL 11000000 ;Input Active Level
    INDEB 50 ;Input Debounce Time (milliseconds)
    INUFD 0 ;Input User Fault Delay Time (milliseconds)
    LH 0 ;Hardware EOT Limits Enable
    ;Digital Output Setup
    OUTBD 0 ;Output Brake Delay Time (milliseconds)
    OUTLVL 0100000 ;Output Active Level
    ;Analog Monitor Setup
    DMONAV 0 ;Analog Monitor A Variable
    DMONAS 100 ;Analog Monitor A Scaling (% of full scale output)
    DMONBV 0 ;Analog Monitor B Variable
    DMONBS 100 ;Analog Monitor B Scaling (% of full scale ouput)
    ;Servo Tuning
    DIBW 1500 ;Current Loop Bandwidth (Hz)
    DVBW 100 ;Velocity Loop Bandwidth (Hz)
    DPBW 40.00 ;Position Loop Bandwidth (Hz)
    SGPSIG 1.000 ;Velocity/Position Bandwidth Ratio
    SGIRAT 1.000 ;Current Damping Ratio
    SGVRAT 1.000 ;Velocity Damping Ratio
    SGPRAT 1.000 ;Position Damping Ratio
    DNOTAF 0 ;Notch Filter A Frequency (Hz)
    DNOTAQ 1.0 ;Notch Filter A Quality Factor
    DNOTAD 0.0000 ;Notch Filter A Depth
    DNOTBF 0 ;Notch Filter B Frequency (Hz)
    DNOTBQ 1.0 ;Notch Filter B Quality Factor
    DNOTBD 0.0000 ;Notch Filter B Depth
    DNOTLG 0 ;Notch Lag Filter Break Frequency (Hz)
    DNOTLD 0 ;Notch Lead Filter Break Frequency (Hz)
    SGINTE 1 ;Integrator Option
    SGVF 0 ;Velocity Feedforward Gain (%)
    SGAF 0 ;Acceleration Feedforward Gain (%)
    Regards,
    JinHo

    First of all, before connecting the drive to the 73xx controller I would check that the drive and motor configuration works correctly independent from the controller. The Gemini drives have a utility called the Motion Planner that allows you to configure your motor and drive for independent operation so you can test if the motor and drive combination are working by themselves. Refer to page 18 of the Gemini GV installation guide which you can find at the compumotor site or download from:
    http://www.compumotor.com/manuals/gemini/Gemini_GV_HW_Install_Guide.pdf
    Once you have tested your motor and drive combination, make sure that the drive is configured in torque mode and that the command signal is configured to be sent from the I/O connector and not through RS232 using the Motion Planner. The next step would be to connect the 7344 through the UMI-7764 breakout box in the following order:
    ---- UMI7764 GVU6E
    ---- AOut Cmd+ (pin23)
    ---- AOGnd Cmd- (pin24)
    ---- InhOut Enable- (pin2)
    ---- +5V Enable+ (pin24)
    7344 --> EncA AX+ (pin8)
    ---- EncA- AX- (pin9)
    ---- EncB BX+ (pin10)
    ---- EncB- BX- (pin11)
    ---- Index ZX+ (pin12)
    ---- Index- ZX- (pin13)
    ---- +5V Encoder +5V (pin5)
    Verify that your enable line is connected in an open collector mode (as shown in the diagram above). Our inhibit outputs can sink current but not source it so if your enable line is not behaving properly you want to make sure that the +5v supply you are suing for the UMI can source enough current for your enable line to work. Consult Compumotor on the specs of their enable switch.
    Once the connections are done properly, all you need to do is configure and initialize your board for servo operation in MAX and then you can start your tuning process. Refer to the Tuning PID for servos tutorial in:
    http://www.ni.com/support/motnsupp.htm
    for instructions on tuning your servomotor properly. Also for more information on using MAX, refer to the following tutorial:
    http://zone.ni.com/devzone/conceptd.nsf/webmain/081957EE013C7A4586256B92007818E0?opendocument

  • Motion Assistant and PXI-7354 PWM output

    Hello,
    I have a PXI-7354 Motion Controller in a PXI-1033 rack and I'm trying to prototype a product which has a digital motor controller IC, A3906 by Allegro. The IC is controlled with PWM signals by varying the duty cycle. Now, in the NI 7350 User Manual on page 5-17, it says that "These signals (PWM) are configured in software and are in no way associated with the PID servo control loop." My question is, can I programmatically associate the output of the control loop with a PWM output duty cycle?
    I'm new to Motion Assistant and PXI motion controllers and I appreciate any input.
    Regards,
    Miika Lönnqvist
    Electronics designer, CLAD
    Biohit Oyj R&D

    Miika,
    thank you for the information, but there is no way for the 7354 to drive control signals directly in this fashion. So here are some alternative approaches that could help:
    The 7354 outputs a +/- 10 V control signal. You could build your own circuitry to adapt this signal to the control input requirements of your drive (two voltage to PWM converters; one driven by positive voltage values, the other one driven by negative voltage values).
    Replace the 7354 with an R-Series board. The FPGA on these devices can be programmed graphically with LabVIEW FPGA and it provides both, real-time control and complete flexibility in terms of I/O mapping and control algorithms. Motion control with special requirements is a typcial usecase for these devices.
    You can select from a variety of R-Series boards with different FPGA sizes and I/O setups. If you don't need any analog inputs or outputs, the reasonable lowest cost entry point for your application is probably a PXI-7811R
    Both approaches add some complexity to your current setup. While the first approach is hardware centric, the second approach adds some complexity on the software side. My personal preference is option two, as this provides the highest level of flexibility, which is typically very desirable for a prototyping system.
    In any case I recommend to contact your local NI contact for a more detailed consulting.
    Kind regards,
    Jochen

  • Error 1073807331 when trying to Run the "servo" example in Labview.

    Error -1073807331 occurred at Property Node (arg 2) in VISA Configure Serial Port (Instr).vi->LabVIEW Interface for Arduino.lvlib:Init.vi->LabVIEW Interface for Arduino.lvlib:Arduino Servo.vi
    So, I can connect to the Arduino Mega 2560 in MAX and also in VISA, but when I try to run this example, I get the above error.  with the explanation "The specified attribute is not defined or supported by the referenced resource."
    the ONLY error i can see in VISA is this :
    under Configuration/View attributes-  "Interrupt in pipe status | VI_ATTR_USB_INTR_IN_STATUS | Invalid Property Value"
    this is in red., all other text is in black.
    Under "Input/Output" I can write to the board "*IDN?\n" and get a return of 6bytes which it appears happy with.
    Query button appears happy as well.
    as does "Read"
    the "read status byte" button gives me "
    Read STB Operation
    Error
    VISA: (Hex 0xBFFF003A) Unable to start operation because setup is invalid (due to attributes being set to an inconsistent state)."
    I am at a loss as to what to do about this as I cannot see a way to change this value.
    Any help is greatly appreciated.
    thanks
    Jason Lee

    OK, well I know how to connect the arduino to my PC as well, its simple.
    I have been playing around with the mega2560 for over a year, so  it's not that.
    I can connect to and talk to the 2560 from the arduino IDE, but not LabView.    I did see both TX and RX activity tonight, and thought, "yay! its finally stopped being retarded", but as soon as I hit run, it fell back to the old"cannot find arduino"
    the reason I was using VISA was because I couldn't get any joy from the serial/USB method.  
    If I somehow mange to let the magic smoke out of this, I doubt I'd be very upset bout it.
    anyway, any other ideas?
    Cheers
    Jason

  • 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

  • PWM PID loop on 7344 motion controller

    I need to control motion by PWM, with the help of 7344 motion controller.Please verify if it possible or not, and how can I do it.Please provide me(if it possible)any example of solution of this problem.

    Hello,
    The onboard PID circuitry can only be utilized with servos and closed loop steppers. You can write your own PID loop in software using the PWM functions and the Read Encoder Position.flx. This should work pretty well for low loop rates (since it's implemented in sw). I don't think there are any examples of it available but it should be pretty straight forward.
    Regards,
    Yusuf C.
    Applications Engineering
    National Instruments

Maybe you are looking for

  • Why when i save my indesign file down to an earlier version does it only save the first page of my document?

    why when i save my indesign file down to an earlier version does it only save the first page of my document?

  • Can't backup- getting error 109

    The first time time capsule was backing up my machine it got interrupted and now will not backup. It stalls out after making the backup disk available and gives this error: The backup disk image "/Volumes/Data/computerdrivename.sparsebundle" could no

  • The Organizer woll not work

    I can't open the organizer in Photoshop Elements 10 goes stright to the edit. I am running Windows 8 Can someone plese help me

  • Slideshow in ps bridge cs5 issue

    Hello, I followed your advice on yt making a slideshow in ps bridge cs5. I hope you will help me. I'm just trying to make a simple slideshow in ps bridge cs5 and when I click preview or even when I click save, it is just stagnate. It will not go to t

  • Oracle BI and ADF application integration

    Hi , I am trying to connect BI Presentation Service. but i am getting the following error. Connection attempt failed. java.lang.RuntimeException: Unable to retrieve logon token. This version requires a BI build that implements the version 7 SOAP inte